Example usage for org.apache.maven.artifact.repository ArtifactRepositoryFactory createArtifactRepository

List of usage examples for org.apache.maven.artifact.repository ArtifactRepositoryFactory createArtifactRepository

Introduction

In this page you can find the example usage for org.apache.maven.artifact.repository ArtifactRepositoryFactory createArtifactRepository.

Prototype

ArtifactRepository createArtifactRepository(String id, String url, ArtifactRepositoryLayout repositoryLayout,
            ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases);

Source Link

Usage

From source file:com.effectivemaven.centrepoint.maven.repository.CentralRepositoryService.java

License:Apache License

@Inject
private CentralRepositoryService(RepositoryParams params) {
    try {//from www .ja  v  a2 s .  c  om
        // jetty:run friendly setting
        Map<? extends Object, ? extends Object> context = Collections
                .singletonMap(PlexusConstants.IGNORE_CONTAINER_CONFIGURATION, Boolean.TRUE);

        // use Plexus to load the Maven components needed to retrieve repository information
        InputStreamReader configurationReader = new InputStreamReader(
                getClass().getResourceAsStream("/custom-plexus.xml"));
        PlexusContainer container = new DefaultPlexusContainer(configurationReader, context);

        this.artifactFactory = (ArtifactFactory) container.lookup(ArtifactFactory.ROLE);

        this.metadataSource = (ArtifactMetadataSource) container.lookup(MavenMetadataSource.ROLE,
                MavenMetadataSource.ROLE_HINT);

        ArtifactRepositoryFactory repositoryFactory = (ArtifactRepositoryFactory) container
                .lookup(ArtifactRepositoryFactory.ROLE);

        String localRepositoryUrl = new File(params.localRepositoryPath).toURL().toExternalForm();
        this.localRepository = repositoryFactory.createDeploymentArtifactRepository("local", localRepositoryUrl,
                new DefaultRepositoryLayout(), false);

        repository = repositoryFactory.createArtifactRepository("central", params.repositoryUrl,
                new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy());

        projectBuilder = (MavenProjectBuilder) container.lookup(MavenProjectBuilder.ROLE);
    } catch (Exception e) {
        throw new RuntimeException("Error starting Maven components for repository service", e);
    }
}

From source file:de.fct.companian.analyze.mvn.helper.MvnProjectBuilder.java

License:Apache License

public static MavenProject buildMavenProject(File pomFile) {
    if (logger.isDebugEnabled()) {
        logger.debug("buildMavenProject() start, pomFile=" + pomFile);
    }//from   w  w  w. ja v a2s .  co  m
    MavenProject mvnProject = null;

    ClassWorld classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader());

    ContainerConfiguration cc = new DefaultContainerConfiguration().setClassWorld(classWorld)
            .setName("embedder");

    DefaultPlexusContainer container;
    org.codehaus.plexus.logging.Logger mvnLogger;
    try {
        mvnLogger = new ConsoleLogger(org.codehaus.plexus.logging.Logger.LEVEL_DEBUG, "Console");
        container = new DefaultPlexusContainer(cc);
        container.setLoggerManager(new MavenLoggerManager(mvnLogger));
        container.getLoggerManager().setThresholds(org.codehaus.plexus.logging.Logger.LEVEL_DEBUG);

        ProjectBuilder builder;
        try {
            builder = container.lookup(ProjectBuilder.class);
            logger.info("buildMavenProject() project builder = " + builder);

            try {

                ArtifactRepositoryFactory repoFactory = new DefaultArtifactRepositoryFactory();

                ArtifactRepository localRepo = repoFactory.createArtifactRepository("mylocal",
                        "file://h:/maven/repository", new DefaultRepositoryLayout(),
                        new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy());

                List<ArtifactRepository> remoteRepos = new ArrayList<ArtifactRepository>();
                ArtifactRepository mvnCentral = repoFactory.createArtifactRepository("mvnCentral",
                        "http://repo1.maven.org/maven2/", new DefaultRepositoryLayout(),
                        new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy());
                remoteRepos.add(mvnCentral);

                ProjectBuildingRequest buildRequest = new DefaultProjectBuildingRequest();
                buildRequest.setLocalRepository(localRepo);
                buildRequest.setRemoteRepositories(remoteRepos);
                buildRequest.setResolveDependencies(true);
                buildRequest.setOffline(false);

                ProjectBuildingResult buildResult = builder.build(pomFile, buildRequest);
                if (buildResult != null) {
                    logger.info("buildMavenProject() got a build result");

                    mvnProject = buildResult.getProject();
                }
            } catch (ProjectBuildingException e) {
                logger.error("buildMavenProject() error building project", e);
            }

        } catch (ComponentLookupException e) {
            logger.error("buildMavenProject() error looking up ArtifactResolver", e);
        }
    } catch (PlexusContainerException e) {
        logger.error("buildMavenProject() error from Plexus container", e);
    }

    if (logger.isDebugEnabled()) {
        logger.debug("buildMavenProject() finished, mvnProject=" + mvnProject);
    }
    return mvnProject;
}

