[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] JDK 9 Early Access with Project Jigsaw

Hi Wayne,

I downloaded that JDK and tried to run jdeps in order to see if, for example, the Oomph binaries impose a problem. I used this command:

    for i in /c/develop/oomph/git/org.eclipse.oomph/plugins/*/bin; do jdeps $i; done >> deps.txt

The output is somehwta meaningless to me:

bin -> java.base
bin -> not found
   org.eclipse.oomph.base.provider (bin)
      -> java.io
      -> java.lang
      -> java.lang.reflect
      -> java.util
      -> org.eclipse.emf.common                             not found
      -> org.eclipse.emf.common.command                     not found
      -> org.eclipse.emf.common.notify                      not found
      -> org.eclipse.emf.common.util                        not found
      -> org.eclipse.emf.ecore                              not found
      -> org.eclipse.emf.ecore.resource                     not found
      -> org.eclipse.emf.ecore.resource.impl                not found
      -> org.eclipse.emf.ecore.util                         not found
      -> org.eclipse.emf.ecore.xml.type                     not found
      -> org.eclipse.emf.edit.command                       not found
      -> org.eclipse.emf.edit.domain                        not found
      -> org.eclipse.emf.edit.provider                      not found
      -> org.eclipse.oomph.base                             not found
      -> org.eclipse.oomph.base.util                        not found
      -> org.eclipse.oomph.edit                             bin
      -> org.eclipse.oomph.internal.base                    not found
   org.eclipse.oomph.edit (bin)
      -> java.lang
      -> java.util
      -> org.eclipse.emf.common.command                     not found
      -> org.eclipse.emf.common.notify                      not found
      -> org.eclipse.emf.ecore.resource                     not found
      -> org.eclipse.emf.edit.command                       not found
      -> org.eclipse.emf.edit.domain                        not found
bin -> java.base
bin -> java.xml
bin -> not found

Was that the right command? Is the output just expected/good? What string would I have to look for in case there was a problem in Oomph?

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Am 16.11.2015 um 22:24 schrieb Wayne Beaton:
Greetings folks!

I just posted a blog entry [0] regarding my initial experiences using JDK 9 Early Access with Project Jigsaw [1] with Neon.

By way of background, Jigsaw is the project that's bringing modularity to Java. The modularity implementation imposes restrictions on visibility that have a direct impact on code that uses internal code. In the past you may have had to deal with severe scolding over the use of internal packages, but with the current EA bits, this sort of use results in runtime exceptions.

The download comes with a handy tool named jdeps that--among other handy services--will scan Java code for soon-to-be illegal access of JDK internals.

The good news is that both the Mars and Neon repositories show that we have very few violations in Eclipse project code.

The very good news is that the Neon M2 and M3 builds both seems to run just fine on the current JDK 9 + Jigsaw builds. Unless you use the SWT_AWT bridge, that is... Unfortunately, jdeps only noticed a problem that I think shouldn't really a problem, but in the process of investigating, I noticed that SWT_AWT does a Class.forName(...) lookup that results in what the Jigsaw team will regard as a legitimate violation.

My initial investigations suggest that e(fx)clipse and Scout are taking the biggest hit. I don't know enough about JavaFX to make a particuarly intelligent assessment, but it looks to me like what should be the entire public API is showing up as inaccessible. Riena gets an honourable mention with one test case that uses an internal API. I've attached the reports generated from the Mars and Neon repositories.

Pay heed to my comment about Class.forName(...) above. You may have to test your code directly. You should probably do that anyway.

Wayne

[0] https://waynebeaton.wordpress.com/2015/11/16/eclipse-ide-on-jdk-9-early-access-with-project-jigsaw/
[1] https://jdk9.java.net/jigsaw/
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=482318
--
Wayne Beaton
@waynebeaton
The Eclipse Foundation
EclipseCon Europe 2015 <http://www.eclipsecon.org/europe2015>


_______________________________________________ cross-project-issues-dev mailing list cross-project-issues-dev@xxxxxxxxxxx To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev