[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
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
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
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
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
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/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
Geir As I understand you, not every time I build it will go online, so, what are the exact conditions for the build to go to some external site? Thanks, Mikhail. On 2/15/06, Geir Magnusson Jr <[EMAIL PROTECTED]> wrote: > > > 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 pobox.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 pobox.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
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 pobox.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
Dalibor Topic wrote: Geir Magnusson Jr 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
When we get things settled, certainly... Tim Ellison wrote: Dalibor Topic wrote: 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. I agree. We have it documented in various parts of the repo (e.g. [1], [2]) at the moment, but perhaps should have an "at a glance" page on the website. [1] http://svn.apache.org/viewcvs.cgi/incubator/harmony/enhanced/classlib/trunk/depends/oss/README.txt?view=markup [2] http://svn.apache.org/viewcvs.cgi/incubator/harmony/enhanced/classlib/trunk/THIRD_PARTY_NOTICES.txt?view=markup Regards, Tim
Re: [classlib] build / test system
Dalibor Topic wrote: > 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. I agree. We have it documented in various parts of the repo (e.g. [1], [2]) at the moment, but perhaps should have an "at a glance" page on the website. [1] http://svn.apache.org/viewcvs.cgi/incubator/harmony/enhanced/classlib/trunk/depends/oss/README.txt?view=markup [2] http://svn.apache.org/viewcvs.cgi/incubator/harmony/enhanced/classlib/trunk/THIRD_PARTY_NOTICES.txt?view=markup Regards, Tim -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK.
Re: [classlib] build / test system
Geir Magnusson Jr 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
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
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
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
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
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
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
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
[Fwd: Re: [classlib] build / test system]
Hi, Sorry, this was intended for the list. I need to revisit my email client's settings for "reply to". Best regards, George Original Message Subject: Re: [classlib] build / test system Date: Tue, 14 Feb 2006 11:55:57 + From: George Harley <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: Stepan Mishura <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Hi Stepan, Right. The running of the "get" task could always be conditional on some property passed into Ant. e.g. -DIAmInAHurryAndDontWantToRelyOnTheNetwork=true Best regards, George IBM UK Stepan Mishura wrote: 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* googlemail.com <http://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
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 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
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 >> > > -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK.
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
> 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
Stepan Mishura 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
Hi George, On 2/14/06, George Harley <[EMAIL PROTECTED]> 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. Great! Why you kept silence before? :-) 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. Well, it would be nice. However I don't like build scripts that depend on network. Thanks, Stepan Mishura Intel Middleware Products Division
Re: [classlib] build / test system
George Harley 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
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
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
On a light note : http://www.jroller.com/page/fate/?anchor=jikes_authors_are_terrorists (caution - not necessarily work safe... depends where you work I suppose ...) Archie Cobbs wrote: Tim Ellison wrote: 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? Yes.. Not sure whether that is under active development. The last release I can see in their archive is 2004-10-03. I'm not sure either. It works fine for pre-1.5 java source code. I mention it only as an option. It has always worked fine for me, and not relying on Java is always available (and consistent). -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com
Re: [classlib] build / test system
Tim Ellison wrote: 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? Yes.. Not sure whether that is under active development. The last release I can see in their archive is 2004-10-03. I'm not sure either. It works fine for pre-1.5 java source code. I mention it only as an option. It has always worked fine for me, and not relying on Java is always available (and consistent). -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com
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.
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: 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
[classlib] build / test system
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