[Fwd: Re: [classlib] build / test system]

2006-02-21 Thread David Tanzer
Sorry, was meant for the list...

 Forwarded Message 
 From: David Tanzer [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Re: [classlib] build / test system
 Date: Tue, 21 Feb 2006 11:36:23 +0100
 
 It has it's own repository format, and at the moment our repository is
 quite incomplete. Anyway, several resources in our repository will be
 downloaded from the maven repository at ibiblio.org. For a later version
 a feature to convert a complete maven repository to rr format (and maybe
 vice-versa) is planned AFAIK.
 
 Regards, David.
 
 On Mon, 2006-02-20 at 21:42 -0500, Geir Magnusson Jr wrote:
  Will it use a maven repository?  This sounds like a lot of the 
  functionality in Maven.  Whether you like Maven or not, the fact that 
  there are large repositories of jars is great, so I hope your friend 
  will take advantage of that.
  
  David Tanzer wrote:
   A friend of mine is currently developing a program to manage Java 
   project resources (jars and others) called gc resource repository
   (gc-rr):
   
   http://dev.guglhupf.net/commons/rr/index.html
   
   Some of the features are:
   
   * Central resource repository to share resources between multiple 
 projects. 
 * Needed resource are downloaded and stored in a local repository. 
 * Dependencies between resources are solved. 
 * Setup the classpath with all needed resources (jars). 
 * Start java progams with the needed resources. 
 * Ant integration to setup the classpath. 
 * Modular ant build script support 
 * Eclipse classpath builder to setup the classpath in eclipse.
   
   You may want to take a look at it. It is distributed under the Apache
   License, and I guess I could convince Rene Pirringer (the main developer
   of gc-rr) to contribute it to Apache Harmony if this is desired.
   
   Best Regards,
   David Tanzer
   
   On Tue, 2006-02-14 at 11:01 +, George Harley wrote:
   Hi Alexey,
  
   The usetimestamp attribute of Ant's get task kind of offers this 
   functionality. Setting the attribute value to true means that the 
   download only proceeds if the local copy of the resource is missing or 
   stale.
  
   There is more information on this at 
   http://ant.apache.org/manual/CoreTasks/get.html
  
   Best regards,
   George
   IBM UK
  
  
  
   Alexey Petrenko wrote:
   Well, it would be nice. However I don't like build scripts that depend 
   on
   network.
   
   Yes, there should be the possibility to download needed jars once and
   forget about network.
  
   --
Alexey A. Petrenko
   Intel Middleware Products Division
 
-- 
David Tanzer, Haghofstr. 29, A-3352 St. Peter/Au, Austria/Europe
http://deltalabs.at -- http://dev.guglhupf.net -- http://guglhupf.net
My PGP Public Key: http://guglhupf.net/david/david.asc
--
Pinky, Are You Pondering What I'm Pondering?
I think so Brain, but if was only supposed to be a three hour 
tour, why did Howells bring all his money?


smime.p7s
Description: S/MIME cryptographic signature


Re: [classlib] build / test system

2006-02-20 Thread Geir Magnusson Jr
Will it use a maven repository?  This sounds like a lot of the 
functionality in Maven.  Whether you like Maven or not, the fact that 
there are large repositories of jars is great, so I hope your friend 
will take advantage of that.


David Tanzer wrote:
A friend of mine is currently developing a program to manage Java 
project resources (jars and others) called gc resource repository

(gc-rr):

http://dev.guglhupf.net/commons/rr/index.html

Some of the features are:

* Central resource repository to share resources between multiple 
  projects. 
  * Needed resource are downloaded and stored in a local repository. 
  * Dependencies between resources are solved. 
  * Setup the classpath with all needed resources (jars). 
  * Start java progams with the needed resources. 
  * Ant integration to setup the classpath. 
  * Modular ant build script support 
  * Eclipse classpath builder to setup the classpath in eclipse.


You may want to take a look at it. It is distributed under the Apache
License, and I guess I could convince Rene Pirringer (the main developer
of gc-rr) to contribute it to Apache Harmony if this is desired.

Best Regards,
David Tanzer

On Tue, 2006-02-14 at 11:01 +, George Harley wrote:

Hi Alexey,

The usetimestamp attribute of Ant's get task kind of offers this 
functionality. Setting the attribute value to true means that the 
download only proceeds if the local copy of the resource is missing or 
stale.


There is more information on this at 
http://ant.apache.org/manual/CoreTasks/get.html


Best regards,
George
IBM UK



Alexey Petrenko wrote:

Well, it would be nice. However I don't like build scripts that depend on
network.


Yes, there should be the possibility to download needed jars once and
forget about network.

--

 Alexey A. Petrenko

Intel Middleware Products Division
  


Re: [classlib] build / test system

2006-02-20 Thread Ryan Bloom
This actually sounds a lot like Ivy to me.  We used jpackage to
accomplish a good portion of this back at redhat, but at Peopleclick,
we are moving towards an ivy-centered approach.

Ryan

On 2/20/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:
 Will it use a maven repository?  This sounds like a lot of the
 functionality in Maven.  Whether you like Maven or not, the fact that
 there are large repositories of jars is great, so I hope your friend
 will take advantage of that.

 David Tanzer wrote:
  A friend of mine is currently developing a program to manage Java
  project resources (jars and others) called gc resource repository
  (gc-rr):
 
  http://dev.guglhupf.net/commons/rr/index.html
 
  Some of the features are:
 
  * Central resource repository to share resources between multiple
projects.
* Needed resource are downloaded and stored in a local repository.
* Dependencies between resources are solved.
* Setup the classpath with all needed resources (jars).
* Start java progams with the needed resources.
* Ant integration to setup the classpath.
* Modular ant build script support
* Eclipse classpath builder to setup the classpath in eclipse.
 
  You may want to take a look at it. It is distributed under the Apache
  License, and I guess I could convince Rene Pirringer (the main developer
  of gc-rr) to contribute it to Apache Harmony if this is desired.
 
  Best Regards,
  David Tanzer
 
  On Tue, 2006-02-14 at 11:01 +, George Harley wrote:
  Hi Alexey,
 
  The usetimestamp attribute of Ant's get task kind of offers this
  functionality. Setting the attribute value to true means that the
  download only proceeds if the local copy of the resource is missing or
  stale.
 
  There is more information on this at
  http://ant.apache.org/manual/CoreTasks/get.html
 
  Best regards,
  George
  IBM UK
 
 
 
  Alexey Petrenko wrote:
  Well, it would be nice. However I don't like build scripts that depend on
  network.
 
  Yes, there should be the possibility to download needed jars once and
  forget about network.
 
  --
   Alexey A. Petrenko
  Intel Middleware Products Division
 



--
Ryan Bloom
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]


