Re: Next step in Ivy 2.0 release process

2008-10-17 Thread Maarten Coene
ok, unless someone else volunteers, I'll try to make a RC2 next week.

There are still some open issues I want to include in this release:
- IVY-943: Allow authentication credentials to be specified in settings file. 
-> or should I not add it because it's not really a bug, but the provided code 
change is very simple and very low-risk
- IVY-881: Ivy incorrectly searches for an artifact if it contains / in the 
name -> only if there is a patch ready before I start creating RC2
- IVY-931: What to do if Ivy can't find the parent of a POM -> if no-one 
objects, I let Ivy fail if the parent POM cannot be found

Are there other open issues that should make it into RC2?

Maarten




- Original Message 
From: Gilles Scokart <[EMAIL PROTECTED]>
To: Ant Developers List 
Sent: Thursday, October 16, 2008 10:39:29 AM
Subject: Re: Next step in Ivy 2.0 release process

2008/10/15 Maarten Coene <[EMAIL PROTECTED]>:
> Hi,
>
> Ivy-2.0.0-RC1 is out for some time now. What will be the next step?
>
> - create a new RC2 release containing some (or all) of the bugfixes which 
> have been committed into SVN trunk and maybe some open issues which aren't 
> fixed yet
> - create a 2.0.0 final release based on RC1
>
> I'm in favor for a new RC2 containing everything from SVN trunk. What do 
> others think?

+1.  Only bug fixing have been commited to the trunk.  And I think
some justify a second RC.



-- 
Gilles Scokart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: YUI Compressor Antlib

2008-10-17 Thread Peter Reilly
Fire away, this is what the sandbox is for.

Peter

On Fri, Oct 17, 2008 at 7:03 PM, Kevin Jackson <[EMAIL PROTECTED]> wrote:
> Hi,
>
> At work we have a need for this, so I've thrown it together just now
> (very rough, but it does what it says on the tin).
>
> It's using the Yahoo JavaScript and CSS compressor library and the
> code is licensed under BSD.
>
> My company is ok with me donating the antlib to apache, can I put this
> into the antlib sandbox?  My idea is to extend it and add other
> compressors (Dean Edwards is supposed to be the best, but there's also
> Dojo SafeShrink).
>
> Any objections to this being committed? The other option would be to
> donate it back to the Yahoo team to add to their package, but they
> don't seem to have any source control setup for YUI that I can find.
>
> Thanks,
> Kev
>
> -
> 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]



EasyAnt project

2008-10-17 Thread Jean-Louis BOUDART
Hi all,

Xavier Hanin and I are currently working on a new build system fully based
on Apache Ant / Apache Ivy, here is a short information.

Welcome to EasyAnt

Easyant is a toolbox focusing on easing project build processes.
It's based on Apache Ant and Apache Ivy, and allows for maximum flexibily,
improved integration in existing build systems and provides conventions and
guidelines.

Our goals are :

   - to simplify build process by providing a set of ready to use build
   scrips (or modules) to ease implemantation of a build system.
   - to provide conventions and guidelines
   - to leverage your ant knowledge (no need to learn yet another language)
   - to stay flexible :
  - what about conventions ? : Even if Easyant came with a lot of
  conventions, we never lock you in.
  - what about modules ? : You can easily adapt it to your projects. The
  architecture of Easyant allow you to easily extends existing
modules, and to
  provide your own one.
  - what about if i have an existing project? As Easyant is fully based
  on ant, you can keep existing project with "old school" ant
script. This can
  simplify migrations.

Currently Easyant provides module for :

   - java compilation
   - javadoc generation
   - scala compilation
   - scaladoc
   - unit tests (Junit / TestNG)
   - emma coverage
   - checkstyle
   - packaging jar / war application
   - dependency management (using Apache Ivy)
   - publication (using Apache Ivy)

Source code

Easyant is released under Apache License 2.0.

Sources can be found here
SVN Url : http://easyant.abrm.info/svn
Login : anonymous
pass: (empty)
 Google group


