use of org.gradle.api.tasks.util.PatternSet in project gradle by gradle.
the class AbstractFileTree method matching.
@Override
public FileTree matching(Action<? super PatternFilterable> filterConfigAction) {
PatternSet patternSet = patternSetFactory.create();
filterConfigAction.execute(patternSet);
return matching(patternSet);
}
use of org.gradle.api.tasks.util.PatternSet in project gradle by gradle.
the class IncrementalCompilationInitializer method initializeCompilation.
public void initializeCompilation(JavaCompileSpec spec, RecompilationSpec recompilationSpec) {
if (!recompilationSpec.isBuildNeeded()) {
spec.setSource(new SimpleFileCollection());
spec.setClasses(Collections.<String>emptySet());
return;
}
Factory<PatternSet> patternSetFactory = fileOperations.getFileResolver().getPatternSetFactory();
PatternSet classesToDelete = patternSetFactory.create();
PatternSet sourceToCompile = patternSetFactory.create();
preparePatterns(recompilationSpec.getClassesToCompile(), classesToDelete, sourceToCompile);
narrowDownSourcesToCompile(spec, sourceToCompile);
includePreviousCompilationOutputOnClasspath(spec);
addClassesToProcess(spec, recompilationSpec);
deleteStaleFilesIn(classesToDelete, spec.getDestinationDir());
deleteStaleFilesIn(classesToDelete, spec.getCompileOptions().getAnnotationProcessorGeneratedSourcesDirectory());
}
use of org.gradle.api.tasks.util.PatternSet in project gradle by gradle.
the class SourceCompileTaskConfig method configureCompileTask.
@Override
protected void configureCompileTask(AbstractNativeCompileTask abstractTask, final NativeBinarySpecInternal binary, final LanguageSourceSetInternal sourceSet) {
AbstractNativeSourceCompileTask task = (AbstractNativeSourceCompileTask) abstractTask;
task.setDescription("Compiles the " + sourceSet + " of " + binary);
task.source(sourceSet.getSource());
final Project project = task.getProject();
task.getObjectFileDir().set(new File(binary.getNamingScheme().getOutputDirectory(project.getBuildDir(), "objs"), sourceSet.getProjectScopedName()));
// If this task uses a pre-compiled header
if (sourceSet instanceof DependentSourceSetInternal && ((DependentSourceSetInternal) sourceSet).getPreCompiledHeader() != null) {
final DependentSourceSetInternal dependentSourceSet = (DependentSourceSetInternal) sourceSet;
PreCompiledHeader pch = binary.getPrefixFileToPCH().get(dependentSourceSet.getPrefixHeaderFile());
pch.setPrefixHeaderFile(dependentSourceSet.getPrefixHeaderFile());
pch.setIncludeString(dependentSourceSet.getPreCompiledHeader());
task.setPreCompiledHeader(pch);
}
binary.binaryInputs(task.getOutputs().getFiles().getAsFileTree().matching(new PatternSet().include("**/*.obj", "**/*.o")));
}
use of org.gradle.api.tasks.util.PatternSet in project gradle by gradle.
the class PlayTestPlugin method createTestTasks.
@Mutate
void createTestTasks(ModelMap<Task> tasks, @Path("binaries") ModelMap<PlayApplicationBinarySpecInternal> playBinaries, final PlayPluginConfigurations configurations, final FileResolver fileResolver, final ProjectIdentifier projectIdentifier, @Path("buildDir") final File buildDir) {
for (final PlayApplicationBinarySpecInternal binary : playBinaries) {
final PlayToolProvider playToolProvider = binary.getToolChain().select(binary.getTargetPlatform());
final FileCollection testCompileClasspath = getTestCompileClasspath(binary, playToolProvider, configurations);
final String testCompileTaskName = binary.getTasks().taskName("compile", "tests");
final File testSourceDir = fileResolver.resolve("test");
final FileCollection testSources = new SimpleFileCollection(testSourceDir).getAsFileTree().matching(new PatternSet().include("**/*.scala", "**/*.java"));
final File testClassesDir = new File(buildDir, binary.getProjectScopedName() + "/testClasses");
tasks.create(testCompileTaskName, PlatformScalaCompile.class, new Action<PlatformScalaCompile>() {
public void execute(PlatformScalaCompile scalaCompile) {
scalaCompile.setDescription("Compiles the scala and java test sources for the " + binary.getDisplayName() + ".");
scalaCompile.setClasspath(testCompileClasspath);
scalaCompile.dependsOn(binary.getBuildTask());
scalaCompile.setPlatform(binary.getTargetPlatform().getScalaPlatform());
scalaCompile.setDestinationDir(testClassesDir);
scalaCompile.setSource(testSources);
String targetCompatibility = binary.getTargetPlatform().getJavaPlatform().getTargetCompatibility().getMajorVersion();
scalaCompile.setSourceCompatibility(targetCompatibility);
scalaCompile.setTargetCompatibility(targetCompatibility);
IncrementalCompileOptions incrementalOptions = scalaCompile.getScalaCompileOptions().getIncrementalOptions();
incrementalOptions.setAnalysisFile(new File(buildDir, "tmp/scala/compilerAnalysis/" + testCompileTaskName + ".analysis"));
}
});
final String testTaskName = binary.getTasks().taskName("test");
final File binaryBuildDir = new File(buildDir, binary.getProjectScopedName());
tasks.create(testTaskName, Test.class, new Action<Test>() {
public void execute(Test test) {
test.setDescription("Runs " + WordUtils.uncapitalize(binary.getDisplayName() + "."));
test.setClasspath(getRuntimeClasspath(testClassesDir, testCompileClasspath));
test.setTestClassesDirs(new SimpleFileCollection(testClassesDir));
test.setBinResultsDir(new File(binaryBuildDir, "results/" + testTaskName + "/bin"));
test.getReports().getJunitXml().setDestination(new File(binaryBuildDir, "reports/test/xml"));
test.getReports().getHtml().setDestination(new File(binaryBuildDir, "reports/test"));
test.dependsOn(testCompileTaskName);
test.setWorkingDir(projectIdentifier.getProjectDir());
}
});
binary.getTasks().add(tasks.get(testTaskName));
}
}
Aggregations