Compiling 8u20-b26 for iOS
Stephen F Northover
steve.x.northover at oracle.com
Wed Sep 3 15:21:49 UTC 2014
On 2014-09-03, 2:25 AM, Niklas Therning wrote:
> @Johan: Maybe I should work against the javafxports code instead and send
> you a PR? We can coordinate our efforts there on Android and iOS and then
> try to get things merged upstream later on? I'm guessing that it will be a
> lot easier for me to get your code running with RoboVM as you must have
> already made sure it works with the Android runtime classes, right?
This makes sense to me. We worked hard to get Android to compile for
8u20. I still hold out hope that both of you will be able to work one
day in OpenJFX and keep these ports up to date. At this point, we are
still avoiding use of the streams library in common code so your code
will still compile.
Steve
>
> I'm cloning the 8u20-rt repository as we speak. Is that the repo I want to
> use? Is it based on 8u20-b26?
>
>
> On Tue, Sep 2, 2014 at 7:56 PM, Johan Vos <johan at lodgon.com> wrote:
>
>> I have to create a JIRA issue with patch as well for the Android port.
>> However, I'm not 100% convinced I'm doing it right, so I keep it open for a
>> while.
>> The difficulty I face is that the compile tasks are not "standard" gradle
>> java compile tasks (we include the java plugin in the dalvik.gradle file)
>> and they are mixed with ant javac compilations.
>> The mix of my limited knowledge of both ant and gradle make me feel not
>> entirely comfortable with the solution, but at least it was good enough to
>> give 8u20 b2 a try.
>>
>> - Johan
>>
>>
>> 2014-09-02 16:44 GMT+02:00 Kevin Rushforth <kevin.rushforth at oracle.com>:
>>
>>>> I should probably create an issue for all of this and attach a patch,
>>> right?
>>>
>>> Yes, please. We can get the patch into 8u-dev.
>>>
>>> -- Kevin
>>>
>>>
>>> Niklas Therning wrote:
>>>
>>>> I couldn't keep my hands off and by looking at how it's done in
>>>> dalvik.gradle from javafxports [1] I managed to get it to build the iOS
>>>> web.jar. Here's the patch for ios.gradle:
>>>>
>>>> diff -r e56a8bbcba20 buildSrc/ios.gradle
>>>> --- a/buildSrc/ios.gradle Thu Jul 24 21:23:07 2014 -0700
>>>> +++ b/buildSrc/ios.gradle Tue Sep 02 16:35:41 2014 +0200
>>>> @@ -340,7 +340,17 @@
>>>> apply plugin: 'java'
>>>>
>>>> compileJava {
>>>> - enabled = false
>>>> + sourceSets.main.java.srcDirs = ['src/ios/java'];
>>>> + }
>>>> + sourceSets {
>>>> + main {
>>>> + java {
>>>> + srcDirs= ['src/ios/java']
>>>> + }
>>>> + }
>>>> + }
>>>> + dependencies {
>>>> + compile files("../graphics/build/classes/ios");
>>>> }
>>>>
>>>> afterEvaluate {
>>>>
>>>>
>>>> Let me know if you want me to create a JIRA and post this there instead.
>>>> This patch helped me get past the first problem with the builders project
>>>> failing. I then had to fix a few compilation problems in the web module's
>>>> iOS code. A few classes (PopupFeature and PromptData) were missing and a
>>>> few of the others had to be brought up to date with the code in src/main/.
>>>> Haven't been able to test the patched web iOS code yet but at least it
>>>> compiles now. I should probably create an issue for all of this and attach
>>>> a patch, right?
>>>>
>>>> [1] https://bitbucket.org/javafxports/8u20-rt/src/
>>>> 772ccf341457a1bbabef278cfe4dd6b22f5d7e72/buildSrc/dalvik.
>>>> gradle?at=default
>>>>
>>>>
>>>> On Tue, Sep 2, 2014 at 4:34 PM, Kevin Rushforth <
>>>> kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>> wrote:
>>>>
>>>> I'll take a look at the build order, but it sounds like a bug.
>>>> Perhaps you can just locally disable the builders or add a
>>>> dependency on the compilation task for the IOS web files.
>>>>
>>>> As to your other question, Richard is right that we omit lib/ext
>>>> from compilation, but there can be issues in doing this (e.g.,
>>>> when running tests or building apps). We recommend that you remove
>>>> (not just rename) the jfxrt.jar from the JDK you use to build.
>>>>
>>>> -- Kevin
>>>>
>>>>
>>>>
>>>> Richard Bair wrote:
>>>>
>>>>> I’ll let one of the other guys answer about the web component build
>>>>> order, but ...
>>>>>
>>>>> On Sep 1, 2014, at 11:58 PM, Niklas Therning <niklas at therning.org>
>>>>> <mailto:niklas at therning.org> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Also, how is the jfxrt.jar that comes with my Java8 installation
>>>>>> treated by
>>>>>> the build? I guess it is ignored since otherwise I wouldn't get any
>>>>>> compilation problems due to missing WebView etc since those
>>>>>> classes are in
>>>>>> Java8's jfxrt.jar?
>>>>>>
>>>>>>
>>>>> The jfxrt.jar that comes with the JDK is in the lib/ext directory
>>>>> (as is Nashorn). We simply omit both from the class path when we build by
>>>>> setting java.ext.dirs= (to empty).
>>>>>
>>>>> Richard
>>>>>
>>>>
>>>>
More information about the openjfx-dev
mailing list