Example usage for org.apache.maven.artifact.repository ArtifactRepository getUrl

List of usage examples for org.apache.maven.artifact.repository ArtifactRepository getUrl

Introduction

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

Prototype

String getUrl();

Source Link

Usage

From source file:at.yawk.mdep.GenerateMojo.java

@Nullable
@SneakyThrows({ MalformedURLException.class, NoSuchAlgorithmException.class })
@VisibleForTesting//from   w  ww .  jav a  2 s.c om
Dependency findArtifactInRepository(Artifact artifact, ArtifactRepository repository)
        throws MojoExecutionException {

    String artifactPath = getArtifactPath(artifact, artifact.getVersion());
    if (artifact.isSnapshot()) {
        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata(artifact) {
            // maven is weird - i have yet to find a better solution.

            @Override
            public boolean storedInArtifactVersionDirectory() {
                return true;
            }

            @Override
            public String getBaseVersion() {
                return artifact.getBaseVersion();
            }
        };

        // try to load maven-metadata.xml in case we need to use a different version for snapshots
        URL metaUrl = new URL(repository.getUrl() + '/' + repository.pathOfRemoteRepositoryMetadata(metadata));

        Metadata loadedMetadata;
        try (InputStream input = openStream(metaUrl)) {
            loadedMetadata = new MetadataXpp3Reader().read(input, true);
        } catch (IOException e) {
            // could not find metadata
            loadedMetadata = null;
        } catch (XmlPullParserException e) {
            throw new MojoExecutionException("Failed to parse metadata", e);
        }

        if (loadedMetadata != null) {
            Snapshot snapshot = loadedMetadata.getVersioning().getSnapshot();

            String versionWithoutSuffix = artifact.getVersion().substring(0,
                    artifact.getBaseVersion().lastIndexOf('-'));
            artifactPath = getArtifactPath(artifact,
                    versionWithoutSuffix + '-' + snapshot.getTimestamp() + '-' + snapshot.getBuildNumber());
        }
    }

    URL url = new URL(repository.getUrl() + '/' + artifactPath);
    try (InputStream input = openStream(url)) {
        getLog().info("Getting checksum for " + artifact);

        MessageDigest digest = MessageDigest.getInstance("SHA-512");
        byte[] buf = new byte[4096];
        int len;
        while ((len = input.read(buf)) >= 0) {
            digest.update(buf, 0, len);
        }

        Dependency dependency = new Dependency();
        dependency.setUrl(url);
        dependency.setSha512sum(digest.digest());
        return dependency;
    } catch (IOException ignored) {
        // not in this repo
        return null;
    }
}

From source file:com.codspire.mojo.artifactlookup.ArtifactLookupMojo.java

License:Apache License

/**
 * Generates list of Urls resolved from "remoteArtifactRepositories" or
 * "repositoryUrl", If "repositoryUrl" is specified it will supersede the
 * "remoteArtifactRepositories"/*from w  ww  . j a v  a 2s  .  c o  m*/
 * 
 * @return List remote Maven repository Urls
 */
protected List<String> getRemoteArtifactRepositoriesURL() {

    List<String> remoteArtifactRepositoriesURLList = null;
    /* prefer repositoryUrl, it will supersede settings.xml */

    if (StringUtils.isNotBlank(repositoryUrl)) {
        getLog().info("Using repository: " + repositoryUrl);
        remoteArtifactRepositoriesURLList = Arrays.asList(repositoryUrl.split(","));
    } else {

        remoteArtifactRepositoriesURLList = new ArrayList<String>(remoteArtifactRepositories.size());

        for (ArtifactRepository artifactRepository : remoteArtifactRepositories) {
            remoteArtifactRepositoriesURLList.add(artifactRepository.getUrl());
        }
    }

    getLog().info("Repositories that will be searched: " + remoteArtifactRepositoriesURLList);
    return remoteArtifactRepositoriesURLList;
}

From source file:com.rebaze.maven.support.AetherUtils.java

License:Open Source License

public static RemoteRepository toRepo(ArtifactRepository repo) {
    RemoteRepository result = null;//from ww  w  .  j  a  v  a  2s.c o  m
    if (repo != null) {
        RemoteRepository.Builder builder = new RemoteRepository.Builder(repo.getId(), getLayout(repo),
                repo.getUrl());
        builder.setSnapshotPolicy(toPolicy(repo.getSnapshots()));
        builder.setReleasePolicy(toPolicy(repo.getReleases()));
        builder.setAuthentication(toAuthentication(repo.getAuthentication()));
        builder.setProxy(toProxy(repo.getProxy()));
        builder.setMirroredRepositories(toRepos(repo.getMirroredRepositories()));
        result = builder.build();
    }
    return result;
}

From source file:hu.skawa.migrator_maven_plugin.ServerExport.java

License:Apache License

