Example usage for org.eclipse.jdt.internal.core.builder JavaBuilder getProblemsFor

List of usage examples for org.eclipse.jdt.internal.core.builder JavaBuilder getProblemsFor

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core.builder JavaBuilder getProblemsFor.

Prototype

public static IMarker[] getProblemsFor(IResource resource) 

Source Link

Usage

From source file:com.liferay.ide.maven.core.MavenBundlePluginProject.java

License:Open Source License

@Override
public IPath getOutputBundle(boolean cleanBuild, IProgressMonitor monitor) throws CoreException {
    IPath outputJar = null;//from w  w w .j  a va2s. c  om

    IMavenProjectFacade projectFacade = MavenUtil.getProjectFacade(getProject(), monitor);
    MavenProjectBuilder mavenProjectBuilder = new MavenProjectBuilder(getProject());

    // IDE-3009 delete the MANIFEST.MF to ensure that it will be regenerated by
    // bnd-process

    IFile manifest = getProject().getFile("target/classes/META-INF/MANIFEST.MF");

    if (FileUtil.exists(manifest)) {
        manifest.delete(true, monitor);
    }

    if (cleanBuild || !_isAutoBuild()) {
        getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, monitor);
        getProject().build(IncrementalProjectBuilder.FULL_BUILD, monitor);
    } else {
        getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
    }

    IMarker[] buildProblems = JavaBuilder.getProblemsFor(getProject());

    Stream<IMarker> buildProblemsStream = Stream.of(buildProblems);

    List<IMarker> errorMarkerList = buildProblemsStream.filter(marker -> {
        try {
            int severirty = (int) marker.getAttribute(IMarker.SEVERITY);

            return IMarker.SEVERITY_ERROR == severirty;
        } catch (CoreException ce) {
            return false;
        }
    }).collect(Collectors.toList());

    if (ListUtil.isNotEmpty(errorMarkerList)) {
        return outputJar;
    }

    mavenProjectBuilder.execJarMojo(projectFacade, monitor);

    MavenProject mavenProject = projectFacade.getMavenProject(monitor);

    String targetName = mavenProject.getBuild().getFinalName() + "." + getBundleShape();

    String buildDirectory = mavenProject.getBuild().getDirectory();
    File baseDirectory = mavenProject.getBasedir();

    IPath buildDirPath = new Path(buildDirectory);
    IPath baseDirPath = new Path(baseDirectory.toString());

    IPath relativePath = buildDirPath.makeRelativeTo(baseDirPath);

    IFolder targetFolder = _getTargetFolder(getProject(), relativePath);

    if (FileUtil.exists(targetFolder)) {

        // targetFolder.refreshLocal( IResource.DEPTH_ONE, monitor );

        IPath targetFile = targetFolder.getRawLocation().append(targetName);

        if (FileUtil.exists(targetFile)) {
            outputJar = targetFile;
        }
    }

    return outputJar;
}

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

License:Open Source License

protected void updateProblemsFor(SourceFile sourceFile, CompilationResult result) throws CoreException {
    IMarker[] markers = JavaBuilder.getProblemsFor(sourceFile.resource);
    CategorizedProblem[] problems = result.getProblems();
    if (problems == null && markers.length == 0)
        return;// ww  w  . ja v a 2  s. c  o m

    this.notifier.updateProblemCounts(markers, problems);
    JavaBuilder.removeProblemsFor(sourceFile.resource);
    storeProblemsFor(sourceFile, problems);
}

From source file:org.objectstyle.wolips.target.TargetBuilder.java

License:Open Source License

private void cancelBuildOnErrors() throws CoreException {
    Integer severityError = new Integer(IMarker.SEVERITY_ERROR);

    IMarker[] problemMarkers = JavaBuilder.getProblemsFor(getProject());
    for (int j = 0; j < problemMarkers.length; j++) {
        if (problemMarkers[j].getAttribute(IMarker.SEVERITY).equals(severityError)) {
            // if (isResourceTargetMember(problemMarkers[j].getResource()))
            throw new OperationCanceledException("Compilation Errors");
        }/*from w  w w . j av  a2 s .  co  m*/
    }
}

From source file:org.objectstyle.wolips.target.TargetBuilder.java

License:Open Source License

protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
    State buildState;// w  w  w  .  j ava2  s . c  o m
    String buldStateKey;
    IProject[] result = null;

    IProject project = getProject();

    List targets = targets();
    if (targets == null)
        return null;

    IJavaProject javaProject = JavaCore.create(project);
    IPath projectOutputLocation = javaProject.getOutputLocation();
    IClasspathEntry[] projectClasspath = javaProject.getRawClasspath();
    _problemMarkers = new HashMap();
    TargetBuilderPlugin plugin = TargetBuilderPlugin.getDefault();

    try {
        for (int i = 0; i < targets.size(); i++) {
            BuildTarget target = (BuildTarget) targets.get(i);
            buldStateKey = project.getName() + "/" + target.name();
            javaProject.setOutputLocation(target.outputLocation(), monitor);
            javaProject.setRawClasspath(target.classPathEntries(), monitor);
            buildState = plugin.buildStateForKey(buldStateKey);
            JavaModelManager.getJavaModelManager().setLastBuiltState(project, buildState);

            result = super.build(kind, args, monitor);

            buildState = (State) JavaModelManager.getJavaModelManager().getLastBuiltState(project, monitor);
            plugin.setBuildStateForKey(buildState, buldStateKey);
            registerProblemMarkers(JavaBuilder.getProblemsFor(getProject()));
            // cancelBuildOnErrors(javaProject);
        }
    } finally {
        javaProject.setOutputLocation(projectOutputLocation, monitor);
        javaProject.setRawClasspath(projectClasspath, monitor);
        updateProblemMarkers();
        cancelBuildOnErrors();
    }

    return result;
}