Re: [classlib] build / test system

2006-02-19 Thread David Tanzer
A friend of mine is currently developing a program to manage Java 
project resources (jars and others) called gc resource repository
(gc-rr):

http://dev.guglhupf.net/commons/rr/index.html

Some of the features are:

* Central resource repository to share resources between multiple 
  projects. 
  * Needed resource are downloaded and stored in a local repository. 
  * Dependencies between resources are solved. 
  * Setup the classpath with all needed resources (jars). 
  * Start java progams with the needed resources. 
  * Ant integration to setup the classpath. 
  * Modular ant build script support 
  * Eclipse classpath builder to setup the classpath in eclipse.

You may want to take a look at it. It is distributed under the Apache
License, and I guess I could convince Rene Pirringer (the main developer
of gc-rr) to contribute it to Apache Harmony if this is desired.

Best Regards,
David Tanzer

On Tue, 2006-02-14 at 11:01 +, George Harley wrote:
 Hi Alexey,
 
 The usetimestamp attribute of Ant's get task kind of offers this 
 functionality. Setting the attribute value to true means that the 
 download only proceeds if the local copy of the resource is missing or 
 stale.
 
 There is more information on this at 
 http://ant.apache.org/manual/CoreTasks/get.html
 
 Best regards,
 George
 IBM UK
 
 
 
 Alexey Petrenko wrote:
  Well, it would be nice. However I don't like build scripts that depend on
  network.
  
  Yes, there should be the possibility to download needed jars once and
  forget about network.
 
  --
  Alexey A. Petrenko
  Intel Middleware Products Division

 
-- 
David Tanzer, Haghofstr. 29, A-3352 St. Peter/Au, Austria/Europe
http://deltalabs.at -- http://dev.guglhupf.net -- http://guglhupf.net
My PGP Public Key: http://guglhupf.net/david/david.asc
--
Pinky, Are You Pondering What I'm Pondering?
Well, I think so Brain but if Jimmy cracks corn and no one cares, 
why does he keep doing it?


smime.p7s
Description: S/MIME cryptographic signature


Re: [classlib] build / test system

2006-02-19 Thread Archie Cobbs

David Tanzer wrote:
A friend of mine is currently developing a program to manage Java 
project resources (jars and others) called gc resource repository

(gc-rr):

http://dev.guglhupf.net/commons/rr/index.html

Some of the features are:

* Central resource repository to share resources between multiple 
  projects. 
  * Needed resource are downloaded and stored in a local repository. 
  * Dependencies between resources are solved. 
  * Setup the classpath with all needed resources (jars). 
  * Start java progams with the needed resources. 
  * Ant integration to setup the classpath. 
  * Modular ant build script support 
  * Eclipse classpath builder to setup the classpath in eclipse.


You may want to take a look at it. It is distributed under the Apache
License, and I guess I could convince Rene Pirringer (the main developer
of gc-rr) to contribute it to Apache Harmony if this is desired.


FYI, this sounds very similar to Jpackage.org... is it supposed
to be better somehow?

-Archie

__
Archie Cobbs  *CTO, Awarix*  http://www.awarix.com


