public void addDartAndHensonDependenciesToVariantConfigurations(String dartVersionName) { DependencyHandler dependencies = project.getDependencies(); dependencies.add("implementation", format("com.f2prateek.dart:henson:%s", dartVersionName)); } }
private Dependency asGradleDependency(final String someId) { return dependencies.create( someId ); }
/** * @see me.seeber.gradle.plugin.AbstractProjectConfigPlugin#initialize() */ @Override public void initialize() { getProject().getPluginManager().apply(ProjectConfigPlugin.class); getProject().getPluginManager().apply(JavaConfigPlugin.class); getProject().getPluginManager().apply(GroovyConfigPlugin.class); getProject().getPluginManager().apply(JavaGradlePluginPlugin.class); DependencyHandler dependencies = getProject().getDependencies(); dependencies.add("compile", dependencies.gradleApi()); dependencies.add("compile", dependencies.localGroovy()); dependencies.add("testCompile", dependencies.gradleTestKit()); dependencies.add("testCompile", "me.seeber.gradle:gradle-test-kit:1.1.1"); } }
@Override public void apply( Project project ) { log.info( "starting plugin {} for: {}", this.getClass().getSimpleName(), project.getName() ); project.getConfigurations().all( conf -> { conf.resolutionStrategy( rs -> rs.cacheChangingModulesFor( 1, TimeUnit.MINUTES ) ); } ); DependencyHandler deps = project.getDependencies(); deps.components( cmh -> cmh.all( ImmutablesAllignmentRule.class ) ); deps.components( cmh -> cmh.all( KotlinAllignmentRule.class ) ); scopes.forEach( scope -> deps.add( scope, deps.enforcedPlatform( platform ) ) ); deps.constraints( dch -> { scopes.forEach( scope -> { Stream.of( "value", "builder" ).forEach( artifact -> dch.add( scope, immutables( artifact ) ) ); } ); dch.add( TEST_IMPL, String.join( D, EqualsVerifier.G, EqualsVerifier.A, EqualsVerifier.V ) ); dch.add( IMPL, "com.google.guava:guava:" + LATEST ); } ); } }
@Override public void apply( Project project ) { project.getPluginManager().apply( ErrorPronePlugin.class ); project.getTasks().withType( JavaCompile.class ).whenTaskAdded( javaCompile -> { DependencyHandler deps = project.getDependencies(); deps.constraints( constraints -> { constraints.add( EP, "com.google.errorprone:error_prone_core:" + EPV ); } ); deps.add( COMPILE, "com.google.errorprone:error_prone_annotations:" + EPV ); } ); project.getTasks().withType( JavaCompile.class ).configureEach( task -> { CompileOptions options = task.getOptions(); options.setAnnotationProcessorGeneratedSourcesDirectory( Paths.get( "build/generated/src" ).toFile() ); options.getCompilerArgs().addAll( Arrays.asList( "-XepExcludedPaths:.*/build/generated/.*", "-Xep:MissingOverride:ERROR", "-Xep:Var:ERROR" ) ); } ); } }
deps.add(CONFIG_FFI_DEPS, project.files(buildscriptClasspath.getResolvedConfiguration().getFiles(new Spec<Dependency>() { @Override public boolean isSatisfiedBy(Dependency element) deps.add(CONFIG_FFI_DEPS, deps.localGroovy());
private void configureDependencyConstraints(Project project) { project.getDependencies().getModules().module("org.clojure:tools.nrepl", module -> { ComponentModuleMetadataDetails details = (ComponentModuleMetadataDetails) module; details.replacedBy("nrepl:nrepl", "nREPL was moved out of Clojure Contrib to its own project."); }); if (JavaVersion.current().isJava9Compatible()) { project.getDependencies().constraints(constraints -> { constraints.add("devRuntimeClasspath", "org.clojure:java.classpath:0.3.0", constraint -> { constraint.because("Java 9 has a different classloader architecture. 0.3.0 adds support for this."); }); }); } }
/** * @param project the project on which we'll call {@link Project#javaexec(Action)}. * @param input the JavaExecable which we'll take as input and call run() on. * @param settings any extra settings you'd like to set on the JavaExec (e.g. heap) * @return the JavaExecable after it has had run() called. */ public static <T extends JavaExecable> T exec(Project project, T input, Action<JavaExecSpec> settings) throws Throwable { // copy the classpath from the project's buildscript (and its parents) List<FileCollection> classpaths = TreeStream.toParent(ProjectPlugin.treeDef(), project) .map(p -> p.getBuildscript().getConfigurations().getByName(BUILDSCRIPT_CLASSPATH)) .collect(Collectors.toList()); // add the gradleApi, workaround from https://discuss.gradle.org/t/gradle-doesnt-add-the-same-dependencies-to-classpath-when-applying-plugins/9759/6?u=ned_twigg classpaths.add(project.getConfigurations().detachedConfiguration(project.getDependencies().gradleApi())); // add stuff from the local classloader too, to fix testkit's classpath classpaths.add(project.files(JavaExecableImp.fromLocalClassloader())); // run it return JavaExecableImp.execInternal(input, project.files(classpaths), settings, execSpec -> JavaExecWinFriendly.javaExec(project, execSpec)); }
@Override public void apply( Project project ) { project.getConfigurations().all( conf -> { conf.resolutionStrategy( rs -> rs.cacheChangingModulesFor( 1, TimeUnit.MINUTES ) ); } ); project.getPluginManager().apply( DependencyManagementPlugin.class ); project.getExtensions().configure( DependencyManagementExtension.class, ext -> { ext.imports( handler -> { handler.mavenBom( "org.springframework.boot:spring-boot-starter-parent:2.0.4.RELEASE" ); } ); } ); project.getDependencies().constraints( dch -> { dch.add( TEST_IMPL, String.join( D, AssertJ.G, AssertJ.A, AssertJ.V ) ); dch.add( TEST_IMPL, String.join( D, EqualsVerifier.G, EqualsVerifier.A, EqualsVerifier.V ) ); dch.add( COMPILE, "org.immutables:value:2.+" ); dch.add( IMPL, "com.google.guava:guava:" + LATEST ); dch.add( APT, "org.immutables:value:2.+" ); dch.add( APT, "org.immutables:builder:2.+" ); dch.add( TEST_COMPILE, "org.immutables:value:2.+" ); } ); } }
public Dependency dependency( final String name ) { return this.dependencies.create( GROUP + ":purplejs-" + name + ":" + getVersion() ); } }
/** * @see me.seeber.gradle.plugin.AbstractProjectConfigPlugin#initialize() */ @Override public void initialize() { getProject().getPluginManager().apply(ProjectConfigPlugin.class); getProject().getPluginManager().apply(JavaConfigPlugin.class); getProject().getPluginManager().apply(GroovyConfigPlugin.class); getProject().getPluginManager().apply(JavaGradlePluginPlugin.class); DependencyHandler dependencies = getProject().getDependencies(); dependencies.add("compile", dependencies.gradleApi()); dependencies.add("compile", dependencies.localGroovy()); dependencies.add("testCompile", dependencies.gradleTestKit()); dependencies.add("testCompile", "me.seeber.gradle:gradle-test-kit:1.1.1"); } }
@Override public void apply( Project project ) { log.info( "starting plugin {} for: {}", this.getClass().getSimpleName(), project.getName() ); project.getConfigurations().all( conf -> { conf.resolutionStrategy( rs -> rs.cacheChangingModulesFor( 1, TimeUnit.MINUTES ) ); } ); DependencyHandler deps = project.getDependencies(); deps.components( cmh -> cmh.all( ImmutablesAllignmentRule.class ) ); deps.components( cmh -> cmh.all( KotlinAllignmentRule.class ) ); scopes.forEach( scope -> deps.add( scope, deps.enforcedPlatform( platform ) ) ); deps.constraints( dch -> { scopes.forEach( scope -> { Stream.of( "value", "builder" ).forEach( artifact -> dch.add( scope, immutables( artifact ) ) ); } ); dch.add( TEST_IMPL, "nl.jqno.equalsverifier:equalsverifier:3.+" ); dch.add( IMPL, "com.google.guava:guava:" + LATEST ); } ); }
private void configureDependencyConstraints(Project project) { project.getDependencies().getModules().module("org.clojure:tools.nrepl", module -> { ComponentModuleMetadataDetails details = (ComponentModuleMetadataDetails) module; details.replacedBy("nrepl:nrepl", "nREPL was moved out of Clojure Contrib to its own project."); }); if (JavaVersion.current().isJava9Compatible()) { project.getDependencies().constraints(constraints -> { constraints.add("devRuntimeClasspath", "org.clojure:java.classpath:0.3.0", constraint -> { constraint.because("Java 9 has a different classloader architecture. 0.3.0 adds support for this."); }); }); } }
public void fetchLintDeps(String version) { // Invalidate lint deps when versions change File lintVersionFile = project.file(LINT_VERSION_FILE); try { if (!lintVersionFile.exists() || !version.equals( new String(Files.readAllBytes(lintVersionFile.toPath()), StandardCharsets.UTF_8))) { FileUtils.deleteDirectory(lintVersionFile.getParentFile()); lintVersionFile.getParentFile().mkdirs(); Files.write(lintVersionFile.toPath(), Collections.singleton(version)); } } catch (Exception e) { throw new RuntimeException(e); } project.getConfigurations().maybeCreate(LINT_DEPS_CONFIG); project.getDependencies().add(LINT_DEPS_CONFIG, LINT_GROUP + ":" + LINT_MODULE + ":" + version); getLintDepsCache(); }
private FileCollection resolveShim() { Dependency shimImpl = project.getDependencies().create("org.projectodd.shimdandy:shimdandy-impl:" + SHIMDANDY_VERSION); Dependency tools = project.getDependencies().create("io.github.gradle-clojure:gradle-clojure-tools:" + GRADLE_CLOJURE_VERSION); Dependency nrepl = project.getDependencies().create("org.clojure:tools.nrepl:" + NREPL_VERSION); return project.getConfigurations().detachedConfiguration(shimImpl, tools, nrepl).setTransitive(false); }
/** * <ul> * <li>Apply Project Config Plugin * <li>Apply Java Config Plugin * <li>Apply Groovy Config Plugin * <li>Apply Java Config Plugin * <li>Apply Java Gradle Plugin Plugin * <li>Apply Plugin Publishing Plugin * </ul> * * @see me.seeber.gradle.plugin.AbstractProjectConfigPlugin#initialize() */ @Override public void initialize() { getProject().getPluginManager().apply(ProjectConfigPlugin.class); getProject().getPluginManager().apply(PublishPlugin.class); getProject().getPluginManager().withPlugin("org.gradle.java-gradle-plugin", p -> { getProject().getPluginManager().apply(JavaPluginRules.class); }); DependencyHandler dependencies = getProject().getDependencies(); dependencies.add("compile", dependencies.gradleApi()); dependencies.add("compile", dependencies.localGroovy()); dependencies.add("testCompile", dependencies.gradleTestKit()); }
public void setupJetifier(String version) { if (!version.equals(JetifierExtension.DEFAULT_JETIFIER_VERSION)) { LOG.warn( "Using jetifier version other than %s; This might result in problems with the tool", JetifierExtension.DEFAULT_JETIFIER_VERSION); } Configuration jetifierConfig = project.getConfigurations().maybeCreate(JETIFIER_DEPS_CONFIG); DependencyHandler handler = project.getDependencies(); JETIFIER_MODULES .stream() .map(module -> String.format("%s:%s:%s", JETIFIER_GROUP, module, version)) .forEach(dependency -> handler.add(JETIFIER_DEPS_CONFIG, dependency)); handler.add(JETIFIER_DEPS_CONFIG, COMMONS_CLI_DEP); dependencies = new DependencyCache(project, ProjectUtil.getDependencyManager(project)) .build(jetifierConfig); }
@Override public void execute(DependencySet dependencies) { dependencies.add(project.getDependencies().create("net.java.dev.javacc:javacc:6.1.2")); } });
/** * <ul> * <li>Apply Project Config Plugin * <li>Apply Java Config Plugin * <li>Apply Groovy Config Plugin * <li>Apply Java Config Plugin * <li>Apply Java Gradle Plugin Plugin * <li>Apply Plugin Publishing Plugin * </ul> * * @see me.seeber.gradle.plugin.AbstractProjectConfigPlugin#initialize() */ @Override public void initialize() { getProject().getPluginManager().apply(ProjectConfigPlugin.class); getProject().getPluginManager().apply(PublishPlugin.class); getProject().getPluginManager().withPlugin("org.gradle.java-gradle-plugin", p -> { getProject().getPluginManager().apply(JavaPluginRules.class); }); DependencyHandler dependencies = getProject().getDependencies(); dependencies.add("compile", dependencies.gradleApi()); dependencies.add("compile", dependencies.localGroovy()); dependencies.add("testCompile", dependencies.gradleTestKit()); }
@SuppressWarnings("ResultOfMethodCallIgnored") public void setupKotlinHome(String kotlinVersion) { this.kotlinHomeEnabled = true; this.kotlinVersion = kotlinVersion; Configuration kotlinConfig = project.getConfigurations().maybeCreate(KOTLIN_DEPS_CONFIG); DependencyHandler handler = project.getDependencies(); kotlinModules .stream() .map(module -> String.format("%s:%s:%s", KOTLIN_GROUP, module, kotlinVersion)) .forEach(dependency -> handler.add(KOTLIN_DEPS_CONFIG, dependency)); dependencies = new DependencyCache(project, ProjectUtil.getDependencyManager(project)).build(kotlinConfig); }