mirror of https://github.com/apache/maven.git
OPEN - issue MNG-2671: Parent/modules relative file path compression
http://jira.codehaus.org/browse/MNG-2671 Applied, with small changes so it will not swallow exceptions. If this causes a problem with broken symlinks, we can address that later. git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@543682 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6d69087ae9
commit
6d3984551c
|
@ -256,7 +256,7 @@ public class PluginParameterExpressionEvaluatorTest
|
||||||
|
|
||||||
Object value = expressionEvaluator.evaluate( "${project.build.directory}/${project.build.finalName}" );
|
Object value = expressionEvaluator.evaluate( "${project.build.directory}/${project.build.finalName}" );
|
||||||
|
|
||||||
assertEquals( "expected-directory/expected-finalName", value );
|
assertEquals( new File( "expected-directory/expected-finalName" ).getCanonicalPath(), value );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testShouldExtractPluginArtifacts()
|
public void testShouldExtractPluginArtifacts()
|
||||||
|
|
|
@ -25,6 +25,8 @@ import org.apache.maven.model.Plugin;
|
||||||
import org.apache.maven.model.PluginManagement;
|
import org.apache.maven.model.PluginManagement;
|
||||||
import org.apache.maven.model.Resource;
|
import org.apache.maven.model.Resource;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -39,6 +41,7 @@ public class BuildOverlay
|
||||||
private final Build build;
|
private final Build build;
|
||||||
|
|
||||||
private List resources;
|
private List resources;
|
||||||
|
|
||||||
private List testResources;
|
private List testResources;
|
||||||
|
|
||||||
public BuildOverlay( Build build )
|
public BuildOverlay( Build build )
|
||||||
|
@ -47,17 +50,17 @@ public class BuildOverlay
|
||||||
{
|
{
|
||||||
this.build = new Build();
|
this.build = new Build();
|
||||||
|
|
||||||
this.resources = new ArrayList();
|
resources = new ArrayList();
|
||||||
|
|
||||||
this.testResources = new ArrayList();
|
testResources = new ArrayList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.build = build;
|
this.build = build;
|
||||||
|
|
||||||
this.resources = new ArrayList( build.getResources() );
|
resources = new ArrayList( build.getResources() );
|
||||||
|
|
||||||
this.testResources = new ArrayList( build.getTestResources() );
|
testResources = new ArrayList( build.getTestResources() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +101,17 @@ public class BuildOverlay
|
||||||
|
|
||||||
public String getDirectory()
|
public String getDirectory()
|
||||||
{
|
{
|
||||||
return build.getDirectory();
|
String path = build.getDirectory();
|
||||||
|
File file = new File( build.getDirectory() );
|
||||||
|
try
|
||||||
|
{
|
||||||
|
path = file.getCanonicalPath();
|
||||||
|
}
|
||||||
|
catch ( IOException e )
|
||||||
|
{
|
||||||
|
handleCanonicalException( path, e );
|
||||||
|
}
|
||||||
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List getExtensions()
|
public List getExtensions()
|
||||||
|
@ -113,7 +126,17 @@ public class BuildOverlay
|
||||||
|
|
||||||
public String getOutputDirectory()
|
public String getOutputDirectory()
|
||||||
{
|
{
|
||||||
return build.getOutputDirectory();
|
String path = build.getDirectory();
|
||||||
|
File file = new File( build.getOutputDirectory() );
|
||||||
|
try
|
||||||
|
{
|
||||||
|
path = file.getCanonicalPath();
|
||||||
|
}
|
||||||
|
catch ( IOException e )
|
||||||
|
{
|
||||||
|
handleCanonicalException( path, e );
|
||||||
|
}
|
||||||
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PluginManagement getPluginManagement()
|
public PluginManagement getPluginManagement()
|
||||||
|
@ -138,7 +161,26 @@ public class BuildOverlay
|
||||||
|
|
||||||
public String getScriptSourceDirectory()
|
public String getScriptSourceDirectory()
|
||||||
{
|
{
|
||||||
return build.getScriptSourceDirectory();
|
String path = build.getDirectory();
|
||||||
|
File file = new File( build.getScriptSourceDirectory() );
|
||||||
|
try
|
||||||
|
{
|
||||||
|
path = file.getCanonicalPath();
|
||||||
|
}
|
||||||
|
catch ( IOException e )
|
||||||
|
{
|
||||||
|
handleCanonicalException( path, e );
|
||||||
|
}
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleCanonicalException( String path, IOException e )
|
||||||
|
{
|
||||||
|
IllegalStateException error = new IllegalStateException( "Cannot compute canonical path for: " + path
|
||||||
|
+ ". Reason: " + e.getMessage() );
|
||||||
|
error.initCause( e );
|
||||||
|
|
||||||
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSourceDirectory()
|
public String getSourceDirectory()
|
||||||
|
@ -158,7 +200,17 @@ public class BuildOverlay
|
||||||
|
|
||||||
public String getTestSourceDirectory()
|
public String getTestSourceDirectory()
|
||||||
{
|
{
|
||||||
return build.getTestSourceDirectory();
|
String path = build.getDirectory();
|
||||||
|
File file = new File( build.getTestSourceDirectory() );
|
||||||
|
try
|
||||||
|
{
|
||||||
|
path = file.getCanonicalPath();
|
||||||
|
}
|
||||||
|
catch ( IOException e )
|
||||||
|
{
|
||||||
|
handleCanonicalException( path, e );
|
||||||
|
}
|
||||||
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
|
|
Loading…
Reference in New Issue