private Artifact getProvidedArtifact()

in src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java [197:237]


    private Artifact getProvidedArtifact(final String groupId, final String artifactId, final String version) throws MojoExecutionException {
        final ArtifactHandler handler = artifactHandlerManager.getArtifactHandler("jar");

        final VersionRange versionRange;
        try {
            versionRange = VersionRange.createFromVersionSpec(version);
        } catch (final Exception e) {
            throw new MojoExecutionException("Could not determine appropriate version for Provided Artifact " + groupId + ":" + artifactId, e);
        }

        final Artifact artifact = new DefaultArtifact(groupId, artifactId, versionRange, null, "jar", null, handler);

        final ArtifactResolutionRequest request = new ArtifactResolutionRequest();
        request.setLocalRepository(localRepo);
        request.setRemoteRepositories(remoteRepos);
        request.setArtifact(artifact);

        final ArtifactResolutionResult result = artifactResolver.resolve(request);
        if (!result.isSuccess()) {
            final List<Exception> exceptions = result.getExceptions();

            final MojoExecutionException exception = new MojoExecutionException("Could not resolve local dependency " + artifact);
            if (exceptions != null) {
                for (final Exception e : exceptions) {
                    exception.addSuppressed(e);
                }
            }

            throw exception;
        }

        final Set<Artifact> artifacts = result.getArtifacts();
        if (artifacts.isEmpty()) {
            throw new MojoExecutionException("Could not resolve any artifacts for dependency " + artifact);
        }

        final List<Artifact> sorted = new ArrayList<>(artifacts);
        Collections.sort(sorted);

        return sorted.get(0);
    }