/** * @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)); }
/** * @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"); } }
/** * @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"); } }
/** * <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()); }
/** * <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()); }