On Sun, 2 Aug 2020 at 22:16, sebb <[email protected]> wrote:
>
> On Sun, 2 Aug 2020 at 19:27, Gary Gregory <[email protected]> wrote:
> >
> > On Sun, Aug 2, 2020 at 12:00 PM sebb <[email protected]> wrote:
> >
> > > On Sun, 2 Aug 2020 at 14:13, Gary Gregory <[email protected]> wrote:
> > > >
> > > > -1: I do not think we should release when a test breaks on Java 11, an
> > > LTS
> > > > version; see below.
> > > >
> > > > The release notes mention the wrong version here:
> > > >
> > > > "Updates Apache Commons BeanUtils dependency from 1.9.2 to 1.9.3."
> > > >
> > > > It should be 1.9.4.
> > >
> > > Looks like this was true before the dependency was updated a second time.
> > >
> > > > Building from the git tag with "mvn clean install site -P jacoco -P
> > > japicmp
> > > > -V".
> > > >
> > > > This must be an older style of build because the above downloads the 
> > > > site
> > > > in a folder called "site-content", not sure why.
> > > >
> > > > Then when you look at the site for the build command above, the JApiCmp
> > > > report contains cobertura instrumentation which is quite confusing.
> > > >
> > > > This build should be migrated to JApiCmp from Cobertura.
> > >
> > > Don't you mean Jacoco?
> > >
> > > I thought JApiCmp was more akin to Clirr.
> > > Or do you mean Clirr?
> > >
> > > > Builds OK with:
> > > >
> > > > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> > > > Maven home: C:\Java\apache-maven-3.6.3\bin\..
> > > > Java version: 1.8.0_262, vendor: AdoptOpenJDK, runtime: C:\Program
> > > > Files\AdoptOpenJDK\jdk-8.0.262.10-hotspot\jre
> > > > Default locale: en_US, platform encoding: Cp1252
> > > > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> > > >
> > > > But fails on Java 11:
> > > >
> > > > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> > > > Maven home: C:\Java\apache-maven-3.6.3\bin\..
> > > > Java version: 11.0.8, vendor: AdoptOpenJDK, runtime: C:\Program
> > > > Files\AdoptOpenJDK\jdk-11.0.8.10-hotspot
> > > > Default locale: en_US, platform encoding: Cp1252
> > > > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> > >
> > > Works OK for me with Java 11
> > >
> > > Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
> > > 2018-06-17T19:33:14+01:00)
> > > Maven home: /opt/apache-maven-3.5.4
> > > Java version: 11.0.5, vendor: Oracle Corporation, runtime:
> > > /Library/Java/JavaVirtualMachines/jdk-11.0.5.jdk/Contents/Home
> > > Default locale: en_GB, platform encoding: UTF-8
> > > OS name: "mac os x", version: "10.15.6", arch: "x86_64", family: "mac"
> > >
> >
> > I tried without JaCoCo and just "mvn clean package" and it fails (summary):
> >
> > [ERROR] Failures:
> > [ERROR]   CalendarValidatorTest.testDateTimeStyle:197 validate(A) default
> > [ERROR]   CalendarValidatorTest.testFormat:215 default
> > expected:<31/12/[]05> but was:<31/12/[20]05>
> > [ERROR]   CurrencyValidatorTest.testIntegerValid:142 US negative
> > expected:<-1234.00> but was:<null>
> > [ERROR]   CurrencyValidatorTest.testInvalid:121 US wrong negative
> > [ERROR]   CurrencyValidatorTest.testValid:93 US negative
> > expected:<-1234.56> but was:<null>
> > [ERROR]   DateValidatorTest.testDateValidatorMethods:69 validate(A) both
> > expected:<Sat Dec 31 00:00:00 EST 2005> but was:<null>
> > [ERROR]   TimeValidatorTest.testTimeZone:224 pattern result
> > [ERROR] Errors:
> > [ERROR]   CalendarValidatorTest.testCalendarValidatorMethods:70 NullPointer
> > [INFO]
> > [ERROR] Tests run: 575, Failures: 7, Errors: 1, Skipped: 1
> >
> > Using OpenJDK:
> >
> > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> > Maven home: C:\Java\apache-maven-3.6.3\bin\..
> > Java version: 11.0.8, vendor: AdoptOpenJDK, runtime: C:\Program
> > Files\AdoptOpenJDK\jdk-11.0.8.10-hotspot
> > Default locale: en_US, platform encoding: Cp1252
> > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> >
> > 14:22:29.75 C:\temp\rc\VALIDATOR_1_7_RC2>java -version
> > openjdk version "11.0.8" 2020-07-14
> > OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
> > OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)
> >
> > I see you are using Oracle JDK, so I tried it and it also fails (summary):
> >
> > [ERROR] Failures:
> > [ERROR]   CalendarValidatorTest.testDateTimeStyle:197 validate(A) default
> > [ERROR]   CalendarValidatorTest.testFormat:215 default
> > expected:<31/12/[]05> but was:<31/12/[20]05>
> > [ERROR]   CurrencyValidatorTest.testIntegerValid:142 US negative
> > expected:<-1234.00> but was:<null>
> > [ERROR]   CurrencyValidatorTest.testInvalid:121 US wrong negative
> > [ERROR]   CurrencyValidatorTest.testValid:93 US negative
> > expected:<-1234.56> but was:<null>
> > [ERROR]   DateValidatorTest.testDateValidatorMethods:69 validate(A) both
> > expected:<Sat Dec 31 00:00:00 EST 2005> but was:<null>
> > [ERROR]   TimeValidatorTest.testTimeZone:224 pattern result
> > [ERROR] Errors:
> > [ERROR]   CalendarValidatorTest.testCalendarValidatorMethods:70 NullPointer
> > [INFO]
> > [ERROR] Tests run: 575, Failures: 7, Errors: 1, Skipped: 1
> >
> > 14:23:44.86 C:\temp\rc\VALIDATOR_1_7_RC2>mvn -version && java -version
> > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> > Maven home: C:\Java\apache-maven-3.6.3\bin\..
> > Java version: 11.0.7, vendor: Oracle Corporation, runtime: C:\Program
> > Files\Java\jdk-11.0.7
> > Default locale: en_US, platform encoding: Cp1252
> > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> > java version "11.0.7" 2020-04-14 LTS
> > Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
> > Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)
> >
> > So something needs a fix somewhere, either in the tests or in the code.
>
> I think the issue is with Windows Java.
> It's certainly not a regression, since the same failure on Windows
> occurs with release 1.6:
>
> Perhaps you could try testing against git checkout VALIDATOR_1_6
>
> Java 9 changed the default Locale definitions; some Locales now have
> different output/input formats.
> These cause tests to fail.
>
> Setting the system property
> <java.locale.providers>COMPAT,CLDR</java.locale.providers>
> or
> <java.locale.providers>COMPAT,SPI</java.locale.providers>
> is supposed to tell Java to use compatibility mode.
>
> This works fine on MacOS and Linux, but appears to have no effect on Windows
>
> > Otherwise, I can't take a release tag and patch it and test successfully
> > since I am not starting from a passing build.
>
> If you patch the failing test ...

