commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Herbert <alex.d.herb...@gmail.com>
Subject Re: [VOTE] Release Apache Commons Configuration 2.5 based on RC1
Date Mon, 27 May 2019 13:25:26 GMT


> On 27 May 2019, at 12:37, Gary Gregory <garydgregory@gmail.com> wrote:
> 
> Hi Alex,
> 
> Thank you for your review. Please my comments see below.
> 
> On Sun, May 26, 2019 at 5:03 PM Alex Herbert <alex.d.herbert@gmail.com <mailto:alex.d.herbert@gmail.com>>
> wrote:
> 
>> Hi Gary,
>> 
>> +0.5
>> 
>> I get build failures to do with environment properties look-up because one
>> of my environment properties is resolved with current known variables.
>> 
>> It can be reproduced using this (on a linux-type build with a bash shell):
>> 
>> export BAD_VAR='${USER}@${HOSTNAME}’
>> 
>> mvn -V clean package
>> 
>> Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426;
>> 2017-04-03T20:39:06+01:00)
>> Maven home: /usr/local/Cellar/maven/3.5.0/libexec
>> Java version: 1.8.0_131, vendor: Oracle Corporation
>> Java home:
>> /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre
>> Default locale: en_US, platform encoding: UTF-8
>> OS name: "mac os x", version: "10.14.5", arch: "x86_64", family: “mac"
>> 
>> [ERROR] Failures:
>> [ERROR]   TestCombinedConfigurationBuilder.testEnvironmentProperties:708
>> Wrong value for property: BAD_VAR expected:<[${USER}]@${HOSTNAME}> but
>> was:<[ah403]@${HOSTNAME}>
>> [ERROR]
>> TestCombinedConfigurationBuilderVFS>TestCombinedConfigurationBuilder.testEnvironmentProperties:708
>> Wrong value for property: BAD_VAR expected:<[${USER}]@${HOSTNAME}> but
>> was:<[ah403]@${HOSTNAME}>
>> [ERROR]   TestEnvironmentLookup.testLookup:57 Wrong value for BAD_VAR
>> expected:<[ah403]@${HOSTNAME}> but was:<[${USER}]@${HOSTNAME}>
>> 
>> 
>> Same on JDK 11:
>> 
>> Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426;
>> 2017-04-03T20:39:06+01:00)
>> Maven home: /usr/local/Cellar/maven/3.5.0/libexec
>> Java version: 11.0.2, vendor: AdoptOpenJDK
>> Java home:
>> /Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home
>> Default locale: en_GB, platform encoding: UTF-8
>> OS name: "mac os x", version: "10.14.5", arch: "x86_64", family: "mac"
>> 
>> 
>> A little dig around the code found that the ‘${USER}’ part of the
>> environment variable is resolved to its current known value. In my case
>> this is ‘ah403’. So the expected and actual values do not match when the
>> environment variable is ‘BAD_VAR’.
>> 
>> If I unset the offending environment variable then the code builds fine. I
>> do not know how long the tests have been like this. The same thing happens
>> when I checkout the code using the tag CONFIGURATION_2_4 for the previous
>> release. For this reason I do not think it a blocker. It is either a ‘bug’
>> or a known/unknown ‘feature’ that has been present for a while. It should
>> be investigated by a dev who knows the code and a decision made about what
>> the true expected result in this case should be.
>> 
> 
> This test code has been like this since its inception 4 four years ago. I
> do not see it as a blocker since the fix would be in the test. I would
> welcome a commit/patch/PR to resolve this of course. This might make the
> test harder to understand but more stable.

I did have an investigation into one of the classes that was failing. It was using one of
the classes from the project to test another and the two did not agree on the correct result.
For this class a simple swap to use System.getenv(String) to define the ‘expected’ made
the test work. So at least in that case the problem was with the test.

I will do some more digging to see if these are all problems with the test definition of what
should be happening rather than the code. 

It was only due to my defined environment variables that the tests fail. So perhaps the tests
just need to be more robust.

If I make it work I’ll create a PR for it.

> 
> Gary
> 
> 
>> 
>> Jira report on the site has an empty column for 'Fix Version’.  I checked
>> and it is because Jira entries for the version fixed when a ticket is
>> closed is missing.
>> 
>> All other reports look good (spotbugs, checkstyle, JApiCmp, Rat, JDepend).
>> 
>> 
>> Note that when I tried building the site locally skipping tests (due to
>> above problems) the spotbugs plugin does not have a version:
>> 
>> [WARNING] Report plugin com.github.spotbugs:spotbugs-maven-plugin has an
>> empty version.
>> 
> 
> Can you try with the current version of Maven? I do not see these warnings
> with 3.6.1 which is odd.

I was using Maven 3.6.1. 

It is weird because the pom does not define spotbugs, it is using findbugs. I’ll look further
at this too.

