You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2007/02/01 23:48:57 UTC
svn commit: r502389 - in /maven/continuum/trunk/continuum-core/src:
main/java/org/apache/maven/continuum/project/builder/maven/
test/java/org/apache/maven/continuum/project/builder/maven/
test/resources/projects/continuum/
Author: evenisse
Date: Thu Feb 1 14:48:56 2007
New Revision: 502389
URL: http://svn.apache.org/viewvc?view=rev&rev=502389
Log:
Allow to add a pom with a file name that isn't pom.xml
Added:
maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml (with props)
Modified:
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java
maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java?view=diff&rev=502389&r1=502388&r2=502389
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java Thu Feb 1 14:48:56 2007
@@ -236,16 +236,20 @@
int i = prefix.indexOf( '?' );
+ int lastSlash;
+
if ( i != -1 )
{
suffix = prefix.substring( i );
- prefix = prefix.substring( 0, i - POM_PART.length() );
+ lastSlash = prefix.lastIndexOf( "/", i );
}
else
{
- prefix = prefix.substring( 0, prefix.length() - POM_PART.length() );
+ lastSlash = prefix.lastIndexOf( "/" );
}
+
+ prefix = prefix.substring( 0, lastSlash );
for ( Iterator it = modules.iterator(); it.hasNext(); )
{
Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java?view=diff&rev=502389&r1=502388&r2=502389
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java Thu Feb 1 14:48:56 2007
@@ -252,6 +252,100 @@
assertDependency( "Continuum Model", "Continuum Web", projects );
}
+ public void testCreateProjectsWithModuleswithParentPomIsntPomXml()
+ throws Exception
+ {
+ ContinuumProjectBuilder projectBuilder =
+ (ContinuumProjectBuilder) lookup( ContinuumProjectBuilder.ROLE, MavenTwoContinuumProjectBuilder.ID );
+
+ URL url = getClass().getClassLoader().getResource( "projects/continuum/pom_ci.xml" );
+
+ // Eat System.out
+ PrintStream ps = System.out;
+
+ ContinuumProjectBuildingResult result;
+
+ try
+ {
+ System.setOut( new PrintStream( new ByteArrayOutputStream() ) );
+
+ result = projectBuilder.buildProjectsFromMetadata( url, null, null );
+ }
+ finally
+ {
+ System.setOut( ps );
+ }
+
+ assertNotNull( result );
+
+ // ----------------------------------------------------------------------
+ // Assert the warnings
+ // ----------------------------------------------------------------------
+
+ assertNotNull( result.getErrors() );
+
+ assertEquals( 1, result.getErrors().size() );
+
+ assertEquals( ContinuumProjectBuildingResult.ERROR_POM_NOT_FOUND, result.getErrors().get( 0 ).toString() );
+
+ // ----------------------------------------------------------------------
+ // Assert the project group built
+ // ----------------------------------------------------------------------
+
+ assertNotNull( result.getProjectGroups() );
+
+ assertEquals( 1, result.getProjectGroups().size() );
+
+ ProjectGroup projectGroup = (ProjectGroup) result.getProjectGroups().iterator().next();
+
+ assertEquals( "projectGroup.groupId", "org.apache.maven.continuum", projectGroup.getGroupId() );
+
+ assertEquals( "projectGroup.name", "Continuum Parent Project", projectGroup.getName() );
+
+ assertEquals( "projectGroup.description", "Continuum Project Description", projectGroup.getDescription() );
+
+ // assertEquals( "projectGroup.url", "http://cvs.continuum.codehaus.org/", projectGroup.getUrl() );
+
+ // ----------------------------------------------------------------------
+ // Assert the projects built
+ // ----------------------------------------------------------------------
+
+ assertNotNull( result.getProjects() );
+
+ assertEquals( 9, result.getProjects().size() );
+
+ Map projects = new HashMap();
+
+ for ( Iterator it = result.getProjects().iterator(); it.hasNext(); )
+ {
+ Project project = (Project) it.next();
+
+ assertNotNull( project.getName() );
+
+ projects.put( project.getName(), project );
+ }
+
+ assertMavenTwoProject( "Continuum Core", projects );
+ assertMavenTwoProject( "Continuum Model", projects );
+ assertMavenTwoProject( "Continuum Plexus Application", projects );
+ assertScmUrl( "Continuum Web", projects,
+ "scm:svn:http://svn.apache.org/repos/asf/maven/continuum/tags/continuum-1.0.3/continuum-web" );
+ //directoryName != artifactId for this project
+ assertScmUrl( "Continuum XMLRPC Interface", projects,
+ "scm:svn:http://svn.apache.org/repos/asf/maven/continuum/tags/continuum-1.0.3/continuum-xmlrpc" );
+ assertMavenTwoProject( "Continuum Notifiers", projects );
+ assertMavenTwoProject( "Continuum IRC Notifier", projects );
+ assertMavenTwoProject( "Continuum Jabber Notifier", projects );
+
+ assertEquals( "continuum-parent-notifiers",
+ ( (Project) projects.get( "Continuum IRC Notifier" ) ).getParent().getArtifactId() );
+
+ assertEquals( "continuum-parent-notifiers",
+ ( (Project) projects.get( "Continuum Jabber Notifier" ) ).getParent().getArtifactId() );
+
+ assertDependency( "Continuum Model", "Continuum Web", projects );
+ }
+
public void testCreateProjectWithoutModules()
throws Exception
{
Added: maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml?view=auto&rev=502389
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml (added)
+++ maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml Thu Feb 1 14:48:56 2007
@@ -0,0 +1,118 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-parent</artifactId>
+ <version>1.0.3</version>
+ <packaging>pom</packaging>
+ <name>Continuum Parent Project</name>
+ <description>Continuum Project Description</description>
+ <url>http://cvs.continuum.codehaus.org/</url>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://continuum.codehaus.org/continuumweb/servlet/continuum</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <address>dev@continuum.codehaus.org</address>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/CONTINUUM</url>
+ </issueManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Continuum Announce List</name>
+ <subscribe>announce-subscribe@continuum.codehaus.org</subscribe>
+ <unsubscribe>announce-unsubscribe@continuum.codehaus.org</unsubscribe>
+ <archive>http://archive.continuum.codehaus.org/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Continuum Despots List</name>
+ <subscribe>despots-subscribe@continuum.codehaus.org</subscribe>
+ <unsubscribe>despots-unsubscribe@continuum.codehaus.org</unsubscribe>
+ <archive>http://archive.continuum.codehaus.org/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Continuum Dev List</name>
+ <subscribe>dev-subscribe@continuum.codehaus.org</subscribe>
+ <unsubscribe>dev-unsubscribe@continuum.codehaus.org</unsubscribe>
+ <archive>http://archive.continuum.codehaus.org/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Continuum User List</name>
+ <subscribe>user-subscribe@continuum.codehaus.org</subscribe>
+ <unsubscribe>user-unsubscribe@continuum.codehaus.org</unsubscribe>
+ <archive>http://archive.continuum.codehaus.org/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Continuum SCM List</name>
+ <subscribe>scm-subscribe@continuum.codehaus.org</subscribe>
+ <unsubscribe>scm-unsubscribe@continuum.codehaus.org</unsubscribe>
+ <archive>http://archive.continuum.codehaus.org/</archive>
+ </mailingList>
+ </mailingLists>
+ <dependencies>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
+ <dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0-alpha-3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/continuum/tags/continuum-1.0.3</connection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/continuum/tags/continuum-1.0.3</url>
+ </scm>
+ <organization>
+ <name>Apache</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Repository</name>
+ <url>scp://beaver.codehaus.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ </distributionManagement>
+ <modules>
+ <module>continuum-core</module>
+ <module>continuum-model</module>
+ <module>continuum-plexus-application</module>
+ <module>continuum-web</module>
+ <module>continuum-xmlrpc</module>
+ <module>continuum-notifiers</module>
+ <module>I'm-not-here-project</module>
+ </modules>
+</project>
Propchange: maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-core/src/test/resources/projects/continuum/pom_ci.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"