private Object resolveFile(Object obj) { while (obj instanceof Closure) obj = ((Closure<?>) obj).call(); SourceSet set = null; if (obj instanceof SourceSet) set = (SourceSet) obj; else if (obj instanceof String) { JavaPluginConvention javaConv = (JavaPluginConvention) project.getConvention().getPlugins().get("java"); set = javaConv.getSourceSets().findByName((String) obj); } return (set != null) ? set.getResources() : obj; }
@Override public void apply( Project project ) { log.info( "starting plugin {} for: {}", this.getClass().getSimpleName(), project.getName() ); ExtensionContainer extensions = project.getExtensions(); extensions.create( "xeno", XenoExtension.class ); plugins().forEach( project.getPluginManager()::apply ); extensions.configure( XenoExtension.class, xeno -> { if ( xeno.getSourceSets().isEmpty() ) { JavaPluginConvention plugin = project.getConvention().getPlugin( JavaPluginConvention.class ); SourceSet main = plugin.getSourceSets().findByName( SourceSet.MAIN_SOURCE_SET_NAME ); xeno.setSourceSets( Collections.singleton( main ) ); } extensions.getByType( CheckstyleExtension.class ).setSourceSets( xeno.getSourceSets() ); extensions.getByType( SpotBugsExtension.class ).setSourceSets( xeno.getSourceSets() ); } ); }
public ServiceLoaderTask() throws IOException { super.setDescription("Generate META-INF/services manifests for use with ServiceLoaders"); super.setGroup("Source Generation"); javaConvention = project.getConvention().getPlugin(JavaPluginConvention.class); this.main = javaConvention.getSourceSets().findByName(SourceSet.MAIN_SOURCE_SET_NAME); SourceSetOutput mainOutput = main.getOutput(); classesOutput = mainOutput.getClassesDirs(); outputDirectory = new File(mainOutput.getResourcesDir(), "META-INF/services"); }
@Override public void apply( Project project ) { ExtensionContainer extensions = project.getExtensions(); extensions.create( "xeno", XenoExtension.class ); plugins().forEach( project.getPluginManager()::apply ); extensions.configure( XenoExtension.class, xeno -> { if ( xeno.getSourceSets().isEmpty() ) { JavaPluginConvention plugin = project.getConvention().getPlugin( JavaPluginConvention.class ); SourceSet main = plugin.getSourceSets().findByName( SourceSet.MAIN_SOURCE_SET_NAME ); xeno.setSourceSets( Collections.singleton( main ) ); } extensions.getByType( CheckstyleExtension.class ).setSourceSets( xeno.getSourceSets() ); extensions.getByType( SpotBugsExtension.class ).setSourceSets( xeno.getSourceSets() ); } ); }
/** * Prints build files, sources, and resources associated with a project. * * @param project the project */ private static void printProjectFiles(Project project) { JavaPluginConvention javaConvention = project.getConvention().getPlugin(JavaPluginConvention.class); SourceSet mainSourceSet = javaConvention.getSourceSets().findByName(SourceSet.MAIN_SOURCE_SET_NAME); if (mainSourceSet == null) { return; } // Print build config, settings, etc. printGradleFiles(project); // Print sources + resources mainSourceSet .getAllSource() .getSourceDirectories() .forEach( sourceDirectory -> { if (sourceDirectory.exists()) { System.out.println(sourceDirectory); } }); }
SourceSet mainSourceSet = sourceSetContainer.findByName("main"); resources.add(mainSourceSet.getOutput().getResourcesDir()); SourceSet iosSourceSet = sourceSetContainer.findByName("ios"); if (iosSourceSet != null) { classes.addAll(iosSourceSet.getOutput().getClassesDirs().getFiles());