> 
> Gary
> 
> 
>> 
>> 
>> Alex
>> 
>> 
>> 
>>> On 26 May 2019, at 15:47, Gary Gregory <garydgregory@gmail.com> wrote:
>>> 
>>> Hi all, are any of you available to review this RC?
>>> 
>>> Gary
>>> 
>>> On Thu, May 23, 2019 at 9:39 PM Gary Gregory <ggregory@apache.org>
>> wrote:
>>> 
>>>> To: dev@commons.apache.org
>>>> Subject: [VOTE] Release Apache Commons Configuration 2.5 based on RC1
>>>> 
>>>> We have fixed quite a few bugs and added some significant enhancements
>>>> since Apache Commons Configuration 2.4 was released, so I would like to
>>>> release Apache Commons Configuration 2.5.
>>>> 
>>>> Apache Commons Configuration 2.5 RC1 is available for review here:
>>>>   https://dist.apache.org/repos/dist/dev/commons/configuration/2.5-RC1
>>>> (svn revision 34200)
>>>> 
>>>> The Git tag commons-configuration-2.5-RC1 commit for this RC is
>>>> dc00a04783ea951280ba0cd8318f53e19acb707f which you can browse here:
>>>> 
>>>> 
>> https://gitbox.apache.org/repos/asf?p=commons-configuration.git;a=commit;h=dc00a04783ea951280ba0cd8318f53e19acb707f
>>>> You may checkout this tag using:
>>>>   git clone
>>>> https://gitbox.apache.org/repos/asf/commons-configuration.git --branch
>>>> commons-configuration-2.5-RC1 commons-configuration-2.5-RC1
>>>> 
>>>> Maven artifacts are here:
>>>> 
>>>> 
>> https://repository.apache.org/content/repositories/orgapachecommons-1439/org/apache/commons/commons-configuration2/2.5/
>>>> 
>>>> These are the artifacts and their hashes:
>>>> 
>>>> #Release SHA-512s
>>>> #Thu May 23 21:10:52 EDT 2019
>>>> 
>>>> 
>> commons-configuration2-2.5-bin.tar.gz=af36d6218f2b04492b1ecdb3a45c9eca0e782f38d1278076ce066b2e31c3a92fe7a10eef4639f1047bf25ae2bdc4e61e401b7713933886a221588ff276d713c1
>>>> 
>>>> 
>> commons-configuration2-2.5-bin.tar.gz.asc=5b28973721604ad88dd91918d4093876bab8d711851adcbbc641d6da555badc7cca508ec779d2ecdb846ad954063b34a04345e683652caeb4624bfc76c518d1f
>>>> 
>>>> 
>> commons-configuration2-2.5-bin.zip=1133a75ab29fa15514fd050462feb2cf6de1cd03bca0a85c109474f2671189ff05ae966a44f0ee629b91fc9c7dea15e90e4704b82f70f2e517a444c689ea34c8
>>>> 
>>>> 
>> commons-configuration2-2.5-bin.zip.asc=5bb8a2ebaaacb974c52da36626937f33aec24479590830c8ec68d148abf7163e04c9b3bbc4f54c1608679ac4ad4ce6b1c70e5ff5402c4a592d838828808d9a81
>>>> 
>>>> 
>> commons-configuration2-2.5-javadoc.jar=9f8290afe2f663ead9ddae5034c7a08f9ee792cd48821e17fced1ca287a2fb58906e782c8b3f4428ccda1089193402407002f70194d59999ecba09edbebf9fab
>>>> 
>>>> 
>> commons-configuration2-2.5-javadoc.jar.asc=2b62b54400e81f1de39cfe17ed9aafa716a46b58dbf31b49270f85bbc53df09738decd7daec9fe84ef893824a63ed2d7333aa3b0d54524b879d5f17d98d3eb15
>>>> 
>>>> 
>> commons-configuration2-2.5-sources.jar=05b0675c7725a97cfc892267c44503be12f086f740f83f86b59bab902bd395c9b3f57fa37969993a1cab49a8d99266f29c984f331649d3800fe56a884a0bcc39
>>>> 
>>>> 
>> commons-configuration2-2.5-sources.jar.asc=42158d3cffd2403a6efd80b1654d252d2a164475e57c11a2a30159bd15216c87ccfdd9ce4609ceeffbd387350a93d4d2d2044af346db93f70812af80b14644d3
>>>> 
>>>> 
>> commons-configuration2-2.5-src.tar.gz=b69725d694f59678b690d50dc1f17718e7bd3deaa49a4dd30c20548b7df14494d27cec6325b6dd5a4da4adba368c26743ce80de147682cf49da1d5304f6bd9b1
>>>> 
>>>> 
>> commons-configuration2-2.5-src.tar.gz.asc=c274f8e4e1c575d3b423315019df312530910bcf465e7b109d4fcd7b6d4b671ed34f5cf7731c8fb98378940b1ae03d595e69db4cf94095ad7293a8afda8e2956
>>>> 
>>>> 
>> commons-configuration2-2.5-src.zip=57e5fa659506668a41f6fde8cc76f96152d0861d19a2f7dbd72dac56864aabf704b081fe029446de5c760ff0d1605f978d5322933c2627a0db73d9d4d1208293
>>>> 
>>>> 
>> commons-configuration2-2.5-src.zip.asc=15040a9ca0ec7a51df16ed86378656c28c345a0360dd234d118b0d00abadc0375cf031f864b92fbf3af6c0c799661e74d1d257a4b1c5dc2b53db3d8b350fcc95
>>>> 
>>>> 
>> commons-configuration2-2.5-test-sources.jar=756f6437475241b26b2ce190f8388227e058cefb862e48b98ac86b1886fa299902b77163baec789ead26f398912069b881fe1a1dfe62a1892b8245be31e13f5b
>>>> 
>>>> 
>> commons-configuration2-2.5-test-sources.jar.asc=080cc1fbc4925bdfd5679d0d2ba60c67a0f594b2b585b010f273ed7a598f817ff9224d0790d2c2981460ea8de69ba67e77c11ee17aa6965bf398b94bd92e9306
>>>> 
>>>> 
>> commons-configuration2-2.5-tests.jar=ae8a35a0f3c832f8d0869ab900ad13b33537b0112ef320ef9718ad9e707a3a18292d785b0c78f2ade81a0d8967edeb4c92ff6ea4a796a57b3d62c2c153529078
>>>> 
>>>> 
>> commons-configuration2-2.5-tests.jar.asc=2b25ba280d7c210fb2e7cdc78e971557f365eb08a6645503003833f685ca88d848afb5b56abac5d2861473f01d2d2636ae442e825506c6f059f59bef1a8ba8d6
>>>> 
>>>> 
>> commons-configuration2-2.5.jar.asc=ab783f4b2e248786a0c7c914f5e80046b045b859713e7b94c97b4f4a65001db9270650917f00ee4ab8ca6e32fe6411f9ee9e17126b86751febcbdc7b403b08c1
>>>> 
>>>> 
>> commons-configuration2-2.5.pom.asc=6836729386d91565b4e489763a0930b6cacfa697719c563210b0dd3ec9f058060d254374b6fd53ff03ecb2e78227dc4b20128b85e04bbd56d4fc1483d6140666
>>>> 
>>>> I have tested this with 'mvn clean install site -Pjacoco' using:
>>>> 
>>>> Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555;
>>>> 2019-04-04T15:00:29-04:00)
>>>> Maven home: C:\Java\apache-maven-3.6.1\bin\..
>>>> Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: C:\Program
>>>> Files\Java\jdk1.8.0_212\jre
>>>> Default locale: en_US, platform encoding: Cp1252
>>>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>>>> 
>>>> Details of changes since 2.4 are in the release notes:
>>>> 
>>>> 
>> https://dist.apache.org/repos/dist/dev/commons/configuration/2.5-RC1/RELEASE-NOTES.txt
>>>> 
>>>> 
>> https://dist.apache.org/repos/dist/dev/commons/configuration/2.5-RC1/site/changes-report.html
>>>> 
>>>> Site:
>>>> 
>>>> 
>> https://dist.apache.org/repos/dist/dev/commons/configuration/2.5-RC1/site/index.html
>>>>   (note some *relative* links are broken and the 2.5 directories are
>> not
>>>> yet created - these will be OK once the site is deployed.)
>>>> There is no Clirr report since Clirr blows up when it sees a Java 8
>>>> default method.
>>>> 
>>>> JApiCmp Report (compared to 2.4):
>>>> 
>>>> 
>> https://dist.apache.org/repos/dist/dev/commons/configuration/2.5-RC1/site/japicmp.html
>>>> 
>>>> RAT Report:
>>>> 
>>>> 
>> https://dist.apache.org/repos/dist/dev/commons/configuration/2.5-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,
>>>> 
>>>> Gary Gregory,
>>>> Release Manager (using key 86fdc7e2a11262cb)
>>>> 
>>>> 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-configuration.git
>>>> --branch commons-configuration-2.5-RC1 commons-configuration-2.5-RC1
>>>> cd commons-configuration-2.5-RC1
>>>> 
>>>> 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
>>>> 
>>>> This step is not required if the site includes a JApiCmp report page
>> which
>>>> you then must check.
>>>> 
>>>> mvn install -DskipTests -Pjapicmp 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 install 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 install site
>>>> mvn site:stage
>>>> Check the site reports in:
>>>> - Windows: target\site\index.html
>>>> - Linux: target/site/index.html
>>>> 
>>>> --eof--


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message