commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [VOTE] Release Commons IO 1.4 based on RC2
Date Wed, 16 Jan 2008 21:07:12 GMT
On 16/01/2008, Niall Pemberton <niall.pemberton@gmail.com> wrote:
> 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.

Just tried creating an Ant test target for 1.3, and AFAICS it's not
actually possible to get it working without also making changes to the
4 PackageTest files that refer to the new classes.

I can provide a patch for build.xml to exclude the 1.4-only test cases
if required.

But I'm not sure how the PackageTest errors should be fixed:
- separate PackageTest for the new classes?
- dynamic generation of the test cases (e.g. Class.forName())

> But IMO these points
> should have been raised when we were making that decision and not now
> at this late stage.

Perhaps these issues were overlooked at the time.

> 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
>
>

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


Mime
View raw message