Example usage for org.apache.maven.project MavenProject getProjectReferences

List of usage examples for org.apache.maven.project MavenProject getProjectReferences

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getProjectReferences.

Prototype

public Map<String, MavenProject> getProjectReferences() 

Source Link

Usage

From source file:com.alibaba.citrus.maven.eclipse.base.ide.JeeUtils.java

License:Apache License

private static String findEjbVersionInDependencies(MavenProject project) {

    String version = IdeUtils.getArtifactVersion(new String[] { "ejb", "ejb-api", "geronimo-spec-ejb" },
            project.getDependencies(), 3);
    // For new Geronimo APIs, the version of the artifact isn't the one of the spec
    if (version == null) {
        if (IdeUtils.getArtifactVersion(new String[] { "geronimo-ejb_2.1_spec" }, project.getDependencies(),
                3) != null) {//from w w  w.  j  ava2 s.co m
            return JeeDescriptor.EJB_2_1;
        }
    }
    if (version == null) {
        if (IdeUtils.getArtifactVersion(new String[] { "geronimo-ejb_3.0_spec" }, project.getDependencies(),
                3) != null) {
            return JeeDescriptor.EJB_3_0;
        }
    }

    // if no version found try dependencies of referenced projects
    if (version == null) {
        Iterator it = project.getProjectReferences().keySet().iterator();
        while (it.hasNext()) {
            Object key = it.next();
            MavenProject refProject = (MavenProject) project.getProjectReferences().get(key);
            version = findEjbVersionInDependencies(refProject);
            if (version != null) // version found in dependencies
            {
                break;
            }
        }
    }
    return version;
}

From source file:com.alibaba.citrus.maven.eclipse.base.ide.JeeUtils.java

License:Apache License

private static String findJeeVersionInDependencies(MavenProject project) {
    String version = IdeUtils.getArtifactVersion(new String[] { "javaee-api", "j2ee", "geronimo-spec-j2ee" },
            project.getDependencies(), 3);

    // For new Geronimo APIs, the version of the artifact isn't the one of the spec
    if (version == null) {
        if (IdeUtils.getArtifactVersion(new String[] { "geronimo-j2ee_1.4_spec" }, project.getDependencies(),
                3) != null) {// ww w . j  a va  2s . c o m
            return JeeDescriptor.JEE_1_4;
        }
    }

    // if no version found try dependencies of referenced projects
    if (version == null) {
        Iterator it = project.getProjectReferences().keySet().iterator();
        while (it.hasNext()) {
            Object key = it.next();
            MavenProject refProject = (MavenProject) project.getProjectReferences().get(key);
            version = findJeeVersionInDependencies(refProject);
            if (version != null) // version found in dependencies
            {
                break;
            }
        }
    }

    return version;
}

From source file:com.alibaba.citrus.maven.eclipse.base.ide.JeeUtils.java

License:Apache License

private static String findServletVersionInDependencies(MavenProject project) {
    String version = IdeUtils.getArtifactVersion(
            new String[] { "servlet-api", "servletapi", "geronimo-spec-servlet" }, project.getDependencies(),
            3);//from  w  w w  . j ava  2  s .c  o  m

    // For new Geronimo APIs, the version of the artifact isn't the one of the spec
    if (version == null) {
        if (IdeUtils.getArtifactVersion(new String[] { "geronimo-servlet_2.4_spec" }, project.getDependencies(),
                3) != null) {
            return JeeDescriptor.SERVLET_2_4;
        }
    }
    if (version == null) {
        if (IdeUtils.getArtifactVersion(new String[] { "geronimo-servlet_2.5_spec" }, project.getDependencies(),
                3) != null) {
            return JeeDescriptor.SERVLET_2_5;
        }
    }

    // if no version found try dependencies of referenced projects
    if (version == null) {
        Iterator it = project.getProjectReferences().keySet().iterator();
        while (it.hasNext()) {
            Object key = it.next();
            MavenProject refProject = (MavenProject) project.getProjectReferences().get(key);
            version = findServletVersionInDependencies(refProject);
            if (version != null) // version found in dependencies
            {
                break;
            }
        }
    }
    return version;
}

