List of usage examples for org.apache.maven.model.resolution UnresolvableModelException UnresolvableModelException
public UnresolvableModelException(Throwable cause, String groupId, String artifactId, String version)
From source file:com.google.devtools.build.workspace.maven.DefaultModelResolver.java
License:Open Source License
@Override public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { String ruleName = Rule.name(groupId, artifactId); if (ruleNameToModelSource.containsKey(ruleName)) { return ruleNameToModelSource.get(ruleName); }/*w ww. j a va 2s . c om*/ for (Repository repository : repositories) { UrlModelSource modelSource = getModelSource(repository.getUrl(), groupId, artifactId, version); if (modelSource != null) { return modelSource; } } // TODO(kchodorow): use Java 8 features to make this a one-liner. List<String> attemptedUrls = Lists.newArrayList(); for (Repository repository : repositories) { attemptedUrls.add(repository.getUrl()); } throw new UnresolvableModelException( "Could not find any repositories that knew how to " + "resolve " + groupId + ":" + artifactId + ":" + version + " (checked " + Joiner.on(", ").join(attemptedUrls) + ")", groupId, artifactId, version); }
From source file:com.netflix.nebula.lint.rule.dependency.provider.MavenBomRecommendationProvider.java
License:Apache License
private Map<String, String> getMavenRecommendations() throws UnresolvableModelException, FileNotFoundException, ModelBuildingException { Map<String, String> recommendations = new HashMap<>(); Set<File> recommendationFiles = getBomsOnConfiguration(); for (File recommendation : recommendationFiles) { if (!recommendation.getName().endsWith("pom")) { break; }/* w w w.ja v a2 s.c o m*/ DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelResolver(new ModelResolver() { @Override public ModelSource2 resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { String notation = groupId + ":" + artifactId + ":" + version + "@pom"; org.gradle.api.artifacts.Dependency dependency = project.getDependencies().create(notation); org.gradle.api.artifacts.Configuration configuration = project.getConfigurations() .detachedConfiguration(dependency); try { File file = configuration.getFiles().iterator().next(); return new SimpleModelSource(new java.io.FileInputStream(file)); } catch (Exception e) { throw new UnresolvableModelException(e, groupId, artifactId, version); } } @Override public ModelSource2 resolveModel(Dependency dependency) throws UnresolvableModelException { return resolveModel(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } @Override public ModelSource2 resolveModel(Parent parent) throws UnresolvableModelException { return resolveModel(parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); } @Override public void addRepository(Repository repository) throws InvalidRepositoryException { // do nothing } @Override public void addRepository(Repository repository, boolean bool) throws InvalidRepositoryException { // do nothing } @Override public ModelResolver newCopy() { return this; // do nothing } }); request.setModelSource(new SimpleModelSource(new java.io.FileInputStream(recommendation))); request.setSystemProperties(System.getProperties()); DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); modelBuilder.setModelInterpolator(new ProjectPropertiesModelInterpolator(project)); ModelBuildingResult result = modelBuilder.build(request); log.info("using bom: " + result.getEffectiveModel().getId()); Model model = result.getEffectiveModel(); if (model == null) { break; } org.apache.maven.model.DependencyManagement dependencyManagement = model.getDependencyManagement(); if (dependencyManagement == null) { break; } for (Dependency d : dependencyManagement.getDependencies()) { recommendations.put(d.getGroupId() + ":" + d.getArtifactId(), d.getVersion()); // overwrites previous values } } return recommendations; }
From source file:org.dthume.maven.xpom.impl.XPOMModelResolver.java
License:Apache License
private File resolvePOMFile(final String groupId, final String artifactId, final String version) throws UnresolvableModelException { final Artifact artifact = new DefaultArtifact(groupId, artifactId, "", "pom", version); try {/*from www . ja v a 2 s.com*/ final ArtifactRequest request = new ArtifactRequest(artifact, repositories, "project"); final Artifact resolved = repoSystem.resolveArtifact(session, request).getArtifact(); return resolved.getFile(); } catch (final ArtifactResolutionException e) { throw new UnresolvableModelException(e.getMessage(), groupId, artifactId, version); } }
From source file:org.jboss.forge.addon.maven.impl.MavenModelResolver.java
License:Open Source License
@Override public ModelSource resolveModel(Parent parent) throws UnresolvableModelException { Artifact artifact = new DefaultArtifact(parent.getGroupId(), parent.getArtifactId(), "", "pom", parent.getVersion());//w w w . j av a2 s . com VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, repositories, null); try { VersionRangeResult versionRangeResult = system.resolveVersionRange(session, versionRangeRequest); if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion() + "'", parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); } if (versionRangeResult.getVersionConstraint() != null && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { throw new UnresolvableModelException( "The requested version range '" + parent.getVersion() + "' does not specify an upper bound", parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); } parent.setVersion(versionRangeResult.getHighestVersion().toString()); } catch (VersionRangeResolutionException e) { throw new UnresolvableModelException(e.getMessage(), parent.getGroupId(), parent.getArtifactId(), parent.getVersion(), e); } return resolveModel(parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); }
From source file:org.SimpleModelResolver.java
License:Open Source License
public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { // do your repo magic here String resource = "/repo/" + groupId + '/' + artifactId + '/' + version + "/pom.xml"; URL url = getClass().getResource(resource); if (url == null) { throw new UnresolvableModelException("PANIC!", groupId, artifactId, version); }// w w w.j a v a2 s . c om return new UrlModelSource(url); }
From source file:org.sonatype.sisu.maven.bridge.internal.LocalModelResolverBase.java
License:Open Source License
public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { String path = layout.getPath(new DefaultArtifact(groupId, artifactId, "pom", version)).getPath(); File pomFile = new File(getBaseDir(), path); if (!pomFile.isFile()) { throw new UnresolvableModelException("POM does not exist: " + pomFile, groupId, artifactId, version); }//from w ww . java 2s . c o m return new FileModelSource(pomFile); }
From source file:org.vesalainen.test.pom.FileModelResolver.java
@Override public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException {/* if (VersionRange.isVersionRange(version)) { VersionRange range = new VersionRange(version); String directoryName = getDirectory(groupId, artifactId); File dir = new File(base, directoryName); FileFilter filter = new FileFilter() { @Override public boolean accept(File pathname) { if (pathname.isDirectory()) { switch (pathname.getName()) { case ".": case "..": return false; default: return true; } } return false; } }; List<String> versions = new ArrayList<>(); for (File file : dir.listFiles(filter)) { versions.add(file.getName()); } Collections.sort(versions); // find oldest version that satisfies for (String v : versions) { if (range.in(v)) { return resolveModel(groupId, artifactId, v); } } throw new IllegalArgumentException("no suitable version for "+version); } else*/ {//from www.java2s .com String filename = getFilename(groupId, artifactId, version, "pom"); File file = new File(base, filename); if (!file.exists()) { throw new UnresolvableModelException("file " + file + " doesn't exist", groupId, artifactId, version); } if (!file.canRead()) { throw new UnresolvableModelException("can't read file " + file, groupId, artifactId, version); } return new FileModelSource(file); } }