beehive/docs/maven-support.txt

125 lines
3.3 KiB
Plaintext

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
=========
org/apache/beehive/
beehive-controls/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-controls-<version>.pom
beehive-controls-<version>.jar
beehive-ejb-control/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-ejb-control-<version>.pom
beehive-ejb-control-<version>.jar
beehive-ejb-control/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-jms-control-<version>.pom
beehive-jms-control-<version>.jar
beehive-ejb-control/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-jdbc-control-<version>.pom
beehive-jdbc-control-<version>.jar
beehive-netui/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-netui-core-<version>.pom
beehive-netui-core-<version>.jar
beehive-ejb-control/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-netui-compiler-<version>.pom
beehive-netui-compiler-<version>.jar
beehive-ejb-control/
maven-metadata.xml
<version>/
maven-metadata.xml
beehive-netui-tags-<version>.pom
beehive-netui-tags-<version>.jar
This partitioning represents a separation of the NetUI and Controls sub-projects. This setup requires artifact IDs as "beehive-(netui|controls)" in order to qualify the JAR names correctly.
- 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.
Repository List
===============
M1 SNAPSHOT:
http://cvs.apache.org/repository/
M1 Production:
http://www.apache.org/dist/java-repository/
M2 SNAPSHOT:
http://cvs.apache.org/maven-snapshot-repository/
M2 Production:
Using Maven with Beehive
========================
TODO
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>
:::