You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2007/10/05 03:25:11 UTC

svn commit: r582051 - in /maven/plugins/trunk/maven-eclipse-plugin/src: main/java/org/apache/maven/plugin/eclipse/writers/rad/ test/java/org/apache/maven/plugin/eclipse/ test/resources/projects/project-rad-5/ test/resources/projects/project-rad-5/proje...

Author: brianf
Date: Thu Oct  4 18:25:10 2007
New Revision: 582051

URL: http://svn.apache.org/viewvc?rev=582051&view=rev
Log:
merging patch for MECLIPSE-242

Added:
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-4/
      - copied from r580176, maven/plugins/branches/MECLIPSE-242/src/test/resources/projects/project-rad-5/project-rad-4/
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-4/pom.xml
      - copied unchanged from r580176, maven/plugins/branches/MECLIPSE-242/src/test/resources/projects/project-rad-5/project-rad-4/pom.xml
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-4/src/
      - copied from r580176, maven/plugins/branches/MECLIPSE-242/src/test/resources/projects/project-rad-5/project-rad-4/src/
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-4/src/main/
      - copied from r580176, maven/plugins/branches/MECLIPSE-242/src/test/resources/projects/project-rad-5/project-rad-4/src/main/
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-4/src/main/resources/
      - copied from r580176, maven/plugins/branches/MECLIPSE-242/src/test/resources/projects/project-rad-5/project-rad-4/src/main/resources/
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-4/src/main/resources/DummyResource.txt
      - copied unchanged from r580176, maven/plugins/branches/MECLIPSE-242/src/test/resources/projects/project-rad-5/project-rad-4/src/main/resources/DummyResource.txt
Modified:
    maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadWebSettingsWriter.java
    maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/pom.xml
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/pom.xml
    maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/websettings

Modified: maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadWebSettingsWriter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadWebSettingsWriter.java?rev=582051&r1=582050&r2=582051&view=diff
==============================================================================
--- maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadWebSettingsWriter.java (original)
+++ maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadWebSettingsWriter.java Thu Oct  4 18:25:10 2007
@@ -26,6 +26,8 @@
 import org.apache.maven.plugin.eclipse.Constants;
 import org.apache.maven.plugin.eclipse.Messages;
 import org.apache.maven.plugin.eclipse.writers.AbstractEclipseWriter;
+import org.apache.maven.plugin.ide.IdeDependency;
+import org.apache.maven.plugin.ide.IdeUtils;
 import org.apache.maven.plugin.ide.JeeUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
@@ -36,7 +38,8 @@
  * 
  * @author <a href="mailto:nir@cfc.at">Richard van Nieuwenhoven </a>
  */
