public static Artifact getOrResolveArtifact()

in src/main/java/org/apache/sling/maven/jspc/JspcMojo.java [957:988]


    public static Artifact getOrResolveArtifact(final MavenProject project,
                                                final MavenSession session,
                                                final ArtifactHandlerManager artifactHandlerManager,
                                                final ArtifactResolver resolver,
                                                final ArtifactId id) {
        @SuppressWarnings("unchecked")
        Artifact result = cache.get(id.toMvnId());
        if ( result == null ) {
            result = findArtifact(id, project.getAttachedArtifacts());
            if ( result == null ) {
                result = findArtifact(id, project.getArtifacts());
                if ( result == null ) {
                    final Artifact prjArtifact = new DefaultArtifact(id.getGroupId(),
                            id.getArtifactId(),
                            VersionRange.createFromVersion(id.getVersion()),
                            Artifact.SCOPE_PROVIDED,
                            id.getType(),
                            id.getClassifier(),
                            artifactHandlerManager.getArtifactHandler(id.getType()));
                    try {
                        resolver.resolve(prjArtifact, project.getRemoteArtifactRepositories(), session.getLocalRepository());
                    } catch (final ArtifactResolutionException | ArtifactNotFoundException e) {
                        throw new RuntimeException("Unable to get artifact for " + id.toMvnId(), e);
                    }
                    result = prjArtifact;
                }
            }
            cache.put(id.toMvnId(), result);
        }

        return result;
    }