You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by dd...@apache.org on 2005/11/23 15:20:15 UTC

svn commit: r348447 - in /portals/pluto/trunk: ./ maven-pluto-plugin/ maven-pluto-plugin/src/main/java/org/apache/pluto/maven/ pluto-ant-tasks/ pluto-ant-tasks/src/ pluto-ant-tasks/src/main/ pluto-ant-tasks/src/main/java/ pluto-ant-tasks/src/main/java/...

Author: ddewolf
Date: Wed Nov 23 06:20:02 2005
New Revision: 348447

URL: http://svn.apache.org/viewcvs?rev=348447&view=rev
Log:
Adding Pluto Ant Tasks for non-maven developers to assemble, deploy, and publish

Added:
    portals/pluto/trunk/pluto-ant-tasks/
    portals/pluto/trunk/pluto-ant-tasks/pom.xml
    portals/pluto/trunk/pluto-ant-tasks/src/
    portals/pluto/trunk/pluto-ant-tasks/src/main/
    portals/pluto/trunk/pluto-ant-tasks/src/main/java/
    portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/
    portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/
    portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/
    portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/ant/
    portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/ant/AssembleTask.java
    portals/pluto/trunk/pluto-ant-tasks/src/site/
    portals/pluto/trunk/pluto-ant-tasks/src/site/apt/
    portals/pluto/trunk/pluto-ant-tasks/src/site/apt/getting-started.apt
    portals/pluto/trunk/pluto-ant-tasks/src/site/site.xml
Modified:
    portals/pluto/trunk/maven-pluto-plugin/pom.xml
    portals/pluto/trunk/maven-pluto-plugin/src/main/java/org/apache/pluto/maven/AssembleMojo.java
    portals/pluto/trunk/pluto-container/src/site/apt/getting-started.apt
    portals/pluto/trunk/pluto-portal/pom.xml
    portals/pluto/trunk/pluto-site/pom.xml
    portals/pluto/trunk/pluto-util/pom.xml
    portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/Assembler.java
    portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AssemblerFactory.java
    portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/cli/AssemblerCLI.java
    portals/pluto/trunk/pom.xml

Modified: portals/pluto/trunk/maven-pluto-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/maven-pluto-plugin/pom.xml?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/maven-pluto-plugin/pom.xml (original)
+++ portals/pluto/trunk/maven-pluto-plugin/pom.xml Wed Nov 23 06:20:02 2005
@@ -18,7 +18,7 @@
      <dependency>
        <groupId>org.apache.pluto</groupId>
        <artifactId>pluto-util</artifactId>
-       <version>1.1-SNAPSHOT</version>
+	   <version>${pom.version}</version>
        <scope>compile</scope>
      </dependency>
     <dependency>

Modified: portals/pluto/trunk/maven-pluto-plugin/src/main/java/org/apache/pluto/maven/AssembleMojo.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/maven-pluto-plugin/src/main/java/org/apache/pluto/maven/AssembleMojo.java?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/maven-pluto-plugin/src/main/java/org/apache/pluto/maven/AssembleMojo.java (original)
+++ portals/pluto/trunk/maven-pluto-plugin/src/main/java/org/apache/pluto/maven/AssembleMojo.java Wed Nov 23 06:20:02 2005
@@ -18,6 +18,7 @@
 
 import org.apache.pluto.util.assemble.Assembler;
 import org.apache.pluto.util.assemble.AssemblerConfig;
+import org.apache.pluto.util.assemble.AssemblerFactory;
 import org.apache.pluto.util.assemble.file.FileAssembler;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
@@ -62,12 +63,12 @@
             log.info("Reading portlet.xml from: "+portletXml.getAbsolutePath());
             log.info("Writing web.xml to: "+webXmlDestination.getAbsolutePath());
         }
-        Assembler assembler = createAssembler();
-        assembler.assemble(createAssemblerConfig());
-    }
+        AssemblerConfig config = createAssemblerConfig();
 
