private MavenDependency resolveDependency(final MavenDependency declared) { final String resolvedVersion = this.resolveVersion(declared); final MavenCoordinate newCoordinate = MavenCoordinates.createCoordinate(declared.getGroupId(), declared.getArtifactId(), resolvedVersion, declared.getPackaging(), declared.getClassifier()); final MavenDependency dependency = MavenDependencies.createDependency(newCoordinate, declared.getScope(), declared.isOptional(), declared.getExclusions().toArray(TYPESAFE_EXCLUSIONS_ARRAY)); return dependency; }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.resolver.api.maven.filter.MavenResolutionFilter#accepts(org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency, * java.util.List, java.util.List) */ @Override public boolean accepts(final MavenDependency dependency, final List<MavenDependency> dependenciesForResolution, final List<MavenDependency> dependencyAncestors) { // Don't test full equality, only GAPC for (final MavenDependency allowed : dependenciesForResolution) { if (allowed.getGroupId().equals(dependency.getGroupId()) && allowed.getArtifactId().equals(dependency.getArtifactId()) && allowed.getPackaging().equals(dependency.getPackaging()) && allowed.getClassifier().equals(dependency.getClassifier())) { return true; } } return false; } }
@Override public String execute(MavenWorkingSession session) { final String declaredVersion = dependency.getVersion(); String resolvedVersion = declaredVersion; resolvedVersion = resolved.getVersion(); log.log(Level.FINE, "Resolved version {0} from the POM file for the artifact {1}", new Object[] { resolved.getVersion(), dependency.toCanonicalForm() }); if (Validate.isNullOrEmptyOrQuestionMark(resolvedVersion) && dependency.getPackaging().equals(PackagingType.JAR) && dependency.getClassifier().equals(PackagingType.TEST_JAR.getClassifier())) { MavenCoordinate coordinate = MavenCoordinates.createCoordinate(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(), PackagingType.TEST_JAR, PackagingType.TEST_JAR.getClassifier()); MavenDependency newDependency = new MavenDependencyImpl(coordinate, dependency.getScope(), dependency.isOptional(), dependency.getExclusions().toArray(new MavenDependencyExclusion[0])); resolvedVersion = resolved.getVersion(); log.log(Level.FINE, "Resolved version {0} from the POM file for the artifact {1} via {2}", new Object[] { resolved.getVersion(), dependency.toCanonicalForm() , newDependency.toCanonicalForm()}); .format( "Unable to get version for dependency specified by {0}, it was not provided in neither <dependencyManagement> nor <dependencies> sections.", dependency.toCanonicalForm()));
.getDependenciesForResolution() .stream() .map(d -> gav(d.getGroupId(), d.getArtifactId(), d.getVersion())) .collect(Collectors.toList());
/** * Use available information to resolve the version for the specified {@link MavenDependency} * * @param dependency A {@link MavenDependency} the version should be resolved for * @return The resolved version * @see org.jboss.shrinkwrap.resolver.impl.maven.ResolveStageBaseImpl#resolveVersion(org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency) */ protected String resolveVersion(final MavenDependency dependency) throws IllegalArgumentException { final String declaredVersion = dependency.getVersion(); if (Validate.isNullOrEmpty(declaredVersion)) { throw new ResolutionException(MessageFormat.format( "Unable to get version for dependency specified by {0}:, it was either null or empty.", dependency.toCanonicalForm())); } return declaredVersion; }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.resolver.api.maven.filter.MavenResolutionFilter#accepts(org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency, * java.util.List, java.util.List) */ @Override public boolean accepts(final MavenDependency coordinate, final List<MavenDependency> dependenciesForResolution, final List<MavenDependency> dependencyAncestors) throws IllegalArgumentException { if (PackagingType.POM.equals(coordinate.getPackaging())) { if (log.isLoggable(Level.FINER)) { log.finer("Filtering out POM dependency resolution: " + coordinate + "; its transitive dependencies will be included"); } return false; } return true; }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.resolver.api.maven.filter.MavenResolutionFilter#accepts(org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency, * java.util.List, java.util.List) */ @Override public boolean accepts(final MavenDependency dependency, final List<MavenDependency> dependenciesForResolution, final List<MavenDependency> dependencyAncestors) { if (dependency == null) { return false; } if (allowedScopes.contains(dependency.getScope())) { return true; } return false; }
@Override public String execute(MavenWorkingSession session) { final String declaredVersion = dependency.getVersion(); String resolvedVersion = declaredVersion; resolvedVersion = resolved.getVersion(); log.log(Level.FINE, "Resolved version {0} from the POM file for the artifact {1}", new Object[] { resolved.getVersion(), dependency.toCanonicalForm() }); if (Validate.isNullOrEmptyOrQuestionMark(resolvedVersion) && dependency.getPackaging().equals(PackagingType.JAR) && dependency.getClassifier().equals(PackagingType.TEST_JAR.getClassifier())) { MavenCoordinate coordinate = MavenCoordinates.createCoordinate(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(), PackagingType.TEST_JAR, PackagingType.TEST_JAR.getClassifier()); MavenDependency newDependency = new MavenDependencyImpl(coordinate, dependency.getScope(), dependency.isOptional(), dependency.getExclusions().toArray(new MavenDependencyExclusion[0])); resolvedVersion = resolved.getVersion(); log.log(Level.FINE, "Resolved version {0} from the POM file for the artifact {1} via {2}", new Object[] { resolved.getVersion(), dependency.toCanonicalForm() , newDependency.toCanonicalForm()}); .format( "Unable to get version for dependency specified by {0}, it was not provided in neither <dependencyManagement> nor <dependencies> sections.", dependency.toCanonicalForm()));
/** * Use available information to resolve the version for the specified {@link MavenDependency} * * @param dependency A {@link MavenDependency} the version should be resolved for * @return The resolved version * @see org.jboss.shrinkwrap.resolver.impl.maven.ResolveStageBaseImpl#resolveVersion(org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency) */ protected String resolveVersion(final MavenDependency dependency) throws IllegalArgumentException { final String declaredVersion = dependency.getVersion(); if (Validate.isNullOrEmpty(declaredVersion)) { throw new ResolutionException(MessageFormat.format( "Unable to get version for dependency specified by {0}:, it was either null or empty.", dependency.toCanonicalForm())); } return declaredVersion; }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.resolver.api.maven.filter.MavenResolutionFilter#accepts(org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency, * java.util.List, java.util.List) */ @Override public boolean accepts(final MavenDependency coordinate, final List<MavenDependency> dependenciesForResolution, final List<MavenDependency> dependencyAncestors) throws IllegalArgumentException { if (PackagingType.POM.equals(coordinate.getPackaging())) { if (log.isLoggable(Level.FINER)) { log.finer("Filtering out POM dependency resolution: " + coordinate + "; its transitive dependencies will be included"); } return false; } return true; }
private MavenDependency resolveDependency(final MavenDependency declared) { final String resolvedVersion = this.resolveVersion(declared); final MavenCoordinate newCoordinate = MavenCoordinates.createCoordinate(declared.getGroupId(), declared.getArtifactId(), resolvedVersion, declared.getPackaging(), declared.getClassifier()); final MavenDependency dependency = MavenDependencies.createDependency(newCoordinate, declared.getScope(), declared.isOptional(), declared.getExclusions().toArray(TYPESAFE_EXCLUSIONS_ARRAY)); return dependency; }