Or just try adding the following definition to the Maven command line (*)

 -Dcommons.surefire.version=2.21.0

Something changed between Surefire 2.21.0 and 2.22.0 which results in
the wrong Locale definitions being used, but apparently only on
Windows.

The correct value of java.locale.providers is seen by the test case,
so I assume the system property must be being set too late for it to
be picked up by the Locale initialisation.

Weird error, but it's not an issue with Validator per se.

Needs more investigation.

I've discovered that setting
-DargLine=-Djava.locale.providers=COMPAT,... also works.
(This is used by Surefire to set the Java command-line params)

I tried using COMPAT,SPI instead of COMPAT,CLDR (as per
SystemProperties in the POM).
The value seen by the test is COMPAT,CLDR, which shows that the System
property is being overridden by Surefire sometime after startup.
Presumably it is being done later in Windows for some odd reason.

This would be a work-round, but one ought to be able to use SystemProperties...

Sebb
(*) The investigation made use of 'git bisect' - one of the best
aspects of Git I have come across.

> > Gary
> >
> >
> > >
> > > Likewise with Java 14.
> > >
> > > However -P jacoco fails for me with Java 9, 11 and 14:
> > >
> > > Plugin org.codehaus.mojo:cobertura-maven-plugin:2.7 or one of its
> > > dependencies could not be resolved:
> > > Could not find artifact com.sun:tools:jar:0 at specified path
> > >
> > > /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/../lib/tools.jar
> > >
> > >
> > > > [INFO] Running org.apache.commons.validator.routines.TimeValidatorTest
> > > > [ERROR] Tests run: 7, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
> > > > 0.026 s <<< FAILURE! - in
> > > > org.apache.commons.validator.routines.TimeValidatorTest
> > > > [ERROR]
> > > > testTimeZone(org.apache.commons.validator.routines.TimeValidatorTest)
> > > Time
> > > > elapsed: 0 s  <<< FAILURE!
> > > > junit.framework.AssertionFailedError: pattern result
> > > >         at
> > > >
> > > org.apache.commons.validator.routines.TimeValidatorTest.testTimeZone(TimeValidatorTest.java:224)
> > > >
> > > > [ERROR] Failures:
> > > > [ERROR]   CalendarValidatorTest.testDateTimeStyle:197 validate(A) 
> > > > default
> > > > [ERROR]   CalendarValidatorTest.testFormat:215 default
> > > > expected:<31/12/[]05> but was:<31/12/[20]05>
> > > > [ERROR]   CurrencyValidatorTest.testIntegerValid:142 US negative
> > > > expected:<-1234.00> but was:<null>
> > > > [ERROR]   CurrencyValidatorTest.testInvalid:121 US wrong negative
> > > > [ERROR]   CurrencyValidatorTest.testValid:93 US negative
> > > > expected:<-1234.56> but was:<null>
> > > > [ERROR]   DateValidatorTest.testDateValidatorMethods:69 validate(A) both
> > > > expected:<Sat Dec 31 00:00:00 EST 2005> but was:<null>
> > > > [ERROR]   TimeValidatorTest.testTimeZone:224 pattern result
> > > > [ERROR] Errors:
> > > > [ERROR]   CalendarValidatorTest.testCalendarValidatorMethods:70
> > > NullPointer
> > > > [INFO]
> > > > [ERROR] Tests run: 575, Failures: 7, Errors: 1, Skipped: 1
> > > >
> > > > I also get the same failure on the current Java version 14:
> > > >
> > > > Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> > > > Maven home: C:\Java\apache-maven-3.6.3\bin\..
> > > > Java version: 14.0.2, vendor: AdoptOpenJDK, runtime: C:\Program
> > > > Files\AdoptOpenJDK\jdk-14.0.2.12-hotspot
> > > > Default locale: en_US, platform encoding: Cp1252
> > > > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> > >
> > > There is a profile 'jdk9-cldr' which is supposed to fix that issue.
> > >
> > > Personally, I don't think it is a blocker.
> > > Java 9 changed the way locales are handled.
> > >
> > > But if it does not work on Windows for some reason then I guess it
> > > should be mentioned in the release notes
> > >
> > > > Gary
> > > >
> > > >
> > > >
> > > > On Sat, Aug 1, 2020, 09:20 sebb <[email protected]> wrote:
> > > >
> > > > > We have fixed quite a few bugs and added some significant enhancements
> > > > > since Apache Commons Validator 1.6 was released, so I would like to
> > > > > release Apache Commons Validator 1.7.
> > > > >
> > > > > Apache Commons Validator 1.7 RC2 is available for review here:
> > > > >     https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2
> > > > > (svn revision 40802)
> > > > >
> > > > > The Git tag VALIDATOR_1_7_RC2 commit for this RC is
> > > > > 5b75344ace5a8864e3936010524684272145bbcd which you can browse here:
> > > > >
> > > > >
> > > https://gitbox.apache.org/repos/asf?p=commons-validator.git;a=commit;h=5b75344ace5a8864e3936010524684272145bbcd
> > > > > You may checkout this tag using:
> > > > >     git clone
> > > https://gitbox.apache.org/repos/asf/commons-validator.git
> > > > > --branch
> > > > > <https://gitbox.apache.org/repos/asf/commons-validator.git--branch>
> > > > > VALIDATOR_1_7_RC2 VALIDATOR_1_7_RC2
> > > > >
> > > > > Maven artifacts are here:
> > > > >
> > > > >
> > > https://repository.apache.org/content/repositories/orgapachecommons-1515/org/apache/commons/commons-validator/1.7/
> > > > >
> > > > > These are the artifacts and their hashes:
> > > > >
> > > > > #Release SHA-512s
> > > > > #Sat Aug 01 13:37:45 BST 2020
> > > > >
> > > > >
> > > commons-validator-1.7-bin.tar.gz=c64463b7f2c10cf826db37b6b5b89893e1ac5add56fb74bf546eb43f9efef1381173abdf695a601fcef1a604e116acc3723876e9318304714003b7db00c9ca74
> > > > >
> > > > >
> > > commons-validator-1.7-bin.zip=41918449e823fa1ae2fd166808e014bf04913a9a14e5645b2f4d28a763e6fe5cabcae1d771d8668b48e4bfea0e2d94d594766cb17889cf0d4c73b99fe49d6fe3
> > > > >
> > > > >
> > > commons-validator-1.7-javadoc.jar=c0f3c56deca2e1449efe76f738ceafcbe293199ab4d7d641855caff4f2c06ed51756d1a2bcb9011a9ff7d8fac6243f5ed26b5cbb490625508b705c9bf89722a0
> > > > >
> > > > >
> > > commons-validator-1.7-javadoc.jar.asc=dcf5281336e3613b556f3b72899a0205d8a27b1a6b83e036008ca8d16a7b03c893e0b595573e039def9255b54dde8086bbc7f6af47b98dfe67e196d0e91c09aa
> > > > >
> > > > >
> > > commons-validator-1.7-sources.jar=8e7699b03916b76623518525fc8bdf54ebf9dea15be68c6dd709acaced44ee4fce9badd57273504b304ba601e81fbdb71ab36b6234291b8c725d782ab49d976b
> > > > >
> > > > >
> > > commons-validator-1.7-src.tar.gz=a9f3242776757b05da59913ff54491d8cf71c7229e6bb9eb6fa52a8a910bc2fd52eafe582a5378e0c0bf14ef115b20eb3734f6fc1c5233c56095d960f97c6124
> > > > >
> > > > >
> > > commons-validator-1.7-src.zip=8329b54c9cb8175126958453b0d819baa5d0906736c13e1118f011cdd15671b0cb7519c97426e11147e339950adfaa9fcb50bbecbfc283b39adf1976fe2bdf39
> > > > >
> > > > >
> > > commons-validator-1.7-test-sources.jar=86fb0021b9ffd048fa28ed67418b78780534988f17da472c62dba758f8a7443a7dfbb00df4fa74e59d951f7e06e5af7fe4e303400e8e9870d6f6d18b65ca5714
> > > > >
> > > > >
> > > commons-validator-1.7-tests.jar=2f7521b8ccdecb8cc6d93da17bef628a82a3ddcc370c938549d5659de136ef8d39ccb9e5ea430487575d850805a299d895c27e619ed862342765fe191f1ec9f4
> > > > >
> > > > >
> > > > > I have tested this with ***'mvn clean install site'*** using:
> > > > >
> > > > > Maven home: /opt/apache-maven-3.5.4
> > > > > Java version: 1.8.0_231, vendor: Oracle Corporation, runtime:
> > > > > /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre
> > > > > Default locale: en_GB, platform encoding: UTF-8
> > > > > OS name: "mac os x", version: "10.15.6", arch: "x86_64", family: "mac"
> > > > >
> > > > > Details of changes since 1.6 are in the release notes:
> > > > >
> > > > >
> > > https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2/RELEASE-NOTES.txt
> > > > >
> > > > >
> > > https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2/site/changes-report.html
> > > > >
> > > > > Site:
> > > > >
> > > > >
> > > https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2/site/index.html
> > > > >     (note some *relative* links are broken and the 1.7 directories are
> > > > > not yet created - these will be OK once the site is deployed.)
> > > > >
> > > > > CLIRR Report (compared to 1.6):
> > > > >
> > > > >
> > > https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2/site/clirr-report.html
> > > > >
> > > > > JApiCmp Report (compared to 1.6):
> > > > >
> > > > >
> > > https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2/site/japicmp.html
> > > > >
> > > > > RAT Report:
> > > > >
> > > > >
> > > https://dist.apache.org/repos/dist/dev/commons/validator/1.7-RC2/site/rat-report.html
> > > > >
> > > > > KEYS:
> > > > >   https://www.apache.org/dist/commons/KEYS
> > > > >
> > > > > Please review the release candidate and vote.
> > > > > This vote will close no sooner than 72 hours from now.
> > > > >
> > > > >   [ ] +1 Release these artifacts
> > > > >   [ ] +0 OK, but...
> > > > >   [ ] -0 OK, but really should fix...
> > > > >   [ ] -1 I oppose this release because...
> > > > >
> > > > > Thank you,
> > > > >
> > > > > Sebb,
> > > > > Release Manager (using key 4FAD5F62)
> > > > >
> > > > > For following is intended as a helper and refresher for reviewers.
> > > > >
> > > > > Validating a release candidate
> > > > > ==============================
> > > > >
> > > > > These guidelines are NOT complete.
> > > > >
> > > > > Requirements: Git, Java, Maven.
> > > > >
> > > > > You can validate a release from a release candidate (RC) tag as
> > > follows.
> > > > >
> > > > > 1) Clone and checkout the RC tag
> > > > >
> > > > > git clone https://gitbox.apache.org/repos/asf/commons-validator.git
> > > > > --branch
> > > > > <https://gitbox.apache.org/repos/asf/commons-validator.git--branch>
> > > > > VALIDATOR_1_7_RC2 VALIDATOR_1_7_RC2
> > > > > cd VALIDATOR_1_7_RC2
> > > > >
> > > > > 2) Check Apache licenses
> > > > >
> > > > > This step is not required if the site includes a RAT report page which
> > > > > you then must check.
> > > > >
> > > > > mvn apache-rat:check
> > > > >
> > > > > 3) Check binary compatibility
> > > > >
> > > > > Older components still use Apache Clirr:
> > > > >
> > > > > This step is not required if the site includes a Clirr report page
> > > > > which you then must check.
> > > > >
> > > > > mvn clirr:check
> > > > >
> > > > > Newer components use JApiCmp with the japicmp Maven Profile:
> > > > >
> > > > > This step is not required if the site includes a JApiCmp report page
> > > > > which you then must check.
> > > > >
> > > > > mvn install -DskipTests -P japicmp japicmp:cmp
> > > > >
> > > > > 4) Build the package
> > > > >
> > > > > mvn -V clean package
> > > > >
> > > > > You can record the Maven and Java version produced by -V in your VOTE
> > > > > reply.
> > > > > To gather OS information from a command line:
> > > > > Windows: ver
> > > > > Linux: uname -a
> > > > >
> > > > > 5) Build the site for a single module project
> > > > >
> > > > > Note: Some plugins require the components to be installed instead of
> > > > > packaged.
> > > > >
> > > > > mvn site
> > > > > Check the site reports in:
> > > > > - Windows: target\site\index.html
> > > > > - Linux: target/site/index.html
> > > > >
> > > > > 6) Build the site for a multi-module project
> > > > >
> > > > > mvn site
> > > > > mvn site:stage
> > > > > Check the site reports in:
> > > > > - Windows: target\site\index.html
> > > > > - Linux: target/site/index.html
> > > > >
> > > > > Sebb
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > 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]

Reply via email to