Re: [classlib] build / test system

2006-02-19 Thread David Tanzer
On Sun, 2006-02-19 at 10:46 -0600, Archie Cobbs wrote:
 David Tanzer wrote:
  A friend of mine is currently developing a program to manage Java 
  project resources (jars and others) called gc resource repository
  (gc-rr):
  
  http://dev.guglhupf.net/commons/rr/index.html
  
  Some of the features are:
  
  * Central resource repository to share resources between multiple 
projects. 
* Needed resource are downloaded and stored in a local repository. 
* Dependencies between resources are solved. 
* Setup the classpath with all needed resources (jars). 
* Start java progams with the needed resources. 
* Ant integration to setup the classpath. 
* Modular ant build script support 
* Eclipse classpath builder to setup the classpath in eclipse.
  
  You may want to take a look at it. It is distributed under the Apache
  License, and I guess I could convince Rene Pirringer (the main developer
  of gc-rr) to contribute it to Apache Harmony if this is desired.
 
 FYI, this sounds very similar to Jpackage.org... is it supposed
 to be better somehow?

I didn't know Jpackage.org so far, but from my first impression gc-rr
is somewhat different. The first version was thought as a replacement
for the dependency management of maven - you could see it as a better
version of the Ant get - task. The current version already has some
more features.

AFAICS jpackage.org is linux-only (or RPM based systems only) 
-- am I right here? gc-rr is platform independent.

This example (written by Rene) shows how to run an application which
depends on 2 libraries - maybe that makes it a little bit clearer how
rr works:

http://dev.guglhupf.net/commons/rr/example.html

 -Archie
 
 __
 Archie Cobbs  *CTO, Awarix*  http://www.awarix.com
-- 
David Tanzer, Haghofstr. 29, A-3352 St. Peter/Au, Austria/Europe
http://deltalabs.at -- http://dev.guglhupf.net -- http://guglhupf.net
My PGP Public Key: http://guglhupf.net/david/david.asc
--
Pinky, Are You Pondering What I'm Pondering?
Well, I think so Brain but if Jimmy cracks corn and no one cares, 
why does he keep doing it?


smime.p7s
Description: S/MIME cryptographic signature


Re: [classlib] build / test system

2006-02-15 Thread Alexey Petrenko
2006/2/15, Geir Magnusson Jr [EMAIL PROTECTED]:
 Stepan Mishura wrote:
  I need sync. with repository once a day, for example, in the morning to get
  yours and Tim's last updates :-) . And during a working day I may do dozen
  workspace builds. So each build will verify whether used jar files (I think
  we will have a number of them) are up to date or not. Right? Is this
  necessary?
 Well, generally no, because dependencies won't change that fast.  When
 working with systems like this in the past, I would always run in
 offline mode until something broke - an then I would let it sync.

 Overall, this was far more time efficient.
So we can do jar update target to run it when necessary.
And default target will check for jar availability (not version) and
run jar-update if there is no jar files...

Thoughts?

--
Alexey A. Petrenko
Intel Middleware Products Division


Re: [classlib] build / test system

2006-02-14 Thread Stepan Mishura
If redistributing Eclipse's jars is not an issue then I think it would be
good to put them to SVN and set up the ant build script accordingly. This
will simplify build process.
Also this can be applied, for example, to BC provider jar - we'll avoid
questions like: which version of BC did you use? Everybody will use jar that
is distributed with Harmony code base and is used to test it.

Thanks,
Stepan Mishura
Intel Middleware Products Division

On 2/13/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:

 I'm dorking around with some ant scripts for doing a complete unit test
 run over all modules.

 After some pondering, I'd like to have us eat our own dogfood (ok,
 Eclipse's dogfood) and start doing everything that we can using the
 eclipse java compiler, with the goal of self-hosting at some point with
 a javac.exe that uses it.

 So to that end, I'd like to set things up so that by default, we use the
 eclipse compiler, but that means that people have to go through a
 [painful] process to get the jars (2 of them) - namely if you don't have
 Eclipse installed, you have to go get it and dig two jars out.

 I'd like to set things up so we don't have to put in ant/lib to make it
 less intrusive to people - we could have a local lib dir and do that
 maybe.

 Anyway, anyone have strong feelings or suggestions?

 geir



Re: [classlib] build / test system

2006-02-14 Thread George Harley

Hi Stepan,

