Author: sisbell Date: Mon Jul 14 20:25:14 2008 New Revision: 676790 URL: http://svn.apache.org/viewvc?rev=676790&view=rev Log: Fixed scm unit tests to verify that the scm URL contains artifact id (not module name). Added support for scm developer and scm connection rules.
Modified: maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java Modified: maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java?rev=676790&r1=676789&r2=676790&view=diff ============================================================================== --- maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java (original) +++ maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java Mon Jul 14 20:25:14 2008 @@ -14,7 +14,8 @@ ProjectUri.Repositories.Repository.xUri, ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.xUri, ProjectUri.Profiles.Profile.xUri, - ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri + ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri, + ProjectUri.Profiles.Profile.Build.Plugins.Plugin.Executions.Execution.xUri )); public Collection<String> getUris() { Modified: maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=676790&r1=676789&r2=676790&view=diff ============================================================================== --- maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java (original) +++ maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java Mon Jul 14 20:25:14 2008 @@ -38,6 +38,7 @@ ProjectUri.Dependencies.Dependency.Exclusions.xUri, ProjectUri.DependencyManagement.Dependencies.xUri, + ProjectUri.DependencyManagement.Dependencies.Dependency.Exclusions.xUri, ProjectUri.Developers.xUri, ProjectUri.Licenses.xUri, @@ -46,24 +47,22 @@ ProjectUri.PluginRepositories.xUri, ProjectUri.Profiles.xUri, + ProjectUri.Profiles.Profile.Build.Plugins.Plugin.Dependencies.xUri, + ProjectUri.Profiles.Profile.Build.Resources.xUri, ProjectUri.Profiles.Profile.Build.TestResources.xUri, ProjectUri.Profiles.Profile.Dependencies.xUri, + ProjectUri.Profiles.Profile.Dependencies.Dependency.Exclusions.xUri, ProjectUri.Profiles.Profile.DependencyManagement.Dependencies.xUri, + ProjectUri.Profiles.Profile.PluginRepositories.xUri, ProjectUri.Profiles.Profile.Repositories.xUri, ProjectUri.Reporting.Plugins.xUri, + ProjectUri.Reporting.Plugins.Plugin.ReportSets.xUri, ProjectUri.Repositories.xUri, - "http://apache.org/maven/project/dependencyManagement/dependencies/dependency/exclusions#collection", - "http://apache.org/maven/project/reporting/plugins/plugin/reportSets#collection", - "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins/plugin/dependencies#collection", - "http://apache.org/maven/project/profiles/profile/build/resources#collection", "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins/plugin/dependencies/dependency/exclusions#collection", - "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/dependencies#collection", - "http://apache.org/maven/project/profiles/profile/pluginRepositories#collection", - "http://apache.org/maven/project/profiles/profile/dependencies/dependency/exclusions#collection", "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins/plugin/executions#collection", "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins#collection", "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/dependencies/dependency/exclusions#collection", @@ -74,7 +73,6 @@ "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/executions#collection", "http://apache.org/maven/project/build/plugins/plugin/dependencies/dependency/exclusions#collection", - "http://apache.org/maven/project/build/plugins/plugin/dependencies#collection", "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/dependencies/dependency/exclusions#collection", "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/executions#collection", "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/dependencies#collection" @@ -113,7 +111,8 @@ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>(); List<String> projectNames = new ArrayList<String>(); StringBuffer scmUrl = new StringBuffer(); - + StringBuffer scmConnectionUrl = new StringBuffer(); + StringBuffer scmDeveloperUrl = new StringBuffer(); for (DomainModel domainModel : domainModels) { if (!(domainModel instanceof PomClassicDomainModel)) { throw new IllegalArgumentException("domainModels: Invalid domain model"); @@ -154,7 +153,7 @@ if (mp.getUri().equals(ProjectUri.Build.Plugins.Plugin.Executions.Execution.inherited) && mp.getValue() != null && mp.getValue().equals("false")) { removeProperties.addAll(container.getProperties()); - for (int j = tmp.indexOf(mp); j >=0; j--) { + for (int j = tmp.indexOf(mp); j >= 0; j--) { if (tmp.get(j).getUri().equals(ProjectUri.Build.Plugins.Plugin.Executions.xUri)) { removeProperties.add(tmp.get(j)); break; @@ -178,6 +177,31 @@ tmp.remove(index); tmp.add(index, new ModelProperty(ProjectUri.Scm.url, scmUrl.toString())); } + + //SCM Connection Rule + scmUrlProperty = getPropertyFor(ProjectUri.Scm.connection, tmp); + if (scmConnectionUrl.length() == 0 && scmUrlProperty != null) { + scmConnectionUrl.append(scmUrlProperty.getValue()); + for (String projectName : projectNames) { + scmConnectionUrl.append("/").append(projectName); + } + int index = tmp.indexOf(scmUrlProperty); + tmp.remove(index); + tmp.add(index, new ModelProperty(ProjectUri.Scm.connection, scmConnectionUrl.toString())); + } + + //SCM Developer Rule + scmUrlProperty = getPropertyFor(ProjectUri.Scm.developerConnection, tmp); + if (scmDeveloperUrl.length() == 0 && scmUrlProperty != null) { + scmDeveloperUrl.append(scmUrlProperty.getValue()); + for (String projectName : projectNames) { + scmDeveloperUrl.append("/").append(projectName); + } + int index = tmp.indexOf(scmUrlProperty); + tmp.remove(index); + tmp.add(index, new ModelProperty(ProjectUri.Scm.developerConnection, scmDeveloperUrl.toString())); + } + projectNames.add(0, getPropertyFor(ProjectUri.artifactId, tmp).getValue()); modelProperties.addAll(tmp); Modified: maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java?rev=676790&r1=676789&r2=676790&view=diff ============================================================================== --- maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java (original) +++ maven/sandbox/branches/SI_MAVEN_2_1/maven-project/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java Mon Jul 14 20:25:14 2008 @@ -69,12 +69,12 @@ System.out.println( "Child SCM developer connection is: " + project1.getScm().getDeveloperConnection() ); - assertEquals( project1.getScm().getUrl(), project0.getScm().getUrl() + "/modules/p1" ); + assertEquals( project1.getScm().getUrl(), project0.getScm().getUrl() + "/p1" ); assertEquals( project1.getScm().getConnection(), project0.getScm().getConnection() - + "/modules/p1" ); + + "/p1" ); assertEquals( project1.getScm().getDeveloperConnection(), project0.getScm() .getDeveloperConnection() - + "/modules/p1" ); + + "/p1" ); } public void testScmInfoCalculatedCorrectlyOnChildOnlyRead() @@ -93,10 +93,9 @@ System.out.println( "Child SCM developer connection is: " + project1.getScm().getDeveloperConnection() ); - assertEquals( project1.getScm().getUrl(), "http://host/viewer?path=/p0/modules/p1" ); - assertEquals( project1.getScm().getConnection(), "scm:svn:http://host/p0/modules/p1" ); - assertEquals( project1.getScm().getDeveloperConnection(), - "scm:svn:https://host/p0/modules/p1" ); + assertEquals("http://host/viewer?path=/p0/p1", project1.getScm().getUrl()); + assertEquals( "scm:svn:http://host/p0/p1", project1.getScm().getConnection() ); + assertEquals("scm:svn:https://host/p0/p1", project1.getScm().getDeveloperConnection()); } // public void testScmInfoCalculatedCorrectlyOnChildReadFromLocalRepository()