commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton" <niall.pember...@gmail.com>
Subject Re: [VOTE] Release Commons IO 1.4 based on RC2
Date Wed, 16 Jan 2008 20:10:42 GMT
On Jan 16, 2008 6:04 PM, Gary Gregory <GGregory@seagullsoftware.com> wrote:
> > From: sebb [mailto:sebbaz@gmail.com]
> > 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 <niall.pemberton@gmail.com> wrote:
> > > On Jan 16, 2008 3:58 PM, sebb <sebbaz@gmail.com> 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 <pbenedict@apache.org> 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 <niall.pemberton@gmail.com>
> > wrote:
> > > > >
> > > > > > On Jan 16, 2008 2:27 PM, sebb <sebbaz@gmail.com> 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 <niall.pemberton@gmail.com>
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
> > <niall.pemberton@gmail.com>
> > > > > > 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: dev-unsubscribe@commons.apache.org
> > > > > > > > For additional commands, e-mail: dev-help@commons.apache.org
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > > > > > > For additional commands, e-mail: dev-help@commons.apache.org
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > > > > > For additional commands, e-mail: dev-help@commons.apache.org
> > > > > >
> > > > > >
> > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > > > For additional commands, e-mail: dev-help@commons.apache.org
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > > For additional commands, e-mail: dev-help@commons.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message