Re: Plugin module development with daily build on JDK9
Svata Dedic <[email protected]> Wed, 15 Mar 2017 13:12:35 +0100
| Newsgroups | gmane.comp.java.netbeans.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
The first thing to understand is that NB 9 release will be still
compiled against JDK8.
[*] So while NB 9 primarily aims support development for JDK9,
developing *NB-based applications* will be most probably well tested
only for JDK8 target.
Specifically the NetBeans own buildsystem is not (as a whole) prepared
to handle JDK9. Checks for various supplemental JARs fail as JDK has
changed layout etc. Many Ant tasks are totally unaware of different ways
how to read classes in JDK9 (nor jars, bud jmods), so they fail as well.
The harness used to run/debug applications may lack --add-opens,
--add-module switches, so the application may crash on reflective access
etc. You are welcome to provide patches - don't forget about Apache Ant
project as well.
Second. Given the definition of JDK9 modular system as specified *at
this point*, Jigsaw does not support *directly* many many features of NB
module system. Just to name few - OpenIDE-Module-Needs, Recommends,
Hide-Classpath-Packages ... entire versioning scheme is also out of
scope of (current) Jigsaw, I think.
So there is a lot of decisions to make, what features to keep, which
ones can be approximated using Jigsaw, which need to be dropped and what
will be the effect on NetBeans platform -- all those are nontrivial to
decide, and even harder to implement. "A tool that replaces XML based
definition" is a great underestimation of the problem, I am afraid.
Back to the real and immediate problems.
1/ allowing source level 9 for NetBeans module development is easy to
code, but because of [*], it may help but many corner cases handled by
harness will simply fail. I would prefer consistency ("NB modules must
be developed for JDK8 platform") over bleeding edge here.
Again - contributions are welcome, as always.
2/ I need more information on that. I was able to _open_ any modules
(Nb, samples) when running on JDK9 - but immediately run into issues in
editor - these are being fixed right now.
If you were not able to _open_ a module project - please elaborate /
send logs / file issues.
3/ What does mean "dependencies do not work" ? If the editor marks
identifier from the dependency as error/unknown - I've found that
yesterday, and it is being fixed. The key point is that the module can
be compiled, just the editor turned mad.
If your observations are different - please elaborate.
Thanks for the testing !
-Svata
Dne 15.3.2017 v 08:30 Peter Nabbefeld napsal(a):
> Hello Martin,
>
> sorry, seems there's a problem with communication via Gmane.
>
> After re-thinking about the problem, it seems Java 9 is used for syntax
> and dependency checking when running the dev build on JDK 9 (so it
> becomes the default VM) - could You please check this?
>
> For NB modules: For which release is JDK 9 support planned for NB
> modules? I'd guess You need a tool then to replace the XML based
> dependency mechanism by modules-info.java (and fill this file with the
> correct dependencies).
>
> Kind regards
> Peter
>
>
> Am 14.03.2017 um 16:06 schrieb Martin Balin:
>> Peter,
>> When you say "modules" do you mean NetBeans modules or JDK9 modules?
>> NetBeans modules have to be developed for JDK8 platform, NB 9 will be
>> built by JDK8.
>> Martin
>>
>> On 13.3.2017 16:36, Peter Nabbefeld wrote:
>>> No problem with JDK 8.
>>>
>>> Regards
>>> P.
>>>
>>> Am 13.03.2017 um 15:55 schrieb Peter Nabbefeld:
>>>> Hello Martin,
>>>>
>>>> (comments inlined)
>>>>
>>>> Am 13.03.2017 um 09:48 schrieb Martin Balin:
>>>>> Hello Peter,
>>>>> I've tried to open, compile and debug several module projects -
>>>>> Java SE
>>>>> with only 1 module inside dependencies among them defined. I've used
>>>>> these projects several times in NB 9 dev builds. It works.
>>>>> Can you file a bug for it? Exception,...
>>>>>
>>>>
>>>> So, if it works for You, we should probably first find out about the
>>>> differences. Did You use the same build? Probably it has to do with the
>>>> default JDK, did You run NB on JDK9?
>>>>
>>>> BTW, I'm using Arch Linux.
>>>>
>>>>
>>>>> And this is a development build, still far from release and undergoing
>>>>> major update for JDK9 so it might not work and it is not guaranteed it
>>>>> will work.
>>>>>
>>>>
>>>> That's why I didn't file a bug yet.
>>>>
>>>> Kind regards
>>>> P.
>>>>
>>>>> Regards,
>>>>> Martin
>>>>>
>>>>> On 13.3.2017 08:21, Peter Nabbefeld wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> as the JDK9 branch has been merged into default:
>>>>>> How can I use it for module development?
>>>>>>
>>>>>> I'm running netbeans-dev-201703120002 on Java9, with the following
>>>>>> results:
>>>>>> 1. I cannot set the source level of modules to Java 9.
>>>>>> 2. I cannot open existing modules (which worked until merge)
>>>>>> 3. New modules can be created. However, dependencies don't work
>>>>>> (which
>>>>>> is essentially the same issue as [2])
>>>>>>
>>>>>> [2] IMHO is most important, currently - sth. is broken in
>>>>>> dependencies
>>>>>> management.
>>>>>>
>>>>>> Kind regards
>>>>>> Peter
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>