A google group is accessible here http://groups.google.com/group/easyant

Our website is accessible here http://easyant.abrm.info
Jean Louis Boudart


YUI Compressor Antlib

2008-10-17 Thread Kevin Jackson
Hi,

At work we have a need for this, so I've thrown it together just now
(very rough, but it does what it says on the tin).

It's using the Yahoo JavaScript and CSS compressor library and the
code is licensed under BSD.

My company is ok with me donating the antlib to apache, can I put this
into the antlib sandbox?  My idea is to extend it and add other
compressors (Dean Edwards is supposed to be the best, but there's also
Dojo SafeShrink).

Any objections to this being committed? The other option would be to
donate it back to the Yahoo team to add to their package, but they
don't seem to have any source control setup for YUI that I can find.

Thanks,
Kev

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AW: svn commit: r705232 [1/2] - in /ant/core/trunk/src/tests/antunit/taskdefs/cvs: ./ repository/ repository/CVSROOT/ repository/CVSROOT/Emptydir/ repository/antmodule1/

2008-10-17 Thread Jan.Materne
We could store a svn repo in that cvs for testing the svn tasks :-O

Jan 

>-Ursprüngliche Nachricht-
>Von: Stefan Bodewig [mailto:[EMAIL PROTECTED] 
>Gesendet: Freitag, 17. Oktober 2008 09:50
>An: dev@ant.apache.org
>Betreff: Re: svn commit: r705232 [1/2] - in 
>/ant/core/trunk/src/tests/antunit/taskdefs/cvs: ./ repository/ 
>repository/CVSROOT/ repository/CVSROOT/Emptydir/ repository/antmodule1/
>
>On Fri, 17 Oct 2008, Gilles Scokart <[EMAIL PROTECTED]> wrote:
>
>> A CVS repository in Subversion...
>> Amazing :-)
>
>yeah, found it wierd as well.
>
>BTW, I think this wouldn't be possible if we still used CVS since CVS
>wouldn't have allowed me to check in the CVSROOT directory.
>
>Stefan
>
>-
>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]



Re: Next step in Ivy 2.0 release process

2008-10-17 Thread rednix


Maarten Coene wrote:
> 
> ...
> I'm in favor for a new RC2 containing everything from SVN trunk. What do
> others think?
> 
> Maarten
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

+1
-- 
View this message in context: 
http://www.nabble.com/Next-step-in-Ivy-2.0-release-process-tp20001770p20029083.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: ivy settings classpath always creates new classloader when used with subant

2008-10-17 Thread Derek Baum

Hi,

Thanks for your response.

Are you suggesting:

1) if I satisfy the prerequisite,  then I won't need my suggested patch, or
2) my patch will only work if the prerequisite is satisfied?

Assuming 1), I tried this, but when I didn't explicitly load 
ivysettings, a default was loaded instead and the build failed.


Here's my subant target for the example multi-project/build.xml:

  description="compile, jar and publish all projects in the 
right order">


  

  

  


Here's the Ivy taskdef:










and here's the build output, notice the loading of default settings in 
new-ivy-version:



[multi-project]$ ant publish-all
Buildfile: build.xml

load-ivy:
 [echo] Loading Ivy ...

buildlist:
[ivy:buildlist] :: Ivy 2.0.0-rc1 - 20080916082609 :: 
http://ant.apache.org/ivy/ ::
:: loading settings :: file = 
/Volumes/Users/derek/eclipse/Sigil/bld-ivy/test/multi-project/common/ivysettings.xml


publish-all:

clean-build:
   [delete] Deleting directory 
/Volumes/Users/derek/eclipse/Sigil/bld-ivy/test/multi-project/projects/version/build


load-ivy:

ivy-new-version:
No ivy:settings found for the default reference 'ivy.instance'.  A 
default instance will be used

no settings file found, using default...
:: loading settings :: url = 
jar:file:/opt/apache-ivy-2.0.0-rc1/ivy-2.0.0-rc1.jar!/org/apache/ivy/core/settings/ivysettings.xml