And if redistributing the Eclipse jars was an issue then we could simply 
make use of the Maven jar repository at ibiblio.org. The jars necessary 
for using the Eclipse compiler can be obtained from there without the 
need to download the entire Eclipse platform (see 
http://www.ibiblio.org/maven/eclipse/jars/jdtcore-3.1.0.jar) which 
reduces the pain considerably.


Ant build scripts could simply make use of the get task (with the 
usetimestamp option to avoid unnecessary downloading) to get the 
jdtcore-3.1.0.jar and then use unzip to extract the 
jdtCompilerAdapter.jar that is contained in there. The modified 
trunk/make/build-java.xml file inside the attachments for HARMONY-57 and 
HARMONY-88 use the ibiblio.org repository in just this way to obtain 
various xml support jars and even the junit jar.



Best regards,
George
IBM United Kingdom Limited


Stepan Mishura wrote:

If redistributing Eclipse's jars is not an issue then I think it would be
good to put them to SVN and set up the ant build script accordingly. This
will simplify build process.
Also this can be applied, for example, to BC provider jar - we'll avoid
questions like: which version of BC did you use? Everybody will use jar that
is distributed with Harmony code base and is used to test it.

Thanks,
Stepan Mishura
Intel Middleware Products Division

On 2/13/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:
  

I'm dorking around with some ant scripts for doing a complete unit test
run over all modules.

After some pondering, I'd like to have us eat our own dogfood (ok,
Eclipse's dogfood) and start doing everything that we can using the
eclipse java compiler, with the goal of self-hosting at some point with
a javac.exe that uses it.

So to that end, I'd like to set things up so that by default, we use the
eclipse compiler, but that means that people have to go through a
[painful] process to get the jars (2 of them) - namely if you don't have
Eclipse installed, you have to go get it and dig two jars out.

I'd like to set things up so we don't have to put in ant/lib to make it
less intrusive to people - we could have a local lib dir and do that
maybe.

Anyway, anyone have strong feelings or suggestions?

geir




  




Re: [classlib] build / test system

2006-02-14 Thread Dalibor Topic
George Harley george.c.harley at googlemail.com writes:

 
 Hi Stepan,
 
 And if redistributing the Eclipse jars was an issue then we could simply 
 make use of the Maven jar repository at ibiblio.org. 

We want to be able to redistribute a java compiler implementation as well. If
redistributing eclipse jars is an issue, we'll just have to write a new Apache
Licensed compiler to go with Harmony, even though we may prefer to use something
else for development.

cheers,
dalibor topic





Re: [classlib] build / test system

2006-02-14 Thread Dalibor Topic
Stepan Mishura stepan.mishura at gmail.com writes:

 Also this can be applied, for example, to BC provider jar - we'll avoid
 questions like: which version of BC did you use? Everybody will use jar that
 is distributed with Harmony code base and is used to test it.

Not necessarily. When deploying software written in Java, distributions go to
great lengths to ensure that what they redistribute is indeed free software. 

Ocassionally, that means removing proprietary software from binaries/sources
distributed by the Apache Software Foundation (used to redistribute Sun's BCL
licensed stuff a while ago, and may still do, see [1] for an example) in order
to make them redistributable by other entities not interested in the bundled
proprietary software.

In addition, distributions are fixing the jar hell by streamlining the package
dependencies to use packages of specific libraries, rather than each application
bundling their own copies of XYZ.jar.

In order to perform such necessary and useful work, knowing where from, at which
version, and under which license bundled third party libraries are included is a
great help for packagers, and other downstream users wishing to customize
deployments of the application.

cheers,
dalibor topic

[1] http://lists.gnu.org/archive/html/classpath/2005-08/msg00033.html



Re: [classlib] build / test system

2006-02-14 Thread Alexey Petrenko
 Well, it would be nice. However I don't like build scripts that depend on
 network.
Yes, there should be the possibility to download needed jars once and
forget about network.

--
Alexey A. Petrenko
Intel Middleware Products Division


Re: [classlib] build / test system

2006-02-14 Thread George Harley

Hi Alexey,

The usetimestamp attribute of Ant's get task kind of offers this 
functionality. Setting the attribute value to true means that the 
download only proceeds if the local copy of the resource is missing or 
stale.


There is more information on this at 
http://ant.apache.org/manual/CoreTasks/get.html


Best regards,
George
IBM UK



Alexey Petrenko wrote:

Well, it would be nice. However I don't like build scripts that depend on
network.


Yes, there should be the possibility to download needed jars once and
forget about network.

--
Alexey A. Petrenko
Intel Middleware Products Division
  




Re: [classlib] build / test system

2006-02-14 Thread Stepan Mishura
And to detect whether it is stale or not you need network. Right?

It is very inconvenient to find out in the middle of the build that network
is too slow and it will take hours to download new version of a jar file.
You know, it always happens when you are in a big hurry :-)

Thanks,
Stepan


On 2/14/06, George Harley george.c.harley at googlemail.com wrote:

 Hi Alexey,

 The usetimestamp attribute of Ant's get task kind of offers this
 functionality. Setting the attribute value to true means that the
 download only proceeds if the local copy of the resource is missing or
 stale.

 There is more information on this at
 http://ant.apache.org/manual/CoreTasks/get.html

 Best regards,
 George
 IBM UK



 Alexey Petrenko wrote:
  Well, it would be nice. However I don't like build scripts that depend
 on
  network.
 
  Yes, there should be the possibility to download needed jars once and
  forget about network.
 
  --
  Alexey A. Petrenko
  Intel Middleware Products Division
 




