diff --git a/src/it/distributionManagemetTile/invoker.properties b/src/it/distributionManagemetTile/invoker.properties
new file mode 100644
index 0000000..c9cdf7b
--- /dev/null
+++ b/src/it/distributionManagemetTile/invoker.properties
@@ -0,0 +1 @@
+invoker.goals = clean dependency:go-offline help:effective-pom
diff --git a/src/it/distributionManagemetTile/pom.xml b/src/it/distributionManagemetTile/pom.xml
new file mode 100644
index 0000000..d20c148
--- /dev/null
+++ b/src/it/distributionManagemetTile/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+
+ io.repaint.maven
+ distribution-management-test
+ 1.0-SNAPSHOT
+ pom
+
+ Maven Tiles Order Test
+
+
+ tileA
+ projectA
+
+
diff --git a/src/it/distributionManagemetTile/projectA/pom.xml b/src/it/distributionManagemetTile/projectA/pom.xml
new file mode 100644
index 0000000..bb560e1
--- /dev/null
+++ b/src/it/distributionManagemetTile/projectA/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ io.repaint.maven
+ projectA
+ 1
+ pom
+
+ Maven Distribution Management Test
+
+
+
+
+ io.repaint.maven
+ tiles-maven-plugin
+ @project.version@
+ true
+
+
+ io.repaint.maven:tileA:1
+
+
+
+
+
+
diff --git a/src/it/distributionManagemetTile/tileA/pom.xml b/src/it/distributionManagemetTile/tileA/pom.xml
new file mode 100644
index 0000000..71ab6de
--- /dev/null
+++ b/src/it/distributionManagemetTile/tileA/pom.xml
@@ -0,0 +1,23 @@
+
+
+ 4.0.0
+
+ io.repaint.maven
+ tileA
+ 1
+ tile
+
+ Maven Tiles Distribution Management Test - TileA
+
+
+
+
+ io.repaint.maven
+ tiles-maven-plugin
+ @project.version@
+ true
+
+
+
+
+
diff --git a/src/it/distributionManagemetTile/tileA/tile.xml b/src/it/distributionManagemetTile/tileA/tile.xml
new file mode 100644
index 0000000..2168641
--- /dev/null
+++ b/src/it/distributionManagemetTile/tileA/tile.xml
@@ -0,0 +1,18 @@
+
+
+ 4.0.0
+
+
+
+ sonatype-staging
+ oss.sonatype.org Staging Repository
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+ sonatype-snapshots
+ oss.sonatype.org Snapshot Repository
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+
+
+
\ No newline at end of file
diff --git a/src/it/distributionManagemetTile/verify.bsh b/src/it/distributionManagemetTile/verify.bsh
new file mode 100644
index 0000000..bae48af
--- /dev/null
+++ b/src/it/distributionManagemetTile/verify.bsh
@@ -0,0 +1,13 @@
+import java.io.*;
+import java.util.*;
+
+File file = new File(basedir, "build.log" );
+if ( !file.isFile() ) {
+ throw new FileNotFoundException( "Could not find build log: " + file );
+}
+
+String content = new Scanner(file).useDelimiter("\\Z").next();
+
+// tileX should win
+if (!content.contains("oss.sonatype.org Staging Repository"))
+ throw new Exception("oss.sonatype.org Staging Repository expected to be in effective pom");
diff --git a/src/main/groovy/io/repaint/maven/tiles/TilesMavenLifecycleParticipant.groovy b/src/main/groovy/io/repaint/maven/tiles/TilesMavenLifecycleParticipant.groovy
index 678564c..628e065 100644
--- a/src/main/groovy/io/repaint/maven/tiles/TilesMavenLifecycleParticipant.groovy
+++ b/src/main/groovy/io/repaint/maven/tiles/TilesMavenLifecycleParticipant.groovy
@@ -25,7 +25,6 @@ import org.apache.maven.RepositoryUtils
import org.apache.maven.artifact.Artifact
import org.apache.maven.artifact.DefaultArtifact
import org.apache.maven.artifact.handler.DefaultArtifactHandler
-import org.apache.maven.artifact.repository.ArtifactRepository
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy
import org.apache.maven.artifact.repository.MavenArtifactRepository
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout
@@ -309,7 +308,7 @@ class TilesMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant {
// disabled explicit lookup as these seem to be injected just fine. Are these required for eclipse m2e>
//repositoryFactory = mavenSession.container.lookup(ArtifactRepositoryFactory)
- //repositoryLayouts = mavenSession.lookupMap(ArtifactRepositoryLayout.class.getName()) as Map
+ repositoryLayouts = mavenSession.lookupMap(ArtifactRepositoryLayout.class.getName()) as Map
List allProjects = mavenSession.getProjects()
if (allProjects != null) {
@@ -349,7 +348,6 @@ class TilesMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant {
} else {
return new ArtifactRepositoryPolicy(true, UPDATE_POLICY_ALWAYS, CHECKSUM_POLICY_WARN)
}
-
}
/**
@@ -364,10 +362,11 @@ class TilesMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant {
if (distributionManagement) {
if (distributionManagement.repository) {
- ArtifactRepository repo = new MavenArtifactRepository(
+ ArtifactRepositoryLayout layout = repositoryLayouts.get(distributionManagement.repository.layout);
+ MavenArtifactRepository repo = new MavenArtifactRepository(
distributionManagement.repository.id,
getReleaseDistributionManagementRepositoryUrl(project),
- repositoryFactory.layout,
+ layout,
getArtifactRepositoryPolicy(distributionManagement.repository.snapshots),
getArtifactRepositoryPolicy(distributionManagement.repository.releases))
project.setReleaseArtifactRepository(repo)
@@ -375,10 +374,11 @@ class TilesMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant {
}
if (distributionManagement.snapshotRepository) {
- ArtifactRepository repo = new MavenArtifactRepository(
+ ArtifactRepositoryLayout layout = repositoryLayouts.get(distributionManagement.repository.layout);
+ MavenArtifactRepository repo = new MavenArtifactRepository(
distributionManagement.snapshotRepository.id,
getSnapshotDistributionManagementRepositoryUrl(project),
- repositoryFactory.layout,
+ layout,
getArtifactRepositoryPolicy(distributionManagement.snapshotRepository.snapshots),
getArtifactRepositoryPolicy(distributionManagement.snapshotRepository.releases))
project.setReleaseArtifactRepository(repo)
@@ -503,8 +503,6 @@ class TilesMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant {
Model read(InputStream input, Map options) throws IOException, ModelParseException {
Model model = modelProcessor.read(input, options)
-
-
use(GavUtil) {
// when we reference a submodule of a CI Friendly module in a pom (i.e. a workspace pom in Eclipse)