-    private Assembler createAssembler() throws IOException {
-        return new FileAssembler();
+        Assembler assembler =
+            AssemblerFactory.getFactory().createAssembler(config);
+
+        assembler.assemble(config);
     }
 
     private AssemblerConfig createAssemblerConfig() {

Added: portals/pluto/trunk/pluto-ant-tasks/pom.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-ant-tasks/pom.xml?rev=348447&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-ant-tasks/pom.xml (added)
+++ portals/pluto/trunk/pluto-ant-tasks/pom.xml Wed Nov 23 06:20:02 2005
@@ -0,0 +1,42 @@
+<project> 
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.pluto.ant</groupId>
+  <artifactId>pluto-ant-tasks</artifactId> 
+  <packaging>jar</packaging>
+  <name>Pluto Ant Tasks</name> 
+  <description>
+    The Pluto Ant Tasks are used to assemble, deploy, and publish
+	portlets to the Pluto Portal Driver.
+  </description>
+
+  <parent>
+    <groupId>org.apache.pluto</groupId>
+	<artifactId>pluto</artifactId>
+	<version>1.1-SNAPSHOT</version>
+  </parent>
+
+   <dependencies>
+     <dependency>
+       <groupId>org.apache.pluto</groupId>
+       <artifactId>pluto-util</artifactId>
+	   <version>${pom.version}</version>
+       <scope>compile</scope>
+     </dependency>
+
+     <dependency>
+       <groupId>ant</groupId>
+       <artifactId>ant</artifactId>
+       <version>1.6.5</version>
+       <scope>compile</scope>
+     </dependency>
+
+   </dependencies>
+
+  <build> 
+    <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory> 
+    <resources>
+
+    </resources>
+  </build> 
+</project>
+

Added: portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/ant/AssembleTask.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/ant/AssembleTask.java?rev=348447&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/ant/AssembleTask.java (added)
+++ portals/pluto/trunk/pluto-ant-tasks/src/main/java/org/apache/pluto/ant/AssembleTask.java Wed Nov 23 06:20:02 2005
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2003,2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.pluto.ant;
+
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.BuildException;
+import org.apache.pluto.util.UtilityException;
+import org.apache.pluto.util.assemble.Assembler;
+import org.apache.pluto.util.assemble.AssemblerFactory;
+import org.apache.pluto.util.assemble.AssemblerConfig;
+
+import java.io.File;
+
+/**
+ * TODO JavaDoc
+ *
+ * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>:
+ * @version 1.0
+ * @since Nov 23, 2005
+ */
+public class AssembleTask extends Task {
+
+    private File portletxml;
+
+    private File webxml;
+
+    private File destfile;
+
+    private File webapp;
+
+    public File getPortletxml() {
+        return portletxml;
+    }
+
+    public void setPortletxml(File portletxml) {
+        this.portletxml = portletxml;
+    }
+
+    public File getWebxml() {
+        return webxml;
+    }
+
+    public void setWebxml(File webxml) {
+        this.webxml = webxml;
+    }
+
+    public File getDestfile() {
+        if(destfile != null)
+            return destfile;
+        return webxml;
+    }
+
+    public void setDestfile(File destfile) {
+        this.destfile = destfile;
+    }
+
+    public File getWebapp() {
+        return webapp;
+    }
+
+    public void setWebapp(File webapp) {
+        this.webapp = webapp;
+    }
+
+    public void execute() throws BuildException {
+
+        validateArgs();
+
+        try {
+            AssemblerConfig config = new AssemblerConfig();
+            config.setPortletDescriptor(getPortletxml());
+            config.setWebappDescriptor(getWebxml());
+            config.setDestination(getDestfile());
+
+            Assembler assembler =
+                AssemblerFactory.getFactory().createAssembler(config);
+
+           assembler.assemble(config);
+        }
+
+        catch(UtilityException ue) {
+            throw new BuildException(ue);
+        }
+    }
+
+    private void validateArgs() throws BuildException {
+        if(webapp != null) {
+            if(!webapp.exists()) {
+               throw new BuildException("webapp "+webapp.getAbsolutePath()+ " does not exist");
+            }
+            return;
+        }
+
+        if(portletxml == null || !portletxml.exists()) {
+            throw new BuildException("portletxml "+portletxml+" does not exist");
+        }
+
+        if(webxml == null || !webxml.exists()) {
+            throw new BuildException("webxml "+webxml + " does not exist");
+        }
+    }
+}

Added: portals/pluto/trunk/pluto-ant-tasks/src/site/apt/getting-started.apt
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-ant-tasks/src/site/apt/getting-started.apt?rev=348447&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-ant-tasks/src/site/apt/getting-started.apt (added)
+++ portals/pluto/trunk/pluto-ant-tasks/src/site/apt/getting-started.apt Wed Nov 23 06:20:02 2005
@@ -0,0 +1,44 @@
+
+ ------
+ Getting Started
+ ------
+ David H. DeWolf
+ ------
+ 23 Nov 2005
+ ------
+
+Getting Started
+
+  The Pluto Ant Tasks have been created to assist those not using
+  maven with the assembly, deployment, and publishing of Maven.
+  A usage example is shown below:
+
+---------------
+
+  <path id="classes">
+    <!--
+      Pluto Ant Tasks depend upon the following libraries:
+        * pluto-ant-tasks-${version}.jar
+        * pluto-util-${version}.jar
+        * pluto-descriptor-api-${version}.jar
+        * pluto-descriptor-util-${version}.jar
+        * commons-logging-1.0.4.jar
+        * castor-0.9.6
+      -->
+    <fileset dir="/path/to/pluto-libraries" includes="**/*.jar"/>
+    <fileset dir="/path/to/commons-logging" includes="**/*.jar"/>
+    <fileset dir="/path/to/castor" includes="**/*.jar"/>
+  </path>
+
+  <typedef name="passemble" classname="org.apache.pluto.ant.AssembleTask"
+		  classpathref="classes"/>
+
+   <target name="passemble">
+     <passemble 
+       webxml="src/config/web.xml" 
+       portletxml="src/config/portlet.xml" 
+       destfile="src/webapp/WEB-INF/web.xml"/>
+   </target>
+
+---------------
+

Added: portals/pluto/trunk/pluto-ant-tasks/src/site/site.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-ant-tasks/src/site/site.xml?rev=348447&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-ant-tasks/src/site/site.xml (added)
+++ portals/pluto/trunk/pluto-ant-tasks/src/site/site.xml Wed Nov 23 06:20:02 2005
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Maven">
+  <bannerLeft>
+    <name>Pluto</name>
+    <src>http://portals.apache.org/pluto/images/pluto.png</src>
+    <href>http://portals.apache.org/pluto</href>
+  </bannerLeft>
+  <bannerRight>
+    <src>http://portals.apache.org/pluto/images/pluto11.png</src>
+  </bannerRight>
+  <body>
+    <links>
+      <item name="Pluto Home" href="http://portals.apache.org/pluto"/>
+      <item name="JSR 168" href="http://jcp.org/en/jsr/detail?id=168"/>
+	  <item name="Chinese Translation" href="http://heavyz.sourceforge.net/pluto_zh/pluto-container"/>
+    </links>
+
+	<menu name="Pluto Ant Tasks">
+      <item name="Getting Started" href="/getting-started.html"/>
+	</menu>
+
+    ${reports}
+  </body>
+</project>

Modified: portals/pluto/trunk/pluto-container/src/site/apt/getting-started.apt
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-container/src/site/apt/getting-started.apt?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/site/apt/getting-started.apt (original)
+++ portals/pluto/trunk/pluto-container/src/site/apt/getting-started.apt Wed Nov 23 06:20:02 2005
@@ -17,3 +17,5 @@
   If you are looking for information on how to embed pluto in your
   portal or web application, please see the {{{embed.html}embedding pluto}}
   documentation for Pluto 1.1.
+
+

Modified: portals/pluto/trunk/pluto-portal/pom.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal/pom.xml?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal/pom.xml (original)
+++ portals/pluto/trunk/pluto-portal/pom.xml Wed Nov 23 06:20:02 2005
@@ -3,7 +3,7 @@
   <groupId>org.apache.pluto</groupId>
   <artifactId>pluto-portal</artifactId>
   <packaging>war</packaging>
-  <name>Pluto Portal Driver</name>
+  <name>Pluto Portal</name>
   <url>http://portals.apache.org/pluto</url>
   <parent>
     <groupId>org.apache.pluto</groupId>

Modified: portals/pluto/trunk/pluto-site/pom.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-site/pom.xml?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-site/pom.xml (original)
+++ portals/pluto/trunk/pluto-site/pom.xml Wed Nov 23 06:20:02 2005
@@ -7,7 +7,7 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>pluto-site</artifactId>
-  <name>Pluto</name>
+  <name>Pluto Website Documentation</name>
   <url>http://portals.apache.org/pluto/</url>
   <inceptionYear>2001</inceptionYear>
   <distributionManagement>

Modified: portals/pluto/trunk/pluto-util/pom.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-util/pom.xml?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-util/pom.xml (original)
+++ portals/pluto/trunk/pluto-util/pom.xml Wed Nov 23 06:20:02 2005
@@ -7,7 +7,7 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>pluto-util</artifactId>
-  <name>Pluto</name>
+  <name>Pluto Utilities</name>
   <url>http://portals.apache.org/pluto/pluto-1.1</url>
   <inceptionYear>2001</inceptionYear>
 

Modified: portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/Assembler.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/Assembler.java?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/Assembler.java (original)
+++ portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/Assembler.java Wed Nov 23 06:20:02 2005
@@ -43,7 +43,7 @@
      * with the new application.
      *
      */
-    void assemble(AssemblerConfig config) throws IOException, UtilityException;
+    void assemble(AssemblerConfig config) throws UtilityException;
 
 }
 

