Example usage for org.eclipse.jdt.internal.core.util Messages build_cleaningOutput

List of usage examples for org.eclipse.jdt.internal.core.util Messages build_cleaningOutput

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core.util Messages build_cleaningOutput.

Prototype

String build_cleaningOutput

To view the source code for org.eclipse.jdt.internal.core.util Messages build_cleaningOutput.

Click Source Link

Usage

From source file:net.sf.j2s.core.builder.BatchImageBuilder.java

License:Open Source License

public void build() {
    if (JavaBuilder.DEBUG)
        System.out.println("FULL build"); //$NON-NLS-1$

    try {/*from  www.  ja v a2 s  .c o m*/
        this.notifier.subTask(
                Messages.bind(Messages.build_cleaningOutput, this.javaBuilder.currentProject.getName()));
        JavaBuilder.removeProblemsAndTasksFor(this.javaBuilder.currentProject);
        cleanOutputFolders(true);
        this.notifier.updateProgressDelta(0.05f);

        this.notifier.subTask(Messages.build_analyzingSources);
        ArrayList sourceFiles = new ArrayList(33);
        addAllSourceFiles(sourceFiles);
        this.notifier.updateProgressDelta(0.10f);

        if (sourceFiles.size() > 0) {
            SourceFile[] allSourceFiles = new SourceFile[sourceFiles.size()];
            sourceFiles.toArray(allSourceFiles);

            this.notifier.setProgressPerCompilationUnit(0.75f / allSourceFiles.length);
            this.workQueue.addAll(allSourceFiles);
            compile(allSourceFiles);

            if (this.typeLocatorsWithUndefinedTypes != null)
                if (this.secondaryTypes != null && !this.secondaryTypes.isEmpty())
                    rebuildTypesAffectedBySecondaryTypes();
            if (this.incrementalBuilder != null)
                this.incrementalBuilder.buildAfterBatchBuild();
        }

        if (this.javaBuilder.javaProject.hasCycleMarker())
            this.javaBuilder.mustPropagateStructuralChanges();
    } catch (CoreException e) {
        throw internalException(e);
    } finally {
        if (JavaBuilder.SHOW_STATS)
            printStats();
        cleanUp();
    }
}

From source file:net.sf.j2s.core.builder.BatchImageBuilder.java

License:Open Source License

protected void cleanOutputFolders(boolean copyBack) throws CoreException {
    boolean deleteAll = JavaCore.CLEAN
            .equals(this.javaBuilder.javaProject.getOption(JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, true));
    if (deleteAll) {
        if (this.javaBuilder.participants != null)
            for (int i = 0, l = this.javaBuilder.participants.length; i < l; i++)
                this.javaBuilder.participants[i].cleanStarting(this.javaBuilder.javaProject);

        ArrayList visited = new ArrayList(this.sourceLocations.length);
        for (int i = 0, l = this.sourceLocations.length; i < l; i++) {
            this.notifier.subTask(
                    Messages.bind(Messages.build_cleaningOutput, this.javaBuilder.currentProject.getName()));
            ClasspathMultiDirectory sourceLocation = this.sourceLocations[i];
            if (sourceLocation.hasIndependentOutputFolder) {
                IContainer outputFolder = sourceLocation.binaryFolder;
                if (!visited.contains(outputFolder)) {
                    visited.add(outputFolder);
                    IResource[] members = outputFolder.members();
                    for (int j = 0, m = members.length; j < m; j++) {
                        IResource member = members[j];
                        if (!member.isDerived()) {
                            member.accept(new IResourceVisitor() {
                                public boolean visit(IResource resource) throws CoreException {
                                    resource.setDerived(true, null);
                                    return resource.getType() != IResource.FILE;
                                }/*ww  w.j a v  a  2  s  .c om*/
                            });
                        }
                        member.delete(IResource.FORCE, null);
                    }
                }
                this.notifier.checkCancel();
                if (copyBack)
                    copyExtraResourcesBack(sourceLocation, true);
            } else {
                boolean isOutputFolder = sourceLocation.sourceFolder.equals(sourceLocation.binaryFolder);
                final char[][] exclusionPatterns = isOutputFolder ? sourceLocation.exclusionPatterns : null; // ignore exclusionPatterns if output folder == another source folder... not this one
                final char[][] inclusionPatterns = isOutputFolder ? sourceLocation.inclusionPatterns : null; // ignore inclusionPatterns if output folder == another source folder... not this one
                sourceLocation.binaryFolder.accept(new IResourceProxyVisitor() {
                    public boolean visit(IResourceProxy proxy) throws CoreException {
                        if (proxy.getType() == IResource.FILE) {
                            if (org.eclipse.jdt.internal.compiler.util.Util.isClassFileName(proxy.getName())) {
                                IResource resource = proxy.requestResource();
                                if (exclusionPatterns != null || inclusionPatterns != null)
                                    if (Util.isExcluded(resource.getFullPath(), inclusionPatterns,
                                            exclusionPatterns, false))
                                        return false;
                                if (!resource.isDerived())
                                    resource.setDerived(true, null);
                                resource.delete(IResource.FORCE, null);
                            }
                            return false;
                        }
                        if (exclusionPatterns != null && inclusionPatterns == null) // must walk children if inclusionPatterns != null
                            if (Util.isExcluded(proxy.requestFullPath(), null, exclusionPatterns, true))
                                return false;
                        BatchImageBuilder.this.notifier.checkCancel();
                        return true;
                    }
                }, IResource.NONE);
                this.notifier.checkCancel();
            }
            this.notifier.checkCancel();
        }
    } else if (copyBack) {
        for (int i = 0, l = this.sourceLocations.length; i < l; i++) {
            ClasspathMultiDirectory sourceLocation = this.sourceLocations[i];
            if (sourceLocation.hasIndependentOutputFolder)
                copyExtraResourcesBack(sourceLocation, false);
            this.notifier.checkCancel();
        }
    }
}