Re: [classlib] build / test system

2006-02-14 Thread George Harley

Hi,

OK, yes, it needs a network connection. My point was really that 
usetimestamp provides a mechanism for jars to be downloaded only when 
required (i.e. when not present or when stale). I wasn't really 
intending to sell it as a way of working without the network hence the 
declaration that it kind of offers this functionality.


I could mention that setting the ignoreerrors attribute to true 
would mean that, in the absence of a network, the task could fail (to 
check the local and remote timestamps of the resources) without bringing 
the whole build script to a screeching halt. But that probably wouldn't 
be of interest to you either :-)


Best regards,
George
IBM UK



Tim Ellison wrote:

How does it know it is stale without a network connection ?

Regards,
Tim

George Harley wrote:
  

Hi Alexey,

The usetimestamp attribute of Ant's get task kind of offers this
functionality. Setting the attribute value to true means that the
download only proceeds if the local copy of the resource is missing or
stale.

There is more information on this at
http://ant.apache.org/manual/CoreTasks/get.html

Best regards,
George
IBM UK



Alexey Petrenko wrote:


Well, it would be nice. However I don't like build scripts that
depend on
network.



Yes, there should be the possibility to download needed jars once and
forget about network.

--
Alexey A. Petrenko
Intel Middleware Products Division
  
  



  




Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr
Yah, that or just fetch from ibiblio or -ish dynamically.  I hate 
connecting anything to ibiblio because it's so painfully slow at times...


But I do want to establish precise versions for things - keeps the what 
was on your classpath problems to a bare minimum.


geir

Stepan Mishura wrote:

If redistributing Eclipse's jars is not an issue then I think it would be
good to put them to SVN and set up the ant build script accordingly. This
will simplify build process.
Also this can be applied, for example, to BC provider jar - we'll avoid
questions like: which version of BC did you use? Everybody will use jar that
is distributed with Harmony code base and is used to test it.

Thanks,
Stepan Mishura
Intel Middleware Products Division

On 2/13/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:

I'm dorking around with some ant scripts for doing a complete unit test
run over all modules.

After some pondering, I'd like to have us eat our own dogfood (ok,
Eclipse's dogfood) and start doing everything that we can using the
eclipse java compiler, with the goal of self-hosting at some point with
a javac.exe that uses it.

So to that end, I'd like to set things up so that by default, we use the
eclipse compiler, but that means that people have to go through a
[painful] process to get the jars (2 of them) - namely if you don't have
Eclipse installed, you have to go get it and dig two jars out.

I'd like to set things up so we don't have to put in ant/lib to make it
less intrusive to people - we could have a local lib dir and do that
maybe.

Anyway, anyone have strong feelings or suggestions?

geir





Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



George Harley wrote:

Hi Stepan,

