Gradle Scripts

Kevin Rushforth kevin.rushforth at oracle.com
Tue May 27 16:48:51 UTC 2014


Hi Scott,

I don't think we can use gradle wrapper since it would require checking 
a gradle jar file into our repo (there is IP / licensing concern with that).

Regarding your other issues:

1) The Mac issue is a known problem that I still plan to address for 
8u20:  https://javafx-jira.kenai.com/browse/RT-34388

2) In the short term we are unlikely to change our production build to a 
newer version of gradle, but I know of no reason it won't work with 
gradle 1.12 (gradle 1.11 is known not to work). Does it build for you 
with 1.12? I will try it myself.

3) The version check should work fine with JDK 8u5. Are you cloning 
openjfx from the right place? openjfx/8u-dev/rt ? I'm fairly sure this 
has been tested, but I will double-check.

4) Yes, we expect cygwin -- mainly for native but also for some of our 
legacy any scripts (mostly in closed). We could consider accepting 
patches that checked whether a windows build was cygwin and allowed it 
to build at least the java code without requiring Cygwin. Did you want 
to file a JIRA for this?

5) Native compilation for everything except media and wekbit, is on by 
default, and there is currently no easy way to disable it. This is 
something Richard had wanted to change back when the gradle build 
scripts were developed, but was not finished. At the least, a flag to 
turn off native compilation would be good. Do you want to file a JIRA 
for this?

-- Kevin


Scott Palmer wrote:
> I know the wiki says only Gradle 1.8 is "guaranteed to work" so I have to ask:
> Why not use the Gradle Wrapper to force use of 1.8?
> http://www.gradle.org/docs/current/userguide/gradle_wrapper.html
>
> Well, I tried tweaking the build scripts to use it myself, running on
> OS X and found that the scripts appear to be badly broken anyway and
> they can't even be parsed with later Gradle versions so you can't even
> run the wrapper task:
>
> The error is:
>
> Could not find method 'defineProperty() for arguments
> [MACOSX_MIN_VERSION, 10.7] on root project .....
>
> Sure enough the defineProperty method is being called from a different
> .gradle file than the one in which it is defined, so it is out of
> scope.  I corrected this locally by changing it to a closure and
> assigning it to project.ext.defineProperty.  Then I added:
>
> task wrapper(type: Wrapper) {
>   gradleVersion = 1.8'
> }
>
> and was able to get the gradlew script created by running:
>
> gradle wrapper
>
> So then I tried to build with Gradle 1.8 by running:
>
> ./gradlew
>
> Then I hit :verifyJava complaining that the build number (13) was too
> low (< 115)... but I'm building the 8u5 code with the 8u5 release...
> that seems like a combination that should work.
>
> I think everyone (myself included) would be more inclined to help with
> patches if it wasn't such a pain to build.  I appreciate that prior to
> the use of Gradle this was likely much worse.  Gradle is a great build
> system and should be able to make this an even simpler process.
>
> On Windows for what I assume are historical reasons, Cygwin is
> expected.  I'm only trying to build the Java side of things.. not the
> native DLLs and I don't see Cygwin doing anything of value in the
> build scripts for that case.  It's mangling paths that don't need to
> be mangle for example.
>
> I think the build scripts could be cleaned up to provide a much
> smoother build experience for those outside of Oracle.
>
> No doubt you guys simply don't have the cycles to burn on fixing build
> scripts that are currently working for you.. but I suspect it will pay
> off in the long run.  The current version of Gradle, 1.12, is the last
> 1.x Gradle release before the 2.x versions appear.  It may make sense
> to achieve compatibility with it.  Gradle 2.x is expected to break
> things, but once things are working with 1.12, then you can work on
> getting rid of the warnings and you will be in a much better position.
>
>
> Cheers,
>
> Scott
>   


More information about the openjfx-dev mailing list