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

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

Introduction

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

Prototype

public ArtifactRepository getDistributionManagementArtifactRepository() 

Source Link

Usage

From source file:hudson.gridmaven.reporters.MavenArtifactArchiver.java

License:Open Source License

public boolean postBuild(MavenBuildProxy build, MavenProject pom, final BuildListener listener)
        throws InterruptedException, IOException {
    // artifacts that are known to Maven.
    Set<File> mavenArtifacts = new HashSet<File>();

    if (pom.getFile() != null) {// goals like 'clean' runs without loading POM, apparently.
        // record POM
        final MavenArtifact pomArtifact = new MavenArtifact(pom.getGroupId(), pom.getArtifactId(),
                pom.getVersion(), null, "pom", pom.getFile().getName(),
                Util.getDigestOf(new FileInputStream(pom.getFile())));

        final String repositoryUrl = pom.getDistributionManagementArtifactRepository() == null ? null
                : Util.fixEmptyAndTrim(pom.getDistributionManagementArtifactRepository().getUrl());
        final String repositoryId = pom.getDistributionManagementArtifactRepository() == null ? null
                : Util.fixEmptyAndTrim(pom.getDistributionManagementArtifactRepository().getId());

        mavenArtifacts.add(pom.getFile());
        pomArtifact.archive(build, pom.getFile(), listener);

        // record main artifact (if packaging is POM, this doesn't exist)
        final MavenArtifact mainArtifact = MavenArtifact.create(pom.getArtifact());
        if (mainArtifact != null) {
            File f = pom.getArtifact().getFile();
            mavenArtifacts.add(f);/*from   w  w w .  ja  v  a 2 s. com*/
            mainArtifact.archive(build, f, listener);
        }

        // record attached artifacts
        final List<MavenArtifact> attachedArtifacts = new ArrayList<MavenArtifact>();
        for (Artifact a : pom.getAttachedArtifacts()) {
            MavenArtifact ma = MavenArtifact.create(a);
            if (ma != null) {
                mavenArtifacts.add(a.getFile());
                ma.archive(build, a.getFile(), listener);
                attachedArtifacts.add(ma);
            }
        }

        // record the action
        build.executeAsync(new MavenBuildProxy.BuildCallable<Void, IOException>() {
            private static final long serialVersionUID = -7955474564875700905L;

            public Void call(MavenBuild build) throws IOException, InterruptedException {
                // if a build forks lifecycles, this method can be called multiple times
                List<MavenArtifactRecord> old = build.getActions(MavenArtifactRecord.class);
                if (!old.isEmpty())
                    build.getActions().removeAll(old);

                MavenArtifactRecord mar = new MavenArtifactRecord(build, pomArtifact, mainArtifact,
                        attachedArtifacts, repositoryUrl, repositoryId);
                build.addAction(mar);

                // TODO kutzi: why are the fingerprints recorded here?
                // I thought that is the job of MavenFingerprinter
                mar.recordFingerprints();

                return null;
            }
        });
    }

    // do we have any assembly artifacts?
    //        System.out.println("Considering "+assemblies+" at "+MavenArtifactArchiver.this);
    //        new Exception().fillInStackTrace().printStackTrace();
    if (assemblies != null) {
        for (File assembly : assemblies) {
            if (mavenArtifacts.contains(assembly))
                continue; // looks like this is already archived
            if (build.isArchivingDisabled()) {
                listener.getLogger().println("[JENKINS] Archiving disabled - not archiving " + assembly);
            } else {
                FilePath target = build.getArtifactsDir().child(assembly.getName());
                listener.getLogger().println("[JENKINS] Archiving " + assembly + " to " + target);
                new FilePath(assembly).copyTo(target);
                // TODO: fingerprint
            }
        }
    }

    return true;
}

From source file:hudson.maven.reporters.MavenArtifactArchiver.java

License:Open Source License