From source file:com.all4tec.sa.maven.proguard.ProGuardMojo.java

License:Apache License

private static File getClasspathElement(Artifact artifact, MavenProject mavenProject)
        throws MojoExecutionException {
    if (artifact.getClassifier() != null) {
        return artifact.getFile();
    }/*from  w w  w. j  a  v  a 2 s  .  c  om*/
    String refId = artifact.getGroupId() + ":" + artifact.getArtifactId();
    MavenProject project = (MavenProject) mavenProject.getProjectReferences().get(refId);
    if (project != null) {
        return new File(project.getBuild().getOutputDirectory());
    } else {
        File file = artifact.getFile();
        if ((file == null) || (!file.exists())) {
            throw new MojoExecutionException("Dependency Resolution Required " + artifact);
        }
        return file;
    }
}

From source file:com.tenderowls.opensource.haxemojos.components.HaxeCompiler.java

License:Apache License

private void addHars(List<String> argumentsList, MavenProject project, Set<CompileTarget> targets,
        ArtifactFilter artifactFilter) {
    Map<String, MavenProject> projectReferences = project.getProjectReferences();

    for (Artifact artifact : project.getArtifacts()) {
        boolean filtered = artifactFilter != null && !artifactFilter.include(artifact);

        if (!filtered && artifact.getType().equals(HaxeFileExtensions.HAR)) {
            String artifactKey = getProjectReferenceKey(artifact, ":");
            MavenProject reference = projectReferences.get(artifactKey);

            if (reference == null) {
                File harUnpackDirectory = new File(getDependenciesDirectory(),
                        getProjectReferenceKey(artifact, "-"));
                unpackHar(artifact, harUnpackDirectory);
                validateHarMetadata(targets, artifact,
                        new File(harUnpackDirectory, HarMetadata.METADATA_FILE_NAME));
                addSourcePath(argumentsList, harUnpackDirectory.getAbsolutePath());
            } else {
                String dirName = OutputNamesHelper.getHarValidationOutput(artifact);
                File validationDirectory = new File(reference.getBuild().getDirectory(), dirName);
                validateHarMetadata(targets, artifact,
                        new File(validationDirectory, HarMetadata.METADATA_FILE_NAME));

                for (String cp : reference.getCompileSourceRoots()) {
                    addSourcePath(argumentsList, cp);
                }//from   w w  w .j  av a2 s.  c om
            }
        }
    }
}

From source file:com.totsp.mavenplugin.gwt.util.BuildClasspathUtil.java

License:Open Source License

/**
 * Add all sources and resources also with active (maven reactor active) referenced project
 * sources and resources. Addresses issue no. 147.
 * //  ww w  .  j a  v  a 2 s  . com
 * @param project
 * @param items
 * @param scope
 */
private static void addResourcesWithActiveProjects(final MavenProject project, final Set<File> items,
        final DependencyScope scope) {
    final List<Artifact> scopeArtifacts = BuildClasspathUtil.getScopeArtifacts(project, scope);

    List<Resource> resources = BuildClasspathUtil.getResources(project, scope);
    BuildClasspathUtil.addResources(items, resources);

    for (Artifact artifact : scopeArtifacts) {
        if (artifact instanceof ActiveProjectArtifact) {
            MavenProject refProject = (MavenProject) project.getProjectReferences()
                    .get(BuildClasspathUtil.getProjectReferenceId(artifact.getGroupId(),
                            artifact.getArtifactId(), artifact.getVersion()));

            if (refProject != null) {
                List<Resource> resourcesRef = BuildClasspathUtil.getResources(refProject, scope);
                BuildClasspathUtil.addResources(items, resourcesRef);
            }
        }
    }
}

From source file:com.totsp.mavenplugin.gwt.util.BuildClasspathUtil.java

License:Open Source License

/**
 * Add all sources and resources also with active (maven reactor active) referenced project
 * sources and resources. Addresses issue no. 147.
 * //from   www. j a v  a 2 s  . c  o m
 * @param project
 * @param items
 * @param scope
 */
