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

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

Introduction

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

Prototype

public void setPluginArtifactRepositories(List<ArtifactRepository> pluginArtifactRepositories) 

Source Link

Usage

From source file:org.reficio.p2.TychoFeatureBuilder.java

License:Open Source License

public void execute() throws MojoExecutionException, IOException {
    MavenProject mp = new MavenProject();
    mp.getModel().setGroupId(this.mavenProject.getGroupId());
    mp.getModel().setArtifactId(featureId);
    mp.getModel().setVersion(featureVersion);
    mp.getModel().setPackaging("eclipse-feature");
    mp.setPluginArtifactRepositories(this.mavenProject.getPluginArtifactRepositories());
    mp.setFile(featureFile); //sets the basedir for the MavenProject
    org.eclipse.tycho.artifacts.DependencyArtifacts da = new DefaultTargetPlatform();
    mp.setContextValue(TychoConstants.CTX_DEPENDENCY_ARTIFACTS, da);
    mavenSession.setCurrentProject(mp);//from w ww. j av a 2s . c  o  m
    executeMojo(
            plugin(groupId("org.eclipse.tycho"), artifactId("tycho-packaging-plugin"), version(TYCHO_VERSION)),
            goal("package-feature"),
            configuration(element(name("finalName"), this.featureId + "_" + this.featureVersion + ".jar"),
                    element(name("basedir"), this.featureFile.getParent()),
                    element(name("outputDirectory"), outputDirectory)),
            executionEnvironment(mp, mavenSession, buildPluginManager));

}

From source file:org.sourcepit.maven.bootstrap.core.AbstractBootstrapper.java

License:Apache License

private List<MavenProject> buildBootstrapProjects(MavenSession session, Collection<File> descriptors) {
    final ProjectBuildingRequest request = new DefaultProjectBuildingRequest(
            session.getProjectBuildingRequest());
    request.setRemoteRepositories(filterArtifactRepositories(request.getRemoteRepositories()));

    final List<ProjectBuildingResult> results;
    try {/*from www.j  ava  2  s  .  co m*/
        results = projectBuilder.build(new ArrayList<File>(descriptors), false, request);
    } catch (ProjectBuildingException e) {
        throw new IllegalStateException("Cannot build bootstrapper project for " + e.getPomFile(), e);
    }

    final List<MavenProject> projects = new ArrayList<MavenProject>(results.size());
    for (ProjectBuildingResult result : results) {
        final MavenProject project = result.getProject();
        project.setRemoteArtifactRepositories(
                filterArtifactRepositories(project.getRemoteArtifactRepositories()));
        project.setPluginArtifactRepositories(
                filterArtifactRepositories(project.getPluginArtifactRepositories()));
        projects.add(project);
    }

    final ProjectSorter projectSorter;
    try {
        // HACK: Constructor arg changed with Maven 3.2 from List to Collection which made it binary incompatible
        projectSorter = (ProjectSorter) ProjectSorter.class.getConstructors()[0].newInstance(projects);
    } catch (InstantiationException e) {
        throw new IllegalStateException(e);
    } catch (IllegalAccessException e) {
        throw new IllegalStateException(e);
    } catch (InvocationTargetException e) {
        throw new IllegalStateException(e.getTargetException());
    }

    return projectSorter.getSortedProjects();
}

From source file:org.sourcepit.tpmp.resolver.tycho.TychoSessionTargetPlatformResolver.java

License:Apache License

private MavenProject setupAggregatedProject(MavenSession session,
        TargetPlatformConfiguration aggregatedConfiguration) {
    PropertiesMap mvnProperties = new LinkedPropertiesMap();
    mvnProperties.load(getClass().getClassLoader(), "META-INF/tpmp/maven.properties");

    String groupId = mvnProperties.get("groupId");
    String artifactId = mvnProperties.get("artifactId");
    String version = mvnProperties.get("version");

    final String tpmpKey = Plugin.constructKey(groupId, artifactId);

    MavenProject origin = session.getCurrentProject();

    Model model = origin.getModel().clone();
    Build build = model.getBuild();// w w  w.  j av a 2  s.co m
    if (build.getPluginsAsMap().get(tpmpKey) == null) {
        Plugin tpmp = new Plugin();
        tpmp.setGroupId(groupId);
        tpmp.setArtifactId(artifactId);
        tpmp.setVersion(version);

        build.getPlugins().add(tpmp);
        build.flushPluginMap();
    }

    MavenProject fake = new MavenProject(model);
    fake.setClassRealm(origin.getClassRealm());
    fake.setFile(origin.getFile());

    final Map<String, ArtifactRepository> artifactRepositories = new LinkedHashMap<String, ArtifactRepository>();
    final Map<String, ArtifactRepository> pluginRepositories = new LinkedHashMap<String, ArtifactRepository>();
    for (MavenProject project : session.getProjects()) {
        for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) {
            if (!artifactRepositories.containsKey(repository.getId())) {
                artifactRepositories.put(repository.getId(), repository);
            }
        }
        for (ArtifactRepository repository : project.getPluginArtifactRepositories()) {
            if (!pluginRepositories.containsKey(repository.getId())) {
                pluginRepositories.put(repository.getId(), repository);
            }
        }
    }

    fake.setRemoteArtifactRepositories(new ArrayList<ArtifactRepository>(artifactRepositories.values()));
    fake.setPluginArtifactRepositories(new ArrayList<ArtifactRepository>(pluginRepositories.values()));
    fake.setManagedVersionMap(origin.getManagedVersionMap());

    if (getTychoProject(fake) == null) {
        fake.setPackaging("eclipse-repository");
    }

    fake.getBuildPlugins();

    AbstractTychoProject tychoProject = (AbstractTychoProject) getTychoProject(fake);
    tychoProject.setupProject(session, fake);

    Properties properties = new Properties();
    properties.putAll(fake.getProperties());
    properties.putAll(session.getSystemProperties()); // session wins
    properties.putAll(session.getUserProperties());
    fake.setContextValue(TychoConstants.CTX_MERGED_PROPERTIES, properties);

    fake.setContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION, aggregatedConfiguration);

    ExecutionEnvironmentConfiguration eeConfiguration = new ExecutionEnvironmentConfigurationImpl(logger,
            aggregatedConfiguration.isResolveWithEEConstraints());
    tychoProject.readExecutionEnvironmentConfiguration(fake, eeConfiguration);
    fake.setContextValue(TychoConstants.CTX_EXECUTION_ENVIRONMENT_CONFIGURATION, eeConfiguration);

    final DependencyMetadata dm = new DependencyMetadata();
    for (ReactorProject reactorProject : DefaultReactorProject.adapt(session)) {
        mergeMetadata(dm, reactorProject, true);
        mergeMetadata(dm, reactorProject, false);
    }

    int i = 0;
    for (Object object : dm.getMetadata(true)) {
        InstallableUnitDAO dao = new TychoSourceIUResolver.InstallableUnitDAO(
                object.getClass().getClassLoader());
        dao.setProperty(object, RepositoryLayoutHelper.PROP_CLASSIFIER, "fake_" + i);
        i++;
    }

    for (Object object : dm.getMetadata(false)) {
        InstallableUnitDAO dao = new TychoSourceIUResolver.InstallableUnitDAO(
                object.getClass().getClassLoader());
        dao.setProperty(object, RepositoryLayoutHelper.PROP_CLASSIFIER, "fake_" + i);
        i++;
    }

    Map<String, DependencyMetadata> metadata = new LinkedHashMap<String, DependencyMetadata>();
    metadata.put(null, dm);

    fake.setContextValue("tpmp.aggregatedMetadata", metadata);

    return fake;
}