private ExtensionClassLoader createProvidedEntitiesClassLoader()

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


    private ExtensionClassLoader createProvidedEntitiesClassLoader(final ArtifactsHolder artifactsHolder)
            throws MojoExecutionException, ProjectBuildingException {

        final String nifiApiVersion = determineProvidedEntityVersion(artifactsHolder.getAllArtifacts(), "org.apache.nifi", "nifi-api");
        if (nifiApiVersion == null) {
            throw new MojoExecutionException("Could not find any dependency, provided or otherwise, on [org.apache.nifi:nifi-api]");
        } else {
            getLog().info("Found a dependency on version " + nifiApiVersion + " of NiFi API");
        }

        final String slf4jApiVersion = determineProvidedEntityVersion(artifactsHolder.getAllArtifacts(),"org.slf4j", "slf4j-api");

        final Artifact nifiApiArtifact = getProvidedArtifact("org.apache.nifi", "nifi-api", nifiApiVersion);
        final Artifact nifiFrameworkApiArtifact = getProvidedArtifact("org.apache.nifi", "nifi-framework-api", nifiApiArtifact.getVersion());

        final Artifact slf4jArtifact = getProvidedArtifact("org.slf4j", "slf4j-api", slf4jApiVersion);

        final Set<Artifact> providedArtifacts = new HashSet<>();
        providedArtifacts.add(nifiApiArtifact);
        providedArtifacts.add(nifiFrameworkApiArtifact);
        providedArtifacts.add(slf4jArtifact);

        getLog().debug("Creating Provided Entities Class Loader with artifacts: " + providedArtifacts);
        return createClassLoader(providedArtifacts, null, null);
    }