Search in sources :

Example 6 with RunnableBuildOperation

use of org.gradle.internal.operations.RunnableBuildOperation in project gradle by gradle.

the class RuntimeShadedJarFactory method get.

public File get(final RuntimeShadedJarType type, final Collection<? extends File> classpath) {
    final File jarFile = cache.get(type.getIdentifier(), new Action<File>() {

        @Override
        public void execute(final File file) {
            buildOperationExecutor.run(new RunnableBuildOperation() {

                @Override
                public void run(BuildOperationContext context) {
                    RuntimeShadedJarCreator creator = new RuntimeShadedJarCreator(progressLoggerFactory, new ImplementationDependencyRelocator(type), directoryFileTreeFactory);
                    creator.create(file, classpath);
                }

                @Override
                public BuildOperationDescriptor.Builder description() {
                    String displayName = "Generating Jar " + file.getName();
                    return BuildOperationDescriptor.displayName(displayName).progressDisplayName(displayName);
                }
            });
        }
    });
    LOGGER.debug("Using Gradle runtime shaded JAR file: {}", jarFile);
    return jarFile;
}
Also used : BuildOperationContext(org.gradle.internal.operations.BuildOperationContext) BuildOperationDescriptor(org.gradle.internal.operations.BuildOperationDescriptor) File(java.io.File) RunnableBuildOperation(org.gradle.internal.operations.RunnableBuildOperation)

Example 7 with RunnableBuildOperation

use of org.gradle.internal.operations.RunnableBuildOperation in project gradle by gradle.

the class Binary2JUnitXmlReportGenerator method generate.

public void generate() {
    Timer clock = Time.startTimer();
    buildOperationExecutor.run(new RunnableBuildOperation() {

        @Override
        public void run(BuildOperationContext context) {
            File[] oldXmlFiles = testResultsDir.listFiles(new FilenameFilter() {

                @Override
                public boolean accept(File dir, String name) {
                    return name.startsWith("TEST") && name.endsWith(".xml");
                }
            });
            for (File oldXmlFile : oldXmlFiles) {
                GFileUtils.deleteQuietly(oldXmlFile);
            }
        }

        @Override
        public BuildOperationDescriptor.Builder description() {
            return BuildOperationDescriptor.displayName("Delete old JUnit XML results");
        }
    });
    buildOperationExecutor.runAll(new Action<BuildOperationQueue<JUnitXmlReportFileGenerator>>() {

        @Override
        public void execute(final BuildOperationQueue<JUnitXmlReportFileGenerator> queue) {
            testResultsProvider.visitClasses(new Action<TestClassResult>() {

                public void execute(final TestClassResult result) {
                    final File reportFile = new File(testResultsDir, getReportFileName(result));
                    queue.add(new JUnitXmlReportFileGenerator(result, reportFile, xmlWriter));
                }
            });
        }
    });
    LOG.info("Finished generating test XML results ({}) into: {}", clock.getElapsed(), testResultsDir);
}
Also used : BuildOperationContext(org.gradle.internal.operations.BuildOperationContext) Action(org.gradle.api.Action) BuildOperationQueue(org.gradle.internal.operations.BuildOperationQueue) FilenameFilter(java.io.FilenameFilter) Timer(org.gradle.internal.time.Timer) RunnableBuildOperation(org.gradle.internal.operations.RunnableBuildOperation) File(java.io.File)

Aggregations

BuildOperationContext (org.gradle.internal.operations.BuildOperationContext)7 RunnableBuildOperation (org.gradle.internal.operations.RunnableBuildOperation)7 File (java.io.File)5 Action (org.gradle.api.Action)2 BuildOperationQueue (org.gradle.internal.operations.BuildOperationQueue)2 FilenameFilter (java.io.FilenameFilter)1 IOException (java.io.IOException)1 HashSet (java.util.HashSet)1 GradleException (org.gradle.api.GradleException)1 FileCollection (org.gradle.api.file.FileCollection)1 TaskOutputFilePropertySpec (org.gradle.api.internal.tasks.TaskOutputFilePropertySpec)1 TextResourceScriptSource (org.gradle.groovy.scripts.TextResourceScriptSource)1 DefaultMultiCauseException (org.gradle.internal.exceptions.DefaultMultiCauseException)1 MultiCauseException (org.gradle.internal.exceptions.MultiCauseException)1 BuildOperationDescriptor (org.gradle.internal.operations.BuildOperationDescriptor)1 BuildOperationExecutor (org.gradle.internal.operations.BuildOperationExecutor)1 BuildOperationRef (org.gradle.internal.operations.BuildOperationRef)1 BasicTextResourceLoader (org.gradle.internal.resource.BasicTextResourceLoader)1 TextResource (org.gradle.internal.resource.TextResource)1 Timer (org.gradle.internal.time.Timer)1