in src/main/java/org/apache/maven/resolver/internal/ant/tasks/Resolve.java [378:432]
public void process( Artifact artifact, RepositorySystemSession session )
{
if ( dir != null )
{
if ( refid != null && fileset == null )
{
fileset = new FileSet();
fileset.setProject( getProject() );
fileset.setDir( dir );
getProject().addReference( refid, fileset );
}
String path = layout.getPath( artifact );
if ( fileset != null )
{
fileset.createInclude().setName( path );
}
File src = artifact.getFile();
File dst = new File( dir, path );
if ( src.lastModified() != dst.lastModified() || src.length() != dst.length() )
{
try
{
Resolve.this.log( "Copy " + src + " to " + dst, Project.MSG_VERBOSE );
FileUtils.getFileUtils().copyFile( src, dst, null, true, true );
}
catch ( IOException e )
{
throw new BuildException( "Failed to copy artifact file " + src + " to " + dst + ": "
+ e.getMessage(), e );
}
}
else
{
Resolve.this.log( "Omit to copy " + src + " to " + dst + ", seems unchanged", Project.MSG_VERBOSE );
}
}
else
{
if ( resources == null )
{
resources = new Resources();
resources.setProject( getProject() );
getProject().addReference( refid, resources );
}
FileResource resource = new FileResource( artifact.getFile() );
resource.setBaseDir( session.getLocalRepository().getBasedir() );
resource.setProject( getProject() );
resources.add( resource );
}
}