List of usage examples for org.apache.maven.artifact.repository ArtifactRepository getUrl
String getUrl();
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()]); }