File: maven-compatibility.patch

package info (click to toggle)
plexus-compiler 2.8.5-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,012 kB
  • sloc: java: 6,809; xml: 590; makefile: 2
file content (73 lines) | stat: -rw-r--r-- 2,691 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Description: Fixes the compatibility with Maven 3
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/plexus-compiler-test/src/main/java/org/codehaus/plexus/compiler/AbstractCompilerTest.java
+++ b/plexus-compiler-test/src/main/java/org/codehaus/plexus/compiler/AbstractCompilerTest.java
@@ -27,10 +27,16 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.handler.DefaultArtifactHandler;
-import org.apache.maven.artifact.test.ArtifactTestCase;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
 
+import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
 
 import javax.print.DocFlavor;
@@ -46,7 +52,7 @@
  *
  */
 public abstract class AbstractCompilerTest
-    extends ArtifactTestCase
+    extends PlexusTestCase
 {
     private boolean compilerDebug = false;
 
@@ -54,6 +60,40 @@
 
     private boolean forceJavacCompilerUse = false;
 
+    private ArtifactRepository localRepository;
+
+    protected File getLocalArtifactPath( Artifact artifact )
+    {
+        return new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
+    }
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        String localRepo = System.getProperty( "maven.repo.local" );
+
+        if ( localRepo == null )
+        {
+            File settingsFile = new File( System.getProperty( "user.home" ), ".m2/settings.xml" );
+            if ( settingsFile.exists() )
+            {
+                Settings settings = new SettingsXpp3Reader().read( ReaderFactory.newXmlReader( settingsFile ) );
+                localRepo = settings.getLocalRepository();
+            }
+        }
+        if ( localRepo == null )
+        {
+            localRepo = System.getProperty( "user.home" ) + "/.m2/repository";
+        }
+
+        ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) getContainer().lookup(
+            ArtifactRepositoryLayout.ROLE, "default" );
+
+        localRepository = new DefaultArtifactRepository( "local", "file://" + localRepo, repositoryLayout );
+    }
+
     protected abstract String getRoleHint();
 
     protected void setCompilerDebug( boolean flag )