public void execute() throws MojoExecutionException {
    List<ArtifactRepository> remoteRepos = project.getRemoteArtifactRepositories();
    List<Server> servers = Lists.newArrayList();
    for (ArtifactRepository repo : remoteRepos) {
        //@formatter:off
        servers.add(new Server(repo.getUrl(), repo.getAuthentication().getUsername(),
                repo.getAuthentication().getPassword(), repo.getId()));
        //@formatter:on
    }/*from   w  w  w. j a  v  a  2 s. c  o m*/

    try {
        for (Server s : servers) {
            if (outputFilePrefix != null) {
                File serverFile = new File(outputFilePrefix + "-servers");
                FileWriter serverWriter = new FileWriter(serverFile);
                serverWriter.write(s.toBazelServer());
                serverWriter.write("\n");
                serverWriter.close();
            } else {
                getLog().info(s.toBazelServer());
            }
        }
    } catch (IOException e) {
        getLog().error(e);
    }
}

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

License:Open Source License

@Override
public void deploy(MavenEmbedder embedder, ArtifactRepository deploymentRepository, TaskListener listener)
        throws MavenEmbedderException, IOException, ComponentLookupException, ArtifactDeploymentException {
    ArtifactHandlerManager handlerManager = embedder.lookup(ArtifactHandlerManager.class);

    ArtifactFactory artifactFactory = embedder.lookup(ArtifactFactory.class);
    PrintStream logger = listener.getLogger();
    boolean maven3orLater = MavenUtil.maven3orLater(parent.getModuleSetBuild().getMavenVersionUsed());
    boolean uniqueVersion = true;
    if (!deploymentRepository.isUniqueVersion()) {
        if (maven3orLater) {
            logger.println("[ERROR] uniqueVersion == false is not anymore supported in maven 3");
        } else {//from w w w. j  av  a  2  s . com
            ((WrappedArtifactRepository) deploymentRepository).setUniqueVersion(false);
            uniqueVersion = false;
        }
    } else {
        ((WrappedArtifactRepository) deploymentRepository).setUniqueVersion(true);
    }
    Artifact main = mainArtifact.toArtifact(handlerManager, artifactFactory, parent);
    if (!isPOM())
        main.addMetadata(new ProjectArtifactMetadata(main, pomArtifact.getFile(parent)));

    if (main.getType().equals("maven-plugin")) {
        GroupRepositoryMetadata metadata = new GroupRepositoryMetadata(main.getGroupId());
        String goalPrefix = PluginDescriptor.getGoalPrefixFromArtifactId(main.getArtifactId());
        metadata.addPluginMapping(goalPrefix, main.getArtifactId(), null);
        main.addMetadata(metadata);
    }

    ArtifactDeployer deployer = embedder.lookup(ArtifactDeployer.class, uniqueVersion ? "default" : "maven2");
    logger.println("[INFO] Deployment in " + deploymentRepository.getUrl() + " (id="
            + deploymentRepository.getId() + ",uniqueVersion=" + deploymentRepository.isUniqueVersion() + ")");

    // deploy the main artifact. This also deploys the POM
    logger.println(Messages.MavenArtifact_DeployingMainArtifact(main.getFile().getName()));
    deployer.deploy(main.getFile(), main, deploymentRepository, embedder.getLocalRepository());

    for (MavenArtifact aa : attachedArtifacts) {
        Artifact a = aa.toArtifact(handlerManager, artifactFactory, parent);
        logger.println(Messages.MavenArtifact_DeployingMainArtifact(a.getFile().getName()));
        deployer.deploy(a.getFile(), a, deploymentRepository, embedder.getLocalRepository());
    }
}

From source file:hudson.staging.SCPRepositoryCopier.java

License:Apache License

protected List scanForArtifactPaths(ArtifactRepository repository) {
    List collected;/*ww  w. j  a  v  a2  s .  c om*/
    try {
        Wagon wagon = wagonManager.getWagon(repository.getProtocol());
        Repository artifactRepository = new Repository(repository.getId(), repository.getUrl());
        wagon.connect(artifactRepository);
        collected = new ArrayList();
        scan(wagon, "/", collected);
        wagon.disconnect();

        return collected;

    } catch (UnsupportedProtocolException e) {
        throw new RuntimeException(e);
    } catch (ConnectionException e) {
        throw new RuntimeException(e);
    } catch (AuthenticationException e) {
        throw new RuntimeException(e);
    }
}

From source file:io.fabric8.maven.DeployToProfileMojo.java

License:Apache License

@SuppressWarnings("unchecked")
private void addNeededRemoteRepository() {
    // TODO: Remove this code when we use releases from Maven Central
    // included jboss-fs repo which is required until we use an Apache version of Karaf
    boolean found = false;
    if (remoteRepositories != null) {
        for (Object obj : remoteRepositories) {
            if (obj instanceof ArtifactRepository) {
                ArtifactRepository repo = (ArtifactRepository) obj;
                if (repo.getUrl().contains("repository.jboss.org/nexus/content/groups/fs-public")) {
                    found = true;//from  w  w w .  ja v a2  s.  c  o  m
                    getLog().debug("Found existing (" + repo.getId() + ") remote repository: " + repo.getUrl());
                    break;
                }
            }
        }
    }
    if (!found) {
        ArtifactRepository fsPublic = new MavenArtifactRepository();
        fsPublic.setId("jboss-public-fs");
        fsPublic.setUrl("http://repository.jboss.org/nexus/content/groups/fs-public/");
        fsPublic.setLayout(new DefaultRepositoryLayout());
        fsPublic.setReleaseUpdatePolicy(new ArtifactRepositoryPolicy(true, "never", "warn"));
        fsPublic.setSnapshotUpdatePolicy(new ArtifactRepositoryPolicy(false, "never", "ignore"));
        if (remoteRepositories == null) {
            remoteRepositories = new ArrayList();
        }
        remoteRepositories.add(fsPublic);
        getLog().info(
                "Adding needed remote repository: http://repository.jboss.org/nexus/content/groups/fs-public/");
    }
}

