[jdom-interest] JDOM2 Update - maven
Rolf
jdom at tuis.net
Wed Sep 14 21:39:44 PDT 2011
Hi Brad, all.
So I have spent hours on this today... (and have spent *no* time working
on finishing the jUnit coverage....).
The impact of this change is (potentially) farther-reaching than I had
hoped, and I am concerned...
... also, I am considering this all from the perspective of JDOM 1.1.x
only, so any concerns have no bearing (yet) on JDOM2.
There are a number of conflicting goals/requirements here, and there are
going to have to be compromises to make it work, so, someone is going to
have to make decisions (Jason?).
In my analysis I see the following issues (please correct me if I have
something wrong):
1. we intend to use http://jdom.org/downloads/ as the 'official' release
location of jdom, and maven-central will be 'useful'
2. we intend to keep the existing ant build processes in their entirety
for 1.1.2. We do not want to be trying out a new compile and packaging
process for it, especially if the final build will likely be done with
Java 1.4 or even older (Maven requires 1.5 I believe) (Jason, what did
you use to compile 1.1.1?).
3. Maven typically 'hooks' in to the project at a very low level. It
often establishes the whole 'personality' of the project before any code
is even written. But we only want the 'sweetness' of maven central, not
all the 'joys' of dependency management.
So, I don't believe what we have at the moment will work, so I have been
researching what it is that we can actually do.... and, (at least for
1.1.2), here's what I think we need, and 95% of it is administrative
rather than technical... so:
1. leave the ant build (mostly) alone.
2. Register on oss.sonatype.org (I have registered) which is a 'gateway'
service for 'feeding' OSS artifacts to maven central (it may have been
easier if we were an apache project... ) Go and read:
https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
3. 'reclaim' the org.jdom "Group ID".
4. Create and register GPG signing keys as per sonatype.org instructions
5. modify the ant build (slightly) to build the jars that conform to the
oss.sonatype.org requirements: need jdom-javadocs and jdom-sources jars.
6. Consider doing something similar for jdom-contrib (but skil jdom-test)
7. publish the jars on jdom.org
From this point on each maven 'release' will be a manual-ish process:
8. Create a 'deploy-only' pom.xml as per the instructions at sonatype
9. push the 'release' to the sonatype staging area using either option
7b or 7c in the sonatype usage guide
10. check on the oss.sonatype.org website, log in, and 'release' the
artifacts.
11. Comment on the JIRA created by me today so that the 'maven-central'
sync is activated.
Form my perspective we can do steps 5, 6, and 7, at any time prior to
actually releasing in maven-central. (I only put them there because I
think there still need to be some fixes applied to 1.1.2, and I
anticipate that steps 1 through 4 will be done before we have all the
fixes applied and are 'ready' to release 1.1.2)
The rest of the process is just going to be an administrative process,
with the usual red tape to negotiate.
What it means in the short term is that, as far as I can tell, it is not
the 'right thing' to commit Brad's pom.xml files yet:
1. we will only need one pom.xml for 1.1.2
2. 90% of the content in Brad's poms are for building the code, which we
will use ant for anyway.
3. 90% of what is required for sonatype.org deployment is not in Brad's
poms (and the stuff that's missing is more administrative in nature and
I don't know the right answers for them all....)
4. Brad was right the first time, the actual building content is
relatively trivial to reproduce if we ever need it.
So, I apologize for sounding 'negative' about the maven process, but I
am not trying to be.... honestly!
Oh, one other option we have is to just simply push JDOM up on to
maven-central via a 'third-party' dependency, which is how I think JDOM
1.0 and earlier got on to maven-central before in the 'jdom' group ID,
and how jdom 1.1 made it in as part of the 'org.jdom' group ID. See
https://docs.sonatype.org/display/Repository/Uploading+3rd-party+Artifacts+to+Maven+Central
Thanks again
Rolf
On 14/09/2011 5:53 PM, Rolf wrote:
> Excellent.
>
> I have not head back from Sonatype about the 'org.jdom' group id.
>
> I will pull the dropbox copy, make sure it works for me, then push the
> changes up to github.
>
> As for the build process, yes, there are warnings. Most of them relate
> to using a null value to what has become a varargs method in the
> reflection API. It can be safely ignored, and is one of the things that
> will be fixed when the junit testing is done.
>
> There is another warning in the junit tests because I am directly
> referencing an internal com.sun.* package to pull in an alternate parser.
>
> Will get back to you later on where things are at.
>
> Thanks
>
> Rolf
>
> On 14/09/2011 5:37 PM, Brad Cox wrote:
>> Rolf and Jason, I made a quick first pass at the 4 poms for your updated
>> files. They're at the new dropbox address
>> https://www.dropbox.com/home/jdom#:::66844801
>>
>> I copied them from the .zip file, not git. Couldn't make it work and
>> only now see why. Should be clone, not pull.
>> Hopefully the zip files will do. I didn't change anything except adding
>> the 4 poms, so they should work if you need to move them elsewhere.
>>
> ...
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>
More information about the jdom-interest
mailing list