-public class RadWebSettingsWriter extends AbstractEclipseWriter
+public class RadWebSettingsWriter
+    extends AbstractEclipseWriter
 {
 
     private static final String COM_IBM_ETOOLS_SITEEDIT_WIZARDS_PROJECTFEATURE_WEB_SITE_FEATURE =
@@ -64,6 +67,14 @@
 
     private static final String WEBSETTINGS_WEBSETTINGS = "websettings";
 
+    private static final String WEBSETTINGS_LIBMODULES = "lib-modules";
+
+    private static final String WEBSETTINGS_LIBMODULE = "lib-module";
+
+    private static final String WEBSETTINGS_LM_JAR = "jar";
+
+    private static final String WEBSETTINGS_LM_PROJECT = "project";
+
     /**
      * the context root to use for this project
      */
@@ -72,8 +83,7 @@
     /**
      * required default constructor.
      * 
-     * @param warContextRoot
-     *            the context root to use for this project
+     * @param warContextRoot the context root to use for this project
      */
     public RadWebSettingsWriter( String warContextRoot )
     {
@@ -83,10 +93,10 @@
     /**
      * write the websettings file for RAD6 if needed.
      * 
-     * @throws MojoExecutionException
-     *             when writing the config files was not possible
+     * @throws MojoExecutionException when writing the config files was not possible
      */
-    public void write() throws MojoExecutionException
+    public void write()
+        throws MojoExecutionException
     {
         FileWriter w;
         if ( Constants.PROJECT_PACKAGING_WAR.equalsIgnoreCase( config.getProject().getPackaging() ) )
@@ -109,8 +119,7 @@
     /**
      * write the websettings file for RAD6.
      * 
-     * @param writer
-     *            where to write to
+     * @param writer where to write to
      */
     private void writeModuleTypeFacetCore( XMLWriter writer )
     {
@@ -140,14 +149,51 @@
         writer.endElement();
         writer.endElement();
         writer.endElement();
-        writer.endElement();
+
+        // library modules
+        writer.startElement( WEBSETTINGS_LIBMODULES );
+
+        // iterate relevant dependencies (non-test, non-provided, project)
+        IdeDependency[] deps = config.getDeps();
+        if ( deps != null )
+        {
+            for ( int i = 0; i < deps.length; i++ )
+            {
+                final IdeDependency dependency = deps[i];
+                log.debug( "RadWebSettingsWriter: checking dependency " + dependency.toString() );
+
+                if ( dependency.isReferencedProject() && !dependency.isTestDependency() && !dependency.isProvided() )
+                {
+                    log.debug( "RadWebSettingsWriter: dependency " + dependency.toString()
+                        + " selected for inclusion as lib-module" );
+                    
+                    String depName = IdeUtils.getProjectName( config.getProjectNameTemplate(), dependency );
+                    String depJar = dependency.getArtifactId() + ".jar";
+
+                    writer.startElement( WEBSETTINGS_LIBMODULE );
+
+                    writer.startElement( WEBSETTINGS_LM_JAR );
+                    writer.writeText( depJar );
+                    writer.endElement(); // jar
+
+                    writer.startElement( WEBSETTINGS_LM_PROJECT );
+                    writer.writeText( depName );
+                    writer.endElement(); // project
+
+                    writer.endElement(); // libmodule
+                }
+            }
+        }
+
+        writer.endElement(); // libmodules
+        writer.endElement(); // websettings
+
     }
 
     /**
      * Create the ContextRoot for this project, the default is the artifact id
      * 
-     * @param warContextRoot
-     *            set as a configuration property.
+     * @param warContextRoot set as a configuration property.
      * @return the context root to use
      */
     private String getContextRoot( String warContextRoot )

Modified: maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java?rev=582051&r1=582050&r2=582051&view=diff
==============================================================================
--- maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java (original)
+++ maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java Thu Oct  4 18:25:10 2007
@@ -50,8 +50,8 @@
     {
         testProject( "project-rad-2", new Properties(), "rad-clean", "rad" );
         File generatedManifest = getTestFile( PROJECTS_BASEDIR + "/project-rad-2/src/main/webapp/META-INF/MANIFEST.MF" );
-        File expectedManifest = getTestFile( PROJECTS_BASEDIR
-            + "/project-rad-2/src/main/webapp/META-INF/expected_MANIFEST.MF" );
+        File expectedManifest =
+            getTestFile( PROJECTS_BASEDIR + "/project-rad-2/src/main/webapp/META-INF/expected_MANIFEST.MF" );
         assertFileEquals( localRepositoryDirectory.getCanonicalPath(), expectedManifest, generatedManifest );
 
     }
@@ -61,8 +61,8 @@
     {
         testProject( "project-rad-3", new Properties(), "rad-clean", "rad" );
         File generatedManifest = getTestFile( PROJECTS_BASEDIR + "/project-rad-3/ejbModule/META-INF/MANIFEST.MF" );
-        File expectedManifest = getTestFile( PROJECTS_BASEDIR
-            + "/project-rad-3/ejbModule/META-INF/expected_MANIFEST.MF" );
+        File expectedManifest =
+            getTestFile( PROJECTS_BASEDIR + "/project-rad-3/ejbModule/META-INF/expected_MANIFEST.MF" );
         assertFileEquals( localRepositoryDirectory.getCanonicalPath(), expectedManifest, generatedManifest );
     }
 
@@ -110,28 +110,28 @@
 
         executeMaven( pom0, props, goals );
 
-        //        this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
-        //            .asList( new String[] {
-        //                "install",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
-        //                            new Properties(), basedir );
-        //        this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
-        //            .asList( new String[] {
-        //                "install",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
-        //                            new Properties(), basedir );
+        // this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
+        // .asList( new String[] {
+        // "install",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+        // new Properties(), basedir );
+        // this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
+        // .asList( new String[] {
+        // "install",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+        // new Properties(), basedir );
 
         // jar muss reincoliert sein
         assertTrue( "Expected file not found: project-rad-1/maven-core-98.0.jar",
                     new File( basedir, "project-rad-1/maven-core-98.0.jar" ).exists() );
 
-        Xpp3Dom applicationXml = Xpp3DomBuilder
-            .build( new FileReader( new File( basedir, "project-rad-1/META-INF/application.xml" ) ) );
+        Xpp3Dom applicationXml =
+            Xpp3DomBuilder.build( new FileReader( new File( basedir, "project-rad-1/META-INF/application.xml" ) ) );
 
-        Xpp3Dom modulesmapsXml = Xpp3DomBuilder
-            .build( new FileReader( new File( basedir, "project-rad-1/META-INF/.modulemaps" ) ) );
+        Xpp3Dom modulesmapsXml =
+            Xpp3DomBuilder.build( new FileReader( new File( basedir, "project-rad-1/META-INF/.modulemaps" ) ) );
 
         assertNotNull( modulesmapsXml );
 
@@ -147,6 +147,13 @@
         assertEquals( "project-rad-5_2", webappModule.getChild( "web" ).getChild( "context-root" ).getValue() );
         assertEquals( "project-rad-5_3.jar", ejbModule.getChild( "ejb" ).getValue() );
 
+        Xpp3Dom websettings =
+            Xpp3DomBuilder.build( new FileReader( new File( basedir, "project-rad-2/.websettings" ) ) );
+
+        assertEquals( "project-rad-5_4.jar",
+                      websettings.getChild( "lib-modules" ).getChild( "lib-module" ).getChild( "jar" ).getValue() );
+        assertEquals( "project-rad-5_4",
+                      websettings.getChild( "lib-modules" ).getChild( "lib-module" ).getChild( "project" ).getValue() );
     }
 
     public void testProject5_2()
@@ -185,19 +192,19 @@
 
         executeMaven( pom0, props, goals );
 
-        //        this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
-        //            .asList( new String[] {
-        //                "install",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
-        //                            new Properties(), basedir );
+        // this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
+        // .asList( new String[] {
+        // "install",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+        // new Properties(), basedir );
         //        
-        //        this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
-        //            .asList( new String[] {
-        //                "install",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
-        //                "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
-        //                            new Properties(), basedir );
+        // this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
+        // .asList( new String[] {
+        // "install",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+        // "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+        // new Properties(), basedir );
 
         assertTrue( "Expected file not found: project-rad-1/maven-core-98.0.jar",
                     new File( basedir, "project-rad-1/maven-core-98.0.jar" ).exists() );

Modified: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/pom.xml?rev=582051&r1=582050&r2=582051&view=diff
==============================================================================
--- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/pom.xml (original)
+++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/pom.xml Thu Oct  4 18:25:10 2007
@@ -10,6 +10,7 @@
     <module>project-rad-1</module>
     <module>project-rad-2</module>
     <module>project-rad-3</module>
+    <module>project-rad-4</module>
   </modules>
   <build>
     <plugins>
@@ -47,4 +48,4 @@
       </plugin>
     </plugins>
   </build>
-</project>
\ No newline at end of file
+</project>

Modified: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/pom.xml?rev=582051&r1=582050&r2=582051&view=diff
==============================================================================
--- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/pom.xml (original)
+++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/pom.xml Thu Oct  4 18:25:10 2007
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
@@ -17,6 +16,11 @@
 			<groupId>maven</groupId>
 			<artifactId>maven-core</artifactId>
 			<version>98.0</version>
+		</dependency>
+		<dependency>
+			<groupId>eclipse.test</groupId>
+			<artifactId>project-rad-5_4</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
 	<build>

Modified: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/websettings
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/websettings?rev=582051&r1=582050&r2=582051&view=diff
==============================================================================
--- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/websettings (original)
+++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-5/project-rad-2/websettings Thu Oct  4 18:25:10 2007
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <websettings version="600">
   <webcontent>src/main/webapp</webcontent>
-  <context-root>maven-eclipse-plugin-test-project-rad-2</context-root>
+  <context-root>project-rad-5_2</context-root>
   <project-type>J2EE</project-type>
-  <jsp-level>1.3</jsp-level>
+  <jsp-level>2.0</jsp-level>
   <features>
     <feature>
       <feature-id>templatefeature</feature-id>
@@ -12,4 +12,10 @@
       <feature-id>com.ibm.etools.siteedit.wizards.projectfeature.WebSiteFeature</feature-id>
     </feature>
   </features>
-</websettings>
\ No newline at end of file
+  <lib-modules>
+    <lib-module>
+      <jar>project-rad-5_4.jar</jar>
+      <project>project-rad-5_4</project>
+    </lib-module>
+  </lib-modules>
+</websettings>