From source file:org.eclipse.jdt.internal.core.builder.BatchImageBuilder.java

License:Open Source License

protected void cleanOutputFolders(boolean copyBack) throws CoreException {
    boolean deleteAll = JavaCore.CLEAN
            .equals(this.javaBuilder.javaProject.getOption(JavaCore.CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, true));
    if (deleteAll) {
        if (this.javaBuilder.participants != null)
            for (int i = 0, l = this.javaBuilder.participants.length; i < l; i++)
                this.javaBuilder.participants[i].cleanStarting(this.javaBuilder.javaProject);

        ArrayList visited = new ArrayList(this.sourceLocations.length);
        for (int i = 0, l = this.sourceLocations.length; i < l; i++) {
            this.notifier.subTask(
                    Messages.bind(Messages.build_cleaningOutput, this.javaBuilder.currentProject.getName()));
            ClasspathMultiDirectory sourceLocation = this.sourceLocations[i];
            if (sourceLocation.hasIndependentOutputFolder) {
                IContainer outputFolder = sourceLocation.binaryFolder;
                if (!visited.contains(outputFolder)) {
                    visited.add(outputFolder);
                    IResource[] members = outputFolder.members();
                    for (int j = 0, m = members.length; j < m; j++) {
                        IResource member = members[j];
                        if (!member.isDerived()) {
                            member.accept(new IResourceVisitor() {
                                public boolean visit(IResource resource) throws CoreException {
                                    resource.setDerived(true, null);
                                    return resource.getType() != IResource.FILE;
                                }//w  w w  .j a  v a2 s  .  co m
                            });
                        }
                        member.delete(IResource.FORCE, null);
                    }
                }
                this.notifier.checkCancel();
                if (copyBack)
                    copyExtraResourcesBack(sourceLocation, true);
            } else {
                boolean isOutputFolder = sourceLocation.sourceFolder.equals(sourceLocation.binaryFolder);
                final char[][] exclusionPatterns = isOutputFolder ? sourceLocation.exclusionPatterns : null; // ignore exclusionPatterns if output folder == another source folder... not this one
                final char[][] inclusionPatterns = isOutputFolder ? sourceLocation.inclusionPatterns : null; // ignore inclusionPatterns if output folder == another source folder... not this one
                sourceLocation.binaryFolder.accept(new IResourceProxyVisitor() {
                    public boolean visit(IResourceProxy proxy) throws CoreException {
                        if (proxy.getType() == IResource.FILE) {
                            if (org.eclipse.jdt.internal.compiler.util.Util.isClassFileName(proxy.getName())) {
                                IResource resource = proxy.requestResource();
                                if (exclusionPatterns != null || inclusionPatterns != null)
                                    if (Util.isExcluded(resource.getFullPath(), inclusionPatterns,
                                            exclusionPatterns, false))
                                        return false;
                                if (!resource.isDerived())
                                    resource.setDerived(true, null);
                                resource.delete(IResource.FORCE, null);
                            }
                            return false;
                        }
                        if (exclusionPatterns != null && inclusionPatterns == null) // must walk children if inclusionPatterns != null
                            if (Util.isExcluded(proxy.requestFullPath(), null, exclusionPatterns, true))
                                return false;
                        BatchImageBuilder.this.notifier.checkCancel();
                        return true;
                    }
                }, IResource.NONE);
                this.notifier.checkCancel();
            }
            this.notifier.checkCancel();
        }
    } else if (copyBack) {
        for (int i = 0, l = this.sourceLocations.length; i < l; i++) {
            ClasspathMultiDirectory sourceLocation = this.sourceLocations[i];
            if (sourceLocation.hasIndependentOutputFolder)
                copyExtraResourcesBack(sourceLocation, false);
            this.notifier.checkCancel();
        }
    }
    // GROOVY start
    LanguageSupportFactory.getEventHandler().handle(this.javaBuilder.javaProject, "cleanOutputFolders");
    // GROOVY end
}