public ConfigurableMavenWorkingSessionImpl() { this.system = new MavenRepositorySystem(); this.settingsManager = new SettingsManager(); }
/** * Creates a Maven repository system */ public MavenRepositorySystem() { this.system = getRepositorySystem(); }
/** * Generates an instance of the {@link DefaultRepositorySystemSession} and takes into account related properties */ private void generateSession() { this.session = this.system.getSession(getSettings(), this.useLegacyLocalRepository); if (this.disableClassPathWorkspaceReader) { ((DefaultRepositorySystemSession) this.session).setWorkspaceReader(null); } } }
@Override public MavenVersionRangeResult resolveVersionRange(final MavenCoordinate coordinate) throws VersionResolutionException { final Artifact artifact = MavenConverter.asArtifact(coordinate, getSession().getArtifactTypeRegistry()); final VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, this.getRemoteRepositories(), null); try { final VersionRangeResult versionRangeResult = getSystem().resolveVersionRange(getSession(), versionRangeRequest); if (!versionRangeResult.getVersions().isEmpty()) { return new MavenVersionRangeResultImpl(artifact, versionRangeResult); } final List<Exception> exceptions = versionRangeResult.getExceptions(); if (exceptions.isEmpty()) { return new MavenVersionRangeResultImpl(artifact, versionRangeResult); } else { StringBuilder builder = new StringBuilder("Version range request failed with ") .append(exceptions.size()).append(" exceptions.").append("\n"); int counter = 1; for (final Exception exception : exceptions) { log.log(Level.SEVERE, "Version range request failed", exception); builder.append(counter++).append("/ ").append(exception.getLocalizedMessage()).append("\n"); } throw new VersionResolutionException(builder.toString()); } } catch (VersionRangeResolutionException vrre) { throw new VersionResolutionException("Version range request failed", vrre); } }
@Override public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { Artifact pomArtifact = new DefaultArtifact(groupId, artifactId, "", "pom", version); try { final ArtifactRequest request = new ArtifactRequest(pomArtifact, repositories, null); pomArtifact = system.resolveArtifact(session, request).getArtifact(); } catch (ArtifactResolutionException e) { throw new UnresolvableModelException("Failed to resolve POM for " + groupId + ":" + artifactId + ":" + version + " due to " + e.getMessage(), groupId, artifactId, version, e); } final File pomFile = pomArtifact.getFile(); return new FileModelSource(pomFile); }
results = getSystem().resolveDependencies(getSession(), this, request, strategy.getResolutionFilters()); } catch (DependencyResolutionException e) {
@Override public ModelSource resolveModel(Dependency dependency) throws UnresolvableModelException { try { final Artifact artifact = new DefaultArtifact(dependency.getGroupId(), dependency.getArtifactId(), "", "pom", dependency.getVersion()); final VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, repositories, null); final VersionRangeResult versionRangeResult = system.resolveVersionRange(session, versionRangeRequest); if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( String.format("No versions matched the requested dependency version range '%s'", dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } if (versionRangeResult.getVersionConstraint() != null && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { throw new UnresolvableModelException( String.format("The requested dependency version range '%s' does not specify an upper bound", dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } dependency.setVersion(versionRangeResult.getHighestVersion().toString()); return resolveModel(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } catch (VersionRangeResolutionException e) { throw new UnresolvableModelException(e.getMessage(), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(), e); } }
@Override public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { Artifact pomArtifact = new DefaultArtifact(groupId, artifactId, "", "pom", version); try { final ArtifactRequest request = new ArtifactRequest(pomArtifact, repositories, null); pomArtifact = system.resolveArtifact(session, request).getArtifact(); } catch (ArtifactResolutionException e) { throw new UnresolvableModelException("Failed to resolve POM for " + groupId + ":" + artifactId + ":" + version + " due to " + e.getMessage(), groupId, artifactId, version, e); } final File pomFile = pomArtifact.getFile(); return new FileModelSource(pomFile); }
results = getSystem().resolveDependencies(getSession(), this, request, strategy.getResolutionFilters()); } catch (DependencyResolutionException e) {
@Override public MavenVersionRangeResult resolveVersionRange(final MavenCoordinate coordinate) throws VersionResolutionException { final Artifact artifact = MavenConverter.asArtifact(coordinate, getSession().getArtifactTypeRegistry()); final VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, this.getRemoteRepositories(), null); try { final VersionRangeResult versionRangeResult = getSystem().resolveVersionRange(getSession(), versionRangeRequest); if (!versionRangeResult.getVersions().isEmpty()) { return new MavenVersionRangeResultImpl(artifact, versionRangeResult); } final List<Exception> exceptions = versionRangeResult.getExceptions(); if (exceptions.isEmpty()) { return new MavenVersionRangeResultImpl(artifact, versionRangeResult); } else { StringBuilder builder = new StringBuilder("Version range request failed with ") .append(exceptions.size()).append(" exceptions.").append("\n"); int counter = 1; for (final Exception exception : exceptions) { log.log(Level.SEVERE, "Version range request failed", exception); builder.append(counter++).append("/ ").append(exception.getLocalizedMessage()).append("\n"); } throw new VersionResolutionException(builder.toString()); } } catch (VersionRangeResolutionException vrre) { throw new VersionResolutionException("Version range request failed", vrre); } }
/** * Creates a Maven repository system */ public MavenRepositorySystem() { this.system = getRepositorySystem(); }
/** * Generates an instance of the {@link DefaultRepositorySystemSession} and takes into account related properties */ private void generateSession() { this.session = this.system.getSession(getSettings(), this.useLegacyLocalRepository); if (this.disableClassPathWorkspaceReader) { ((DefaultRepositorySystemSession) this.session).setWorkspaceReader(null); } } }
public ConfigurableMavenWorkingSessionImpl() { this.system = new MavenRepositorySystem(); this.settingsManager = new SettingsManager(); }
@Override public ModelSource resolveModel(Dependency dependency) throws UnresolvableModelException { try { final Artifact artifact = new DefaultArtifact(dependency.getGroupId(), dependency.getArtifactId(), "", "pom", dependency.getVersion()); final VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, repositories, null); final VersionRangeResult versionRangeResult = system.resolveVersionRange(session, versionRangeRequest); if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( String.format("No versions matched the requested dependency version range '%s'", dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } if (versionRangeResult.getVersionConstraint() != null && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { throw new UnresolvableModelException( String.format("The requested dependency version range '%s' does not specify an upper bound", dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } dependency.setVersion(versionRangeResult.getHighestVersion().toString()); return resolveModel(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } catch (VersionRangeResolutionException e) { throw new UnresolvableModelException(e.getMessage(), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(), e); } }
@Override public ModelSource resolveModel(Parent parent) throws UnresolvableModelException { Artifact artifact = new DefaultArtifact(parent.getGroupId(), parent.getArtifactId(), "", "pom", parent.getVersion()); VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, repositories, null); try { VersionRangeResult versionRangeResult = system.resolveVersionRange(session, versionRangeRequest); if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( String.format("No versions matched the requested parent version range '%s'", parent.getVersion()), parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); } if (versionRangeResult.getVersionConstraint() != null && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { throw new UnresolvableModelException( String.format("The requested parent version range '%s' does not specify an upper bound", parent.getVersion()), 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()); }
@Override public ModelSource resolveModel(Parent parent) throws UnresolvableModelException { Artifact artifact = new DefaultArtifact(parent.getGroupId(), parent.getArtifactId(), "", "pom", parent.getVersion()); VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, repositories, null); try { VersionRangeResult versionRangeResult = system.resolveVersionRange(session, versionRangeRequest); if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( String.format("No versions matched the requested parent version range '%s'", parent.getVersion()), parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); } if (versionRangeResult.getVersionConstraint() != null && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { throw new UnresolvableModelException( String.format("The requested parent version range '%s' does not specify an upper bound", parent.getVersion()), 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()); }