Modified: portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AssemblerFactory.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AssemblerFactory.java?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AssemblerFactory.java (original)
+++ portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/assemble/AssemblerFactory.java Wed Nov 23 06:20:02 2005
@@ -40,7 +40,7 @@
         return factory;
     }
 
-    public Assembler createAssembler(File webapp, File destination) {
+    public Assembler createAssembler(AssemblerConfig config) {
             return new FileAssembler();
     }
 }

Modified: portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/cli/AssemblerCLI.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/cli/AssemblerCLI.java?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/cli/AssemblerCLI.java (original)
+++ portals/pluto/trunk/pluto-util/src/main/java/org/apache/pluto/util/cli/AssemblerCLI.java Wed Nov 23 06:20:02 2005
@@ -87,10 +87,14 @@
         File webXml = new File(args[0], Assembler.SERVLET_XML);
         File portletXml = new File(args[0], Assembler.PORTLET_XML);
 
+        AssemblerConfig config = new AssemblerConfig();
+        config.setWebappDescriptor(webXml);
+        config.setPortletDescriptor(portletXml);
+        config.setDestination(webXml);
+        
         Assembler assembler = AssemblerFactory.getFactory()
-            .createAssembler(webXml, portletXml);
+            .createAssembler(config);
 
-        AssemblerConfig config = new AssemblerConfig();
         config.setPortletDescriptor(portletXml);
         config.setWebappDescriptor(webXml);
 

Modified: portals/pluto/trunk/pom.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pom.xml?rev=348447&r1=348446&r2=348447&view=diff
==============================================================================
--- portals/pluto/trunk/pom.xml (original)
+++ portals/pluto/trunk/pom.xml Wed Nov 23 06:20:02 2005
@@ -179,16 +179,21 @@
   </organization>
 
   <modules>
-    <module>maven-pluto-plugin</module>
+	<!-- ==== Core ==== -->
     <module>pluto-descriptor-api</module>
     <module>pluto-descriptor-impl</module>
     <module>pluto-container</module>
     <module>pluto-taglib</module>
-    <module>pluto-util</module>
+	<!-- === Portal === -->
     <module>pluto-portal-driver</module>
     <module>pluto-portal</module>
-    <module>pluto-site</module>
     <module>pluto-testsuite</module>
+	<!-- == Utilities = -->
+    <module>pluto-util</module>
+    <module>maven-pluto-plugin</module>
+	<module>pluto-ant-tasks</module>
+	<!-- ==== Misc ==== -->
+    <module>pluto-site</module>
   </modules>
   
   <distributionManagement>