use of org.gradle.api.artifacts.dsl.DependencyHandler in project gradle by gradle.
the class GroovyBuildSrcProjectConfigurationAction method execute.
@Override
public void execute(ProjectInternal project) {
project.getPluginManager().apply(JavaLibraryPlugin.class);
project.getPluginManager().apply(GroovyPlugin.class);
DependencyHandler dependencies = project.getDependencies();
dependencies.add(JavaPlugin.API_CONFIGURATION_NAME, dependencies.gradleApi());
dependencies.add(JavaPlugin.API_CONFIGURATION_NAME, dependencies.localGroovy());
}
use of org.gradle.api.artifacts.dsl.DependencyHandler in project gradle by gradle.
the class NativeBasePlugin method apply.
@Override
public void apply(final Project project) {
project.getPluginManager().apply(LifecycleBasePlugin.class);
addTargetMachineFactoryAsExtension(project.getExtensions(), targetMachineFactory);
final TaskContainer tasks = project.getTasks();
final DirectoryProperty buildDirectory = project.getLayout().getBuildDirectory();
final SoftwareComponentContainer components = project.getComponents();
addLifecycleTasks(project, tasks, components);
// Add tasks to build various kinds of components
addTasksForComponentWithExecutable(tasks, buildDirectory, components);
addTasksForComponentWithSharedLibrary(tasks, buildDirectory, components);
addTasksForComponentWithStaticLibrary(tasks, buildDirectory, components);
// Add incoming artifact transforms
final DependencyHandler dependencyHandler = project.getDependencies();
final ObjectFactory objects = project.getObjects();
addHeaderZipTransform(dependencyHandler, objects);
// Add outgoing configurations and publications
final ConfigurationContainer configurations = project.getConfigurations();
project.getDependencies().getAttributesSchema().attribute(LINKAGE_ATTRIBUTE).getDisambiguationRules().add(LinkageSelectionRule.class);
addOutgoingConfigurationForLinkUsage(components, configurations);
addOutgoingConfigurationForRuntimeUsage(components, configurations);
addPublicationsFromVariants(project, components);
}
use of org.gradle.api.artifacts.dsl.DependencyHandler in project gradle by gradle.
the class DefaultScriptHandler method defineConfiguration.
private void defineConfiguration() {
// Defer creation and resolution of configuration until required. Short-circuit when script does not require classpath
if (configContainer == null) {
configContainer = dependencyResolutionServices.getConfigurationContainer();
}
if (dependencyHandler == null) {
dependencyHandler = dependencyResolutionServices.getDependencyHandler();
}
if (classpathConfiguration == null) {
classpathConfiguration = configContainer.create(CLASSPATH_CONFIGURATION);
// should ideally reuse the `JvmEcosystemUtilities` but this code is too low level
// and this service is therefore not available!
AttributeContainer attributes = classpathConfiguration.getAttributes();
attributes.attribute(Usage.USAGE_ATTRIBUTE, instantiator.named(Usage.class, Usage.JAVA_RUNTIME));
attributes.attribute(Category.CATEGORY_ATTRIBUTE, instantiator.named(Category.class, Category.LIBRARY));
attributes.attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, instantiator.named(LibraryElements.class, LibraryElements.JAR));
attributes.attribute(Bundling.BUNDLING_ATTRIBUTE, instantiator.named(Bundling.class, Bundling.EXTERNAL));
attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, Integer.parseInt(JavaVersion.current().getMajorVersion()));
attributes.attribute(GradlePluginApiVersion.GRADLE_PLUGIN_API_VERSION_ATTRIBUTE, instantiator.named(GradlePluginApiVersion.class, GradleVersion.current().getVersion()));
classpathConfiguration.getDependencyConstraints().add(dependencyHandler.getConstraints().create(Log4jBannedVersion.LOG4J2_CORE_COORDINATES, constraint -> constraint.version(version -> {
version.require(Log4jBannedVersion.LOG4J2_CORE_REQUIRED_VERSION);
version.reject(Log4jBannedVersion.LOG4J2_CORE_VULNERABLE_VERSION_RANGE);
})));
}
}
use of org.gradle.api.artifacts.dsl.DependencyHandler in project curiostack by curioswitch.
the class CuriostackRootPlugin method addStandardJavaTestDependencies.
private static void addStandardJavaTestDependencies(Project project) {
DependencyHandler dependencies = project.getDependencies();
dependencies.add(JavaPlugin.COMPILE_ONLY_CONFIGURATION_NAME, "com.google.code.findbugs:jsr305");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "org.curioswitch.curiostack:curio-testing-framework");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "org.assertj:assertj-core");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "org.awaitility:awaitility");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "junit:junit");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "org.mockito:mockito-core");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "org.mockito:mockito-junit-jupiter");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "info.solidsoft.mockito:mockito-java8");
dependencies.add(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME, "org.junit.jupiter:junit-jupiter-api");
dependencies.add(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, "org.junit.jupiter:junit-jupiter-engine");
dependencies.add(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, "org.junit.vintage:junit-vintage-engine");
}
use of org.gradle.api.artifacts.dsl.DependencyHandler in project gradle-eta by typelead.
the class EtaInstallDependencies method installDependencies.
@TaskAction
public void installDependencies() {
final EtaOptions etaOptions = getOptions();
etaOptions.validate(etaInfo.get());
final File workingDir = getDestinationDir();
copyFreezeConfigIfChanged(workingDir);
/* Calculate all the modules */
final List<String> modules = getModules();
/* Determine if it's an executable */
String exec = executable.getOrNull();
if (exec != null && exec.length() <= 0) {
exec = null;
}
final String executableSpec = exec;
/* Generate the .cabal & cabal.project files. */
final WriteResult[] writeResults = new WriteResult[2];
final String targetConfigurationName = getTargetConfiguration();
Set<File> packageDBs = ConfigurationUtils.getEtaConfiguration(ConfigurationUtils.getConfiguration(project, targetConfigurationName)).getAllArtifacts(project).stream().map(Provider::get).collect(Collectors.toSet());
packageDBs.addAll(project.files(extraPackageDBs.values()).getFiles());
DependencyUtils.foldEtaDependencies(project, dependencies.get(), (directDeps, projectDeps, gitStringDeps, gitDeps) -> {
/* Include the project dependencies and git dependencies in the Etlas
dependency list. */
directDeps.addAll(projectDeps);
directDeps.addAll(gitStringDeps);
directDeps.addAll(extraPackageDBs.keySet());
writeResults[0] = CabalHelper.generateCabalFile(getPackageName(), getPackageVersion(), executableSpec, getSourceDirs().getFiles().stream().map(File::getAbsolutePath).collect(Collectors.toList()), modules, etaOptions, directDeps, workingDir);
writeResults[1] = CabalHelper.generateCabalProjectFile(gitDeps, packageDBs, workingDir);
});
/* Delete existing *.cabal files to avoid errors when changing the project
name. */
final File oldCabalFile = writeResults[0].getFile();
project.delete(project.fileTree(workingDir, fileTree -> {
fileTree.include("*.cabal");
fileTree.exclude(fileTreeElement -> {
try {
return fileTreeElement.getFile().getCanonicalPath().equals(oldCabalFile.getCanonicalPath());
} catch (IOException e) {
return true;
}
});
}));
/* Fork an etlas process to install the dependencies. */
final EtlasCommand etlas = new EtlasCommand(project);
etlas.getWorkingDirectory().set(workingDir);
boolean isUpToDate = etlas.deps(EtlasCommand.libTarget(getPackageName()), dependencyGraph -> {
/* Inject the dependencies into the respective configurations. */
DependencyHandler dependencies = project.getDependencies();
final EtaConfiguration targetEtaConfiguration = ConfigurationUtils.getEtaConfiguration(project, getTargetConfiguration());
targetEtaConfiguration.resolve(project, dependencies, dependencyGraph);
});
setDidWork(!isUpToDate);
}
Aggregations