List of usage examples for org.apache.maven.bridge MavenRepositorySystem createDefaultRemoteRepository
public ArtifactRepository createDefaultRemoteRepository(MavenExecutionRequest request) throws Exception
From source file:org.jboss.ce.mvns2i.MavenUtils.java
License:Open Source License
public String getDeploymentDir(String projectDir) throws Exception { ProjectBuilder projectBuilder = create(ProjectBuilder.class); File pomFile = new File(projectDir, "pom.xml"); MavenExecutionRequest mer = new DefaultMavenExecutionRequest(); File mvnDir;// ww w .j a v a2s . com String m2dir = System.getProperty("maven.repo"); if (m2dir != null) { mvnDir = new File(m2dir); } else { mvnDir = new File(System.getProperty("user.home"), ".m2/repository"); } if (mvnDir.exists() == false) { //noinspection ResultOfMethodCallIgnored mvnDir.mkdirs(); } log.info(String.format("Using Maven repository: %s", mvnDir)); final Checker checker = new Checker(); ProjectBuildingRequest request = mer.getProjectBuildingRequest(); request.setActiveProfileIds(Collections.singletonList(checker.getDefaultProfile())); MavenArtifactRepository artifactRepository = new MavenArtifactRepository("local", mvnDir.toURI().toString(), create(ArtifactRepositoryLayout.class), new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy()); request.setLocalRepository(artifactRepository); DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); session.setOffline(!Boolean.getBoolean("online")); // use offline by default LocalRepository localRepository = new LocalRepository(mvnDir); LocalRepositoryManager localRepositoryManager = create(LocalRepositoryManagerFactory.class) .newInstance(session, localRepository); session.setLocalRepositoryManager(localRepositoryManager); request.setRepositorySession(session); MavenRepositorySystem mrs = create(MavenRepositorySystem.class); ArtifactRepository remoteRepository = mrs.createDefaultRemoteRepository(mer); List<ArtifactRepository> repositories = Arrays.asList(artifactRepository, remoteRepository); request.setRemoteRepositories(repositories); MavenProject project = projectBuilder.build(pomFile, request).getProject(); recurse(projectBuilder, request, checker, new File(projectDir), "", project); return checker.result(); }