Re: V2.x not usable next to V1.x
Rolf Lear <[email protected]> Fri, 18 May 2012 10:27:32 -0400
| Newsgroups | gmane.comp.java.jdom.general |
|---|---|
| Message-ID | <[email protected]> |
Where were you for this discussion: http://markmail.org/message/yjojwj26bwrxj5nx#query:+page:1+mid:buwh5fismpdahuoi+state:results ;-) So, the problem is as follows.... Maven imposes naming requirements for artifacts. 'We' decided that this is JDOM 2.0.0, not JDOM2 1.0.0, and also not JDOM2 2.0.0, etc. Thus, the *main* download will be the jar jdom-2.0.0.jar. This means that the maven artifact id *must* be 'jdom', not 'jdom2'. At the time I was not aware how hard/impossible it would be to have both jdom 1.x and 2.x sourced from maven.... Maven is the 'secondary' distribution system for JDOM. The primary JDOM source is from www.jdom.org. The jars downloaded from maven should be identical to the ones from jdom.org. There are about 15k downloads a month from www.jdom.org of 1.x versions of JDOM. There are about 35k downloads a month from maven-central of 1.x versions of JDOM. There are about 10k downloads a month from www.jdom.org of 2.0.x versions of JDOM There are about 1k downloads a month from maven-central of 2.0.x versions of JDOM. The maven downloads show an *opposite* distribution of downloads compared to www.jdom.org: Here are maven's statistics for the three months Feb, Mar, Apr: version,count,% "1.1","92301","0.8971452713012695" "1.1.2","6406","0.062264904379844666" "1.1.3","3425","0.03329024091362953" "2.0.0","716","0.006959361489862204" "2.0.1","35","3.4019225859083235E-4" here's the graph.... http://chart.apis.google.com/chart?cht=p3&chs=400x400&chp=4.71&chco=326A9F|32349F|67329F|9D329F|9F326A&chtt=Downloads+From+Last%203%20Months|For+org.jdom:jdom&chds=0,92301&chd=t:92301,6406,3425,716,35&chdl=1.1|1.1.2|1.1.3|2.0.0|2.0.1 JDOM 1.1 (released 2007) was downloaded 92K times in 3 months. 1.1.2 (released last Aug) downloaded 6.5k times in 3 months. 1.1.3 (released in Feb) just 3.5k times in 3 months Note that Maven does not even have JDOM 1.1.1 (from 2009) ..... So, it shows a distinct 'inertia' in maven users. For all I know they are not even aware that JDOM 2.x has happened.... My guess would be that 90% of maven users do not pay attention to their code.... In a 'short while' I want to be in the position to say: "JDOM 1.x is no longer being maintained". It is not in *my* interests to do it.... it is essentially unchanged since 2007. If people have problems in JDOM 1.x I'm going to want to say "Upgrade to 2.x". I am targeting about December 2012 for that.... What all this rambling boils down to is: 1. I don't want to have to change JDOM's jar file name from jdom-2.0.x.jar to jdom2-x.y.z.jar 2. maven is the 'secondary' distribution system 3. you can ask your 'dependency' code to upgrade to jdom 2.x (they should be doing it anyway). 4. The bell has already been rung on this... I can't un-ring this maven problem. 5. maven users are 'lazy' about keeping in touch with their dependencies, and this will 'prod' them. 6. This is all a maven problem (by design or implementation, I am not sure) 7. maven 'users' (including apache commons) are happy to do their own thing anyway... http://search.maven.org/#search|ga|1|a%3A%22org.apache.servicemix.bundles.jdom%22 8. maven is a PITA ..... :( As you can tell, maven support 'requirement' has not been a happy process.... in hindsight I probably should have just said no .... On the other hand, now that I have the automated build system working, it is not hard to publish to maven, as long as it conforms to JDOM's standards, I'm OK. Now that I have established my 'aversion' to the maven model, can you suggest a way out of this predicament that also conforms to the JDOM 'standard'... ? I promise to consider any suggestions.... Rolf On Fri, 18 May 2012 08:29:28 -0400, Gary Gregory <[email protected]> wrote: > Hi All, > > For good or bad, I ended learning more than I care about Maven being the > release manager for several Apache Commons components. > > Our rule in Commons is that when you change a package name, you must change > the Maven artifact id. > > My suggestion is to do this in your POM: > > <groupId>org.jdom</groupId> > <artifactId>jdom2</artifactId> > <version>2.0.2</version> > > Depending on your philosophy, you could also re-publish the Maven artifacts > for 2.0.1. But this is usually considered bad form because the POM needs to > change and you would then have 2 2.0.1 version with different pom.xml in > your sources jar. > > Gary > _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected]