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