Looks like we get an exception because the final modifier isn’t removable in java 12+ and for good reason [1]. So, we probably should throw an exception, but both of the exceptions that arise out of the jvm here https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java#L736 <https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/reflect/FieldUtils.java#L736> are checked exceptions. Specifically we get a “NoSuchFieldException” when we attempt to retrieve “modifiers” from the “Field.” For the sake of retaining BC, I would think that we would in turn convert that Exception to an “UnsupportedOperationException” or a “TypeNotPresentException” (maybe ??) for the sake of getting to an unchecked exception.
Open to thoughts here, -Rob [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-November/056486.html > On Apr 10, 2019, at 5:09 AM, Benedikt Ritter <brit...@apache.org> wrote: > > Damn it, I had it on my list to fix those. Sorry, Rob! > > Am Mi., 10. Apr. 2019 um 03:33 Uhr schrieb Rob Tompkins <chtom...@gmail.com >> : > >> >> >>> On Apr 9, 2019, at 9:15 PM, Gary Gregory <garydgreg...@gmail.com> wrote: >>> >>> +0... see Java 12 testing below. >> >> That +0 is almost worth cancelling for in my opinion. I’ll wait until >> tomorrow to see if anyone else wants to have an opinion here, and then I’ll >> have another go at it. >> >> -Rob >> >>> >>> Nit in the release notes: Replace "Java 8.0" with Java 8". >>> >>> From the git tag, ran 'mvn -V clean package' OK for: >>> >>> Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; >>> 2018-10-24T14:41:47-04:00) >>> Maven home: C:\Java\apache-maven-3.6.0\bin\.. >>> Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: C:\Program >>> Files\Java\jdk1.8.0_202\jre >>> Default locale: en_US, platform encoding: Cp1252 >>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" >>> >>> Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; >>> 2018-10-24T14:41:47-04:00) >>> Maven home: C:\Java\apache-maven-3.6.0\bin\.. >>> Java version: 11.0.2, vendor: Oracle Corporation, runtime: C:\Program >>> Files\Java\openjdk\jdk-11.0.2 >>> Default locale: en_US, platform encoding: Cp1252 >>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" >>> >>> BUT on Java 12: >>> >>> Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; >>> 2018-10-24T14:41:47-04:00) >>> Maven home: C:\Java\apache-maven-3.6.0\bin\.. >>> Java version: 12, vendor: Oracle Corporation, runtime: C:\Program >>> Files\Java\openjdk\jdk-12 >>> Default locale: en_US, platform encoding: Cp1252 >>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" >>> >>> I get: >>> >>> [ERROR] Failures: >>> [ERROR] FieldUtilsTest.testRemoveFinalModifier:998 expected: <false> >> but >>> was: <true> >>> [ERROR] FieldUtilsTest.testRemoveFinalModifierWithAccess:1009 expected: >>> <false> but was: <true> >>> [INFO] >>> [ERROR] Tests run: 5774, Failures: 2, Errors: 0, Skipped: 4 >>> >>> On Java 13-EA: >>> >>> Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; >>> 2018-10-24T14:41:47-04:00) >>> Maven home: C:\Java\apache-maven-3.6.0\bin\.. >>> Java version: 13-ea, vendor: Oracle Corporation, runtime: C:\Program >>> Files\Java\openjdk\jdk-13 >>> Default locale: en_US, platform encoding: Cp1252 >>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" >>> >>> I get: >>> >>> [INFO] ------------------------------------------------------- >>> [INFO] T E S T S >>> [INFO] ------------------------------------------------------- >>> [WARNING] Corrupted STDOUT by directly writing to native stream in forked >>> JVM 1. See FAQ web page and the dump file >>> >> C:\temp\rc\commons-lang\target\surefire-reports\2019-04-09T21-13-37_709-jvmRun1.dumpstream >>> [INFO] >>> [INFO] Results: >>> [INFO] >>> [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 >>> [INFO] >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] BUILD FAILURE >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Total time: 27.315 s >>> [INFO] Finished at: 2019-04-09T21:13:38-04:00 >>> [INFO] >>> ------------------------------------------------------------------------ >>> [ERROR] Failed to execute goal >>> org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) >>> on project commons-lang3: There are test failures. >>> [ERROR] >>> [ERROR] Please refer to C:\temp\rc\commons-lang\target\surefire-reports >> for >>> the individual test results. >>> [ERROR] Please refer to dump files (if any exist) [date].dump, >>> [date]-jvmRun[N].dump and [date].dumpstream. >>> [ERROR] The forked VM terminated without properly saying goodbye. VM >> crash >>> or System.exit called? >>> [ERROR] Command was cmd.exe /X /C ""C:\Program >>> Files\Java\openjdk\jdk-13\bin\java" >>> >> -javaagent:C:\\Users\\ggregory\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.2\\org.jacoco.agent-0.8.2-runtime.jar=destfile=C:\\temp\\rc\\commons-lang\\target\\jacoco.exec >>> -Xmx512m --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens >>> java.base/java.lang=ALL-UNNAMED -jar >>> >> C:\Users\ggregory\AppData\Local\Temp\surefire5519858828807362694\surefirebooter988663828837655366.jar >>> C:\Users\ggregory\AppData\Local\Temp\surefire5519858828807362694 >>> 2019-04-09T21-13-37_709-jvmRun1 surefire11717302241379819897tmp >>> surefire_07095889889312770815tmp" >>> [ERROR] Error occurred in starting fork, check output in log >>> [ERROR] Process Exit Code: 1 >>> [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The >>> forked VM terminated without properly saying goodbye. VM crash or >>> System.exit called? >>> [ERROR] Command was cmd.exe /X /C ""C:\Program >>> Files\Java\openjdk\jdk-13\bin\java" >>> >> -javaagent:C:\\Users\\ggregory\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.2\\org.jacoco.agent-0.8.2-runtime.jar=destfile=C:\\temp\\rc\\commons-lang\\target\\jacoco.exec >>> -Xmx512m --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens >>> java.base/java.lang=ALL-UNNAMED -jar >>> >> C:\Users\ggregory\AppData\Local\Temp\surefire5519858828807362694\surefirebooter988663828837655366.jar >>> C:\Users\ggregory\AppData\Local\Temp\surefire5519858828807362694 >>> 2019-04-09T21-13-37_709-jvmRun1 surefire11717302241379819897tmp >>> surefire_07095889889312770815tmp" >>> [ERROR] Error occurred in starting fork, check output in log >>> [ERROR] Process Exit Code: 1 >>> [ERROR] at >>> >> org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:669) >>> [ERROR] at >>> >> org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282) >>> [ERROR] at >>> >> org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245) >>> [ERROR] at >>> >> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183) >>> [ERROR] at >>> >> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011) >>> [ERROR] at >>> >> org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857) >>> [ERROR] at >>> >> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) >>> [ERROR] at >>> >> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) >>> [ERROR] at >>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) >>> [ERROR] at >>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) >>> [ERROR] at >>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) >>> [ERROR] at >> org.apache.maven.cli.MavenCli.execute(MavenCli.java:956) >>> [ERROR] at >> org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) >>> [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:192) >>> [ERROR] at >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native >>> Method) >>> [ERROR] at >>> >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>> [ERROR] at >>> >> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> [ERROR] at >>> java.base/java.lang.reflect.Method.invoke(Method.java:567) >>> [ERROR] at >>> >> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) >>> [ERROR] at >>> >> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) >>> [ERROR] at >>> >> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) >>> [ERROR] at >>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) >>> [ERROR] >>> [ERROR] -> [Help 1] >>> >>> Gary >>> >>> On Tue, Apr 9, 2019 at 3:37 PM Rob Tompkins <chtom...@apache.org> wrote: >>> >>>> We have fixed quite a few bugs and added some significant enhancements >>>> since Apache Commons Lang 3.8.1 was released, so I would like to release >>>> Apache Commons Lang 3.9. >>>> >>>> Apache Commons Lang 3.9 RC1 is available for review here: >>>> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1 (svn >>>> revision 33538) >>>> >>>> The Git tag commons-lang-3.9-RC1 commit for this RC is >>>> 8b378885152075b44c5710d6dbcb8df4a5fb3223 which you can browse here: >>>> >>>> >> https://gitbox.apache.org/repos/asf?p=commons-lang.git;a=commit;h=8b378885152075b44c5710d6dbcb8df4a5fb3223 >>>> You may checkout this tag using: >>>> git clone https://gitbox.apache.org/repos/asf/commons-lang.git >>>> --branch commons-lang-3.9-RC1 >>>> >>>> Maven artifacts are here: >>>> >>>> >> https://repository.apache.org/content/repositories/orgapachecommons-1433/org/apache/commons/commons-lang3/3.9/ >>>> >>>> These are the Maven artifacts and their hashes in Nexus: >>>> >>>> #Nexus SHA-1s >>>> commons-lang3-3.9-sources.jar=6dce2c1ea3cbb6c438b2313786a501b38e5ad7b0 >>>> commons-lang3-3.9.pom=a0204d47009f50de96af0b87acfd1c6b3b16419a >>>> commons-lang3-3.9-javadoc.jar=c643c72d73f70ed7d71783f3ce8f37b057e33777 >>>> commons-lang3-3.9.jar=d76bbd8a0213744a14af3ba80ab3ab69b02bdbae >>>> commons-lang3-3.9-tests.jar=411ede8701d31196bc28c2c60607e6de47da4922 >>>> >> commons-lang3-3.9-test-sources.jar=a28a97bb8d4fa3e05230d3eed5b8f934f3f55889 >>>> >>>> >>>> #Release SHA-512s >>>> #Tue Apr 09 14:23:45 EDT 2019 >>>> >>>> >> commons-lang3-3.9-src.tar.gz=8e85013ae7629b205ed39c54f9c14d8d7801c47226373ccb0482a0149dbf9c7654d6b5c81815b594f45b4426917bbe1618db7ba6758665e39771efbb98c49e20 >>>> >>>> >> commons-lang3-3.9-bin.tar.gz=8ebaa30565d80d32dbb1ba19047f61027fd043294b85aa1f6f1613c7ac4739da030ff2a5ea2ad119283d13fb5db7b41c1bd784f95828cb9727a3f7e9f302d9fc >>>> >>>> >> commons-lang3-3.9-src.zip=30595b6f5df73aca6542bb70c626234d6ec43e2f11316f7a5123982ba100027437b7ecc44bbfd0f665152c3e98e997bc145d7976b33a48526aa6d929a8c1f7ad >>>> >>>> >> commons-lang3-3.9-bin.zip=072c67c4793e7f4fa070202ab5ebe3fa29d81bfd23982a00bfd1d752e54991b696042ba791706458f9993d3721198f08fce70a6f9d1f16fd94d6cc54856393f8 >>>> >>>> >>>> I have tested this with 'mvn clean test package site' using: >>>> Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; >>>> 2018-10-24T14:41:47-04:00) >>>> Maven home: /usr/local/Cellar/maven/3.6.0/libexec >>>> Java version: 1.8.0_202, vendor: Amazon.com Inc., runtime: >>>> >> /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/jre >>>> Default locale: en_US, platform encoding: UTF-8 >>>> OS name: "mac os x", version: "10.14.4", arch: "x86_64", family: "mac" >>>> >>>> >>>> Details of changes since 3.8.1 are in the release notes: >>>> >>>> >> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1/RELEASE-NOTES.txt >>>> >>>> >> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1/site/changes-report.html >>>> >>>> Site: >>>> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1/site >>>> (note some *relative* links are broken and the 3.9 directories are >> not >>>> yet created - these will be OK once the site is deployed.) >>>> >>>> CLIRR Report (compared to 3.8.1): >>>> >>>> >> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1/site/clirr-report.html >>>> >>>> JApiCmp Report (compared to 3.8.1): >>>> >>>> >> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1/site/japicmp.html >>>> >>>> RAT Report: >>>> >>>> >> https://dist.apache.org/repos/dist/dev/commons/lang/3.9-RC1/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 that 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, >>>> >>>> Rob Tompkins, >>>> Release Manager (using key B6E73D84EA4FCC47166087253FAAD2CD5ECBB314) >>>> >>>> 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: >>>> >>>> git clone https://gitbox.apache.org/repos/asf/lang.git -b >>>> commons-lang-3.9-RC1 >>>> cd commons-lang-3.9-RC1 >>>> >>>> 2) Check Apache licenses: >>>> >>>> mvn apache-rat:check >>>> >>>> 3) Build the package: >>>> >>>> mvn -V clean package >>>> >>>> You can record the Maven and Java version produced by -V in your VOTE >>>> reply. >>>> >>>> 4) Build the site for a single module project: >>>> >>>> mvn site >>>> Check the site reports in: >>>> target\site\index.html >>>> >>>> 4) Build the site for a multi-module project: >>>> >>>> mvn site >>>> mvn site:stage >>>> Check the site reports in: >>>> target\site\index.html >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>>> For additional commands, e-mail: dev-h...@commons.apache.org >>>> >>>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >>