diff options
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java')
-rw-r--r-- | framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java deleted file mode 100644 index edadeb2d..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.apache.maven.extension.internal; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Collection; -import java.util.Enumeration; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.apache.maven.project.ExtensionDescriptor; -import org.apache.maven.project.ExtensionDescriptorBuilder; -import org.codehaus.plexus.classworlds.realm.ClassRealm; -import org.codehaus.plexus.util.IOUtil; - -import com.google.common.collect.ImmutableSet; - -/** - * Provides information about artifacts (identified by groupId:artifactId string key) and classpath elements exported by - * Maven core itself or a Maven core extension. - * - * @since 3.3.0 - */ -public class CoreExtensionEntry -{ - private final ClassRealm realm; - - private final Set<String> artifacts; - - private final Set<String> packages; - - public CoreExtensionEntry( ClassRealm realm, Collection<String> artifacts, Collection<String> packages ) - { - this.realm = realm; - this.artifacts = ImmutableSet.copyOf( artifacts ); - this.packages = ImmutableSet.copyOf( packages ); - } - - /** - * Returns ClassLoader used to load extension classes. - */ - public ClassRealm getClassRealm() - { - return realm; - } - - /** - * Returns artifacts exported by the extension, identified by groupId:artifactId string key. - */ - public Set<String> getExportedArtifacts() - { - return artifacts; - } - - /** - * Returns classpath elements exported by the extension. - */ - public Set<String> getExportedPackages() - { - return packages; - } - - private static final ExtensionDescriptorBuilder builder = new ExtensionDescriptorBuilder(); - - public static CoreExtensionEntry discoverFrom( ClassRealm loader ) - { - Set<String> artifacts = new LinkedHashSet<String>(); - Set<String> packages = new LinkedHashSet<String>(); - - try - { - Enumeration<URL> urls = loader.getResources( builder.getExtensionDescriptorLocation() ); - while ( urls.hasMoreElements() ) - { - InputStream is = urls.nextElement().openStream(); - try - { - ExtensionDescriptor descriptor = builder.build( is ); - artifacts.addAll( descriptor.getExportedArtifacts() ); - packages.addAll( descriptor.getExportedPackages() ); - } - finally - { - IOUtil.close( is ); - } - } - } - catch ( IOException ignored ) - { - // exports descriptors are entirely optional - } - - return new CoreExtensionEntry( loader, artifacts, packages ); - } - - public static CoreExtensionEntry discoverFrom( ClassRealm loader, Collection<File> classpath ) - { - Set<String> artifacts = new LinkedHashSet<String>(); - Set<String> packages = new LinkedHashSet<String>(); - - try - { - for ( File entry : classpath ) - { - ExtensionDescriptor descriptor = builder.build( entry ); - if ( descriptor != null ) - { - artifacts.addAll( descriptor.getExportedArtifacts() ); - packages.addAll( descriptor.getExportedPackages() ); - } - } - } - catch ( IOException ignored ) - { - // exports descriptors are entirely optional - } - - return new CoreExtensionEntry( loader, artifacts, packages ); - } - -} |