public boolean postBuild(MavenBuildProxy build, MavenProject pom, final BuildListener listener)
        throws InterruptedException, IOException {
    // artifacts that are known to Maven.
    Set<File> mavenArtifacts = new HashSet<File>();

    if (pom.getFile() != null) {// goals like 'clean' runs without loading POM, apparently.
        // record POM
        final MavenArtifact pomArtifact = new MavenArtifact(pom.getGroupId(), pom.getArtifactId(),
                pom.getVersion(), null, "pom", pom.getFile().getName(), Util.getDigestOf(pom.getFile()));

        final String repositoryUrl = pom.getDistributionManagementArtifactRepository() == null ? null
                : Util.fixEmptyAndTrim(pom.getDistributionManagementArtifactRepository().getUrl());
        final String repositoryId = pom.getDistributionManagementArtifactRepository() == null ? null
                : Util.fixEmptyAndTrim(pom.getDistributionManagementArtifactRepository().getId());

        mavenArtifacts.add(pom.getFile());
        pomArtifact.archive(build, pom.getFile(), listener);

        // record main artifact (if packaging is POM, this doesn't exist)
        final MavenArtifact mainArtifact = MavenArtifact.create(pom.getArtifact());
        if (mainArtifact != null) {
            File f = pom.getArtifact().getFile();
            mavenArtifacts.add(f);//from w w w .ja  v a  2  s .  c o  m
            mainArtifact.archive(build, f, listener);
        }

        // record attached artifacts
        final List<MavenArtifact> attachedArtifacts = new ArrayList<MavenArtifact>();
        for (Artifact a : pom.getAttachedArtifacts()) {
            MavenArtifact ma = MavenArtifact.create(a);
            if (ma != null) {
                mavenArtifacts.add(a.getFile());
                ma.archive(build, a.getFile(), listener);
                attachedArtifacts.add(ma);
            }
        }

        // record the action
        build.executeAsync(new MavenBuildProxy.BuildCallable<Void, IOException>() {
            private static final long serialVersionUID = -7955474564875700905L;

            public Void call(MavenBuild build) throws IOException, InterruptedException {
                // if a build forks lifecycles, this method can be called multiple times
                List<MavenArtifactRecord> old = build.getActions(MavenArtifactRecord.class);
                if (!old.isEmpty())
                    build.getActions().removeAll(old);

                MavenArtifactRecord mar = new MavenArtifactRecord(build, pomArtifact, mainArtifact,
                        attachedArtifacts, repositoryUrl, repositoryId);
                build.addAction(mar);

                // TODO kutzi: why are the fingerprints recorded here?
                // I thought that is the job of MavenFingerprinter
                mar.recordFingerprints();

                return null;
            }
        });
    }

    // do we have any assembly artifacts?
    //        System.out.println("Considering "+assemblies+" at "+MavenArtifactArchiver.this);
    //        new Exception().fillInStackTrace().printStackTrace();
    if (build.isArchivingDisabled()) {
        listener.getLogger().println("[JENKINS] Archiving disabled");
    } else if (assemblies != null) {
        for (File assembly : assemblies) {
            if (mavenArtifacts.contains(assembly))
                continue; // looks like this is already archived
            FilePath target = build.getArtifactsDir().child(assembly.getName());
            listener.getLogger().println("[JENKINS] Archiving " + assembly + " to " + target);
            new FilePath(assembly).copyTo(target);
            // TODO: fingerprint
        }
    }

    return true;
}

From source file:io.takari.maven.plugins.Deploy.java

License:Open Source License

public RemoteRepository remoteRepository(MavenProject project) throws MojoExecutionException {
    if (altDeploymentRepository != null) {
        Matcher matcher = Pattern.compile("(.+)::(.+)::(.+)").matcher(altDeploymentRepository);
        if (!matcher.matches()) {
            throw new MojoExecutionException(altDeploymentRepository, "Invalid syntax for repository.",
                    "Invalid syntax for alternative repository. Use \"id::layout::url\".");
        }/*from  w  w w  .j  a v  a  2  s .c  om*/

        String id = matcher.group(1).trim();
        String layout = matcher.group(2).trim();
        String url = matcher.group(3).trim();

        RemoteRepository.Builder builder = new RemoteRepository.Builder(id, layout, url);

        return builder.build();
    }

    return AetherUtils.toRepo(project.getDistributionManagementArtifactRepository());
}

From source file:org.guvnor.common.services.project.backend.server.ModuleRepositoryResolverImpl.java

License:Apache License

private Map<MavenRepositorySource, Collection<RemoteRepository>> getRemoteRepositories(
        final MavenProject mavenProject) {
    //Get Local and Settings.xml Repositories
    final Map<MavenRepositorySource, Collection<RemoteRepository>> repositories = new HashMap<MavenRepositorySource, Collection<RemoteRepository>>();
    repositories.putAll(getRemoteRepositories());

    //Project's Repositories, includes those in setting.xml
    final Collection<RemoteRepository> projectRepositories = new HashSet<RemoteRepository>(
            mavenProject.getRemoteProjectRepositories());
    if (projectRepositories != null) {
        //Remove Project Repositories that are in settings.xml
        final Collection<RemoteRepository> settingsRepositories = repositories
                .get(MavenRepositorySource.SETTINGS);
        removeProjectRepositoriesThatAreInSettings(projectRepositories, settingsRepositories);
        repositories.put(MavenRepositorySource.PROJECT, projectRepositories);
    }/*from w w  w  .j  av a 2  s  .  co  m*/

    //Project's <distributionManagement> Repositories
    final org.apache.maven.artifact.repository.ArtifactRepository distributionManagementRepository = mavenProject
            .getDistributionManagementArtifactRepository();
    if (distributionManagementRepository != null) {
        repositories.put(MavenRepositorySource.DISTRIBUTION_MANAGEMENT, new HashSet<RemoteRepository>() {
            {
                add(convertToArtifactRepository(distributionManagementRepository));
            }
        });
    }

    return repositories;
}

