public void apply(Project project) { project.getPlugins().apply( "java" ); final HibernateExtension hibernateExtension = new HibernateExtension( project ); project.getLogger().debug( "Adding Hibernate extensions to the build [{}]", project.getName() ); project.getExtensions().add( "hibernate", hibernateExtension ); project.afterEvaluate( new Action<Project>() { @Override public void execute(Project project) { if ( hibernateExtension.enhance != null ) { applyEnhancement( project, hibernateExtension ); } } } ); }
private void registerPluginActions(Project project, Configuration bootArchives) { SinglePublishedArtifact singlePublishedArtifact = new SinglePublishedArtifact( bootArchives.getArtifacts()); List<PluginApplicationAction> actions = Arrays.asList( new JavaPluginAction(singlePublishedArtifact), new WarPluginAction(singlePublishedArtifact), new MavenPluginAction(bootArchives.getUploadTaskName()), new SofaDependencyManagementPluginAction(), new ApplicationPluginAction(), new KotlinPluginAction()); for (PluginApplicationAction action : actions) { Class<? extends Plugin<? extends Project>> pluginClass = action .getPluginClass(); if (pluginClass != null) { project.getPlugins().withType(pluginClass, (plugin) -> action.execute(project)); } } }
public static ProjectType getType(Project project) { PluginContainer plugins = project.getPlugins(); if (plugins.hasPlugin(AppPlugin.class)) { return ProjectType.ANDROID_APP; } else if (plugins.hasPlugin(LibraryPlugin.class)) { return ProjectType.ANDROID_LIB; } else if (plugins.hasPlugin(GroovyPlugin.class)) { return ProjectType.GROOVY_LIB; } else if (plugins.hasPlugin(KotlinPluginWrapper.class)) { return ProjectType.KOTLIN_LIB; } else if (plugins.hasPlugin(ScalaPlugin.class)) { return ProjectType.SCALA_LIB; } else if (plugins.hasPlugin(JavaPlugin.class)) { return ProjectType.JAVA_LIB; } else { return ProjectType.UNKNOWN; } }
/** Returns the instance of the given plugin, by returning the existing or applying brand new, as appropriate. */ public static <T extends Plugin<?>> T getPlugin(Project project, Class<T> pluginClazz) { // make sure the eclipse plugin has been applied if (project.getPlugins().hasPlugin(pluginClazz)) { return project.getPlugins().getPlugin(pluginClazz); } else { return project.getPlugins().apply(pluginClazz); } }
public void apply(final Project project) { ProjectUtil.requireRootProject(project, this.getClass()); project.getPlugins().apply(ShipkitBasePlugin.class); project.getPlugins().apply(PomContributorsPlugin.class); project.allprojects(subproject -> subproject.getPlugins().withId("java", plugin -> { subproject.getPlugins().apply(JavaBintrayPlugin.class); })); } }
public static Optional<BasePlugin> getAndroidPlugin(Project project) { String[] androidPluginIds = { "com.android.application" , "android" , "com.android.library" , "android-library" , "com.android.model.application" , "com.android.model.library" }; return Arrays.stream(androidPluginIds) .map(id -> project.getPlugins().findPlugin(id)) .filter(plugin -> plugin != null) .map(plugin -> (BasePlugin) plugin) .findFirst(); }
public static OkBuckGradlePlugin getPlugin(Project project) { return project.getRootProject().getPlugins().getPlugin(OkBuckGradlePlugin.class); }
@Override public void apply(final Project project) { project.getPlugins().apply(GitHubContributorsPlugin.class); final Task fetcher = project.getTasks().getByName(GitHubContributorsPlugin.FETCH_CONTRIBUTORS); project.allprojects(subproject -> subproject.getPlugins().withType(JavaBintrayPlugin.class, plugin -> { //Because maven-publish plugin uses new configuration model, we cannot get the task directly //So we use 'matching' technique. subproject.getTasks().matching(withName(POM_TASK)).all(t -> t.mustRunAfter(fetcher)); //Pom task needs data from fetcher hence 'mustRunAfter' above. //We don't use 'dependsOn' because we want the fetcher to be included only when we are publishing to Bintray Task upload = subproject.getTasks().getByName(ShipkitBintrayPlugin.BINTRAY_UPLOAD_TASK); upload.dependsOn(fetcher); })); } }
public void addDeployment(String deploymentId, String template, String parameterFileName, String testParameterFileName) { AzurePlugin plugin = (AzurePlugin)project.getPlugins().findPlugin(AzurePlugin.class); plugin.addDeployment(project, this, deploymentId, template, parameterFileName, testParameterFileName); }
@Override public void apply(final Project project) { // Workaround to build proper jars on Windows, see https://github.com/Frege/frege-gradle-plugin/issues/9 this.project = project; System.setProperty("file.encoding", "UTF-8"); project.getPluginManager().apply(JavaBasePlugin.class); fregePluginExtension = project.getExtensions().create(EXTENSION_NAME, FregePluginExtension.class); JavaBasePlugin javaBasePlugin = project.getPlugins().getPlugin(JavaBasePlugin.class); configureSourceSetDefaults(javaBasePlugin); }
@Override public void apply(Project project) { // make sure there's a `clean` task project.getPlugins().apply(BasePlugin.class); // setup the extension spotlessExtension = project.getExtensions().create(EXTENSION, SpotlessExtension.class, project); // after the project has been evaluated, configure the check and format tasks per source set project.afterEvaluate(this::createTasks); }
public boolean hasApplication() { return getProject().getPlugins().hasPlugin(ApplicationPlugin.class); }
@Override public void apply(final Project project) { project.getPlugins().apply(GitHubContributorsPlugin.class); final Task fetcher = project.getTasks().getByName(GitHubContributorsPlugin.FETCH_CONTRIBUTORS); project.allprojects(subproject -> subproject.getPlugins().withType(JavaBintrayPlugin.class, plugin -> { //Because maven-publish plugin uses new configuration model, we cannot get the task directly //So we use 'matching' technique. subproject.getTasks().matching(withName(POM_TASK)).all(t -> t.mustRunAfter(fetcher)); //Pom task needs data from fetcher hence 'mustRunAfter' above. //We don't use 'dependsOn' because we want the fetcher to be included only when we are publishing to Bintray Task upload = subproject.getTasks().getByName(ShipkitBintrayPlugin.BINTRAY_UPLOAD_TASK); upload.dependsOn(fetcher); })); } }
private void addJavaDescription(final Project project, final ProjectDescriptor projectDescriptor) { project.getPlugins().withType(JavaPlugin.class, new Action<JavaPlugin>() { @Override public void execute(JavaPlugin javaPlugin) { JavaPluginConvention javaConvention = project.getConvention().getPlugin(JavaPluginConvention.class); projectDescriptor.setJavaProject(new JavaProjectDescriptor(javaConvention.getSourceCompatibility().toString(), javaConvention.getTargetCompatibility().toString())); } }); }
@Override public void execute(final Project p) { final PutnamiExtension extention = (PutnamiExtension) project.getExtensions() .getByName(PutnamiExtension.PWT_EXTENSION); if (p.getPlugins().hasPlugin("eclipse") && extention.isGooglePluginEclipse()) { final EclipseModel eclipseModel = project.getExtensions().getByType(EclipseModel.class); eclipseModel.getProject().natures(ECLIPSE_NATURE); eclipseModel.getProject().buildCommand(ECLIPSE_BUILDER_PROJECT_VALIDATOR); project.getPlugins().withType(PwtPlugin.class, new Action<PwtPlugin>() { @Override public void execute(PwtPlugin warPlugin) { eclipseModel.getProject().buildCommand(ECLIPSE_BUILDER_WEBAPP_VALIDATOR); } }); } } });
private FileResolver getFileResolver(Test testTask) { return testTask.getProject().getPlugins().findPlugin(PluginTestPlugin.class).fileResolver; }
private void checkPrerequisites(Project project) { try { project.getPlugins().getPlugin("java"); } catch (UnknownPluginException e) { String message = "Unable to apply plugin " + JAVA_TOOLS_PLUGIN_NAME + "; please apply java or java-library plugin first"; project.getLogger().error(message); throw new GradleException(message, e); } }