And if redistributing the Eclipse jars was an issue then we could simply 
make use of the Maven jar repository at ibiblio.org. The jars necessary 
for using the Eclipse compiler can be obtained from there without the 
need to download the entire Eclipse platform (see 
http://www.ibiblio.org/maven/eclipse/jars/jdtcore-3.1.0.jar) which 
reduces the pain considerably.


Well, ibiblio is a pain - it can be slow to the point of timeout, which 
is really no fun.  Been there, raged at that.





Ant build scripts could simply make use of the get task (with the 
usetimestamp option to avoid unnecessary downloading) to get the 
jdtcore-3.1.0.jar and then use unzip to extract the 
jdtCompilerAdapter.jar that is contained in there. The modified 
trunk/make/build-java.xml file inside the attachments for HARMONY-57 and 
HARMONY-88 use the ibiblio.org repository in just this way to obtain 
various xml support jars and even the junit jar.


Yes, this is what I was trying to do in security2 a while back to 
automate getting the junit and bcprov jars for testing.  problem was 
that ibiblio didn't have the right version of bcprov :)





Best regards,
George
IBM United Kingdom Limited


Stepan Mishura wrote:

If redistributing Eclipse's jars is not an issue then I think it would be
good to put them to SVN and set up the ant build script accordingly. This
will simplify build process.
Also this can be applied, for example, to BC provider jar - we'll avoid
questions like: which version of BC did you use? Everybody will use 
jar that

is distributed with Harmony code base and is used to test it.

Thanks,
Stepan Mishura
Intel Middleware Products Division

On 2/13/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:
 

I'm dorking around with some ant scripts for doing a complete unit test
run over all modules.

After some pondering, I'd like to have us eat our own dogfood (ok,
Eclipse's dogfood) and start doing everything that we can using the
eclipse java compiler, with the goal of self-hosting at some point with
a javac.exe that uses it.

So to that end, I'd like to set things up so that by default, we use the
eclipse compiler, but that means that people have to go through a
[painful] process to get the jars (2 of them) - namely if you don't have
Eclipse installed, you have to go get it and dig two jars out.

I'd like to set things up so we don't have to put in ant/lib to make it
less intrusive to people - we could have a local lib dir and do that
maybe.

Anyway, anyone have strong feelings or suggestions?

geir




  





Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



Dalibor Topic wrote:

Ocassionally, that means removing proprietary software from binaries/sources
distributed by the Apache Software Foundation (used to redistribute Sun's BCL
licensed stuff a while ago, and may still do, see [1] for an example) in order
to make them redistributable by other entities not interested in the bundled
proprietary software.



That was a mistake, the BCL stuff.  That is being taken care of.

geir



Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



Alexey Petrenko wrote:

Well, it would be nice. However I don't like build scripts that depend on
network.

Yes, there should be the possibility to download needed jars once and
forget about network.


That's what using get in ant does - it should be able to fail 
silently.  Or, if not, we put in a offline mode.


geir


Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



Stepan Mishura wrote:

And to detect whether it is stale or not you need network. Right?


If you have a network, then you get it.  If you don't have a network, 
then it doesn't matter if it's stale or not, because there is nothing 
you can do about it anyway.


The assumption is that you keep the whole tree up to date - therefore, 
while a given dependency may be stale, it's no more stale than your 
tree, so you can still work until you get back online.


If you update code, and don't update deps into the local repository, 
it's your problem :)


geir




Re: [classlib] build / test system

2006-02-14 Thread George Harley

Hi Geir,

If folks find the ibiblio site slow and the latest versions of what we 
need are not available, is there any merit in an Apache Harmony 
repository being set up that would contain whatever binaries are 
required by developers (e.g. eclipse compiler jars, BC provider jar, etc) ?


Best regards,
George
IBM United Kingdom Limited


Geir Magnusson Jr wrote:



George Harley wrote:

Hi Stepan,

And if redistributing the Eclipse jars was an issue then we could 
simply make use of the Maven jar repository at ibiblio.org. The jars 
necessary for using the Eclipse compiler can be obtained from there 
without the need to download the entire Eclipse platform (see 
http://www.ibiblio.org/maven/eclipse/jars/jdtcore-3.1.0.jar) which 
reduces the pain considerably.


Well, ibiblio is a pain - it can be slow to the point of timeout, 
which is really no fun.  Been there, raged at that.





Ant build scripts could simply make use of the get task (with the 
usetimestamp option to avoid unnecessary downloading) to get the 
jdtcore-3.1.0.jar and then use unzip to extract the 
jdtCompilerAdapter.jar that is contained in there. The modified 
trunk/make/build-java.xml file inside the attachments for HARMONY-57 
and HARMONY-88 use the ibiblio.org repository in just this way to 
obtain various xml support jars and even the junit jar.


Yes, this is what I was trying to do in security2 a while back to 
automate getting the junit and bcprov jars for testing.  problem was 
that ibiblio didn't have the right version of bcprov :)





Best regards,
George
IBM United Kingdom Limited


Stepan Mishura wrote:
If redistributing Eclipse's jars is not an issue then I think it 
would be
good to put them to SVN and set up the ant build script accordingly. 
This

will simplify build process.
Also this can be applied, for example, to BC provider jar - we'll avoid
questions like: which version of BC did you use? Everybody will use 
jar that

is distributed with Harmony code base and is used to test it.

Thanks,
Stepan Mishura
Intel Middleware Products Division

On 2/13/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:
 
I'm dorking around with some ant scripts for doing a complete unit 
test

run over all modules.

After some pondering, I'd like to have us eat our own dogfood (ok,
Eclipse's dogfood) and start doing everything that we can using the
eclipse java compiler, with the goal of self-hosting at some point 
with

a javac.exe that uses it.

So to that end, I'd like to set things up so that by default, we 
use the

eclipse compiler, but that means that people have to go through a
[painful] process to get the jars (2 of them) - namely if you don't 
have

Eclipse installed, you have to go get it and dig two jars out.

I'd like to set things up so we don't have to put in ant/lib to 
make it

less intrusive to people - we could have a local lib dir and do that
maybe.

Anyway, anyone have strong feelings or suggestions?

geir




  









Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



George Harley wrote:

Hi Geir,

If folks find the ibiblio site slow and the latest versions of what we 
need are not available, is there any merit in an Apache Harmony 
repository being set up that would contain whatever binaries are 
required by developers (e.g. eclipse compiler jars, BC provider jar, etc) ?


Of course. We've thought about this before for other projects, like 
Geronimo.


The problem is how such availability is interpreted - are we 
redistributing (i.e. publishing) software?  Generally, the ASF only 
makes external software available when it's part of a program that uses it.


This is different if we have a repository of naked jars that we make 
available for any and all comers.  I've been around this tree before w/ 
Geronimo.  I'll revisit for us and see where people stand.


geir



Best regards,
George
IBM United Kingdom Limited


Geir Magnusson Jr wrote:



George Harley wrote:

Hi Stepan,

And if redistributing the Eclipse jars was an issue then we could 
simply make use of the Maven jar repository at ibiblio.org. The jars 
necessary for using the Eclipse compiler can be obtained from there 
without the need to download the entire Eclipse platform (see 
http://www.ibiblio.org/maven/eclipse/jars/jdtcore-3.1.0.jar) which 
reduces the pain considerably.


Well, ibiblio is a pain - it can be slow to the point of timeout, 
which is really no fun.  Been there, raged at that.





Ant build scripts could simply make use of the get task (with the 
usetimestamp option to avoid unnecessary downloading) to get the 
jdtcore-3.1.0.jar and then use unzip to extract the 
jdtCompilerAdapter.jar that is contained in there. The modified 
trunk/make/build-java.xml file inside the attachments for HARMONY-57 
and HARMONY-88 use the ibiblio.org repository in just this way to 
obtain various xml support jars and even the junit jar.


Yes, this is what I was trying to do in security2 a while back to 
automate getting the junit and bcprov jars for testing.  problem was 
that ibiblio didn't have the right version of bcprov :)





Best regards,
George
IBM United Kingdom Limited


Stepan Mishura wrote:
If redistributing Eclipse's jars is not an issue then I think it 
would be
good to put them to SVN and set up the ant build script accordingly. 
This

will simplify build process.
Also this can be applied, for example, to BC provider jar - we'll avoid
questions like: which version of BC did you use? Everybody will use 
jar that

is distributed with Harmony code base and is used to test it.

Thanks,
Stepan Mishura
Intel Middleware Products Division

On 2/13/06, Geir Magnusson Jr [EMAIL PROTECTED] wrote:
 
I'm dorking around with some ant scripts for doing a complete unit 
test

run over all modules.

After some pondering, I'd like to have us eat our own dogfood (ok,
Eclipse's dogfood) and start doing everything that we can using the
eclipse java compiler, with the goal of self-hosting at some point 
with

a javac.exe that uses it.

So to that end, I'd like to set things up so that by default, we 
use the

eclipse compiler, but that means that people have to go through a
[painful] process to get the jars (2 of them) - namely if you don't 
have

Eclipse installed, you have to go get it and dig two jars out.

I'd like to set things up so we don't have to put in ant/lib to 
make it

less intrusive to people - we could have a local lib dir and do that
maybe.

Anyway, anyone have strong feelings or suggestions?

geir




  










Re: [classlib] build / test system

2006-02-14 Thread Dalibor Topic
Geir Magnusson Jr geir at pobox.com writes:

 That was a mistake, the BCL stuff.  

Yeah, I believe everyone agrees on that.

 That is being taken care of.

Does that mean tomcat 4[1] will it be pulled completely from Apache.org,
or will there be a new release? 

It would be easy to write a script that unpacks all the tarballs on 
dist, finds all jars, zipinfo's them and greps for sun to spot 
problematic projects and 'quarantene' them, so that we don't distribute
bits that may impose additional hardships on unassuming users of Apache
software, as we currently unfortunately still seem to do[2].

cheers,
dalibor topic

[1] And for some odd reason tomcat 4.1.31 binary relase tarball doesn't 
seem to mention BCL anywhere, despite having lots of com.sun.* classes 
in the various jars, which makes sanitizing it so painful: one needs 
to look into every single JAR to figure out if it is redistributable 
at all, or not. Yay non-transferable proprietary licenses. :/

So ... please let's always document where each bundled artifact came from, 
under which license and version it was included, for the sake of our users. 
If that's not an ASF policy already, it should become one, and we should
start using it in harmony by documenting origins, licenses and 
versions of our dependencies for all to see and verify.

[2]
http://www.apache.org/dist/tomcat/tomcat-4/v4.1.31/bin/jakarta-tomcat-4.1.31.tar.gz



Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



Dalibor Topic wrote:

Geir Magnusson Jr geir at pobox.com writes:

That was a mistake, the BCL stuff.  


Yeah, I believe everyone agrees on that.


That is being taken care of.


Does that mean tomcat 4[1] will it be pulled completely from Apache.org,
or will there be a new release? 


I have no clue, and I'm not too worried about it.  It's something for 
them to work out.


geir



Re: [classlib] build / test system

2006-02-14 Thread Stepan Mishura
I need sync. with repository once a day, for example, in the morning to get
yours and Tim's last updates :-) . And during a working day I may do dozen
workspace builds. So each build will verify whether used jar files (I think
we will have a number of them) are up to date or not. Right? Is this
necessary?

Also there is possibility that the next version of some jar will break the
build, for example, a bug may be introduced in a new jar's version and
Harmony tests will start to fail. Because a jar'a update is done secretly
(I don't like this) by the build script nobody will notice that. So one day
some of us will have to solve a mystery puzzle: why the last minor update
breaks everything :-)

If everybody OK with network build let's have it, but please add a special
property, like George suggested:
-DIdontHappyWithNetworkBuildUseLocalCopies

Thanks,
Stepan


On 2/14/06, Geir Magnusson Jr geir atpobox.com wrote:



 Stepan Mishura wrote:
  And to detect whether it is stale or not you need network. Right?

 If you have a network, then you get it.  If you don't have a network,
 then it doesn't matter if it's stale or not, because there is nothing
 you can do about it anyway.

 The assumption is that you keep the whole tree up to date - therefore,
 while a given dependency may be stale, it's no more stale than your
 tree, so you can still work until you get back online.

 If you update code, and don't update deps into the local repository,
 it's your problem :)

 geir





Re: [classlib] build / test system

2006-02-14 Thread Geir Magnusson Jr



Stepan Mishura wrote:

I need sync. with repository once a day, for example, in the morning to get
yours and Tim's last updates :-) . And during a working day I may do dozen
workspace builds. So each build will verify whether used jar files (I think
we will have a number of them) are up to date or not. Right? Is this
necessary?


Well, generally no, because dependencies won't change that fast.  When 
working with systems like this in the past, I would always run in 
offline mode until something broke - an then I would let it sync.


Overall, this was far more time efficient.



Also there is possibility that the next version of some jar will break the
build, for example, a bug may be introduced in a new jar's version and
Harmony tests will start to fail. Because a jar'a update is done secretly
(I don't like this) by the build script nobody will notice that. So one day
some of us will have to solve a mystery puzzle: why the last minor update
breaks everything :-)


it isn't done secretly - we specify the exact version of whatever jar 
we're getting.  So nothing changes w/o our explicit change.




If everybody OK with network build let's have it, but please add a special
property, like George suggested:
-DIdontHappyWithNetworkBuildUseLocalCopies

Thanks,
Stepan


On 2/14/06, Geir Magnusson Jr geir atpobox.com wrote:



Stepan Mishura wrote:

And to detect whether it is stale or not you need network. Right?

If you have a network, then you get it.  If you don't have a network,
then it doesn't matter if it's stale or not, because there is nothing
you can do about it anyway.

The assumption is that you keep the whole tree up to date - therefore,
while a given dependency may be stale, it's no more stale than your
tree, so you can still work until you get back online.

If you update code, and don't update deps into the local repository,
it's your problem :)

geir







Re: [classlib] build / test system

2006-02-13 Thread Archie Cobbs

Geir Magnusson Jr wrote:
So to that end, I'd like to set things up so that by default, we use the 
eclipse compiler, but that means that people have to go through a 
[painful] process to get the jars (2 of them) - namely if you don't have 
Eclipse installed, you have to go get it and dig two jars out.


I'd like to set things up so we don't have to put in ant/lib to make it 
less intrusive to people - we could have a local lib dir and do that maybe.


Anyway, anyone have strong feelings or suggestions?


I haven't been paying close attention so this may be a dumb question...
what about using jikes? Jikes is nice for Java VM projects where you
have a bootstrap problem associated with Java compilers themselves
written in Java.

-Archie

__
Archie Cobbs  *CTO, Awarix*  http://www.awarix.com


Re: [classlib] build / test system

2006-02-13 Thread Geir Magnusson Jr



Archie Cobbs wrote:

Geir Magnusson Jr wrote:
So to that end, I'd like to set things up so that by default, we use 
the eclipse compiler, but that means that people have to go through a 
[painful] process to get the jars (2 of them) - namely if you don't 
have Eclipse installed, you have to go get it and dig two jars out.


I'd like to set things up so we don't have to put in ant/lib to make 
it less intrusive to people - we could have a local lib dir and do 
that maybe.


Anyway, anyone have strong feelings or suggestions?


I haven't been paying close attention so this may be a dumb question...
what about using jikes? Jikes is nice for Java VM projects where you
have a bootstrap problem associated with Java compilers themselves
written in Java.


Well, we have* our own VM, right?


* have = ok, in the future...


Re: [classlib] build / test system

2006-02-13 Thread Tim Ellison
Geir Magnusson Jr wrote:
 
 
 Archie Cobbs wrote:
 Geir Magnusson Jr wrote:
 So to that end, I'd like to set things up so that by default, we use
 the eclipse compiler, but that means that people have to go through a
 [painful] process to get the jars (2 of them) - namely if you don't
 have Eclipse installed, you have to go get it and dig two jars out.

 I'd like to set things up so we don't have to put in ant/lib to make
 it less intrusive to people - we could have a local lib dir and do
 that maybe.

 Anyway, anyone have strong feelings or suggestions?

 I haven't been paying close attention so this may be a dumb question...
 what about using jikes? Jikes is nice for Java VM projects where you
 have a bootstrap problem associated with Java compilers themselves
 written in Java.
 
 Well, we have* our own VM, right?
 
 
 * have = ok, in the future...
 

I assume that Archie meant the Jikes compiler, right?

Not sure whether that is under active development.  The last release I
can see in their archive is 2004-10-03.

Regards,
Tim


-- 

Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.