aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java255
1 files changed, 0 insertions, 255 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
deleted file mode 100644
index e1e5fe3f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * 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.Reader;
-import java.io.Writer;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.WriterFactory;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Shared methods of the repository metadata handling.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public abstract class AbstractRepositoryMetadata
- implements RepositoryMetadata
-{
- private Metadata metadata;
-
- protected AbstractRepositoryMetadata( Metadata metadata )
- {
- this.metadata = metadata;
- }
-
- public String getRemoteFilename()
- {
- return "maven-metadata.xml";
- }
-
- public String getLocalFilename( ArtifactRepository repository )
- {
- return "maven-metadata-" + repository.getKey() + ".xml";
- }
-
- public void storeInLocalRepository( ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws RepositoryMetadataStoreException
- {
- try
- {
- updateRepositoryMetadata( localRepository, remoteRepository );
- }
- catch ( IOException e )
- {
- throw new RepositoryMetadataStoreException( "Error updating group repository metadata", e );
- }
- catch ( XmlPullParserException e )
- {
- throw new RepositoryMetadataStoreException( "Error updating group repository metadata", e );
- }
- }
-
- protected void updateRepositoryMetadata( ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws IOException, XmlPullParserException
- {
- MetadataXpp3Reader mappingReader = new MetadataXpp3Reader();
-
- Metadata metadata = null;
-
- File metadataFile = new File( localRepository.getBasedir(),
- localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );
-
- if ( metadataFile.length() == 0 )
- {
- if ( !metadataFile.delete() )
- {
- // sleep for 10ms just in case this is windows holding a file lock
- try
- {
- Thread.sleep( 10 );
- }
- catch ( InterruptedException e )
- {
- // ignore
- }
- metadataFile.delete(); // if this fails, forget about it, we'll try to overwrite it anyway so no need
- // to delete on exit
- }
- }
- else if ( metadataFile.exists() )
- {
- Reader reader = null;
-
- try
- {
- reader = ReaderFactory.newXmlReader( metadataFile );
-
- metadata = mappingReader.read( reader, false );
- }
- finally
- {
- IOUtil.close( reader );
- }
- }
-
- boolean changed;
-
- // If file could not be found or was not valid, start from scratch
- if ( metadata == null )
- {
- metadata = this.metadata;
-
- changed = true;
- }
- else
- {
- changed = metadata.merge( this.metadata );
- }
-
- // beware meta-versions!
- String version = metadata.getVersion();
- if ( version != null && ( Artifact.LATEST_VERSION.equals( version ) || Artifact.RELEASE_VERSION.equals(
- version ) ) )
- {
- // meta-versions are not valid <version/> values...don't write them.
- metadata.setVersion( null );
- }
-
- if ( changed || !metadataFile.exists() )
- {
- Writer writer = null;
- try
- {
- metadataFile.getParentFile().mkdirs();
- writer = WriterFactory.newXmlWriter( metadataFile );
-
- MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();
-
- mappingWriter.write( writer, metadata );
- }
- finally
- {
- IOUtil.close( writer );
- }
- }
- else
- {
- metadataFile.setLastModified( System.currentTimeMillis() );
- }
- }
-
- public String toString()
- {
- return "repository metadata for: \'" + getKey() + "\'";
- }
-
- protected static Metadata createMetadata( Artifact artifact,
- Versioning versioning )
- {
- Metadata metadata = new Metadata();
- metadata.setGroupId( artifact.getGroupId() );
- metadata.setArtifactId( artifact.getArtifactId() );
- metadata.setVersion( artifact.getVersion() );
- metadata.setVersioning( versioning );
- return metadata;
- }
-
- protected static Versioning createVersioning( Snapshot snapshot )
- {
- Versioning versioning = new Versioning();
- versioning.setSnapshot( snapshot );
- versioning.updateTimestamp();
- return versioning;
- }
-
- public void setMetadata( Metadata metadata )
- {
- this.metadata = metadata;
- }
-
- public Metadata getMetadata()
- {
- return metadata;
- }
-
- public void merge( org.apache.maven.repository.legacy.metadata.ArtifactMetadata metadata )
- {
- // TODO: not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact replaces?
- AbstractRepositoryMetadata repoMetadata = (AbstractRepositoryMetadata) metadata;
- this.metadata.merge( repoMetadata.getMetadata() );
- }
-
- public void merge( ArtifactMetadata metadata )
- {
- // TODO: not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact replaces?
- AbstractRepositoryMetadata repoMetadata = (AbstractRepositoryMetadata) metadata;
- this.metadata.merge( repoMetadata.getMetadata() );
- }
-
- public String extendedToString()
- {
- StringBuilder buffer = new StringBuilder();
-
- buffer.append( "\nRepository Metadata\n--------------------------" );
- buffer.append( "\nGroupId: " ).append( getGroupId() );
- buffer.append( "\nArtifactId: " ).append( getArtifactId() );
- buffer.append( "\nMetadata Type: " ).append( getClass().getName() );
-
- return buffer.toString();
- }
-
- public int getNature()
- {
- return RELEASE;
- }
-
- public ArtifactRepositoryPolicy getPolicy( ArtifactRepository repository )
- {
- int nature = getNature();
- if ( ( nature & RepositoryMetadata.RELEASE_OR_SNAPSHOT ) == RepositoryMetadata.RELEASE_OR_SNAPSHOT )
- {
- ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy( repository.getReleases() );
- policy.merge( repository.getSnapshots() );
- return policy;
- }
- else if ( ( nature & RepositoryMetadata.SNAPSHOT ) != 0 )
- {
- return repository.getSnapshots();
- }
- else
- {
- return repository.getReleases();
- }
- }
-
-}