本文整理匯總了Java中org.apache.maven.artifact.repository.ArtifactRepository.getBasedir方法的典型用法代碼示例。如果您正苦於以下問題:Java ArtifactRepository.getBasedir方法的具體用法?Java ArtifactRepository.getBasedir怎麽用?Java ArtifactRepository.getBasedir使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.maven.artifact.repository.ArtifactRepository
的用法示例。
在下文中一共展示了ArtifactRepository.getBasedir方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: updateMetadata
import org.apache.maven.artifact.repository.ArtifactRepository; //導入方法依賴的package包/類
private void updateMetadata( RepositoryMetadata artifactMetadata, ArtifactRepository targetRepository,
Metadata newMetadata, FileTransaction transaction )
throws ArtifactConversionException
{
File file = new File( targetRepository.getBasedir(),
targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );
Metadata metadata;
boolean changed;
if ( file.exists() )
{
metadata = readMetadata( file );
changed = metadata.merge( newMetadata );
}
else
{
changed = true;
metadata = newMetadata;
}
if ( changed )
{
try (StringWriter writer = new StringWriter())
{
MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();
mappingWriter.write( writer, metadata );
transaction.createFile( writer.toString(), file, digesters );
}
catch ( IOException e )
{
throw new ArtifactConversionException( Messages.getString( "error.writing.target.metadata" ),
e ); //$NON-NLS-1$
}
}
}
示例2: writeRelocationPom
import org.apache.maven.artifact.repository.ArtifactRepository; //導入方法依賴的package包/類
private void writeRelocationPom( String groupId, String artifactId, String version, String newGroupId,
String newArtifactId, String newVersion, String message,
ArtifactRepository repository, FileTransaction transaction )
throws IOException
{
Model pom = new Model();
pom.setGroupId( groupId );
pom.setArtifactId( artifactId );
pom.setVersion( version );
DistributionManagement dMngt = new DistributionManagement();
Relocation relocation = new Relocation();
relocation.setGroupId( newGroupId );
relocation.setArtifactId( newArtifactId );
relocation.setVersion( newVersion );
if ( message != null && message.length() > 0 )
{
relocation.setMessage( message );
}
dMngt.setRelocation( relocation );
pom.setDistributionManagement( dMngt );
Artifact artifact = artifactFactory.createBuildArtifact( groupId, artifactId, version, "pom" ); //$NON-NLS-1$
File pomFile = new File( repository.getBasedir(), repository.pathOf( artifact ) );
StringWriter strWriter = new StringWriter();
MavenXpp3Writer pomWriter = new MavenXpp3Writer();
pomWriter.write( strWriter, pom );
transaction.createFile( strWriter.toString(), pomFile, digesters );
}
示例3: copyArtifact
import org.apache.maven.artifact.repository.ArtifactRepository; //導入方法依賴的package包/類
private boolean copyArtifact( Artifact artifact, ArtifactRepository targetRepository, FileTransaction transaction )
throws ArtifactConversionException
{
File sourceFile = artifact.getFile();
if ( sourceFile.getAbsolutePath().indexOf( "/plugins/" ) > -1 ) //$NON-NLS-1$
{
artifact.setArtifactHandler( artifactHandlerManager.getArtifactHandler( "maven-plugin" ) ); //$NON-NLS-1$
}
File targetFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
boolean result = true;
try
{
boolean matching = false;
if ( !force && targetFile.exists() )
{
matching = FileUtils.contentEquals( sourceFile, targetFile );
if ( !matching )
{
addWarning( artifact, Messages.getString( "failure.target.already.exists" ) ); //$NON-NLS-1$
result = false;
}
}
if ( result )
{
if ( force || !matching )
{
if ( testChecksums( artifact, sourceFile ) )
{
transaction.copyFile( sourceFile, targetFile, digesters );
}
else
{
result = false;
}
}
}
}
catch ( IOException e )
{
throw new ArtifactConversionException( Messages.getString( "error.copying.artifact" ), e ); //$NON-NLS-1$
}
return result;
}
示例4: installArtifact
import org.apache.maven.artifact.repository.ArtifactRepository; //導入方法依賴的package包/類
/**
* Copy artifact to another repository, with an option not to use timestamp in the snapshot filename.
*
* @param artifact The artifact to install.
* @param artifactRepository The repository where to install.
* @param useTimestampInSnapshotFileName Using timestamp for SNAPSHOT's.
* @throws MojoExecutionException
*/
protected void installArtifact( Artifact artifact, ArtifactRepository artifactRepository,
boolean useTimestampInSnapshotFileName )
throws MojoExecutionException
{
if ( artifact.getFile() != null )
{
try
{
// Necessary for the artifact's baseVersion to be set correctly
// See: http://mail-archives.apache.org/mod_mbox/maven-dev/200511.mbox/%[email protected]%3e
artifact.isSnapshot();
File source = artifact.getFile();
String localPath = artifactRepository.pathOf( artifact );
File destination = new File( artifactRepository.getBasedir(), localPath );
if ( !destination.getParentFile().exists() )
{
destination.getParentFile().mkdirs();
}
if ( artifact.isSnapshot() )
{
if ( !useTimestampInSnapshotFileName )
{
// Don't want timestamp in the snapshot file during copy
destination = new File( destination.getParentFile(), source.getName() );
}
}
if ( !source.isDirectory() )
{
// Sometimes target/classes is in the artifact list and copyFile() would fail.
// Need to ignore this condition
FileUtils.copyFile( source, destination );
}
getLog().info( "Installing artifact " + source.getPath() + " to " + destination );
}
catch ( IOException e )
{
throw new MojoExecutionException( "Failed to copy artifact.", e );
}
}
}