Mark,
These maven pom files have all been updated and tested on sonatype using my own groupId. A small number of changes were required and it turns out that in a multi-module project the parent module can't produce a jar. This re-iterates the requirement for the main/pom.xml file. I attempted to do without the main/pom.xml file but it wouldn't produce the an abcl package that way.The release was made with the code on a 1.3.2-maven git branch located at https://github.com/rritoch/abcl/tree/1.3.2-maven . I have updated the pom.xml files on my master branch to reflect the required changes to be fully compatible with sonatype's deployment process.
The deployment process with these pom files is as follows.
1. Change all version numbers in abcl/pom.xml , abcl/contrib/pom.xml, and abcl/main/pom.xml to an absolute version number without the -SNAPSHOT extension.
2. Execute mvn deploy -Dbuild=full
3. Login to oss sonatype, locate the staging repository in Build Promotion
Staging Repositories (in the left menu), close the repository, and
finally release the repository.
This is MUCH easier, and more efficient than the current process. Deployment to localrepo is as simple as just typing mvn install and I believe it no longer requires the gpg signing process. These will continue to work without maintenance as long as the ant build targets aren't renamed or significantly changed.
The artifacts I deployed are accessible with the following dependencies. I left in the original group-id commented out since this isn't an official release.
<dependency> <!-- <groupId>org.armedbear.lisp</groupId> --> <groupId>com.vnetpublishing.abcl</groupId> <artifactId>abcl</artifactId> <version>1.3.2</version> </dependency>
<dependency> <!-- <groupId>org.armedbear.lisp</groupId> --> <groupId>com.vnetpublishing.abcl</groupId> <artifactId>abcl-contrib</artifactId> <version>1.3.2</version> </dependency>
Best Regards, Ralph Ritoch
On Mon, Aug 3, 2015 at 12:58 PM, Ralph Ritoch rritoch@gmail.com wrote:
Mark,
I have added a separate build profile for deployment to maven central.
When the "default" profile is used the source release and javadoc aren't generated, and the gpg signing isn't executed. To use this new full profile, such as for deploying to maven central, you must append -Dbuild=full to your command line. For example, mvn install -Dbuild=full , if you don't include this extra argument the javadocs and source releases aren't generated and the gpg signing isn't applied. These new pom's are on git.
https://github.com/rritoch/abcl/blob/master/abcl/pom.xml https://github.com/rritoch/abcl/blob/master/abcl/main/pom.xml https://github.com/rritoch/abcl/blob/master/abcl/contrib/pom.xml
My next project will be to attempt to release version 1.3.2 to a maven central repository which will likely require some additional changes to these pom files.
Best Regards, Ralph Ritoch
On Fri, Jul 24, 2015 at 2:44 PM, Mark Evenson evenson@panix.com wrote:
On 2015/7/21 19:27, Ralph Ritoch wrote:
Hi,
I have created some maven POM files which can be used to build and
deploy
ABCL with maven. There have been a few modifications to these over the
past
few days and there is probably room for improvement but these make it possible to build and depoy ABCL with the normal maven lifecycle.
Thanks!
A couple questions:
- Is it possible to merge the new main/pom.xml into top-level POM?
Creating a new directory just to separate the main ABCL build instructions seems a little wrong to me.
- Why not use the Ant instructions for building the actual abcl.jar
artifact? It would be better for future maintenance not to have two sets of instructions for constructing deployment artifacts.
- Can we make the GPG signing optional for the 'install' target?
-- "A screaming comes across the sky. It has happened before, but there is nothing to compare to it now."