List of usage examples for org.apache.maven.artifact.repository ArtifactRepositoryFactory createArtifactRepository
ArtifactRepository createArtifactRepository(String id, String url, ArtifactRepositoryLayout repositoryLayout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases);
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 }