Re: OSGi friendly LatestRevisionStrategy patch
On Sun, Aug 31, 2008 at 6:16 PM, Alex Radeski [EMAIL PROTECTED] wrote: Hi, Hi Alex, While working on the Bushel project (http://code.google.com/p/bushel/) to add OSGi bundle support to Ivy, I stumbled across a limitation in the LatestRevisionStrategy. The current implementation sorts OSGi major.minor.micro[.qualifier] in what I think is the wrong order. For example, from the LatestRevisionStrategyTest.testComparator() test, the natural order of both OSGi and non-OSGi versions is: 0.2a, 0.2_b, 0.2rc1, 0.2-final, 1.0-dev1, 1.0-dev2, 1.0-alpha1, 1.0-alpha2, 1.0-beta1, 1.0-beta2, 1.0-gamma, 1.0-rc1, 1.0-rc2, 1.0, 1.0.1, 2.0, 2.0.0, 2.0.0.b006, 2.0.0.b012, 2.0.0.xyz However, the current implementation produces the following, where the last four elements are in the wrong order: 0.2a, 0.2_b, 0.2rc1, 0.2-final, 1.0-dev1, 1.0-dev2, 1.0-alpha1, 1.0-alpha2, 1.0-beta1, 1.0-beta2, 1.0-gamma, 1.0-rc1, 1.0-rc2, 1.0, 1.0.1, 2.0, 2.0.0.b006, 2.0.0.b012, 2.0.0.xyz, 2.0.0 This is because it currently gives equal weighting to the [._-+] characters, instead of giving the '.' character precedence. While I understand the your point of view, the change you request may imply breaking versionning strategies for people using for years. Hence I'm not in favor of changing this, at least we need to provide an easy to use backward compatible version of this strategy. I have attached a patch the fixes this limitation, as well as updating the unit test. I have also fixed a minor bug in the test where it assumed the versions were shuffled, but they weren't. The current way to work around this is to override all the latest-strategies in the ivysettings.xml, which I'd like to avoid if possible. For example: ivysettings classpath file=${basedir}/lib/bushel-0.6.1.jar / typedef name=osgi-parser classname=com.googlecode.bushel.ivy.OsgiManifestParser / typedef name=osgi-file classname=com.googlecode.bushel.ivy.OsgiFileResolver / typedef name=osgi-latest classname=com.googlecode.bushel.ivy.OsgiLatestStrategy / settings defaultLatestStrategy=osgi-latest-revision / ... resolvers osgi-file name=local-rcp-repo latest=osgi-latest-revision ... /osgi-file /resolvers latest-strategies osgi-latest name=osgi-latest-revision / /latest-strategies /ivysettings Once you have defined the defaultLatestStrategy, you shouldn't have to specify it everywhere. If you have to, it's a bug, please report it with a JIRA. I hope you can use this patch. As I said, I don't think we can use it like this. But maybe we could find a way for the latest revision strategy to behave as you want or as before. It could be an attribute, which value could be set either directly, or through an Ivy variable. Then switching to OSGi mode would only require setting one variable, instead of what you do now. What do you and others think about that? Xavier Cheers, Alex - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/
Re: OSGi friendly LatestRevisionStrategy patch
On Aug 31, 2008, at 5:16 PM, Alex Radeski wrote: Hi, While working on the Bushel project (http://code.google.com/p/bushel/) to add OSGi bundle support to Ivy, I stumbled across a limitation in the LatestRevisionStrategy. The current implementation sorts OSGi major.minor.micro[.qualifier] in what I think is the wrong order. For example, from the LatestRevisionStrategyTest.testComparator() test, the natural order of both OSGi and non-OSGi versions is: 0.2a, 0.2_b, 0.2rc1, 0.2-final, 1.0-dev1, 1.0-dev2, 1.0-alpha1, 1.0-alpha2, 1.0-beta1, 1.0-beta2, 1.0-gamma, 1.0-rc1, 1.0-rc2, 1.0, 1.0.1, 2.0, 2.0.0, 2.0.0.b006, 2.0.0.b012, 2.0.0.xyz Note that several of your examples are not valid OSGi revision numbers. The syntax for OSGi is major[.minor[.micro[.qualifier]]] where major, minor and micro can only be numeric, and qualifier is the only part of a version number which can contain alphanumeric characters, from the character range [a-zA-Z0-9], '_' and '-'. If the minor or micro number is absent it should sort as 0 (i.e. 2.1 == 2.1.0), and the sort order of qualifier is a natural alphabetical sort. You can only have a qualifier if you have all three numeric components, so only the versions from 1.0 onwards in your list are valid. However, the current implementation produces the following, where the last four elements are in the wrong order: 0.2a, 0.2_b, 0.2rc1, 0.2-final, 1.0-dev1, 1.0-dev2, 1.0-alpha1, 1.0-alpha2, 1.0-beta1, 1.0-beta2, 1.0-gamma, 1.0-rc1, 1.0-rc2, 1.0, 1.0.1, 2.0, 2.0.0.b006, 2.0.0.b012, 2.0.0.xyz, 2.0.0 2.0.0 should sort with 2.0 before all of the 2.0.0 versions with a qualifier, so if your patch fixes that then it's an improvement. This is because it currently gives equal weighting to the [._-+] characters, instead of giving the '.' character precedence. I have attached a patch the fixes this limitation, as well as updating the unit test. I have also fixed a minor bug in the test where it assumed the versions were shuffled, but they weren't. The current way to work around this is to override all the latest-strategies in the ivysettings.xml, which I'd like to avoid if possible. For example: ivysettings classpath file=${basedir}/lib/bushel-0.6.1.jar / typedef name=osgi-parser classname=com.googlecode.bushel.ivy.OsgiManifestParser / typedef name=osgi-file classname=com.googlecode.bushel.ivy.OsgiFileResolver / typedef name=osgi-latest classname=com.googlecode.bushel.ivy.OsgiLatestStrategy / settings defaultLatestStrategy=osgi-latest-revision / ... resolvers osgi-file name=local-rcp-repo latest=osgi-latest-revision ... /osgi-file /resolvers latest-strategies osgi-latest name=osgi-latest-revision / /latest-strategies /ivysettings I hope you can use this patch. Cheers, Alex osgi-friendly-latest-rev-strategy- aradeski .patch - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to automize Ant
Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically.Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- View this message in context: http://www.nabble.com/How-to-automize-Ant-tp19251721p19251721.html Sent from the Ant - Dev mailing list archive at Nabble.com.
Re: How to automize Ant
On Mon, 2008-09-01 at 02:40 -0700, Jan K wrote: Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically. Well there are a couple of our of the box tools for that http://en.wikipedia.org/wiki/Continuous_Integration Here on apache there are http://continuum.apache.org/ and http://gump.apache.org/ but the list is long as you may see from the websites above. Basically what you need to do (the poor men approach) is create a post-commit hook in your svn server that triggers the build. The rest is done by your build script. HTH salu2 Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to automize Ant
On Mon, 2008-09-01 at 12:06 +0200, Thorsten Scherler wrote: On Mon, 2008-09-01 at 02:40 -0700, Jan K wrote: Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically. Well there are a couple of our of the box tools for that doh that should read: ... there are a couple of out-of-the-box tools for that. http://en.wikipedia.org/wiki/Continuous_Integration Here on apache there are http://continuum.apache.org/ and http://gump.apache.org/ but the list is long as you may see from the websites above. Basically what you need to do (the poor men approach) is create a post-commit hook in your svn server that triggers the build. The rest is done by your build script. HTH salu2 Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to automize Ant
Hi, Thanks for your quick response.I dont know any of these stuffs.Can you please elaborate me in more so that it will be of a great help.Can you please put in points as what should i do and how it can be done.Looking forward for your reply. Thorsten Scherler-3 wrote: On Mon, 2008-09-01 at 02:40 -0700, Jan K wrote: Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically. Well there are a couple of our of the box tools for that http://en.wikipedia.org/wiki/Continuous_Integration Here on apache there are http://continuum.apache.org/ and http://gump.apache.org/ but the list is long as you may see from the websites above. Basically what you need to do (the poor men approach) is create a post-commit hook in your svn server that triggers the build. The rest is done by your build script. HTH salu2 Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/How-to-automize-Ant-tp19251721p19252177.html Sent from the Ant - Dev mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OSGi friendly LatestRevisionStrategy patch
On 9/1/08, Tony Sweeney [EMAIL PROTECTED] wrote: For example, from the LatestRevisionStrategyTest.testComparator() test, the natural order of both OSGi and non-OSGi versions is: 0.2a, 0.2_b, 0.2rc1, 0.2-final, 1.0-dev1, 1.0-dev2, 1.0-alpha1, 1.0-alpha2, 1.0-beta1, 1.0-beta2, 1.0-gamma, 1.0-rc1, 1.0-rc2, 1.0, 1.0.1, 2.0, 2.0.0, 2.0.0.b006, 2.0.0.b012, 2.0.0.xyz Note that several of your examples are not valid OSGi revision numbers. The syntax for OSGi is major[.minor[.micro[.qualifier]]] where major, minor and micro can only be numeric, and qualifier is the only part of a version number which can contain alphanumeric characters, from the character range [a-zA-Z0-9], '_' and '-'. If the minor or micro number is absent it should sort as 0 (i.e. 2.1 == 2.1.0), and the sort order of qualifier is a natural alphabetical sort. You can only have a qualifier if you have all three numeric components, so only the versions from 1.0 onwards in your list are valid. Yep, what I was adding was OSGi version compatibility to the existing Latest Strategy impl, not strict conformance. I appended the OSGi versions to the existing test case (these are the non-osgi versions you mentioned above), which in hind sight probably wasn't the best idea. However, the current implementation produces the following, where the last four elements are in the wrong order: 0.2a, 0.2_b, 0.2rc1, 0.2-final, 1.0-dev1, 1.0-dev2, 1.0-alpha1, 1.0-alpha2, 1.0-beta1, 1.0-beta2, 1.0-gamma, 1.0-rc1, 1.0-rc2, 1.0, 1.0.1, 2.0, 2.0.0.b006, 2.0.0.b012, 2.0.0.xyz, 2.0.0 2.0.0 should sort with 2.0 before all of the 2.0.0 versions with a qualifier, so if your patch fixes that then it's an improvement. Yep, the patch does order them all correctly (non-osgi and osgi versions together). However, the testing is limited to that done in the Ivy test suite. There is a small possibility that in the wild there are more exotic versions strings than may be ordered incorrectly. As per Xaviers suggestion, it may be better to provide an alternative Latest Strategy than patching the existing one, but I'll leave that decision to you guys. Alex. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to automize Ant
On Mon, 2008-09-01 at 03:17 -0700, Jan K wrote: Hi, Thanks for your quick response.I dont know any of these stuffs.Can you please elaborate me in more so that it will be of a great help.Can you please put in points as what should i do and how it can be done.Looking forward for your reply. If you do not have any clue about svn/cvs hooks then to set up everything by hand is quite a lot. How to write a svn hook that is best covered in the svn manual. http://svnbook.red-bean.com/ However I strongly recommend one of the Continuous Integration tools that are already out there. Like said have a look at http://continuum.apache.org/, http://cruisecontrol.sourceforge.net/ and https://hudson.dev.java.net/. Play around with them and choose the one that best fits your needs. salu2 Thorsten Scherler-3 wrote: On Mon, 2008-09-01 at 02:40 -0700, Jan K wrote: Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically. Well there are a couple of our of the box tools for that http://en.wikipedia.org/wiki/Continuous_Integration Here on apache there are http://continuum.apache.org/ and http://gump.apache.org/ but the list is long as you may see from the websites above. Basically what you need to do (the poor men approach) is create a post-commit hook in your svn server that triggers the build. The rest is done by your build script. HTH salu2 Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Anybody familiar with ChoiceFormat? Issue 44659
Stefan Bodewig wrote: On Fri, 22 Aug 2008, Matt Benson [EMAIL PROTECTED] wrote: Looking back at this again, I think having the number formatted according to the US Locale would be more confusing than by the default Locale, speaking without the perspective of a person who typically uses e.g. . as a thousands separator and , as a decimal separator. I am one of those people and to me it is more confusing to have Ant use German number formatting but say minutes instead of Minuten. (well, would be since I haven't seen builds taking 1000 minutes myself). When copying files we don't use a number format at all and thus end up with a pure number without any separators at all. I wouldn't expect that too many builds take tens of thousands of minutes so a number with or without thousands separator may be as readable as the other in out case. AFAICT making the thousands separator go away takes the same amount of coding effort as making it use the US locale. I use a logger that tells me when the build finished; this is so that when I switch to different windows and back I can see if a build was recent or not. There's a good case for making the date/time info localised, if you want to do everything properly. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: File Name wiht NLS Special Characters
Stefan Bodewig wrote: On Mon, 25 Aug 2008, [EMAIL PROTECTED] wrote: Folks, I'm trying to run the Jax-ws APT ant task on file with a NLS name: S_BASIC_ÃÑÑÖÏÑG_Bean.java I don't think you are asking on the correct list. There may be people on the user list who use the same task (I don't even know it) and can help. Since I don't know how the task is implemented, I can only guess. If you run Ant in verbose mode, does it give you any hint on how it invokes apt? Does it use a command line or does it invoke it via a Java API inside the Ant process? If the former is used, does the same command line work if you use it outside of Ant? The apt code in Ant uses javac style infocation; I don't know what the jax-ws APT task is, what it does, or who wrote it. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Allowing antlibs to contribute diagnostics version info
Jeffrey E Care wrote: I haven't looked at the code in question, but I would think the hardest part of this whole effort would be providing the means for Ant to look up antlib version info. I'm actually fairly enthusiastic about using the combination of existing arguments, mostly just because of the number of requests I've seen for the proliferation of arguments to Ant. Surely one of the existing committers could hook that up if you don't want to tackle that part, Jeff... again, the rest is the tricky part IMHO! I'm using META-INF/services from the JAR spec, so the discovery is actually pretty easy so long as the Antlibs are available via the classloader that oata.launch.Launcher configures. Note that this approach does not need a project: it will discover anything that's available from the classloader. I already have a similar function working in the extensions we use to build WebSphere, so I've just been adapting that. I had to reverse engineer the ServiceLoader class from JDK 6, since I know that I can't depend on a JDK 6 runtime. I could have used sun.misc.Service, but I figured that would be problematic on opensource JDKs. You could also run through all antlibs defined in the root of the project, list which are there and diagnose them. Since they are the ones that matter if they are missing... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Allowing antlibs to contribute diagnostics version info
On Mon, 01 Sep 2008, Steve Loughran [EMAIL PROTECTED] wrote: You could also run through all antlibs defined in the root of the project, list which are there and diagnose them. Since they are the ones that matter if they are missing... I think there is a good case for a ant -version -v listing all antlibs found in ANT_HOME/lib without having any build file at all. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Allowing antlibs to contribute diagnostics version info
Stefan Bodewig [EMAIL PROTECTED] wrote on 09/01/2008 11:00:55 AM: On Mon, 01 Sep 2008, Steve Loughran [EMAIL PROTECTED] wrote: You could also run through all antlibs defined in the root of the project, list which are there and diagnose them. Since they are the ones that matter if they are missing... I think there is a good case for a ant -version -v listing all antlibs found in ANT_HOME/lib without having any build file at all. Right: I want this to work even if there's no build.xml anywhere in sight. Think of it as what's available for me to use? instead of what have I already declared that I'm using?.
Re: Allowing antlibs to contribute diagnostics version info
Stefan Bodewig [EMAIL PROTECTED] wrote on 08/28/2008 11:28:40 AM: OK. Maybe the antlib would just point to the antlib.xml file(s) there and we add the description and versioning stuff into the antlib descriptor? I think you meant that the service file would point to the antlib.xml? The way the service APIs work it really wouldn't make sense to do that. To do it you'd need to have a class that did the pointing to the antlib.xml file; since you already have to do that why not just have that class do the work you want to do? If you've never used the service stuff before I can point you to the docs - it might clear some things up for you as to how it works.
Re: Allowing antlibs to contribute diagnostics version info
On Mon, 1 Sep 2008, Jeffrey E. Care [EMAIL PROTECTED] wrote: Stefan Bodewig [EMAIL PROTECTED] wrote on 08/28/2008 11:28:40 AM: OK. Maybe the antlib would just point to the antlib.xml file(s) there and we add the description and versioning stuff into the antlib descriptor? I think you meant that the service file would point to the antlib.xml? In a way, yes. The way the service APIs work it really wouldn't make sense to do that. I know. I was thinking about not directly using the service API but really just do something similar by using a pointer placed somewhere under META-INF. OTOH at least the -diagnostics part may need more logic than can be (conveniently) placed into an antlib descriptor but could be more easily expressed in Java so really using the service API may benefit us here. Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to automize Ant
Hi, I have downloaded the cruisecontrol.I have cvs.Can you let me know what should i do next or can you give me any documentation on it.Please guide me. Thorsten Scherler-3 wrote: On Mon, 2008-09-01 at 02:40 -0700, Jan K wrote: Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically. Well there are a couple of our of the box tools for that http://en.wikipedia.org/wiki/Continuous_Integration Here on apache there are http://continuum.apache.org/ and http://gump.apache.org/ but the list is long as you may see from the websites above. Basically what you need to do (the poor men approach) is create a post-commit hook in your svn server that triggers the build. The rest is done by your build script. HTH salu2 Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/How-to-automize-Ant-tp19251721p19264294.html Sent from the Ant - Dev mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: How to automize Ant
Homepage of CC http://cruisecontrol.sourceforge.net/ List of recommend readings http://cruisecontrol.sourceforge.net/gettingstartedbindist.html#Where_to_go_Next After a quick look I recommend of these http://confluence.public.thoughtworks.org/display/CC/Getting+Started+With+CruiseControl Continous Integration by Martin Fowler http://www.martinfowler.com/articles/continuousIntegration.html Ant in Action contains a large chapter about CI Jan -Ursprüngliche Nachricht- Von: Jan K [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 2. September 2008 07:23 An: dev@ant.apache.org Betreff: Re: How to automize Ant Hi, I have downloaded the cruisecontrol.I have cvs.Can you let me know what should i do next or can you give me any documentation on it.Please guide me. Thorsten Scherler-3 wrote: On Mon, 2008-09-01 at 02:40 -0700, Jan K wrote: Hi, I am new to apache ant.I just know for what purpose we use ant.Now i need to automize my project with ant.My requirement is Whenever i checkin my code,the build and deploy should be done automatically. Well there are a couple of our of the box tools for that http://en.wikipedia.org/wiki/Continuous_Integration Here on apache there are http://continuum.apache.org/ and http://gump.apache.org/ but the list is long as you may see from the websites above. Basically what you need to do (the poor men approach) is create a post-commit hook in your svn server that triggers the build. The rest is done by your build script. HTH salu2 Also a notification should be send to QA team.Also the build and deploy should be carried out automatically in my onsite server also.This should be done for all the java projects running in our company.How can i do this,Please help me.Please.Thanks in advance. -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/How-to-automize-Ant-tp19251721p19264294.html Sent from the Ant - Dev mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]