From source file:net.oneandone.maven.plugins.prerelease.util.IntegrationBase.java

License:Apache License

public static Maven maven(World world) {
    DefaultPlexusContainer container;//from   ww  w .j  av  a2  s.  c  om
    ArtifactRepositoryFactory factory;
    ArtifactRepository central;
    ArtifactRepository snapshots;
    FileNode localDir;
    ArtifactRepository local;
    MavenSession session;
    RepositorySystem repoSystem;
    DefaultRepositorySystemSession repoSession;

    container = container(null, null, Logger.LEVEL_DISABLED);
    try {
        factory = container.lookup(ArtifactRepositoryFactory.class);
    } catch (ComponentLookupException e) {
        throw new IllegalStateException(e);
    }
    central = factory.createArtifactRepository("central", "http://repo1.maven.org/maven2",
            new DefaultRepositoryLayout(),
            new ArtifactRepositoryPolicy(false, ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY,
                    ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN),
            new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER,
                    ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN));
    snapshots = factory.createArtifactRepository("apache-snapshots", "http://repository.apache.org/snapshots/",
            new DefaultRepositoryLayout(),
            new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY,
                    ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN),
            new ArtifactRepositoryPolicy(false, ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER,
                    ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN));
    localDir = defaultLocalRepositoryDir(world);
    local = factory.createArtifactRepository("local", localDir.getURI().toASCIIString(),
            new DefaultRepositoryLayout(),
            new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
                    ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN),
            new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER,
                    ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN));

    try {
        repoSystem = container.lookup(RepositorySystem.class);
        repoSession = MavenRepositorySystemUtils.newSession();
        repoSession.setLocalRepositoryManager(
                repoSystem.newLocalRepositoryManager(repoSession, new LocalRepository(localDir.getAbsolute())));
        session = new MavenSession(container, repoSession, new DefaultMavenExecutionRequest(),
                new DefaultMavenExecutionResult());
        return new Maven(world, new DefaultLog(null), session, local, null, null,
                container.lookup(ProjectBuilder.class), Arrays.asList(central, snapshots));
    } catch (ComponentLookupException e) {
        throw new IllegalStateException(e);
    }
}

From source file:org.sonar.updatecenter.deprecated.UpdateCenter.java

License:Open Source License

private void run() throws Exception {
    // Init plexus
    ClassWorld classWorld = new ClassWorld("plexus.core", UpdateCenter.class.getClassLoader());
    ContainerConfiguration configuration = new DefaultContainerConfiguration().setClassWorld(classWorld);
    PlexusContainer plexus = new DefaultPlexusContainer(configuration);
    // Init components
    artifactFactory = plexus.lookup(ArtifactFactory.class);
    artifactResolver = plexus.lookup(ArtifactResolver.class);
    metadataSource = plexus.lookup(ArtifactMetadataSource.class);
    mavenProjectBuilder = plexus.lookup(MavenProjectBuilder.class);
    ArtifactRepositoryFactory artifactRepositoryFactory = plexus.lookup(ArtifactRepositoryFactory.class);
    // Init repositories
    ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy(true,
            ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
    remoteRepositories = Collections.singletonList( // TODO add SonarSource repository with commercial plugins
            artifactRepositoryFactory.createArtifactRepository("codehaus", "http://repository.codehaus.org",
                    new DefaultRepositoryLayout(), policy, policy));
    File localRepo = new File(new File(System.getProperty("user.home")), ".m2/repository");
    localRepository = artifactRepositoryFactory.createArtifactRepository("local",
            localRepo.toURI().toURL().toExternalForm(), new DefaultRepositoryLayout(), policy, policy);
    resolvePlugins();//from  www.j  av  a  2s .c om
}