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 Thu, 17 Jan 2008 03:02:13 GMT
On Jan 16, 2008 9:16 PM, Gary Gregory <GGregory@seagullsoftware.com> wrote:
> > From: sebb [mailto:sebbaz@gmail.com]
> > Sent: Wednesday, January 16, 2008 1:07 PM
>
> > 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 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())
>
> I initially fixed the build.xml (see attached patch) but then ran into the trouble of
the unit test code not being factored for Java 1.3 vs. 1.4.
>
> I think that either:
> - You can rename all Java 1.4 test to *Java14TestCase.
> - Create a test suite that includes Java 1.4 test cases.
>
> You can then use Ant exclude/include for 1.3 and 1.4 test targets.

OK I've applied your patch and removed the JDK 1.4 dependant tests
from the package tests suites:

  http://svn.apache.org/viewvc?view=rev&revision=612686

This vote is cancelled, I'll cut another RC shortly.

Niall

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