version:
[mkdir] Created dir: 
/Volumes/Users/derek/eclipse/Sigil/bld-ivy/test/multi-project/projects/version/build/classes


I therefore had to change the load-ivy target to always define ivysettings:

   
   
   

which is why I concluded that a change to the ivysettings/classpath 
command was needed.


Thanks,

Derek



Gilles Scokart wrote:

There will be a prerequisite for that to work : You must be sure that
that ivy itself is not loaded in two ClassLoader.  For that, your
taskdef for ivy should itself use a loaderRef, and the subant must
have the right options that make the id shared accross the projects.

And if that prerequisite is valid, in most case you can arrange your
buildscript in order to have the ivysettings defined only once.



2008/10/16 Derek Baum <[EMAIL PROTECTED]>:
  

Hi,

I have a custom Ivy resolver that keeps a static cache because it is
time-consuming to initialise.

However, this cache doesn't work in a multi-project build, because the
ivysettings/classpath command is creating a new URLClassLoader for each
subant iteration, so all static class fields are reset.



 

 

 ...




I'm building multiple projects, using ivy:buildlist and subant, as in the
Ivy multi-project example.

Each iteration of subant, causes IvySettings to reload.
IvySettings.classloader is thus null and so a new URLClassLoader is created.

I temporarily worked around this by loading my plugin at the same time as
Ivy (i.e. not using settings/classpath), but I'd really like the
setting/classpath method to work too.

One possible solution would be to add a "loaderRef" attribute to
settings/classpath, similar to the Ant taskdef/typedef tasks, to make it use
the same ClassLoader.

Alternatively, IvySettings could simply be changed to only create a new
URLClassLoader if the list of URLs  has changed. I attach a simple patch to
IvySettings.java that does this and seems to work OK.

If this is valid and useful, let me know and I'll raise it in Jira.

Thanks,

Derek














Index: src/java/org/apache/ivy/core/settings/IvySettings.java
===
--- src/java/org/apache/ivy/core/settings/IvySettings.java  (revision
705243)
+++ src/java/org/apache/ivy/core/settings/IvySettings.java  (working
copy)
@@ -644,13 +644,19 @@
}
}

+private static Map loaderCache =  new HashMap();
+
private ClassLoader getClassLoader() {
if (classloader == null) {
if (classpathURLs.isEmpty()) {
classloader = Ivy.class.getClassLoader();
} else {
-classloader = new URLClassLoader((URL[]) classpathURLs
+classloader = (ClassLoader) loaderCache.get(classpathURLs);
+if (classloader == null) {
+classloader = new URLClassLoader((URL[]) classpathURLs
.toArray(new URL[classpathURLs.size()]),
Ivy.class.getClassLoader());
+loaderCache.put(classpathURLs, classloader);
+}
}
}
return classloader;


-
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]



Re: svn commit: r705232 [1/2] - in /ant/core/trunk/src/tests/antunit/taskdefs/cvs: ./ repository/ repository/CVSROOT/ repository/CVSROOT/Emptydir/ repository/antmodule1/

2008-10-17 Thread Stefan Bodewig
On Fri, 17 Oct 2008, Gilles Scokart <[EMAIL PROTECTED]> wrote:

> A CVS repository in Subversion...
> Amazing :-)

yeah, found it wierd as well.

BTW, I think this wouldn't be possible if we still used CVS since CVS
wouldn't have allowed me to check in the CVSROOT directory.

Stefan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: svn commit: r705232 [1/2] - in /ant/core/trunk/src/tests/antunit/taskdefs/cvs: ./ repository/ repository/CVSROOT/ repository/CVSROOT/Emptydir/ repository/antmodule1/

2008-10-17 Thread Gilles Scokart
A CVS repository in Subversion...
Amazing :-)



