You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2006/02/18 04:16:34 UTC

svn commit: r378684 - in /beehive/trunk: docs/maven-support.txt maven/ maven/build.xml maven/m2/ maven/m2/maven-metadata.xml maven/poms/ maven/poms/beehive-controls.pom

Author: ekoneil
Date: Fri Feb 17 19:16:31 2006
New Revision: 378684

URL: http://svn.apache.org/viewcvs?rev=378684&view=rev
Log:
Adding infrastructure for creating Maven v1 and v2 directory layouts for uploading Beehvie to the Maven repository.  The POMs need significant work and aren't ready to be deployed.

BB: self
Test: none -- this isn't wired into the build


Added:
    beehive/trunk/docs/maven-support.txt
    beehive/trunk/maven/
    beehive/trunk/maven/build.xml
    beehive/trunk/maven/m2/
    beehive/trunk/maven/m2/maven-metadata.xml
    beehive/trunk/maven/poms/
    beehive/trunk/maven/poms/beehive-controls.pom

Added: beehive/trunk/docs/maven-support.txt
URL: http://svn.apache.org/viewcvs/beehive/trunk/docs/maven-support.txt?rev=378684&view=auto
==============================================================================
--- beehive/trunk/docs/maven-support.txt (added)
+++ beehive/trunk/docs/maven-support.txt Fri Feb 17 19:16:31 2006
@@ -0,0 +1,79 @@
+Overview
+========
+
+Producing Maven from the Build
+==============================
+In order to support Maven, the Beehive build neesd to support copying the Maven artifacts into directories that can be uploaded into M1.x and M2 repositories.  Unfortunately, the Maven 1 and 2 repository layouts are different and two different uploadable directories need to be created.
+
+Note:
+- All resources in the Maven repository must be *both* signed and checksum-ed.
+- All resources must have the version number embedded.
+
+Maven 1.x
+=========
+beehive/
+  distributions/
+    <empty>
+  jars/
+    beehive-controls-<version>.jar
+    beehive-netui-core-<version>.jar
+    beehive-netui-compiler-<version>.jar
+    beehive-netui-tags-<version>.jar
+    beehive-ejb-control-<version>.jar
+    beehive-jms-control-<version>.jar
+    beehive-jdbc-control-<version>.jar
+  licenses/
+    LICENSE
+  poms/
+    beehive-controls-<version>.pom
+    beehive-netui-<version>.pom
+  
+- How do we distribute the NetUI webapp resources in Maven 1.x?
+
+Maven 2.x
+=========
+beehive/
+  <version>/
+    maven-metadata.xml  
+    beehive-controls-<version>.pom
+    beehive-netui-<version>.pom
+    beehive-controls-<version>.jar
+    beehive-netui-core-<version>.jar
+    beehive-netui-compiler-<version>.jar
+    beehive-netui-tags-<version>.jar
+    beehive-ejb-control-<version>.jar
+    beehive-jms-control-<version>.jar
+    beehive-jdbc-control-<version>.jar
+  maven-metadata.xml
+
+- The NetUI resources are made available from the NetUI webapp archetype.
+- Where do the M2 archetypes go?
+- Can the same POM versions be used with Maven1 and Maven2?  Yes.  Looks like the Struts 1.2.8 ones are common between Maven1 and Maven2.
+
+Using Maven with Beehive
+========================
+
+Attachments
+===========
+top-level maven-metadata.xml
+:::
+<metadata>
+    <groupId>org.apache.beehive</groupId>
+    <artifactId>beehive</artifactId>
+    <version>1.0.1</version>
+    <versioning>
+        <versions>
+            <version>1.0.1</version>
+        </versions>
+    </versioning>
+</metadata>
+:::
+
+release maven-metadata.xml
+:::
+<metadata>
+    <groupId>org.apache.beehive</groupId>
+    <artifactId>beehive</artifactId>
+    <version>1.0.1</version>
+</metadata>
+:::
\ No newline at end of file

