Re: [Approved] RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-11 Thread Johan Vos
On Tue, 8 Oct 2019 13:54:22 GMT, Kevin Rushforth  wrote:

> JBS issue: [JDK-8226754](https://bugs.openjdk.java.net/browse/JDK-8226754)
> 
> As noted in the JBS bug, the JavaFX build fails with gradle 6 (as well as not 
> building correctly with 5.6 or later).
> 
> The existing JavaFX build uses two deprecated features that are removed in 
> gradle 6, so the build fails when building with gradle 6. Additionally, some 
> change that went into gradle 5.6 prevents all of our resource files (e.g., 
> css files, images, shaders) from being included in the built artifacts, which 
> causes JavaFX to be non-functional (our unit tests catch this failure).
> 
> The purpose of this bug fix is to allow JavaFX to build with gradle 6, which 
> is needed to allow building with JDK 13. We will likely upgrade to gradle 6 
> in the near future. Additionally, this fixes the resource bug that was 
> exposed (or introduced) in gradle 5.6 and also affects gradle 6.
> 
> The changes are as follows:
> 
> 1. Remove unneeded STABLE_PUBLISHING setting, which was transitional to allow 
> gradle 4.x to continue working while we moved to gradle 5.x
> 2. Use `ivy patternLayout ...` instead of `layout "pattern", ...`
> 3. Specify no metadata for ivy repositories
> 4. Set output.resourcesDir of sourceSet to match 
> processResources.destinationDir
> 5. Bump minimum gradle version to 5.3 (since it will no longer run with 
> gradle 4.x after change 1)
> 
> I verified that the build artifacts produced by gradle 5.3 before and after 
> this changes are identical (so it is behavior neutral for the supported 
> version of gradle). After the fix, I also verified that the build artifacts 
> produced by gradle 5.6.2 and 6.0 nightly match those produced by 5.3. I have 
> tested this fully on Linux and Windows, and I will do a sanity test on Mac in 
> parallel with the review.
> 
> 
> 
> Commits:
>  - bc6bd441: 8226754: FX build fails using gradle 5.6+ or 6
> 
> Changes: https://git.openjdk.java.net/jfx/pull/9/files
>  Webrev: https://webrevs.openjdk.java.net/jfx/9/webrev.00
>   Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
>   Stats: 28 lines in 4 files changed: 17 ins; 4 del; 7 mod
>   Patch: https://git.openjdk.java.net/jfx/pull/9.diff
>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9

Works on Linux/Mac/Windows



Approved by jvos (Reviewer).

PR: https://git.openjdk.java.net/jfx/pull/9


Re: [Rev 01] RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-09 Thread Johan Vos
On Wed, 9 Oct 2019 17:16:10 GMT, Kevin Rushforth  wrote:

> The pull request has been updated with additional changes.
> 
> 
> 
> Added commits:
>  - a928b41f: Revert ivy layout pattern changes per review comments
> 
> Changes:
>   - all: https://git.openjdk.java.net/jfx/pull/9/files
>   - new: https://git.openjdk.java.net/jfx/pull/9/files/bc6bd441..a928b41f
> 
> Webrevs:
>  - full: https://webrevs.openjdk.java.net/jfx/9/webrev.01
>  - incr: https://webrevs.openjdk.java.net/jfx/9/webrev.00-01
> 
>   Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
>   Stats: 21 lines in 2 files changed: 0 ins; 15 del; 6 mod
>   Patch: https://git.openjdk.java.net/jfx/pull/9.diff
>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9

Looks good. However, automated testing on Windows failed. I believe this is an 
infrastructure issue, but I want to investigate it in detail tomorrow.

PR: https://git.openjdk.java.net/jfx/pull/9


Re: [Rev 01] RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-09 Thread Kevin Rushforth
The pull request has been updated with additional changes.



Added commits:
 - a928b41f: Revert ivy layout pattern changes per review comments

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/9/files
  - new: https://git.openjdk.java.net/jfx/pull/9/files/bc6bd441..a928b41f

Webrevs:
 - full: https://webrevs.openjdk.java.net/jfx/9/webrev.01
 - incr: https://webrevs.openjdk.java.net/jfx/9/webrev.00-01

  Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
  Stats: 21 lines in 2 files changed: 0 ins; 15 del; 6 mod
  Patch: https://git.openjdk.java.net/jfx/pull/9.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9

PR: https://git.openjdk.java.net/jfx/pull/9


Re: RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-09 Thread Kevin Rushforth
On Wed, 9 Oct 2019 12:38:09 GMT, Johan Vos  wrote:

> On Wed, 9 Oct 2019 12:24:29 GMT, Kevin Rushforth  wrote:
> 
>> On Wed, 9 Oct 2019 07:50:44 GMT, Johan Vos  wrote:
>> 
>>> On Tue, 8 Oct 2019 13:54:22 GMT, Kevin Rushforth  wrote:
>>> 
 JBS issue: [JDK-8226754](https://bugs.openjdk.java.net/browse/JDK-8226754)
 
 As noted in the JBS bug, the JavaFX build fails with gradle 6 (as well as 
 not building correctly with 5.6 or later).
 
 The existing JavaFX build uses two deprecated features that are removed in 
 gradle 6, so the build fails when building with gradle 6. Additionally, 
 some change that went into gradle 5.6 prevents all of our resource files 
 (e.g., css files, images, shaders) from being included in the built 
 artifacts, which causes JavaFX to be non-functional (our unit tests catch 
 this failure).
 
 The purpose of this bug fix is to allow JavaFX to build with gradle 6, 
 which is needed to allow building with JDK 13. We will likely upgrade to 
 gradle 6 in the near future. Additionally, this fixes the resource bug 
 that was exposed (or introduced) in gradle 5.6 and also affects gradle 6.
 
 The changes are as follows:
 
 1. Remove unneeded STABLE_PUBLISHING setting, which was transitional to 
 allow gradle 4.x to continue working while we moved to gradle 5.x
 2. Use `ivy patternLayout ...` instead of `layout "pattern", ...`
 3. Specify no metadata for ivy repositories
 4. Set output.resourcesDir of sourceSet to match 
 processResources.destinationDir
 5. Bump minimum gradle version to 5.3 (since it will no longer run with 
 gradle 4.x after change 1)
 
 I verified that the build artifacts produced by gradle 5.3 before and 
 after this changes are identical (so it is behavior neutral for the 
 supported version of gradle). After the fix, I also verified that the 
 build artifacts produced by gradle 5.6.2 and 6.0 nightly match those 
 produced by 5.3. I have tested this fully on Linux and Windows, and I will 
 do a sanity test on Mac in parallel with the review.
 
 
 
 Commits:
  - bc6bd441: 8226754: FX build fails using gradle 5.6+ or 6
 
 Changes: https://git.openjdk.java.net/jfx/pull/9/files
  Webrev: https://webrevs.openjdk.java.net/jfx/9/webrev.00
   Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
   Stats: 28 lines in 4 files changed: 17 ins; 4 del; 7 mod
   Patch: https://git.openjdk.java.net/jfx/pull/9.diff
   Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9
>>> 
>>> build.gradle line 1836:
>>> 
 1835: url JFX_DEPS_URL
 1836: metadataSources {
 1837: artifact()
>>> 
>>> From the JBS entry, I understood for now you wanted to keep layout (instead 
>>> of patternLayout): 
>>> https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14293009=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14293009
>>> 
>>> I understand the reasoning behind this (not using an incubating API), so I 
>>> wonder why it is changed in this PR?
>> 
>> I think you meant to point to [this earlier 
>> comment](https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14273845=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14273845)
>>  that I made back in June. Yes, I had indicated that I wanted to wait until 
>> gradle 6 builds were available before switching from `layout` to 
>> `patternLayout`, in case they made any changes.
>> 
>> Your question does raise a good point, though: Should we wait until we 
>> actually want to switch to gradle 6 before making this change? If so, then 
>> it might make sense to split this change into two bugs: the `layout` --> 
>> `patternLayout` changes, which would wait until we switch to gradle 6, and 
>> the rest, which would be done now.
>> 
>> I could go either way. Which do you prefer?
> 
> https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.repositories.IvyArtifactRepository.html
>  still shows `patternLayout` to be incubating. Gradle doesn't have an 
> excellent track record for finishing incubating API's (e.g. 
> https://github.com/spring-projects/spring-boot/issues/11640). 
> Hence, I think it is indeed safer not to switch from a deprecated API to an 
> incubating API (and as a result, split the PR so that the `layout` --> 
> `patternLayout` is not included for now.
> 
> I don't have a very strong opinion on this though, so if you want to keep the 
> changes, I don't object that.

OK, I'll go ahead and update this PR to split out the `layout` --> 
`patternLayout` changes. I'll file a new issue to upgrade to gradle 6, targeted 
to `tbd` for now, since we don't know when gradle 6 will be released. The 
`layout` --> `patternLayout` changes can be done as part of the actual upgrade.

PR: 

Re: RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-09 Thread Johan Vos
On Wed, 9 Oct 2019 12:24:29 GMT, Kevin Rushforth  wrote:

> On Wed, 9 Oct 2019 07:50:44 GMT, Johan Vos  wrote:
> 
>> On Tue, 8 Oct 2019 13:54:22 GMT, Kevin Rushforth  wrote:
>> 
>>> JBS issue: [JDK-8226754](https://bugs.openjdk.java.net/browse/JDK-8226754)
>>> 
>>> As noted in the JBS bug, the JavaFX build fails with gradle 6 (as well as 
>>> not building correctly with 5.6 or later).
>>> 
>>> The existing JavaFX build uses two deprecated features that are removed in 
>>> gradle 6, so the build fails when building with gradle 6. Additionally, 
>>> some change that went into gradle 5.6 prevents all of our resource files 
>>> (e.g., css files, images, shaders) from being included in the built 
>>> artifacts, which causes JavaFX to be non-functional (our unit tests catch 
>>> this failure).
>>> 
>>> The purpose of this bug fix is to allow JavaFX to build with gradle 6, 
>>> which is needed to allow building with JDK 13. We will likely upgrade to 
>>> gradle 6 in the near future. Additionally, this fixes the resource bug that 
>>> was exposed (or introduced) in gradle 5.6 and also affects gradle 6.
>>> 
>>> The changes are as follows:
>>> 
>>> 1. Remove unneeded STABLE_PUBLISHING setting, which was transitional to 
>>> allow gradle 4.x to continue working while we moved to gradle 5.x
>>> 2. Use `ivy patternLayout ...` instead of `layout "pattern", ...`
>>> 3. Specify no metadata for ivy repositories
>>> 4. Set output.resourcesDir of sourceSet to match 
>>> processResources.destinationDir
>>> 5. Bump minimum gradle version to 5.3 (since it will no longer run with 
>>> gradle 4.x after change 1)
>>> 
>>> I verified that the build artifacts produced by gradle 5.3 before and after 
>>> this changes are identical (so it is behavior neutral for the supported 
>>> version of gradle). After the fix, I also verified that the build artifacts 
>>> produced by gradle 5.6.2 and 6.0 nightly match those produced by 5.3. I 
>>> have tested this fully on Linux and Windows, and I will do a sanity test on 
>>> Mac in parallel with the review.
>>> 
>>> 
>>> 
>>> Commits:
>>>  - bc6bd441: 8226754: FX build fails using gradle 5.6+ or 6
>>> 
>>> Changes: https://git.openjdk.java.net/jfx/pull/9/files
>>>  Webrev: https://webrevs.openjdk.java.net/jfx/9/webrev.00
>>>   Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
>>>   Stats: 28 lines in 4 files changed: 17 ins; 4 del; 7 mod
>>>   Patch: https://git.openjdk.java.net/jfx/pull/9.diff
>>>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9
>> 
>> build.gradle line 1836:
>> 
>>> 1835: url JFX_DEPS_URL
>>> 1836: metadataSources {
>>> 1837: artifact()
>> 
>> From the JBS entry, I understood for now you wanted to keep layout (instead 
>> of patternLayout): 
>> https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14293009=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14293009
>> 
>> I understand the reasoning behind this (not using an incubating API), so I 
>> wonder why it is changed in this PR?
> 
> I think you meant to point to [this earlier 
> comment](https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14273845=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14273845)
>  that I made back in June. Yes, I had indicated that I wanted to wait until 
> gradle 6 builds were available before switching from `layout` to 
> `patternLayout`, in case they made any changes.
> 
> Your question does raise a good point, though: Should we wait until we 
> actually want to switch to gradle 6 before making this change? If so, then it 
> might make sense to split this change into two bugs: the `layout` --> 
> `patternLayout` changes, which would wait until we switch to gradle 6, and 
> the rest, which would be done now.
> 
> I could go either way. Which do you prefer?

https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.repositories.IvyArtifactRepository.html
 still shows `patternLayout` to be incubating. Gradle doesn't have an excellent 
track record for finishing incubating API's (e.g. 
https://github.com/spring-projects/spring-boot/issues/11640). 
Hence, I think it is indeed safer not to switch from a deprecated API to an 
incubating API (and as a result, split the PR so that the `layout` --> 
`patternLayout` is not included for now.

I don't have a very strong opinion on this though, so if you want to keep the 
changes, I don't object that.

PR: https://git.openjdk.java.net/jfx/pull/9


Re: RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-09 Thread Kevin Rushforth
On Wed, 9 Oct 2019 07:50:44 GMT, Johan Vos  wrote:

> On Tue, 8 Oct 2019 13:54:22 GMT, Kevin Rushforth  wrote:
> 
>> JBS issue: [JDK-8226754](https://bugs.openjdk.java.net/browse/JDK-8226754)
>> 
>> As noted in the JBS bug, the JavaFX build fails with gradle 6 (as well as 
>> not building correctly with 5.6 or later).
>> 
>> The existing JavaFX build uses two deprecated features that are removed in 
>> gradle 6, so the build fails when building with gradle 6. Additionally, some 
>> change that went into gradle 5.6 prevents all of our resource files (e.g., 
>> css files, images, shaders) from being included in the built artifacts, 
>> which causes JavaFX to be non-functional (our unit tests catch this failure).
>> 
>> The purpose of this bug fix is to allow JavaFX to build with gradle 6, which 
>> is needed to allow building with JDK 13. We will likely upgrade to gradle 6 
>> in the near future. Additionally, this fixes the resource bug that was 
>> exposed (or introduced) in gradle 5.6 and also affects gradle 6.
>> 
>> The changes are as follows:
>> 
>> 1. Remove unneeded STABLE_PUBLISHING setting, which was transitional to 
>> allow gradle 4.x to continue working while we moved to gradle 5.x
>> 2. Use `ivy patternLayout ...` instead of `layout "pattern", ...`
>> 3. Specify no metadata for ivy repositories
>> 4. Set output.resourcesDir of sourceSet to match 
>> processResources.destinationDir
>> 5. Bump minimum gradle version to 5.3 (since it will no longer run with 
>> gradle 4.x after change 1)
>> 
>> I verified that the build artifacts produced by gradle 5.3 before and after 
>> this changes are identical (so it is behavior neutral for the supported 
>> version of gradle). After the fix, I also verified that the build artifacts 
>> produced by gradle 5.6.2 and 6.0 nightly match those produced by 5.3. I have 
>> tested this fully on Linux and Windows, and I will do a sanity test on Mac 
>> in parallel with the review.
>> 
>> 
>> 
>> Commits:
>>  - bc6bd441: 8226754: FX build fails using gradle 5.6+ or 6
>> 
>> Changes: https://git.openjdk.java.net/jfx/pull/9/files
>>  Webrev: https://webrevs.openjdk.java.net/jfx/9/webrev.00
>>   Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
>>   Stats: 28 lines in 4 files changed: 17 ins; 4 del; 7 mod
>>   Patch: https://git.openjdk.java.net/jfx/pull/9.diff
>>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9
> 
> build.gradle line 1836:
> 
>> 1835: url JFX_DEPS_URL
>> 1836: metadataSources {
>> 1837: artifact()
> 
> From the JBS entry, I understood for now you wanted to keep layout (instead 
> of patternLayout): 
> https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14293009=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14293009
> 
> I understand the reasoning behind this (not using an incubating API), so I 
> wonder why it is changed in this PR?

I think you meant to point to [this earlier 
comment](https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14273845=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14273845)
 that I made back in June. Yes, I had indicated that I wanted to wait until 
gradle 6 builds were available before switching from `layout` to 
`patternLayout`, in case they made any changes.

Your question does raise a good point, though: Should we wait until we actually 
want to switch to gradle 6 before making this change? If so, then it might make 
sense to split this change into two bugs: the `layout` --> `patternLayout` 
changes, which would wait until we switch to gradle 6, and the rest, which 
would be done now.

I could go either way. Which do you prefer?

PR: https://git.openjdk.java.net/jfx/pull/9


Re: RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-09 Thread Johan Vos
On Tue, 8 Oct 2019 13:54:22 GMT, Kevin Rushforth  wrote:

> JBS issue: [JDK-8226754](https://bugs.openjdk.java.net/browse/JDK-8226754)
> 
> As noted in the JBS bug, the JavaFX build fails with gradle 6 (as well as not 
> building correctly with 5.6 or later).
> 
> The existing JavaFX build uses two deprecated features that are removed in 
> gradle 6, so the build fails when building with gradle 6. Additionally, some 
> change that went into gradle 5.6 prevents all of our resource files (e.g., 
> css files, images, shaders) from being included in the built artifacts, which 
> causes JavaFX to be non-functional (our unit tests catch this failure).
> 
> The purpose of this bug fix is to allow JavaFX to build with gradle 6, which 
> is needed to allow building with JDK 13. We will likely upgrade to gradle 6 
> in the near future. Additionally, this fixes the resource bug that was 
> exposed (or introduced) in gradle 5.6 and also affects gradle 6.
> 
> The changes are as follows:
> 
> 1. Remove unneeded STABLE_PUBLISHING setting, which was transitional to allow 
> gradle 4.x to continue working while we moved to gradle 5.x
> 2. Use `ivy patternLayout ...` instead of `layout "pattern", ...`
> 3. Specify no metadata for ivy repositories
> 4. Set output.resourcesDir of sourceSet to match 
> processResources.destinationDir
> 5. Bump minimum gradle version to 5.3 (since it will no longer run with 
> gradle 4.x after change 1)
> 
> I verified that the build artifacts produced by gradle 5.3 before and after 
> this changes are identical (so it is behavior neutral for the supported 
> version of gradle). After the fix, I also verified that the build artifacts 
> produced by gradle 5.6.2 and 6.0 nightly match those produced by 5.3. I have 
> tested this fully on Linux and Windows, and I will do a sanity test on Mac in 
> parallel with the review.
> 
> 
> 
> Commits:
>  - bc6bd441: 8226754: FX build fails using gradle 5.6+ or 6
> 
> Changes: https://git.openjdk.java.net/jfx/pull/9/files
>  Webrev: https://webrevs.openjdk.java.net/jfx/9/webrev.00
>   Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
>   Stats: 28 lines in 4 files changed: 17 ins; 4 del; 7 mod
>   Patch: https://git.openjdk.java.net/jfx/pull/9.diff
>   Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9

build.gradle line 1836:

> 1835: url JFX_DEPS_URL
> 1836: metadataSources {
> 1837: artifact()

>From the JBS entry, I understood for now you wanted to keep layout (instead of 
>patternLayout): 
>https://bugs.openjdk.java.net/browse/JDK-8226754?focusedCommentId=14293009=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14293009

I understand the reasoning behind this (not using an incubating API), so I 
wonder why it is changed in this PR?

PR: https://git.openjdk.java.net/jfx/pull/9


RFR: 8226754: FX build fails using gradle 5.6+ or 6

2019-10-08 Thread Kevin Rushforth
JBS issue: [JDK-8226754](https://bugs.openjdk.java.net/browse/JDK-8226754)

As noted in the JBS bug, the JavaFX build fails with gradle 6 (as well as not 
building correctly with 5.6 or later).

The existing JavaFX build uses two deprecated features that are removed in 
gradle 6, so the build fails when building with gradle 6. Additionally, some 
change that went into gradle 5.6 prevents all of our resource files (e.g., css 
files, images, shaders) from being included in the built artifacts, which 
causes JavaFX to be non-functional (our unit tests catch this failure).

The purpose of this bug fix is to allow JavaFX to build with gradle 6, which is 
needed to allow building with JDK 13. We will likely upgrade to gradle 6 in the 
near future. Additionally, this fixes the resource bug that was exposed (or 
introduced) in gradle 5.6 and also affects gradle 6.

The changes are as follows:

1. Remove unneeded STABLE_PUBLISHING setting, which was transitional to allow 
gradle 4.x to continue working while we moved to gradle 5.x
2. Use `ivy patternLayout ...` instead of `layout "pattern", ...`
3. Specify no metadata for ivy repositories
4. Set output.resourcesDir of sourceSet to match processResources.destinationDir
5. Bump minimum gradle version to 5.3 (since it will no longer run with gradle 
4.x after change 1)

I verified that the build artifacts produced by gradle 5.3 before and after 
this changes are identical (so it is behavior neutral for the supported version 
of gradle). After the fix, I also verified that the build artifacts produced by 
gradle 5.6.2 and 6.0 nightly match those produced by 5.3. I have tested this 
fully on Linux and Windows, and I will do a sanity test on Mac in parallel with 
the review.



Commits:
 - bc6bd441: 8226754: FX build fails using gradle 5.6+ or 6

Changes: https://git.openjdk.java.net/jfx/pull/9/files
 Webrev: https://webrevs.openjdk.java.net/jfx/9/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8226754
  Stats: 28 lines in 4 files changed: 17 ins; 4 del; 7 mod
  Patch: https://git.openjdk.java.net/jfx/pull/9.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/9/head:pull/9

PR: https://git.openjdk.java.net/jfx/pull/9