Re: Tracking Jakarta Software Dependencies
Hi, you just touched a raw nerve with me... :-) As long as maven (at least maven 1, don't know about maven 2 yet) doesn't differentiate between * Compile dependencies (mandatory and optional) * Runtime dependencies (mandatory and optional) then IMHO the dependencies page not really useful. A small example: Velocity has two optional dependencies: java.util.logging.Logger and javax.sql.DataSource. - If you don't have them at compile time, two classes will not be compiled. You will never miss them -- No runtime dependency. Any tool analyzing a jar built without these present at compile time will ever pick up this dependency. - If you have them at compile time, you will get two additional classes in the jar. One allows you to log into jdk 1.4, the other to load templates from a JDBC data source. - If you have these two additional classes in your velocity jar, you get java.util.logging.Logger and javax.sql.DataSource as *optional* runtime dependencies. You don't need them *unless* you want to use one of the scenarios described above. But the core functionality of Velocity, which 99% of all users use, *DO NOT NEED THEM*. However, in most of the Velocity documentation you will read Velocity requires the jdbc_2.0.jar And find it listed in dependency lists. And bazillions of Velocity based applications drag this completely unneeded jar around. Which sucks. Hard. No JDK since 1.4 needs this. If you look at a project like Turbine or Struts, you get drowned in optional, compile and runtime dependencies. Maintaining these by hand is a nightmare and doing it automatically will not list what is optional and what is not. What is basically needed is: - What are the core dependencies? - What are the additional dependencies for the optional bell, whistle. - What are the minimum compile dependencies for building? - What can be optionally included for compiling. These requirements have been recognized a long time ago. I don't know any build tool that is able to do this automatically. I'd love to be educated that e.g. maven 2 can do this. Best regards Henning Ortwin Glück schrieb: Dependencies: the Maven generated page on the project site lists them. I strongly discourage manually maintaining them in a separate location. JDK version: what a mess. IMHO this is THE information that is missing on almost ANY project page out there. As a user I expect this information close to where I obtain the artifact. That is: on the download page and in the README. So let's put the JDK compat information into these places. Ortwin Daniel F. Savarese wrote: Hi All, I and other Jakarta committers received an email today from a developer at Wachovia pointing out how difficult it is to discover library and JDK dependencies for Jakarta subprojects as a whole, even though his main focus was Commons. I couldn't really dispute his observation upon trying to find dependency information for a couple of software releases. Would it be useful to start a Wiki page containing a table where after each software release, we list the library and JDK dependencies/compatibility for the release? Or would it be better to simply agree on a common place in each subproject's Web page hierarchy to list that information? Interest for easy access to this information appears to be coming from corporate developers using older JDK versions who are having a hard time figuring out what's compatible with what. daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
You have scope and optional as dependency parameters. The combination of the 2 can provide what you are thinking about. Although not sure the dependency report will make a separate list out of them. (but this is better for discussing on the maven user list I guess) Mvgr, Martin Henning Schmiedehausen wrote: Hi, you just touched a raw nerve with me... :-) As long as maven (at least maven 1, don't know about maven 2 yet) doesn't differentiate between * Compile dependencies (mandatory and optional) * Runtime dependencies (mandatory and optional) then IMHO the dependencies page not really useful. A small example: Velocity has two optional dependencies: java.util.logging.Logger and javax.sql.DataSource. - If you don't have them at compile time, two classes will not be compiled. You will never miss them -- No runtime dependency. Any tool analyzing a jar built without these present at compile time will ever pick up this dependency. - If you have them at compile time, you will get two additional classes in the jar. One allows you to log into jdk 1.4, the other to load templates from a JDBC data source. - If you have these two additional classes in your velocity jar, you get java.util.logging.Logger and javax.sql.DataSource as *optional* runtime dependencies. You don't need them *unless* you want to use one of the scenarios described above. But the core functionality of Velocity, which 99% of all users use, *DO NOT NEED THEM*. However, in most of the Velocity documentation you will read Velocity requires the jdbc_2.0.jar And find it listed in dependency lists. And bazillions of Velocity based applications drag this completely unneeded jar around. Which sucks. Hard. No JDK since 1.4 needs this. If you look at a project like Turbine or Struts, you get drowned in optional, compile and runtime dependencies. Maintaining these by hand is a nightmare and doing it automatically will not list what is optional and what is not. What is basically needed is: - What are the core dependencies? - What are the additional dependencies for the optional bell, whistle. - What are the minimum compile dependencies for building? - What can be optionally included for compiling. These requirements have been recognized a long time ago. I don't know any build tool that is able to do this automatically. I'd love to be educated that e.g. maven 2 can do this. Best regards Henning Ortwin Glück schrieb: Dependencies: the Maven generated page on the project site lists them. I strongly discourage manually maintaining them in a separate location. JDK version: what a mess. IMHO this is THE information that is missing on almost ANY project page out there. As a user I expect this information close to where I obtain the artifact. That is: on the download page and in the README. So let's put the JDK compat information into these places. Ortwin Daniel F. Savarese wrote: Hi All, I and other Jakarta committers received an email today from a developer at Wachovia pointing out how difficult it is to discover library and JDK dependencies for Jakarta subprojects as a whole, even though his main focus was Commons. I couldn't really dispute his observation upon trying to find dependency information for a couple of software releases. Would it be useful to start a Wiki page containing a table where after each software release, we list the library and JDK dependencies/compatibility for the release? Or would it be better to simply agree on a common place in each subproject's Web page hierarchy to list that information? Interest for easy access to this information appears to be coming from corporate developers using older JDK versions who are having a hard time figuring out what's compatible with what. daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
That policy is just for you ;) Mvgr, Martin Henning Schmiedehausen wrote: I do object to the everyone must build with maven 2 policy. :-) Best regards Henning - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
The JDK portion would fall under: http://mail-archives.apache.org/mod_mbox/maven-dev/200607.mbox/[EMAIL PROTECTED] Comments welcome. I think I may have missed the obvious part about specifying the required JDK in the POM, actually :) Cheers, Brett On 13/09/06, Yoav Shapira [EMAIL PROTECTED] wrote: Hi, On 9/12/06, Stephen Colebourne [EMAIL PROTECTED] wrote: Perhaps, this could be achieved by enhancing maven to allow the minimum JDK level to be specified in the POM, and thus on the dependencies page? The bottom of http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html seems to suggest Maven (2) is already pretty close to this. We should just ask the Maven dudes for a little help and/or open an enhancement issue for this (expose JDK version in Project Dependencies report), I'm sure they'll do it quickly and easily... Yoav - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Apache Maven - http://maven.apache.org Better Builds with Maven book - http://library.mergere.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
Hi, Projects that use Maven get this for free in the dependency report (and people can just look at the POM). Projects that use Ant might simply direct their users to look in the relevant build script or file (e.g. build.properties). I'm hesitant to have a separate web page just to list dependencies unless that page is auto-generated (as is the case with maven), because that's two places to keep in sync when developing, and I can easily see how we'd forget to update the web page... Yoav On 9/12/06, Daniel F. Savarese [EMAIL PROTECTED] wrote: Hi All, I and other Jakarta committers received an email today from a developer at Wachovia pointing out how difficult it is to discover library and JDK dependencies for Jakarta subprojects as a whole, even though his main focus was Commons. I couldn't really dispute his observation upon trying to find dependency information for a couple of software releases. Would it be useful to start a Wiki page containing a table where after each software release, we list the library and JDK dependencies/compatibility for the release? Or would it be better to simply agree on a common place in each subproject's Web page hierarchy to list that information? Interest for easy access to this information appears to be coming from corporate developers using older JDK versions who are having a hard time figuring out what's compatible with what. daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
I thought there already was a standard, at least as far as dependencies go: under Project Info...Dependencies? I recall asking about this a few months back and was told all the Commons projects at least used this convention... Maybe this isn't auto-generated? I remember at the time I said I thought it should be a bit easier to find, but regardless of that, if it was a standard all projects (not just commons) followed, would that suffice? Frank -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com AIM/Yahoo: fzammetti MSN: [EMAIL PROTECTED] Author of Practical Ajax Projects With Java Technology (2006, Apress, ISBN 1-59059-695-1) Java Web Parts - http://javawebparts.sourceforge.net Supplying the wheel, so you don't have to reinvent it! On Tue, September 12, 2006 5:28 pm, Daniel F. Savarese wrote: In message [EMAIL PROTECTED], Yoav Shapira writes: (e.g. build.properties). I'm hesitant to have a separate web page just to list dependencies unless that page is auto-generated (as is I agree. I'm sure there's a way to autogenerate a master table for all the mavenized projects, but since I'm not volunteering to do it, I'm not going to suggest it. I haven't seen anyone listing their JDK requirements in the maven dependency report. Could we then just ask mavenized projects to add their minimum JDK requirement to the dependencies report (I've never tried entering a 'fake' entry and ant projects to add the info to their docs if they don't already have it? These situations are always weird for me since I'm not the one experiencing the actual issue, yet have been asked to raise it. However, I think it's a reasonable reminder that despite all the progress Jakarta has made, users still have problems navigating our documentation. daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
I've also seen this problem. Last year the question about JDK version compatibility came up on the mailing list -- it turned out that it wasn't really clear even internally. (I think we documented this somewhere as JDK 1.3 for runtime, 1.4 for compiling). But I bet a lot of this is oral documentation or just assumed. WILL On 9/12/06, Daniel F. Savarese [EMAIL PROTECTED] wrote: In message [EMAIL PROTECTED], Yoav Shapira writes: (e.g. build.properties). I'm hesitant to have a separate web page just to list dependencies unless that page is auto-generated (as is I agree. I'm sure there's a way to autogenerate a master table for all the mavenized projects, but since I'm not volunteering to do it, I'm not going to suggest it. I haven't seen anyone listing their JDK requirements in the maven dependency report. Could we then just ask mavenized projects to add their minimum JDK requirement to the dependencies report (I've never tried entering a 'fake' entry and ant projects to add the info to their docs if they don't already have it? These situations are always weird for me since I'm not the one experiencing the actual issue, yet have been asked to raise it. However, I think it's a reasonable reminder that despite all the progress Jakarta has made, users still have problems navigating our documentation. daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Forio Business Simulations Will Glass-Husain [EMAIL PROTECTED] www.forio.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
Dependencies: the Maven generated page on the project site lists them. I strongly discourage manually maintaining them in a separate location. JDK version: what a mess. IMHO this is THE information that is missing on almost ANY project page out there. As a user I expect this information close to where I obtain the artifact. That is: on the download page and in the README. So let's put the JDK compat information into these places. Ortwin Daniel F. Savarese wrote: Hi All, I and other Jakarta committers received an email today from a developer at Wachovia pointing out how difficult it is to discover library and JDK dependencies for Jakarta subprojects as a whole, even though his main focus was Commons. I couldn't really dispute his observation upon trying to find dependency information for a couple of software releases. Would it be useful to start a Wiki page containing a table where after each software release, we list the library and JDK dependencies/compatibility for the release? Or would it be better to simply agree on a common place in each subproject's Web page hierarchy to list that information? Interest for easy access to this information appears to be coming from corporate developers using older JDK versions who are having a hard time figuring out what's compatible with what. daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
In message [EMAIL PROTECTED], =?ISO-8859-1?Q?Ortwin_Gl=FCck?= writes: JDK version: what a mess. IMHO this is THE information that is missing on almost ANY project page out there. I think everyone's responses have brought this topic to closure. Library dependencies are already available from most subprojects, but JDK requirements aren't obvious. Conclusion: let's try to make the JDK requirements for our projects more obvious for Jakarta users. I'm sorry if I caused a rehash of a discussion that had already been resolved earlier in the year. It's actually made me realize that I list JDK requirements in the README for some non-Jakarta software I've released, but I don't make the README available on the Web page, so you don't know the requirements until you download and unarchive the source code. There's always some little detail that goes unattended... daniel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
Daniel F. Savarese wrote: In message [EMAIL PROTECTED], =?ISO-8859-1?Q?Ortwin_Gl=FCck?= writes: JDK version: what a mess. IMHO this is THE information that is missing on almost ANY project page out there. I think everyone's responses have brought this topic to closure. Library dependencies are already available from most subprojects, but JDK requirements aren't obvious. Conclusion: let's try to make the JDK requirements for our projects more obvious for Jakarta users. Perhaps, this could be achieved by enhancing maven to allow the minimum JDK level to be specified in the POM, and thus on the dependencies page? Stephen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
Hi, On 9/12/06, Stephen Colebourne [EMAIL PROTECTED] wrote: Perhaps, this could be achieved by enhancing maven to allow the minimum JDK level to be specified in the POM, and thus on the dependencies page? The bottom of http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html seems to suggest Maven (2) is already pretty close to this. We should just ask the Maven dudes for a little help and/or open an enhancement issue for this (expose JDK version in Project Dependencies report), I'm sure they'll do it quickly and easily... Yoav - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tracking Jakarta Software Dependencies
As a quick addendum, it'd be nice to separately specify JDK required for building and JDK required for running. Velocity has a 1.3 runtime and 1.4 compile requirement, I can't remember why off-hand. I think we relaxed the requirements for the test classes to allow them to use JDK 1.4 libraries. There's also a few JDK 1.4 adapters (e.g. for logging) that are compiled in but only are used (via reflection) in 1.4 JRE's. WILL On 9/12/06, Yoav Shapira [EMAIL PROTECTED] wrote: Hi, On 9/12/06, Stephen Colebourne [EMAIL PROTECTED] wrote: Perhaps, this could be achieved by enhancing maven to allow the minimum JDK level to be specified in the POM, and thus on the dependencies page? The bottom of http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html seems to suggest Maven (2) is already pretty close to this. We should just ask the Maven dudes for a little help and/or open an enhancement issue for this (expose JDK version in Project Dependencies report), I'm sure they'll do it quickly and easily... Yoav - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Forio Business Simulations Will Glass-Husain [EMAIL PROTECTED] www.forio.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]