Added: beehive/trunk/maven/build.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/maven/build.xml?rev=378684&view=auto
==============================================================================
--- beehive/trunk/maven/build.xml (added)
+++ beehive/trunk/maven/build.xml Fri Feb 17 19:16:31 2006
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!--
+   Copyright 2006 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.
+  
+   $Header:$
+-->
+
+<!-- 
+    Beehive build file.
+-->
+<project name="Beehive/Maven" default="usage" basedir=".">
+
+    <import file="../beehive-imports.xml"/>
+
+    <property name="_maven.dir" location="${beehive.home}/build/maven/"/>
+
+    <target name="build" description="Build the Maven output directories">
+
+        <!-- maven1 -->
+        <copy-libraries destdir="${_maven.dir}/maven1"/>
+        <copy-poms destdir="${_maven.dir}/maven1"/>
+        <do-checksum dir="${_maven.dir}/maven1"/>
+
+        <!-- maven2 -->
+        <copy-libraries destdir="${_maven.dir}/maven2"/>
+        <copy-poms destdir="${_maven.dir}/maven2"/>
+        <filter token="beehive.version" value="${beehive.version}"/>
+        <copy todir="${_maven.dir}/maven2" filtering="true">
+            <fileset dir="m2" includes="maven-metadata.xml"/>
+        </copy>
+        <do-checksum dir="${_maven.dir}/maven2"/>
+
+        <echo>
+Note, don't forget to sign the Maven upload!zip
+
+for i in *.*; do gpg --output $i.asc --detach-sig --armor $i; done
+        </echo>
+    </target>
+
+    <target name="clean" description="Clean the Maven directories">
+        <delete dir="${_maven.dir}"/>
+    </target>
+
+    <macrodef name="copy-libraries" description="Copy the Beehive libraries for upload to Maven">
+        <attribute name="destdir"/>
+        <sequential>
+            <copy todir="@{destdir}" flatten="true">
+                <fileset dir="${beehive.home}/build/dist/${dist.name}/lib">
+                    <include name="**/beehive-*.jar"/>
+                </fileset>
+            </copy>
+            <!-- 
+            this two-step copy && move is required because Ant has a bug that 
+            copy's flatten attribute doesn't work in the presence of mapping
+              -->
+            <move todir="@{destdir}">
+                <mapper type="glob" from="*.jar" to="*-${beehive.version}.jar"/>
+                <fileset dir="@{destdir}"/>
+            </move>
+        </sequential>
+    </macrodef>
+
+    <macrodef name="copy-poms" description="Copy the Beehive POMs for upload to Maven">
+        <attribute name="destdir"/>
+        <sequential>
+            <copy todir="@{destdir}" flatten="true">
+                <mapper type="glob" from="*.pom" to="*-${beehive.version}.pom"/>
+                <fileset dir="poms" includes="*.pom"/>
+            </copy>
+        </sequential>
+    </macrodef>
+
+    <macrodef name="do-checksum" description="Checksum a set of resources">
+        <attribute name="dir"/>
+        <sequential> 
+            <checksum fileext=".md5">
+                <fileset dir="@{dir}">
+                    <exclude name="*.md5"/>
+                </fileset>
+            </checksum>
+        </sequential> 
+    </macrodef>
+
+</project>
\ No newline at end of file

Added: beehive/trunk/maven/m2/maven-metadata.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/maven/m2/maven-metadata.xml?rev=378684&view=auto
==============================================================================
--- beehive/trunk/maven/m2/maven-metadata.xml (added)
+++ beehive/trunk/maven/m2/maven-metadata.xml Fri Feb 17 19:16:31 2006
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+
+<metadata>
+    <groupId>org.apache.beehive</groupId>
+    <artifactId>beehive</artifactId>
+    <version>@beehive.version@</version>
+</metadata>

Added: beehive/trunk/maven/poms/beehive-controls.pom
URL: http://svn.apache.org/viewcvs/beehive/trunk/maven/poms/beehive-controls.pom?rev=378684&view=auto
==============================================================================
--- beehive/trunk/maven/poms/beehive-controls.pom (added)
+++ beehive/trunk/maven/poms/beehive-controls.pom Fri Feb 17 19:16:31 2006
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<project>
+    <pomVersion>4</pomVersion>
+    <name>beehive-netui</name>
+    <groupId>org.apache.beehive</groupId>
+    <artifactId>beehive-netui</artifactId>
+    <currentVersion>1.0.1</currentVersion>
+    <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://beehive.apache.org/</url>
+    </organization>
+    <package>org.apache.beehive</package>
+    <url></url>
+    <repository>
+    </repository>
+    <dependencies>
+        <dependency>
+            <groupId>velocity</groupId>
+            <artifactId>velocity-dep</artifactId>
+            <version>1.4</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-discovery</groupId>
+            <artifactId>commons-discovery</artifactId>
+            <version>0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.0.4</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file