[Fwd: Re: [classlib] build / test system]
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
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
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
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
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
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/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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.