Example usage for org.apache.maven.bridge MavenRepositorySystem createDefaultRemoteRepository

List of usage examples for org.apache.maven.bridge MavenRepositorySystem createDefaultRemoteRepository

Introduction

In this page you can find the example usage for org.apache.maven.bridge MavenRepositorySystem createDefaultRemoteRepository.

Prototype

public ArtifactRepository createDefaultRemoteRepository(MavenExecutionRequest request) throws Exception 

Source Link

Usage

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();
}