private static void addSourcesWithActiveProjects(final MavenProject project, final Set<File> items,
        final DependencyScope scope) {

    List<Artifact> scopeArtifacts = BuildClasspathUtil.getScopeArtifacts(project, scope);
    List<String> sourceRoots = BuildClasspathUtil.getSourceRoots(project, scope);
    BuildClasspathUtil.addSources(items, sourceRoots);

    for (Artifact artifact : scopeArtifacts) {
        if (artifact instanceof ActiveProjectArtifact) {
            MavenProject refProject = (MavenProject) project.getProjectReferences()
                    .get(BuildClasspathUtil.getProjectReferenceId(artifact.getGroupId(),
                            artifact.getArtifactId(), artifact.getVersion()));

            if (refProject != null) {
                List<String> sourceRootsRef = BuildClasspathUtil.getSourceRoots(refProject, scope);
                BuildClasspathUtil.addSources(items, sourceRootsRef);
            }
        }
    }
}

From source file:org.apache.tomcat.maven.common.run.DefaultClassLoaderEntriesCalculator.java

License:Apache License

protected boolean isInProjectReferences(Artifact artifact, MavenProject project) {
    if (project.getProjectReferences() == null || project.getProjectReferences().isEmpty()) {
        return false;
    }/* w  ww  .  j a  va 2s.c o m*/
    @SuppressWarnings("unchecked")
    Collection<MavenProject> mavenProjects = project.getProjectReferences().values();
    for (MavenProject mavenProject : mavenProjects) {
        if (StringUtils.equals(mavenProject.getId(), artifact.getId())) {
            return true;
        }
    }
    return false;
}

From source file:org.basepom.mojo.duplicatefinder.artifact.ArtifactFileResolver.java

License:Apache License

public ArtifactFileResolver(final MavenProject project, final boolean preferLocal)
        throws DependencyResolutionRequiredException {
    checkNotNull(project, "project is null");
    this.preferLocal = preferLocal;

    this.localArtifactCache = HashBiMap.create(project.getArtifacts().size());
    this.repoArtifactCache = HashBiMap.create(project.getArtifacts().size());

    for (final Artifact artifact : project.getArtifacts()) {
        final File repoPath = artifact.getFile();
        final Artifact canonicalizedArtifact = ArtifactFileResolver.canonicalizeArtifact(artifact);

        checkState(repoPath != null && repoPath.exists(), "Repository Path '%s' does not exist.", repoPath);
        final File oldFile = repoArtifactCache.put(canonicalizedArtifact, repoPath);
        checkState(oldFile == null || oldFile.equals(repoPath), "Already encountered a file for %s: %s",
                canonicalizedArtifact, oldFile);
    }/*from www  .  ja v  a2 s.c o m*/

    for (final MavenProject referencedProject : project.getProjectReferences().values()) {
        // referenced projects only have GAV coordinates but no scope.
        final Set<Artifact> repoArtifacts = findRepoArtifacts(referencedProject, repoArtifactCache);
        checkState(!repoArtifacts.isEmpty(), "Found project reference to %s but no repo reference!",
                referencedProject.getArtifact());

        for (final Artifact artifact : repoArtifacts) {

            final File outputDir = isTestArtifact(artifact) ? getTestOutputDirectory(referencedProject)
                    : getOutputDirectory(referencedProject);

            if (outputDir != null && outputDir.exists()) {
                final File oldFile = localArtifactCache.put(artifact, outputDir);
                checkState(oldFile == null || oldFile.equals(outputDir),
                        "Already encountered a file for %s: %s", artifact, oldFile);
            }
        }
    }
}

From source file:org.basepom.mojo.duplicatefinder.artifact.ArtifactFileResolver.java

License:Apache License

private static File getLocalProjectPath(final MavenProject project, final Artifact artifact)
        throws DependencyResolutionRequiredException {
    final String refId = Joiner.on(':').join(artifact.getGroupId(), artifact.getArtifactId(),
            artifact.getVersion());// w  w  w .jav a2 s .com
    final MavenProject owningProject = project.getProjectReferences().get(refId);

    if (owningProject != null) {
        final File outputDir = isTestArtifact(artifact) ? getTestOutputDirectory(owningProject)
                : getOutputDirectory(owningProject);

        if (outputDir.exists()) {
            return outputDir;
        }
    }

    return null;
}