From source file:me.gladwell.eclipse.m2e.android.resolve.eclipse.EclipseAetherLibraryResolver.java

License:Open Source License

public List<Library> resolveLibraries(Dependency dependency, String type, MavenProject project) {
    final DefaultArtifact artifact = new DefaultArtifact(dependency.getGroup(), dependency.getName(), type,
            dependency.getVersion());// ww  w . j a v a  2s  .  c o  m

    final List<ArtifactRepository> repositories = project.getRemoteArtifactRepositories();
    final List<RemoteRepository> remoteRepositories = new ArrayList<RemoteRepository>();

    for (ArtifactRepository repository : repositories) {
        RemoteRepository repo = new RemoteRepository.Builder(repository.getId(),
                repository.getLayout().toString(), repository.getUrl()).build();
        remoteRepositories.add(repo);
    }

    return resolveDependencies(artifact, remoteRepositories);
}

From source file:me.gladwell.eclipse.m2e.android.resolve.sonatype.SonatypeAetherLibraryResolver.java

License:Open Source License

public List<Library> resolveLibraries(Dependency dependency, String type, MavenProject project) {
    final DefaultArtifact artifact = new DefaultArtifact(dependency.getGroup(), dependency.getName(), type,
            dependency.getVersion());/*from w  ww .j ava 2s .co m*/

    final List<ArtifactRepository> repositories = project.getRemoteArtifactRepositories();
    final List<RemoteRepository> remoteRepositories = new ArrayList<RemoteRepository>();

    for (ArtifactRepository repository : repositories) {
        RemoteRepository repo = new RemoteRepository(repository.getId(), repository.getLayout().toString(),
                repository.getUrl());
        remoteRepositories.add(repo);
    }

    return resolveDependencies(artifact, remoteRepositories);
}

From source file:net.officefloor.launch.woof.WoofDevelopmentConfigurationLoader.java

License:Open Source License

/**
 * Obtains the GWT development class path to match POM configuration. In
 * particular to ensure same version of <code>gwt-dev</code> as the
 * <code>gwt-user</code> used.
 * //w w  w  .  ja v a 2  s .c o m
 * @param pomFile
 *            Maven POM file.
 * @return GWT development class path.
 * @throws Exception
 *             If fails to obtain the GWT development class path.
 */
public static String[] getDevModeClassPath(File pomFile) throws Exception {

    // Create initial class path factory
    ClassPathFactoryImpl initial = new ClassPathFactoryImpl(null, new RemoteRepository[0]);

    // Obtain the Maven project and its remote repositories
    MavenProject project = initial.getMavenProject(pomFile);
    List<RemoteRepository> remoteRepositories = new LinkedList<RemoteRepository>();
    for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) {
        remoteRepositories.add(
                new RemoteRepository(repository.getId(), repository.getLayout().getId(), repository.getUrl()));
    }

    // Create class path factory from POM remote repositories
    ClassPathFactory factory = new ClassPathFactoryImpl(null,
            remoteRepositories.toArray(new RemoteRepository[remoteRepositories.size()]));

    // Keep track of class path
    List<String> gwtClassPath = new LinkedList<String>();

    // Obtain the GWT version
    String gwtDevVersion = null;
    for (Dependency dependency : project.getDependencies()) {
        String groupId = dependency.getGroupId();
        String artifactId = dependency.getArtifactId();
        if ((GWT_GROUP_ID.equals(groupId)) && (GWT_USER_ARTIFACT_ID.equals(artifactId))) {
            gwtDevVersion = dependency.getVersion();
        }
    }
    if (gwtDevVersion == null) {
        // Use default version of GWT
        gwtDevVersion = DEFAULT_GWT_DEV_VERSION;

        // Must include GWT User for running
        String[] userClassPath = factory.createArtifactClassPath(GWT_GROUP_ID, GWT_USER_ARTIFACT_ID,
                gwtDevVersion, null, null);
        gwtClassPath.addAll(Arrays.asList(userClassPath));
    }

    // Include the class path for gwt-dev
    String[] devClassPath = factory.createArtifactClassPath(GWT_GROUP_ID, GWT_DEV_ARTIFACT_ID, gwtDevVersion,
            null, null);
    for (String classPathEntry : devClassPath) {

        // Ignore if already included
        if (gwtClassPath.contains(classPathEntry)) {
            continue;
        }

        // Include class path
        gwtClassPath.add(classPathEntry);
    }

    // Return the GWT class path
    return gwtClassPath.toArray(new String[gwtClassPath.size()]);
}