From source file:org.guvnor.common.services.project.backend.server.ProjectRepositoryResolverImpl.java

License:Apache License

private Map<MavenRepositorySource, Collection<ArtifactRepository>> getRemoteRepositories(
        final LocalRepository localRepository, final MavenProject mavenProject) {
    //Get Local and Settings.xml Repositories
    final Map<MavenRepositorySource, Collection<ArtifactRepository>> repositories = new HashMap<MavenRepositorySource, Collection<ArtifactRepository>>();
    repositories.putAll(getRemoteRepositories(localRepository));

    //Project's Repositories, includes those in setting.xml
    final Collection<ArtifactRepository> projectRepositories = new HashSet<ArtifactRepository>(
            mavenProject.getRemoteProjectRepositories());
    if (projectRepositories != null) {
        //Remove Project Repositories that are in settings.xml
        final Collection<ArtifactRepository> settingsRepositories = repositories
                .get(MavenRepositorySource.SETTINGS);
        removeProjectRepositoriesThatAreInSettings(projectRepositories, settingsRepositories);
        repositories.put(MavenRepositorySource.PROJECT, projectRepositories);
    }/*from  www  .ja v a 2s . com*/

    //Project's <distributionManagement> Repositories
    final org.apache.maven.artifact.repository.ArtifactRepository distributionManagementRepository = mavenProject
            .getDistributionManagementArtifactRepository();
    if (distributionManagementRepository != null) {
        repositories.put(MavenRepositorySource.DISTRIBUTION_MANAGEMENT, new HashSet<ArtifactRepository>() {
            {
                add(convertToArtifactRepository(distributionManagementRepository));
            }
        });
    }

    return repositories;
}

From source file:org.sourcepit.common.maven.core.MavenProjectUtils.java

License:Apache License

private static ArtifactRepository getDistributionManagementRepository(MavenProject project, String version) {
    final MavenProject clone = project.clone();
    clone.setVersion(version);/* w w w  . j ava2 s  .  c  o  m*/
    clone.getModel().setVersion(version);
    clone.getArtifact().setVersion(version);
    return clone.getDistributionManagementArtifactRepository();
}

From source file:org.sourcepit.tools.mojo.DeployCopiedArtifactMojo.java

License:Apache License

ArtifactRepository getDeploymentRepository(MavenProject project, String altDeploymentRepository,
        String altReleaseDeploymentRepository, String altSnapshotDeploymentRepository)
        throws MojoExecutionException, MojoFailureException {
    ArtifactRepository repo = null;//w  w w  .  ja v a2  s. com

    String altDeploymentRepo;
    if (ArtifactUtils.isSnapshot(project.getVersion()) && altSnapshotDeploymentRepository != null) {
        altDeploymentRepo = altSnapshotDeploymentRepository;
    } else if (!ArtifactUtils.isSnapshot(project.getVersion()) && altReleaseDeploymentRepository != null) {
        altDeploymentRepo = altReleaseDeploymentRepository;
    } else {
        altDeploymentRepo = altDeploymentRepository;
    }

    if (altDeploymentRepo != null) {
        getLog().info("Using alternate deployment repository " + altDeploymentRepo);

        Matcher matcher = ALT_REPO_SYNTAX_PATTERN.matcher(altDeploymentRepo);

        if (!matcher.matches()) {
            throw new MojoFailureException(altDeploymentRepo, "Invalid syntax for repository.",
                    "Invalid syntax for alternative repository. Use \"id::layout::url\".");
        } else {
            String id = matcher.group(1).trim();
            String layout = matcher.group(2).trim();
            String url = matcher.group(3).trim();

            ArtifactRepositoryLayout repoLayout = getLayout(layout);

            repo = repositoryFactory.createDeploymentArtifactRepository(id, url, repoLayout, true);
        }
    }

    if (repo == null) {
        repo = project.getDistributionManagementArtifactRepository();
    }

    if (repo == null) {
        String msg = "Deployment failed: repository element was not specified in the POM inside"
                + " distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter";

        throw new MojoExecutionException(msg);
    }

    return repo;
}

From source file:org.sourcepit.tpmp.MaterializeTargetPlatformMojo.java

License:Apache License

private void deploy(MavenSession session, MavenProject project, final Artifact platformArtifact) {
    if (deploy) {
        try {/*from w  w  w  .  j  ava 2 s  . c  om*/
            deployer.deploy(platformArtifact.getFile(), platformArtifact,
                    project.getDistributionManagementArtifactRepository(), session.getLocalRepository());
        } catch (ArtifactDeploymentException e) {
            throw Exceptions.pipe(e);
        }
    }
}