2008/10/16  <[EMAIL PROTECTED]>:
> Author: bodewig
> Date: Thu Oct 16 06:00:46 2008
> New Revision: 705232
>
> URL: http://svn.apache.org/viewvc?rev=705232&view=rev
> Log:
> experimental local CVS repository as a testbed for CVS tests
>
> Added:
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#checkoutlist
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#commitinfo
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#config
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#cvswrappers
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#loginfo
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#modules
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#notify
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#postadmin
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#postproxy
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#posttag
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#postwatch
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#preproxy
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#rcsinfo
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#taginfo
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#verifymsg
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/Emptydir/
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/checkoutlist
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/checkoutlist,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/commitinfo
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/commitinfo,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/config
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/config,v
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/cvswrappers
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/cvswrappers,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/history
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/loginfo
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/loginfo,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/modules
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/modules,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/notify
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/notify,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/postadmin
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/postadmin,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/postproxy
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/postproxy,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/posttag
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/posttag,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/postwatch
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/postwatch,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/preproxy
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/preproxy,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/rcsinfo
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/rcsinfo,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/taginfo
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/taginfo,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/val-tags
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/verifymsg
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/verifymsg,v
>ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/antmodule1/
>
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/antmodule1/foo.txt,v
>
> Added: 
> ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#checkoutlist
> URL: 
> http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.%23checkoutlist?rev=705232&view=auto


-- 
Gilles Scokart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: ivy settings classpath always creates new classloader when used with subant

2008-10-17 Thread Gilles Scokart
There will be a prerequisite for that to work : You must be sure that
that ivy itself is not loaded in two ClassLoader.  For that, your
taskdef for ivy should itself use a loaderRef, and the subant must
have the right options that make the id shared accross the projects.

And if that prerequisite is valid, in most case you can arrange your
buildscript in order to have the ivysettings defined only once.



2008/10/16 Derek Baum <[EMAIL PROTECTED]>:
> Hi,
>
> I have a custom Ivy resolver that keeps a static cache because it is
> time-consuming to initialise.
>
> However, this cache doesn't work in a multi-project build, because the
> ivysettings/classpath command is creating a new URLClassLoader for each
> subant iteration, so all static class fields are reset.
>
> 
>
>  
>
>  
>
>  ...
>
> 
>
>
> I'm building multiple projects, using ivy:buildlist and subant, as in the
> Ivy multi-project example.
>
> Each iteration of subant, causes IvySettings to reload.
> IvySettings.classloader is thus null and so a new URLClassLoader is created.
>
> I temporarily worked around this by loading my plugin at the same time as
> Ivy (i.e. not using settings/classpath), but I'd really like the
> setting/classpath method to work too.
>
> One possible solution would be to add a "loaderRef" attribute to
> settings/classpath, similar to the Ant taskdef/typedef tasks, to make it use
> the same ClassLoader.
>
> Alternatively, IvySettings could simply be changed to only create a new
> URLClassLoader if the list of URLs  has changed. I attach a simple patch to
> IvySettings.java that does this and seems to work OK.
>
> If this is valid and useful, let me know and I'll raise it in Jira.
>
> Thanks,
>
> Derek
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Index: src/java/org/apache/ivy/core/settings/IvySettings.java
> ===
> --- src/java/org/apache/ivy/core/settings/IvySettings.java  (revision
> 705243)
> +++ src/java/org/apache/ivy/core/settings/IvySettings.java  (working
> copy)
> @@ -644,13 +644,19 @@
> }
> }
>
> +private static Map loaderCache =  new HashMap();
> +
> private ClassLoader getClassLoader() {
> if (classloader == null) {
> if (classpathURLs.isEmpty()) {
> classloader = Ivy.class.getClassLoader();
> } else {
> -classloader = new URLClassLoader((URL[]) classpathURLs
> +classloader = (ClassLoader) loaderCache.get(classpathURLs);
> +if (classloader == null) {
> +classloader = new URLClassLoader((URL[]) classpathURLs
> .toArray(new URL[classpathURLs.size()]),
> Ivy.class.getClassLoader());
> +loaderCache.put(classpathURLs, classloader);
> +}
> }
> }
> return classloader;
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>



-- 
Gilles Scokart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]