On Jan 16, 2008 6:04 PM, Gary Gregory <[EMAIL PROTECTED]> wrote: > > From: sebb [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, January 16, 2008 8:21 AM > > To: Jakarta Commons Developers List > > Subject: Re: [VOTE] Release Commons IO 1.4 based on RC2 > > > > On 16/01/2008, Niall Pemberton <[EMAIL PROTECTED]> wrote: > > > On Jan 16, 2008 3:58 PM, sebb <[EMAIL PROTECTED]> wrote: > > > > The manifest created by the M2 build includes the following: > > > > > > > > Build-Jdk: 1.5.0_07 > > > > X-Compile-Source-JDK: 1.3 > > > > X-Compile-Target-JDK: 1.3 > > > > > > > > so yes, the actual build JDK is shown, but so are the intended versions. > > > > > > > > For javac, the source and target setting have limited effect in that > > > > they don't affect the libraries, see: > > > > > > > > https://issues.apache.org/jira/browse/MATH- > > 173?focusedCommentId=12557925#action_12557925 > > > > > > Just a note on the above - I have built IO 1.4 using Ant and JDK 1.3 > > > (the ant build excludes the JDK 1.4 dependant classes when JDK 1.3 is > > > used) and that guarantees that except for the 4 JDK 1.4 > > > implementations the rest if the code base only uses JDK 1.3 APIs. Feel > > > free to try this out yourselves. > > > > > > > Builds OK for me on 1.3.1_20 so APIs are presumably OK. > > > > However JDK1.4 is required for testing, so one has to assume that the > > 1.3 code tests still work ... for a release which is still targetted > > at 1.3 it would be nice if at least one of the build methods allowed > > this to be demonstrated. > > I agree. The Ant build has the same problem. You can build but not test on > 1.3.1. IMO, if you cannot run tests on Java x.y , you cannot say you run on > Java x.y, strictly speaking. It seems that we "know" we can run but without > unit tests... we are effectively releasing untested code in that context. > > This is why I have voiced (mildly) opposition to support mixed SDK released > for IO 1.4. To me it is much simpler to do and explain that, for example: IO > 1.3.2 runs on Java 1.3.1 and IO 1.4 runs on Java 1.4.2. Or keep the Java > 1.3.1 requirement for IO 1.4 and move it to Java 1.4.2 for IO 1.5.
We made this decision months ago and the majority opinion was to move to Java 1.4 for IO 1.4. Stephen though wanted to retain compatibility for the existing code base - even though he was in a minority, we respected his opinion and took this compromise. I have provided a mechanism to ensure that JDK 1.4 features have not leaked into the existing code base - on top of that anyone who wants to can build themselves a JDK 1.3 version - I think this is enough. Theres also nothing to stop anyone hacking the ant build to get the tests working for 1.3 to satisfy themselves about this release. But IMO these points should have been raised when we were making that decision and not now at this late stage. Niall > Gary > > > > > > > Niall > > > > > > > but at least they have *some* effect. > > > > > > > > Are you saying that Maven2 fails to act on the source and target JDK > > > > settings at all? > > > > > > > > > > > > On 16/01/2008, Paul Benedict <[EMAIL PROTECTED]> wrote: > > > > > Only Ant can specify the actual target JDK used to compile the code > > > > > in the > > > > > Manifest. Maven has an open issue for this in the jar plugin. Alot of > > > > > people > > > > > want to write the target JDK to the manifest, but unfortunately the > > > > > actual > > > > > JDK version (e.g., 1.6) appears. > > > > > > > > > > Paul > > > > > > > > > > On Jan 16, 2008 8:58 AM, Niall Pemberton <[EMAIL PROTECTED]> > > wrote: > > > > > > > > > > > On Jan 16, 2008 2:27 PM, sebb <[EMAIL PROTECTED]> wrote: > > > > > > > Found what appear to be some build problems: > > > > > > > > > > > > > > "ant dist" creates a Manifest entry of: > > > > > > > > > > > > > > X-Compile-Target-JDK: 1.1 > > > > > > > > > > > > > > whereas the (M2) distribution has: > > > > > > > > > > > > > > X-Compile-Target-JDK: 1.3 > > > > > > > > > > > > > > This is probably due to > > > > > > > > > > > > > > project.properties: maven.compile.target = 1.1 > > > > > > > > > > > > > > which affects M1 builds as well. > > > > > > > > > > > > OK but m2 is the primary build system for this release as long as > > > > > > what > > > > > > its generated is OK and the other builds work (even though with > > > > > > slightly different config) then I don't think this is an issue. This > > > > > > release supports mainly JDK 1.3 with some JDK 1.4 requirement - and > > > > > > by > > > > > > configuring source/target compiler options of 1.3 then we achieve > > > > > > that > > > > > > (which is also the same as the last release btw) - the other build > > > > > > systems specifying 1.1 doesn't AFAIK break that goal. > > > > > > > > > > > > > The Ant Manifest does not include the Bundle and Import/Export > > > > > > > headers, but that probably does not matter. > > > > > > > > > > > > Agreed, and my answers the same as to the previous point. > > > > > > > > > > > > > The Maven1 build runs the tests twice - the target "test:compile" > > > > > > > appears twice in the output (but the second time, the classes are > > > > > > > not > > > > > > > recompiled). > > > > > > > > > > > > Yes thats a maven feature! > > > > > > > > > > > > > The Maven2 build seems to download lots of unnecessary jars, for > > > > > > > example, taking just the commons jars: > > > > > > > > > > > > > > commons-collections-3.0.jar > > > > > > > commons-httpclient-3.0.1.jar > > > > > > > commons-codec-1.2.jar > > > > > > > commons-beanutils-core-1.7.0.jar > > > > > > > commons-logging-1.0.3.jar > > > > > > > > > > > > > > Are these (and all the other jars) really needed to build Commons > > > > > > > IO? > > > > > > > I counted 52 jar downloads; there were probably others that would > > > > > > > have > > > > > > > been downloaded if I had started with an empty local repository. > > > > > > > > > > > > Its not what IO needs - its what maven and all the plugins need to > > > > > > run > > > > > > the build. Take for example the Jira report that the IO build > > > > > > produces > > > > > > - maven needs it and all its dependencies (and its dependencies' > > > > > > dependencies etc etc) to be able to run that report > > > > > > http://tinyurl.com/2hgs8c - from a quick scan I count 10 for that > > > > > > alone and that applies to all the plugins the build uses. IO itself > > > > > > has one dependency for testing on JUnit and thats it - no runtime > > > > > > dependencies. > > > > > > > > > > > > > [ERROR] BUILD ERROR > > > > > > > [INFO] > > > > > > ------------------------------------------------------------------------ > > > > > > > [INFO] Internal error in the plugin manager executing goal > > > > > > > 'org.apache.maven.plugins:maven-site-plugin:2.0-beta-5:site': > > > > > > > Unable > > > > > > > to find the mojo > > > > > > > 'org.apache.maven.plugins:maven-site-plugin:2.0-beta-5:site' in > > > > > > > the > > > > > > > plugin 'org.apache.maven.plugins:maven-site-plugin' > > > > > > > Component descriptor cannot be found in the component repository: > > > > > > > > > > > > > org.apache.maven.plugin.Mojoorg.apache.maven.plugins:maven-site- > > plugin:2.0-beta-5:site > > > > > > . > > > > > > > > > > > > OK I see the version of that plugin in the repo: > > > > > > http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site- > > plugin/ > > > > > > > > > > > > So looks like its a local problem to your env. (assuming you can > > > > > > access the repo). We don't specify a version for that plugin either > > > > > > in > > > > > > the IO pom.xml or commons-parent (perhaps should) and I've never had > > > > > > any luck downloading and installing them manually, so I usually just > > > > > > add a dependency temporarily (i.e. specify the plugin and version) > > > > > > and > > > > > > let maven sort it out - perhaps someone else can give you a better > > > > > > solution though. > > > > > > > > > > > > Niall > > > > > > > > > > > > > This was running: > > > > > > > > > > > > > > mvn clean site assembly:assembly > > > > > > > > > > > > > > using: > > > > > > > > > > > > > > Maven version: 2.0.8 > > > > > > > Java version: 1.4.2_16 > > > > > > > OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows" > > > > > > > > > > > > > > > > > > > > > On 16/01/2008, Niall Pemberton <[EMAIL PROTECTED]> wrote: > > > > > > > > Sorry in the changes section that should have read "Fix an > > > > > > > > error in > > > > > > > > the FileWriterWithEncoding JavaDocs" rather than just "fix an > > > > > > > > error in > > > > > > > > the". > > > > > > > > > > > > > > > > Niall > > > > > > > > > > > > > > > > On Jan 16, 2008 10:51 AM, Niall Pemberton > > <[EMAIL PROTECTED]> > > > > > > wrote: > > > > > > > > > There have been a few changes since RC1, but since they were > > > > > > > > > all > > IMO > > > > > > > > > minor, I've cut a RC2 and thought would proceed straight to a > > > > > > > > > vote. > > > > > > > > > > > > > > > > > > The changes since RC1 are: > > > > > > > > > > > > > > > > > > - changes to build.xml to keep gump happy > > > > > > > > > - fix an error in the > > > > > > > > > - upgrade to version 7 and commons-parent (and remove stuff > > > > > > > > > from > > > > > > pom > > > > > > > > > thats now in the parent) > > > > > > > > > > > > > > > > > > The artifacts are here: > > > > > > > > > http://people.apache.org/~niallp/io-1.4- > > RC2/<http://people.apache.org/%7Eniallp/io-1.4-RC2/> > > > > > > > > > > > > > > > > > > SVN Tag: > > > > > > > > > > > > > > > http://svn.apache.org/viewvc/commons/proper/io/tags/commons-io-1.4- > > RC2/ > > > > > > > > > > > > > > > > > > Site: > > > > > > > > > http://people.apache.org/~niallp/io-1.4- > > RC2/site/<http://people.apache.org/%7Eniallp/io-1.4-RC2/site/> > > > > > > > > > (note m2 generates relative links, so some don't work - but > > > > > > > > > the site > > > > > > > > > is for info and not included in the release artifacts) > > > > > > > > > > > > > > > > > > Release Notes: > > > > > > > > > http://people.apache.org/~niallp/io-1.4- > > RC2/site/upgradeto1_4.html<http://people.apache.org/%7Eniallp/io-1.4- > > RC2/site/upgradeto1_4.html> > > > > > > > > > (These are a copy of RELEASE-NOTES.txt in html form) > > > > > > > > > > > > > > > > > > RAT Report: > > > > > > > > > http://people.apache.org/~niallp/io-1.4-RC2/site/rat- > > report.html<http://people.apache.org/%7Eniallp/io-1.4-RC2/site/rat- > > report.html> > > > > > > > > > > > > > > > > > > CLIRR Report: > > > > > > > > > http://people.apache.org/~niallp/io-1.4-RC2/site/clirr- > > report.html<http://people.apache.org/%7Eniallp/io-1.4-RC2/site/clirr- > > report.html> > > > > > > > > > > > > > > > > > > RC2 has been built with m2 - but m1 and ant builds are > > > > > > > > > available - > > > > > > details here: > > > > > > > > > http://people.apache.org/~niallp/io-1.4- > > RC2/site/building.html<http://people.apache.org/%7Eniallp/io-1.4- > > RC2/site/building.html> > > > > > > > > > > > > > > > > > > Vote is open for 72 hours > > > > > > > > > > > > > > > > > > Thanks in advance for your feedback/votes. > > > > > > > > > > > > > > > > > > Niall > > > > > > > > > > > > > > > ------------------------------------------------------------------------------------------- > > ------------------> > > > > > > > > > > > > > > > > > > [ ] +1 I support this release > > > > > > > > > [ ] +0 I am OK with this release > > > > > > > > > [ ] -0 OK, but.... > > > > > > > > > [ ] -1 I do not support this release > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > 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] > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > 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]