diff options
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version')
8 files changed, 0 insertions, 1000 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java deleted file mode 100644 index 9907066b..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.apache.maven.plugin.version; - -/* - * 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.util.Collections; -import java.util.List; - -import org.apache.maven.execution.MavenSession; -import org.apache.maven.model.Model; -import org.apache.maven.model.Plugin; -import org.apache.maven.project.MavenProject; -import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.repository.RemoteRepository; - -/** - * Collects settings required to resolve the version for a plugin. - * - * @since 3.0 - * @author Benjamin Bentmann - */ -public class DefaultPluginVersionRequest - implements PluginVersionRequest -{ - - private String groupId; - - private String artifactId; - - private Model pom; - - private List<RemoteRepository> repositories = Collections.emptyList(); - - private RepositorySystemSession session; - - /** - * Creates an empty request. - */ - public DefaultPluginVersionRequest() - { - } - - /** - * Creates a request for the specified plugin by copying settings from the specified build session. If the session - * has a current project, its plugin repositories will be used as well. - * - * @param plugin The plugin for which to resolve a version, must not be {@code null}. - * @param session The Maven session to use, must not be {@code null}. - */ - public DefaultPluginVersionRequest( Plugin plugin, MavenSession session ) - { - setGroupId( plugin.getGroupId() ); - setArtifactId( plugin.getArtifactId() ); - - setRepositorySession( session.getRepositorySession() ); - - MavenProject project = session.getCurrentProject(); - if ( project != null ) - { - setRepositories( project.getRemotePluginRepositories() ); - } - } - - /** - * Creates a request for the specified plugin using the given repository session and plugin repositories. - * - * @param plugin The plugin for which to resolve a version, must not be {@code null}. - * @param session The repository session to use, must not be {@code null}. - * @param repositories The plugin repositories to query, may be {@code null}. - */ - public DefaultPluginVersionRequest( Plugin plugin, RepositorySystemSession session, - List<RemoteRepository> repositories ) - { - setGroupId( plugin.getGroupId() ); - setArtifactId( plugin.getArtifactId() ); - - setRepositorySession( session ); - - setRepositories( repositories ); - } - - public String getGroupId() - { - return groupId; - } - - public DefaultPluginVersionRequest setGroupId( String groupId ) - { - this.groupId = groupId; - - return this; - } - - public String getArtifactId() - { - return artifactId; - } - - public DefaultPluginVersionRequest setArtifactId( String artifactId ) - { - this.artifactId = artifactId; - - return this; - } - - public Model getPom() - { - return pom; - } - - public DefaultPluginVersionRequest setPom( Model pom ) - { - this.pom = pom; - - return this; - } - - public List<RemoteRepository> getRepositories() - { - return repositories; - } - - public DefaultPluginVersionRequest setRepositories( List<RemoteRepository> repositories ) - { - if ( repositories != null ) - { - this.repositories = repositories; - } - else - { - this.repositories = Collections.emptyList(); - } - - return this; - } - - public RepositorySystemSession getRepositorySession() - { - return session; - } - - public DefaultPluginVersionRequest setRepositorySession( RepositorySystemSession session ) - { - this.session = session; - - return this; - } - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java deleted file mode 100644 index b5539be0..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.apache.maven.plugin.version; - -/* - * 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. - */ - -public class PluginVersionNotFoundException - extends Exception -{ - private final String groupId; - - private final String artifactId; - - public PluginVersionNotFoundException( String groupId, String artifactId ) - { - super( "The plugin \'" + groupId + ":" + artifactId + "\' does not exist or no valid version could be found" ); - - this.groupId = groupId; - this.artifactId = artifactId; - } - - public String getGroupId() - { - return groupId; - } - - public String getArtifactId() - { - return artifactId; - } - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java deleted file mode 100644 index b22f9e1d..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.apache.maven.plugin.version; - -/* - * 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.util.List; - -import org.apache.maven.model.Model; -import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.repository.RemoteRepository; - -/** - * Collects settings required to resolve the version for a plugin. - * - * @since 3.0 - * @author Benjamin Bentmann - */ -public interface PluginVersionRequest -{ - - /** - * Gets the group id of the plugin. - * - * @return The group id of the plugin. - */ - String getGroupId(); - - /** - * Sets the group id of the plugin. - * - * @param groupId The group id of the plugin. - * @return This request, never {@code null}. - */ - PluginVersionRequest setGroupId( String groupId ); - - /** - * Gets the artifact id of the plugin. - * - * @return The artifact id of the plugin. - */ - String getArtifactId(); - - /** - * Sets the artifact id of the plugin. - * - * @param artifactId The artifact id of the plugin. - * @return This request, never {@code null}. - */ - PluginVersionRequest setArtifactId( String artifactId ); - - /** - * Gets the POM whose build plugins are to be scanned for the version. - * - * @return The POM whose build plugins are to be scanned for the verion or {@code null} to only search the plugin - * repositories. - */ - Model getPom(); - - /** - * Sets the POM whose build plugins are to be scanned for the version. - * - * @param pom The POM whose build plugins are to be scanned for the version, may be {@code null} to only search the - * plugin repositories. - * @return This request, never {@code null}. - */ - PluginVersionRequest setPom( Model pom ); - - /** - * Gets the remote repositories to use. - * - * @return The remote repositories to use, never {@code null}. - */ - List<RemoteRepository> getRepositories(); - - /** - * Sets the remote repositories to use. <em>Note:</em> When creating a request from a project, be sure to use the - * plugin repositories and not the regular project repositories. - * - * @param repositories The remote repositories to use. - * @return This request, never {@code null}. - */ - PluginVersionRequest setRepositories( List<RemoteRepository> repositories ); - - /** - * Gets the session to use for repository access. - * - * @return The repository session or {@code null} if not set. - */ - RepositorySystemSession getRepositorySession(); - - /** - * Sets the session to use for repository access. - * - * @param repositorySession The repository session to use. - * @return This request, never {@code null}. - */ - PluginVersionRequest setRepositorySession( RepositorySystemSession repositorySession ); - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java deleted file mode 100644 index 84ec0967..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.apache.maven.plugin.version; - -/* - * 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.util.List; - -import org.eclipse.aether.repository.LocalRepository; -import org.eclipse.aether.repository.RemoteRepository; - -public class PluginVersionResolutionException - extends Exception -{ - private final String groupId; - - private final String artifactId; - - private final String baseMessage; - - public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage, Throwable cause ) - { - super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\': " + baseMessage, cause ); - - this.groupId = groupId; - this.artifactId = artifactId; - this.baseMessage = baseMessage; - } - - public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage ) - { - super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\': " + baseMessage ); - - this.groupId = groupId; - this.artifactId = artifactId; - this.baseMessage = baseMessage; - } - - public PluginVersionResolutionException( String groupId, String artifactId, LocalRepository localRepository, - List<RemoteRepository> remoteRepositories, String baseMessage ) - { - super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\' from the repositories " - + format( localRepository, remoteRepositories ) + ": " + baseMessage ); - - this.groupId = groupId; - this.artifactId = artifactId; - this.baseMessage = baseMessage; - } - - public String getGroupId() - { - return groupId; - } - - public String getArtifactId() - { - return artifactId; - } - - public String getBaseMessage() - { - return baseMessage; - } - - private static String format( LocalRepository localRepository, List<RemoteRepository> remoteRepositories ) - { - String repos = "["; - - if ( localRepository != null ) - { - repos += localRepository.getId() + " (" + localRepository.getBasedir() + ")"; - } - - if ( remoteRepositories != null && !remoteRepositories.isEmpty() ) - { - for ( RemoteRepository repository : remoteRepositories ) - { - repos += ", "; - - if ( repository != null ) - { - repos += repository.getId() + " (" + repository.getUrl() + ")"; - } - } - } - - repos += "]"; - - return repos; - } - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java deleted file mode 100644 index 935fdfc5..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.apache.maven.plugin.version; - -/* - * 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. - */ - -/** - * Resolves a version for a plugin. - * - * @since 3.0 - * @author Benjamin Bentmann - */ -public interface PluginVersionResolver -{ - - /** - * Resolves the version for the specified request. - * - * @param request The request that holds the details about the plugin and the repositories to consult, must not be - * {@code null}. - * @return The result of the version resolution, never {@code null}. - * @throws PluginVersionResolutionException If the plugin version could not be resolved. - */ - PluginVersionResult resolve( PluginVersionRequest request ) - throws PluginVersionResolutionException; - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java deleted file mode 100644 index 09a69e96..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.apache.maven.plugin.version; - -/* - * 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 org.eclipse.aether.repository.ArtifactRepository; - -/** - * Describes the result of a plugin version resolution request. - * - * @since 3.0 - * @author Benjamin Bentmann - */ -public interface PluginVersionResult -{ - - /** - * The resolved plugin version. - * - * @return The resolved plugin version, never {@code null}. - */ - String getVersion(); - - /** - * The repository from which the plugin version was resolved. - * - * @return The repository from which the plugin version was resolved, never {@code null}. - */ - ArtifactRepository getRepository(); - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java deleted file mode 100644 index 76b6bfd6..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java +++ /dev/null @@ -1,408 +0,0 @@ -package org.apache.maven.plugin.version.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.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeSet; - -import org.apache.maven.artifact.repository.metadata.Metadata; -import org.apache.maven.artifact.repository.metadata.Versioning; -import org.apache.maven.artifact.repository.metadata.io.MetadataReader; -import org.apache.maven.model.Build; -import org.apache.maven.model.Plugin; -import org.apache.maven.plugin.MavenPluginManager; -import org.apache.maven.plugin.PluginResolutionException; -import org.apache.maven.plugin.descriptor.PluginDescriptor; -import org.apache.maven.plugin.version.PluginVersionRequest; -import org.apache.maven.plugin.version.PluginVersionResolutionException; -import org.apache.maven.plugin.version.PluginVersionResolver; -import org.apache.maven.plugin.version.PluginVersionResult; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.util.StringUtils; -import org.eclipse.aether.RepositoryEvent.EventType; -import org.eclipse.aether.RepositoryEvent; -import org.eclipse.aether.RepositoryListener; -import org.eclipse.aether.RepositorySystem; -import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.RequestTrace; -import org.eclipse.aether.metadata.DefaultMetadata; -import org.eclipse.aether.repository.ArtifactRepository; -import org.eclipse.aether.repository.RemoteRepository; -import org.eclipse.aether.resolution.MetadataRequest; -import org.eclipse.aether.resolution.MetadataResult; -import org.eclipse.aether.util.version.GenericVersionScheme; -import org.eclipse.aether.version.InvalidVersionSpecificationException; -import org.eclipse.aether.version.Version; -import org.eclipse.aether.version.VersionScheme; - -/** - * Resolves a version for a plugin. - * - * @since 3.0 - * @author Benjamin Bentmann - */ -@Component( role = PluginVersionResolver.class ) -public class DefaultPluginVersionResolver - implements PluginVersionResolver -{ - - private static final String REPOSITORY_CONTEXT = "plugin"; - - @Requirement - private Logger logger; - - @Requirement - private RepositorySystem repositorySystem; - - @Requirement - private MetadataReader metadataReader; - - @Requirement - private MavenPluginManager pluginManager; - - public PluginVersionResult resolve( PluginVersionRequest request ) - throws PluginVersionResolutionException - { - logger.debug( "Resolving plugin version for " + request.getGroupId() + ":" + request.getArtifactId() ); - - PluginVersionResult result = resolveFromProject( request ); - - if ( result == null ) - { - result = resolveFromRepository( request ); - - if ( logger.isDebugEnabled() ) - { - logger.debug( "Resolved plugin version for " + request.getGroupId() + ":" + request.getArtifactId() - + " to " + result.getVersion() + " from repository " + result.getRepository() ); - } - } - else if ( logger.isDebugEnabled() ) - { - logger.debug( "Resolved plugin version for " + request.getGroupId() + ":" + request.getArtifactId() - + " to " + result.getVersion() + " from POM " + request.getPom() ); - } - - return result; - } - - private PluginVersionResult resolveFromRepository( PluginVersionRequest request ) - throws PluginVersionResolutionException - { - RequestTrace trace = RequestTrace.newChild( null, request ); - - DefaultPluginVersionResult result = new DefaultPluginVersionResult(); - - org.eclipse.aether.metadata.Metadata metadata = - new DefaultMetadata( request.getGroupId(), request.getArtifactId(), "maven-metadata.xml", - DefaultMetadata.Nature.RELEASE_OR_SNAPSHOT ); - - List<MetadataRequest> requests = new ArrayList<MetadataRequest>(); - - requests.add( new MetadataRequest( metadata, null, REPOSITORY_CONTEXT ).setTrace( trace ) ); - - for ( RemoteRepository repository : request.getRepositories() ) - { - requests.add( new MetadataRequest( metadata, repository, REPOSITORY_CONTEXT ).setTrace( trace ) ); - } - - List<MetadataResult> results = repositorySystem.resolveMetadata( request.getRepositorySession(), requests ); - - Versions versions = new Versions(); - - for ( MetadataResult res : results ) - { - ArtifactRepository repository = res.getRequest().getRepository(); - if ( repository == null ) - { - repository = request.getRepositorySession().getLocalRepository(); - } - - mergeMetadata( request.getRepositorySession(), trace, versions, res.getMetadata(), repository ); - } - - selectVersion( result, request, versions ); - - return result; - } - - private void selectVersion( DefaultPluginVersionResult result, PluginVersionRequest request, Versions versions ) - throws PluginVersionResolutionException - { - String version = null; - ArtifactRepository repo = null; - - if ( StringUtils.isNotEmpty( versions.releaseVersion ) ) - { - version = versions.releaseVersion; - repo = versions.releaseRepository; - } - else if ( StringUtils.isNotEmpty( versions.latestVersion ) ) - { - version = versions.latestVersion; - repo = versions.latestRepository; - } - if ( version != null && !isCompatible( request, version ) ) - { - versions.versions.remove( version ); - version = null; - } - - if ( version == null ) - { - VersionScheme versionScheme = new GenericVersionScheme(); - - TreeSet<Version> releases = new TreeSet<Version>( Collections.reverseOrder() ); - TreeSet<Version> snapshots = new TreeSet<Version>( Collections.reverseOrder() ); - - for ( String ver : versions.versions.keySet() ) - { - try - { - Version v = versionScheme.parseVersion( ver ); - - if ( ver.endsWith( "-SNAPSHOT" ) ) - { - snapshots.add( v ); - } - else - { - releases.add( v ); - } - } - catch ( InvalidVersionSpecificationException e ) - { - // ignore - } - } - - for ( Version v : releases ) - { - String ver = v.toString(); - if ( isCompatible( request, ver ) ) - { - version = ver; - repo = versions.versions.get( version ); - break; - } - } - - if ( version == null ) - { - for ( Version v : snapshots ) - { - String ver = v.toString(); - if ( isCompatible( request, ver ) ) - { - version = ver; - repo = versions.versions.get( version ); - break; - } - } - } - } - - if ( version != null ) - { - result.setVersion( version ); - result.setRepository( repo ); - } - else - { - throw new PluginVersionResolutionException( request.getGroupId(), request.getArtifactId(), - request.getRepositorySession().getLocalRepository(), - request.getRepositories(), - "Plugin not found in any plugin repository" ); - } - } - - private boolean isCompatible( PluginVersionRequest request, String version ) - { - Plugin plugin = new Plugin(); - plugin.setGroupId( request.getGroupId() ); - plugin.setArtifactId( request.getArtifactId() ); - plugin.setVersion( version ); - - PluginDescriptor pluginDescriptor; - - try - { - pluginDescriptor = - pluginManager.getPluginDescriptor( plugin, request.getRepositories(), request.getRepositorySession() ); - } - catch ( PluginResolutionException e ) - { - logger.debug( "Ignoring unresolvable plugin version " + version, e ); - return false; - } - catch ( Exception e ) - { - // ignore for now and delay failure to higher level processing - return true; - } - - try - { - pluginManager.checkRequiredMavenVersion( pluginDescriptor ); - } - catch ( Exception e ) - { - logger.debug( "Ignoring incompatible plugin version " + version + ": " + e.getMessage() ); - return false; - } - - return true; - } - - private void mergeMetadata( RepositorySystemSession session, RequestTrace trace, Versions versions, - org.eclipse.aether.metadata.Metadata metadata, ArtifactRepository repository ) - { - if ( metadata != null && metadata.getFile() != null && metadata.getFile().isFile() ) - { - try - { - Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE ); - - Metadata repoMetadata = metadataReader.read( metadata.getFile(), options ); - - mergeMetadata( versions, repoMetadata, repository ); - } - catch ( IOException e ) - { - invalidMetadata( session, trace, metadata, repository, e ); - } - } - } - - private void invalidMetadata( RepositorySystemSession session, RequestTrace trace, - org.eclipse.aether.metadata.Metadata metadata, ArtifactRepository repository, - Exception exception ) - { - RepositoryListener listener = session.getRepositoryListener(); - if ( listener != null ) - { - RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID ); - event.setTrace( trace ); - event.setMetadata( metadata ); - event.setException( exception ); - event.setRepository( repository ); - listener.metadataInvalid( event.build() ); - } - } - - private void mergeMetadata( Versions versions, Metadata source, ArtifactRepository repository ) - { - Versioning versioning = source.getVersioning(); - if ( versioning != null ) - { - String timestamp = StringUtils.clean( versioning.getLastUpdated() ); - - if ( StringUtils.isNotEmpty( versioning.getRelease() ) - && timestamp.compareTo( versions.releaseTimestamp ) > 0 ) - { - versions.releaseVersion = versioning.getRelease(); - versions.releaseTimestamp = timestamp; - versions.releaseRepository = repository; - } - - if ( StringUtils.isNotEmpty( versioning.getLatest() ) - && timestamp.compareTo( versions.latestTimestamp ) > 0 ) - { - versions.latestVersion = versioning.getLatest(); - versions.latestTimestamp = timestamp; - versions.latestRepository = repository; - } - - for ( String version : versioning.getVersions() ) - { - if ( !versions.versions.containsKey( version ) ) - { - versions.versions.put( version, repository ); - } - } - } - } - - private PluginVersionResult resolveFromProject( PluginVersionRequest request ) - { - PluginVersionResult result = null; - - if ( request.getPom() != null && request.getPom().getBuild() != null ) - { - Build build = request.getPom().getBuild(); - - result = resolveFromProject( request, build.getPlugins() ); - - if ( result == null && build.getPluginManagement() != null ) - { - result = resolveFromProject( request, build.getPluginManagement().getPlugins() ); - } - } - - return result; - } - - private PluginVersionResult resolveFromProject( PluginVersionRequest request, List<Plugin> plugins ) - { - for ( Plugin plugin : plugins ) - { - if ( request.getGroupId().equals( plugin.getGroupId() ) - && request.getArtifactId().equals( plugin.getArtifactId() ) ) - { - if ( plugin.getVersion() != null ) - { - return new DefaultPluginVersionResult( plugin.getVersion() ); - } - else - { - return null; - } - } - } - return null; - } - - static class Versions - { - - String releaseVersion = ""; - - String releaseTimestamp = ""; - - ArtifactRepository releaseRepository; - - String latestVersion = ""; - - String latestTimestamp = ""; - - ArtifactRepository latestRepository; - - Map<String, ArtifactRepository> versions = new LinkedHashMap<String, ArtifactRepository>(); - - } - -} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java deleted file mode 100644 index 9027a532..00000000 --- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.apache.maven.plugin.version.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 org.apache.maven.plugin.version.PluginVersionResult; -import org.eclipse.aether.repository.ArtifactRepository; - -/** - * Describes the result of a plugin version resolution request. - * - * @since 3.0 - * @author Benjamin Bentmann - */ -class DefaultPluginVersionResult - implements PluginVersionResult -{ - - private String version; - - private ArtifactRepository repository; - - public DefaultPluginVersionResult() - { - // does nothing - } - - public DefaultPluginVersionResult( String version ) - { - this.version = version; - } - - public String getVersion() - { - return version; - } - - public void setVersion( String version ) - { - this.version = version; - } - - public ArtifactRepository getRepository() - { - return repository; - } - - public void setRepository( ArtifactRepository repository ) - { - this.repository = repository; - } - -} |