Re: Support for jrt-fs.jar in JDK 7 would be very helpful in allowing FindBugs to run under Java 9

2014-11-16 Thread Remi Forax
On 11/16/2014 06:26 PM, Alan Bateman wrote: On 16/11/2014 13:47, Remi Forax wrote: : I think it's not a good idea to try to embed jrt-fs.jar in older releases. If you mean a jrt-fs.jar containing code that is tied to a non-stable and changing format then I agree (and I don't think

Re: Support for jrt-fs.jar in JDK 7 would be very helpful in allowing FindBugs to run under Java 9

2014-11-22 Thread Remi Forax
On 11/21/2014 10:47 PM, mark.reinh...@oracle.com wrote: [...] Yes. Here's what we're thinking. Paths in the jrt:/ NIO filesystem are currently of this form: /$MODULE/$PATH where $MODULE is a module name (e.g., java.base) and $PATH is the name of a resource, most often the binary name of

Re: Support for jrt-fs.jar in JDK 7 would be very helpful in allowing FindBugs to run under Java 9

2014-11-23 Thread Remi Forax
world anyway). cheers, Rémi Remi Forax wrote: On 11/21/2014 10:47 PM, mark.reinh...@oracle.com wrote: [...] Yes. Here's what we're thinking. Paths in the jrt:/ NIO filesystem are currently of this form: /$MODULE/$PATH where $MODULE is a module name (e.g., java.base) and $PATH

Re: Support for jrt-fs.jar in JDK 7 would be very helpful in allowing FindBugs to run under Java 9

2014-11-23 Thread Remi Forax
, and the code required in the JDK to generate and save such map once at build/install time is probably trivial, because there is no need for locking at all. On Sunday 23 November 2014 11:25:44 Remi Forax wrote: On 11/23/2014 06:01 AM, A. Sundararajan wrote: This is what javac and rmic in jigsaw/m2 forest

Re: Support for jrt-fs.jar in JDK 7 would be very helpful in allowing FindBugs to run under Java 9

2014-11-23 Thread Remi Forax
On 11/23/2014 08:29 PM, Andrey Loskutov wrote: On Sunday 23 November 2014 18:58:26 Remi Forax wrote: On 11/23/2014 05:42 PM, Alan Bateman wrote: On 22/11/2014 20:38, Remi Forax wrote: This seems to work at least on my laptop :) https://github.com/forax/jigsaw-jrtfs I end up writing

Re: Support for jrt-fs.jar in JDK 7 would be very helpful in allowing FindBugs to run under Java 9

2014-11-26 Thread Remi Forax
On 11/26/2014 10:46 PM, mark.reinh...@oracle.com wrote: 2014/11/23 4:01 -0800, losku...@gmx.de: ... Just wondering if the package-modules map (in the default properties format) couldn't be just saved as a plain text file in the root of the jdk (or any other suitable place)? The benefit

Re: A question ad JDK 9 or: how to make all javax.script engines available to all Java apps in JDK 9?

2015-01-13 Thread Remi Forax
Hi Rony, does javax.script discovery implementation use java.util.ServiceLoader convention ? If the answer is yes, then it will work out of the box. cheers, Rémi On 01/12/2015 05:09 PM, Rony G. Flatscher wrote: Hi there, reading http://openjdk.java.net/jeps/220 this is a question or maybe

Re: RFR: Proposed jimage refresh for JDK9

2015-05-19 Thread Remi Forax
As Paul said, it's a big patch ... In ImageBuilder, Option should take the description as 3rd parameter instead of overriding description. Once this is done, Option should not be abstract but takes the processing as an argument too (as a lambda). i.e instead of new Option(true, --cmds) {

Re: Jigsaw Hackday in London - Anything in particular you want us to look at?

2015-06-23 Thread Remi Forax
Hi Mark, On 06/23/2015 06:12 PM, mark.reinh...@oracle.com wrote: 2015/6/23 8:45 -0700, vita...@gmail.com: Yes, but until all the safe replacements are in place and vetted (e.g. performance is on par with Unsafe, same functionality is available, etc), I don't see the point of making it even

Re: Jigsaw @ JavaOne 2015

2015-10-28 Thread Remi Forax
Hi Marrio, When creating a new application, using the prefix of the packages as name for a module seems intuitive and using '_' instead of '.' as separator inside the module name avoid the unecessary confusion for a human between a package and a module with the same name, it's just a code

Re: Jigsaw @ JavaOne 2015

2015-10-28 Thread Remi Forax
all on that subject. that said, i think we should support '.' in module name to respect JBoss/OSGI convention even if the official Java coding convention is to use '_' in module name. regards, Rémi > > On 10/28/2015 06:56 AM, Remi Forax wrote: > > Hi Marrio, > > > > When cre

Re: Jigsaw @ JavaOne 2015

2015-10-28 Thread Remi Forax
- Mail original - > De: "Mario Torre" > À: "David M. Lloyd" > Cc: jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 28 Octobre 2015 18:10:34 > Objet: Re: Jigsaw @ JavaOne 2015 > > 2015-10-28 17:59 GMT+01:00 David M. Lloyd

Re: Jigsaw @ JavaOne 2015

2015-10-28 Thread Remi Forax
gt; for > > example, a C++ library name being the same as the root C++ namespace used > > by > > that library, to draw another language equivalent). > > > > > > On 10/28/2015 06:56 AM, Remi Forax wrote: > >> > >> Hi Marrio, > >> > >> Wh

Property Was: A way to opt out of access restrictions on non-exported members.

2015-11-16 Thread Remi Forax
- Mail original - > De: "Stephen Colebourne" > À: "jigsaw-dev" > Envoyé: Lundi 16 Novembre 2015 13:28:22 > Objet: Re: A way to opt out of access restrictions on non-exported members. > [...] > Stephen > PS. I'm reminded of Java's

Re: A way to opt out of access restrictions on non-exported members.

2015-11-15 Thread Remi Forax
There are several ways to opt-out if you control the command line, - put all your modules in the classpath or remove all the module-info from the modules in the module-path, - create a jlink plugin that will crawle all modules (or the ones you want) and change the module-info, - at runtime to

Re: Is there really a jdk.proxy1 module?

2015-12-08 Thread Remi Forax
No cycle is a property checked at compile time not at runtime. Having cycles at runtime is not a big deal, when have cyclic class dependencies since a long time now, At compile time, it's problematic because it means that you have to compile both modules at the same time defeating the idea that

Re: Is there really a jdk.proxy1 module?

2015-12-08 Thread Remi Forax
No, jdk.proxy1 is a module created dynamically by the class java.lang.reflect.Proxy. Rémi - Mail original - > De: "Stephane Epardaud" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mardi 8 Décembre 2015 15:21:57 > Objet: Is there really a jdk.proxy1 module? > > I'm

Re: Is there really a jdk.proxy1 module?

2015-12-08 Thread Remi Forax
il(java.base@9.0/ModuleBootstrap.java:394) > >>>> > >>>> at > >>>> jdk.internal.module.ModuleBootstrap.addMoreReads(java.base@9.0/ModuleBootstrap.java:319) > >>>> > >>>> at > >>>> jdk.internal.modu

Re: using modules for caching

2015-12-02 Thread Remi Forax
- Mail original - > De: "Peter Levart" > À: "Jochen Theodorou" , jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 2 Décembre 2015 17:45:59 > Objet: Re: using modules for caching > > > > On 12/02/2015 01:40 PM, Jochen Theodorou wrote: > > Hi, >

Re: is ClassLoader.loadClass() supposed to work on module-info classes?

2015-12-04 Thread Remi Forax
- Mail original - > De: "Alex Buckley" > À: jigsaw-dev@openjdk.java.net > Envoyé: Samedi 5 Décembre 2015 00:09:16 > Objet: Re: is ClassLoader.loadClass() supposed to work on module-info classes? > > On 12/4/2015 11:58 AM, Peter Levart wrote: > > I know about

Re: Draft of The Java Language Specification Java SE 9 Edition

2015-12-30 Thread Remi Forax
- Mail original - > De: "Robert Scholte" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 30 Décembre 2015 23:11:52 > Objet: Draft of The Java Language Specification Java SE 9 Edition > > Hi, Hi Robert, > > for QDox (Java Parser @

Re: Creating modules with JDK8

2015-11-28 Thread Remi Forax
Hi Simon, the jmod file format is special file format, compared to the jar file format, jmod allows to embed native code in the archive. Apart if you want to embed native code, a module is just a jar with a module-info.class at its root. regards, Rémi - Mail original - > De: "Simon

Re: Creating modules with JDK8

2015-11-30 Thread Remi Forax
- Mail original - > De: "Alan Bateman" > À: "Cédric Champeau" > Cc: "jigsaw-dev" > Envoyé: Lundi 30 Novembre 2015 10:43:19 > Objet: Re: Creating modules with JDK8 > > > On 30/11/2015 08:50, Cédric

Re: A way to opt out of access restrictions on non-exported members.

2015-11-18 Thread Remi Forax
Hi Neil, If you already have an instance of a non exported type, then there is no issue because applications only access this instance through an interface which is itself exported. The main issue if how to create such instance, we need a factory which works in jigsaw mode. You can not use

Oops javac throw a NPE

2016-06-13 Thread Remi Forax
Hi Jon, i've got an exception trying to reference in a module-info.java some modular jars generated by ASM, i suppose there is a bug in the module-info generated by ASM but i'm not able to find it (javap is ok with the code ?) Given that this exception is thrown by javac, it's likely that you

Re: Review Request JDK-8136930 Examine implications for custom launchers, equivalent of java -X options in particular

2016-06-04 Thread Remi Forax
Hi Mandy, did you think about using -J for specifying either VM options or module options (the user really don't care) for custom launchers like we use -J to specify VM option to javac ? cheers, Rémi - Mail original - > De: "Mandy Chung" > À: "jigsaw-dev"

javap and requires public

2016-05-29 Thread Remi Forax
Hi all, hi Jon, i'm currently writing the ASM code for processing of the module-info.class and i've found that the output of javap shallow the 'public' when a required module is declared as public. By example, with the module-info.java module foo { export public java.sql; } calling javap

Re: Compilation error due to overloaded method with unavailable parameter type

2016-05-31 Thread Remi Forax
- Mail original - > De: "Alex Buckley" > À: "Gunnar Morling" , "jigsaw-dev" > > Envoyé: Mardi 31 Mai 2016 20:19:03 > Objet: Re: Compilation error due to overloaded method with unavailable > parameter

Re: creating proxies for interfaces with default methods

2016-05-26 Thread Remi Forax
Not if you use Lookup.findSpecial() [1] Anyway, you can not use it because you can not get the Lookup object associated with the proxy class. That's why i've written the Proxy2 library [2]. so the solutions are either you use the Proxy2 library (which doesn't work with jdk9 yet) or we retrofit

Re: question on exports to

2016-06-01 Thread Remi Forax
- Mail original - > De: "Jochen Theodorou" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 1 Juin 2016 10:34:47 > Objet: Re: question on exports to > > > > On 01.06.2016 02:37, Alex Buckley wrote: > > On 5/31/2016 5:09 PM, Jochen Theodorou wrote: [...] > > >

Re: Round #3: RFR: 8147467 - Add ClassFileTransformer transform method that provide the Module to the agent

2016-02-29 Thread Remi Forax
Hi Alan, hi Sergei, i see two issues with this patch, the first one is that before that change, ClassFileTransformer was a functional interface, it's not a functional interface anymore, so it will break code (note that ClassFileTransformer is not annotated with @FunctionalInterface so it's a

Re: modulepath and classpath mixture

2016-03-29 Thread Remi Forax
- Mail original - > De: "Stephen Colebourne" <scolebou...@joda.org> > À: "jigsaw-dev" <jigsaw-dev@openjdk.java.net> > Envoyé: Mardi 29 Mars 2016 15:24:15 > Objet: Re: modulepath and classpath mixture > > On 28 March 2016 at 11:13, Remi F

Re: Proxy classes and reflection (IllegalAccessException)

2016-04-07 Thread Remi Forax
The problem is that RestEasy is using getProxyClass() which is deprecated in 9. RestEasy want to do a call to Constructor.newInstance on a constructor of the proxy class, and as Stephane said, RestEasy (which is in the unamed module in your case) do not have access to the proxy class which is

jdk.internal.module.Service.ServicesCatalog should use synchronized to improve the VM boot time

2016-03-19 Thread Remi Forax
Hi all, currently ServicesCatalog uses a R/W lock which is great if looking up for a service was a contended operation, but i don't think it is. I will not care if ServicesCatalog was not used early in the boot process, but it is. As far as i know, no other class uses a R/W lock during the boot

Re: jdeps -check: add section on exports

2016-03-23 Thread Remi Forax
In my opinion, it should be a warning (or even an error) in javac, you should not create a bad module in the first place. Rémi - Mail original - > De: "Anthony Vanelverdinghe" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 23 Mars 2016 19:26:24 >

Re: Why not get rid of versions?

2016-03-23 Thread Remi Forax
yes, module versions are just metadata, as you said they are not needed by the JDK, but jigsaw also wants to ease the interrop with module systems that does their resolution at runtime, so IMO the JDK has to provide a way to query the version of a module at runtime. Rémi - Mail original

Re: The root modules when compiling code in the unnamed module or where the initial class is loaded from the class path

2016-04-04 Thread Remi Forax
Trying to fully understand what it means, Does it means that adding -addmods java.se.ee is enough for applications that use packages from those modules but are not JavaEE applications ? Rémi - Mail original - > De: "Alan Bateman" > À: "jigsaw-dev"

Re: RFR: 8152641: Plugin to generate BMH$Species classes ahead-of-time

2016-03-30 Thread Remi Forax
Hi Claes, Did you considere to use return c.asSubclass(BoundMethodHandle.class); instead of return (Class)c; to avoid the @SupressWarnings, like in generateConcreteBMHClass ? cheers, Rémi - Mail original - > De: "Claes Redestad" > À: "Peter Levart"

Re: Jigsaw + Ant

2016-03-30 Thread Remi Forax
Hi Tomas, many thanks for your work, it seems, i will be able to ditch the shell scripts i currently used soon :) May i ask you to also add the support for modules in the jar task and to create a jlink task ? regards, Rémi - Mail original - > De: "Tomas Zezula"

Re: modulepath and classpath mixture

2016-03-30 Thread Remi Forax
Alan, Jon, i think javac -Xmodule should merge the module-info.java from the existing module and the one declared in the directory, with the current semantics of the module-info, merging of modules is easy and with no corner cases, so for testing, the test will be able to declare their own

Re: modulepath and classpath mixture

2016-03-28 Thread Remi Forax
Hi Stephen, Hi all, I think that delivering tests as a separated module is a bad idea. I see that from the point of a developer, seeing the code and the test as different modules can be attractive because everything seems to be put at the right place but there is a big drawback. Because modules

Re: requires public for automatic modules

2016-04-22 Thread Remi Forax
Hi Paul, - Mail original - > De: "Paul Bakker" > À: jigsaw-dev@openjdk.java.net > Envoyé: Vendredi 22 Avril 2016 10:52:23 > Objet: requires public for automatic modules > > Hello, > > I'm experimenting with automatic modules again. I have a module >

Re: module-info.java just causes problems

2016-05-11 Thread Remi Forax
Like Alan, i hope you will re-compile the module, it's more safe. Otherwise, you can use javap to dump the actual module-info.java from the module-info.class, patch it, recompile it with javac and then do a jar --update to replace the module-info.class in the jar cheers, Rémi - Mail

Re: Project JIGSAW does not work

2016-05-15 Thread Remi Forax
Hi Everson, let start with a simple question, do you have checked that you use the java 9 version of javac (javac -version) ? cheers, Rémi - Mail original - > De: "Everson Ferreira da Cunha Junior" > À: jigsaw-dev@openjdk.java.net > Envoyé: Dimanche 15 Mai

Re: jsr166 vs jdk-9+114

2016-04-19 Thread Remi Forax
- Mail original - > De: "Alan Bateman" > À: "Martin Buchholz" , "jigsaw-dev" > , "Doug Lea" > Envoyé: Mardi 19 Avril 2016 23:40:10 > Objet: Re: jsr166 vs jdk-9+114 > > On 19/04/2016 21:45,

Re: Exporting - the wrong default?

2016-07-26 Thread Remi Forax
- Mail original - > De: "Stephen Colebourne" > À: "jigsaw-dev" > Envoyé: Mardi 26 Juillet 2016 18:42:47 > Objet: Re: Exporting - the wrong default? > The purpose of this change is meant to be to enhance Java. While > security may be

Re: Weakness of "requires public"

2016-07-26 Thread Remi Forax
Hi Paul, suppose you have a module M1 that declare a class A in an exported package, module M1 { exports m1; } package m1; public class A { ... } now suppose i have a second module M2 that use B as a type of one parameter of a public method module M2 { requires M1; exports m2; }

Re: It's not too late for access control

2016-07-12 Thread Remi Forax
- Mail original - > De: "David M. Lloyd" > À: "jigsaw-dev" > Envoyé: Lundi 11 Juillet 2016 16:21:46 > Objet: It's not too late for access control > > The crux of this access control discussion is that, up until JDK 9, > "public" meant

Re: Exporting - the wrong default?

2016-07-27 Thread Remi Forax
- Mail original - > De: "dalibor topic" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 27 Juillet 2016 14:39:05 > Objet: Re: Exporting - the wrong default? > On 26.07.2016 18:42, Stephen Colebourne wrote: >> In many projects >> packages change names

Re: Exporting - the wrong default?

2016-07-27 Thread Remi Forax
ility :) All the runtimes of the languages that run on top of the JVM (Java included) has that issue. > > Alan > Rémi > > > >> On Jul 27, 2016, at 9:13 AM, David M. Lloyd <david.ll...@redhat.com> wrote: >> >> On 07/27/2016 10:26 AM, Remi Forax wro

Re: Should setAccessible be part of Java or not? (was Re: It's not too late for access control)

2016-07-15 Thread Remi Forax
The problem of addRead being CallerSensitive can be solve by adding a way to add a read edge from a Lookup object ? Rémi - Mail original - > De: "Jochen Theodorou" > À: "jigsaw-dev@openjdk.java.net >> jigsaw-dev" > Envoyé: Vendredi 15

Re: JDK9 Modules

2016-07-05 Thread Remi Forax
- Mail original - > De: "Malachi de Ælfweald" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mardi 5 Juillet 2016 09:00:22 > Objet: JDK9 Modules > > While I understand the motivation behind making the system more modular, I > am having a bit of a problem understanding how

Re: RFR: JDK-8160829 - Remove ASMPool support from jlink

2016-07-05 Thread Remi Forax
Hi jim, This code had a dependency of the private copy of ASM, so +1 to remove it. Rémi - Mail original - > De: "Jim Laskey (Oracle)" > À: "jigsaw-dev" , "core-libs-dev" > > Envoyé: Mardi 5 Juillet

Re: #ModuleAnnotations - Rethinking scope of ElementType.MODULE

2016-07-08 Thread Remi Forax
The exact semantics of an annotation depends on the annotation itself. For some annotations on a class like @NonNull, the semantics applies on all the code inside the class. For an annotation like @Table the semantics as an effect on the class only. So it should not be different for an

Re: Proposal: #DefaultModule

2016-07-06 Thread Remi Forax
Hi David, Correct me if i'm wrong, it seems like the proposal to be able to specify how to find the name and the version of an automatic module (i.e. #CustomizableAutomaticModuleNameMapping) but for the default module. The idea is that an existing module systems will be able to provide a name

Re: Jlink and automatic module

2016-07-10 Thread Remi Forax
Hi Antoine, you were sleeping during my presentation at last Devoxx FR :) The issue is that an automatic jar can access to the classpath while a modular jar can not, so if jlink allows automatic modules, you may have surprising NoClassDefNotError at runtime ruining the whole idea of jigsaw. A

Re: The module implementation uses the wrong values for ACC_TRANSITIVE and ACC_STATIC_PHASE

2017-02-01 Thread Remi Forax
a different flag. As a example, we did not introduce a new flag for static methods in an interface even if they do not have the same behavior as static methods in a class. Remi On February 1, 2017 9:22:28 AM GMT+01:00, Alan Bateman <alan.bate...@oracle.com> wrote: >On 30/01/2017 22

Re: Current list of new (contextual) keywords

2017-02-04 Thread Remi Forax
Hi Barry, from http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html#jigsaw-1.1, open, module, requires, exports, to, opens, uses, provides, with, transitive cheers, Rémi - Mail original - > De: "Barry Burd" > À: jigsaw-dev@openjdk.java.net > Envoyé: Samedi 4 Février

Re: Automatic module names

2017-02-07 Thread Remi Forax
I've coded such kind of tool [1] :) It uses Maven (Aether) to download the dependencies then do a simple static analysis on the downloaded jars to calculate the dependencies and inject the module-info.class. Because of the runtime dependencies, annotations, Class.forName etc, you also have to

javax.annotations.common should be javax.annotation.common

2017-01-21 Thread Remi Forax
Hi, like with packages*, can we have the convention that module name component are not plural, so javax.annotations.common should be javax.annotation.common regards, Rémi * i know, there are well known exceptions.

Re: Reusing module name token `*` in -d

2017-01-21 Thread Remi Forax
Hi Nicolai, the runtime (ModuleFinder) is able to read exploded modules, .class in folders, not only modules in jars, so the layout on disk is more or less fixed. My advice is to not try to fight the module layout, it's like trying to fight ocean waves, it's better to surf on it. And yes it

javadoc of modules

2017-01-21 Thread Remi Forax
For the JDK, there are several kind of modules from a doc perspective, we have root modules that are available by default, like java.base, we have implementation modules, those that starts with jdk like jdk.jshell, and we have modules that are not root modules, i.e. available if you use

Re: java.desktop

2017-01-21 Thread Remi Forax
- Mail original - > De: "Michał Zegan" > À: jigsaw-dev@openjdk.java.net > Envoyé: Samedi 21 Janvier 2017 15:00:25 > Objet: java.desktop > Hi. Hi Mickael, > Is java.desktop now divided in separate parts, or are there plans to do > so? Because actually the

Re: Reusing module name token `*` in -d

2017-01-22 Thread Remi Forax
Herrmann" <stephan.herrm...@berlin.de> > À: jigsaw-dev@openjdk.java.net > Envoyé: Dimanche 22 Janvier 2017 15:25:57 > Objet: Re: Reusing module name token `*` in -d > On 01/22/2017 02:50 PM, Remi Forax wrote: >> interesting ! >> >> It's now a warning that you can e

javac bug when calling javac from the ToolProvider

2017-01-24 Thread Remi Forax
Hi all, when calling javac from the ToolProvider, i get a NPE with the jdkb152/b153. in getLocationForModule(Path), pathLocations can be null Location getLocationForModule(Path dir) { return pathLocations.get(dir); } getLocationForModule(String) detects that pathLocations may be null

ModuleReferenceImpl has no toString

2017-01-24 Thread Remi Forax
Hi all, This is a regression introduced in b149 i believe, jdk.internal.module.ModuleReferenceImpl has no toString() which makes the debugging of a configuration harder than it should. I believe the toString() can be added to ModuleReference given this is an abstract class. cheers, Rémi

jdk.unsupported doesn't seems to be available without using --add-modules ?

2017-01-24 Thread Remi Forax
Hi all, it seems that jdk.unsupported is not among the module available by default. This seems to be a regression. cheers, Rémi

Re: jdk.unsupported doesn't seems to be available without using --add-modules ?

2017-01-24 Thread Remi Forax
@{@##, my bad, i was using an image generated by jlink instead of the jdk. cheers, Rémi - Mail original - > De: "Remi Forax" <fo...@univ-mlv.fr> > À: "jigsaw-dev" <jigsaw-dev@openjdk.java.net> > Envoyé: Mardi 24 Janvier 2017 22:33:44 > Objet: j

jlink / legal folder and LICENSE

2017-01-25 Thread Remi Forax
Hi all, i've noticed that jlink now creates a folder legal that contains the Oracle copyright, the license of the third parties software used but the LICENSE of the openjdk is missing. Rémi

Re: A broken setAccessible use case: enhanced diagnostics

2017-01-26 Thread Remi Forax
- Mail original - > De: "Russell Gold" > À: "jigsaw-dev" > Envoyé: Jeudi 26 Janvier 2017 13:34:54 > Objet: A broken setAccessible use case: enhanced diagnostics > The Glassfish Primitive Function Library (PFL) contains an interesting

The module implementation uses the wrong values for ACC_TRANSITIVE and ACC_STATIC_PHASE

2017-01-30 Thread Remi Forax
Hi all, chasing a bug on ASM, i've found that the module implementation in the JDK uses the wrong values for ACC_TRANSITIVE and ACC_STATIC_PHASE, in the spec [1], 0x0020 (ACC_TRANSITIVE) 0x0040 (ACC_STATIC_PHASE) but in the implementation [2], public static final int ACC_TRANSITIVE=

Re: Reusing module name token `*` in -d

2017-01-22 Thread Remi Forax
interesting ! It's now a warning that you can exclude with @SuppressWarnings("module"): src/main/java/foo/module-info.java:2: warning: [module] module not found: baz exports foo to baz; ^ Rémi - Mail original - > De: "Robert Scholte" > À:

Re: Reusing module name token `*` in -d

2017-01-25 Thread Remi Forax
- Mail original - > De: "Stephan Herrmann" > À: jigsaw-dev@openjdk.java.net > Envoyé: Mercredi 25 Janvier 2017 21:05:21 > Objet: Re: Reusing module name token `*` in -d > I found the general direction of this proposal interesting, > but from the reluctance to

Re: Why can't main class be given in module-info.java?

2017-02-23 Thread Remi Forax
Hi Gunnar, all module metadata, the main-class but also the version, the os etc, are injected by the jar command. In 8, the MainClass (or all of metadata that are in the manifest) only exist from the runtime point of view after being put inside of a jar, so in order to be the less disruptive

Re: Remove sun.misc.Unsafe.defineAnonymousClass

2017-02-23 Thread Remi Forax
- Mail original - > De: "Paul Sandoz" > À: "jigsaw-dev" > Cc: "Brian Goetz" > Envoyé: Jeudi 23 Février 2017 02:22:27 > Objet: Remove sun.misc.Unsafe.defineAnonymousClass > Hi, Hi Paul, my first reaction was

Re: sun.nio.ch.DirectBuffer and jdk9/jigsaw

2017-02-23 Thread Remi Forax
Hi Vitaly, I believe that what you are looking for is MethodHandles.byteBufferViewVarHandle [1] that creates a VarHandle that allows to do aligned/unaligned access on a ByteBuffer. It should be a little slower that using Unsafe because of the bound check (and the nullcheck but it is usually

Re: Java SE JSR 250 annotations module renamed to java.xml.ws.annotation?

2017-02-15 Thread Remi Forax
I agree. Remi On February 15, 2017 12:52:53 AM GMT+01:00, mark.reinh...@oracle.com wrote: >2017/2/13 9:17:47 -0800, Guillaume Smet : >> On Mon, Feb 13, 2017 at 6:10 PM, alan.bate...@oracle.com wrote: >>> On 13/02/2017 16:58, Guillaume Smet wrote: On Mon, Feb 13,

Re: Java SE JSR 250 annotations module renamed to java.xml.ws.annotation?

2017-02-13 Thread Remi Forax
TLDR; we can't. In Java 6, we made the mistake to create what you can call twin packages, a package with few classes in the JDK and the same package with more classes including the classes already present in the JDK. The idea was that you can run an application using the JDK, in that case you

Re: Java SE JSR 250 annotations module renamed to java.xml.ws.annotation?

2017-02-13 Thread Remi Forax
Perhaps, it's a problem of communication, what about "As an effort to make Java on diet, Java 10 will not be shipped with modules corba, jaxb or common annnotations, for Java 9, you can use a command line option to have access to those deprecated modules." Rémi - Mail original - > De:

Re: Java SE JSR 250 annotations module renamed to java.xml.ws.annotation?

2017-02-13 Thread Remi Forax
ACC_SYNTHETIC is a binary annotation/attribute/value, not a source one and synthetic members are not visible from the compiler point of view (think bridges by example). ACC_MANDATED can be used (again only in classfiles) but you have a good chance to be tracked and killed by Alex Buckley :)

Re: Running jaotc with an external Graal

2017-02-15 Thread Remi Forax
Can i say again that when using --patch-module, module-info.class should be merged instead of having a warning ? Rémi - Mail original - > De: "Mandy Chung" > À: "Christian Thalinger" > Cc: jigsaw-dev@openjdk.java.net, "hotspot compiler"

Re: How to name modules, automatic and otherwise

2017-02-17 Thread Remi Forax
No, both are two unrelated projects, https://spark.apache.org/ http://sparkjava.com/ Rémi - Mail original - > De: "Alan Bateman" > À: "Michael Rasmussen" > Cc: "jigsaw-dev" > Envoyé:

Re: hg: jigsaw/jake/langtools: resolveRequires/resolveRequiresAndUses -> resolve/resolveAndBind

2017-01-18 Thread Remi Forax
Alan, I think it's better to have only one method 'resolve' that takes a varargs of an interface with an implementation using an enum like OpenOption for java.nio.file.Files*, so it will be future proof if we add new ways to do the resolution. resolve() -> resolve() resolveAndBind ->

Re: RFR 8171380: Remove exports from jdk.jlink

2017-01-16 Thread Remi Forax
Cris, it seems that there is a mechanism for API that are experimental in the jdk, by example java.net.http uses this mechanism, is it possible to reuse the same mechanism for the jlink plugin API ? Rémi - Mail original - > De: "Chris Hegarty" > À:

Re: Discover modulename

2016-08-25 Thread Remi Forax
Hi Robert, there are currently two different module descriptor formats, the old one, that is readable by current JDK9 and the new one that is readable by the JDK9-jigsaw, and they are not compatible. If you want to read the module descriptor of asm6-alpha, you need to use the jar from the JDK9

Re: Multiple versions of a non-exported dependency

2016-08-31 Thread Remi Forax
I think Alex is too gentle, I don't want the JDK dictate to me how to resolve incompatible versions, JBoss has it's own way to resolve versions, OSGI has another way, etc, I don't want a n+1 way to resolve incompatible versions. https://xkcd.com/927/ Rémi - Mail original - > De: "Alex

Re: Multiple versions of a non-exported dependency

2016-08-31 Thread Remi Forax
The other solution is to statically link the right version of slf4j inside guava and jsoup. A tool like jarjar can be updated to merge two modular jars (merge two module-info). cheers, Rémi - Mail original - > De: "Neil Bartlett" > À: cow...@bbs.darktech.org,

Re: Java 9 Obfuscators?

2016-09-09 Thread Remi Forax
Hi Eric, ASM has a support for obfuscation (ClassRemapper [1]) and the version 6 also support Java 9 (currently the branch ASM_6_FUTURE support the new classfile encoding used by the betas of jdk-9-jigsaw while asm6-alpha [2] support the old classfile encoding currently used by the betas of

Re: Class names in java.lang.Module

2016-09-21 Thread Remi Forax
I agree. And Layer should also be called Module Layer. Remi On September 21, 2016 12:36:51 PM GMT+02:00, Kasper Nielsen wrote: >Hi, > >I was wondering if there are any reasons for why these 3 classes in >java.lang.Module > >Configuration >FindException >ResolutionException

Re: NoClassDefFoundError: Could not initialize,class com.google.inject.internal.cglib.core.$ReflectUtils

2016-09-19 Thread Remi Forax
I wonder what is the best way to fix the code of Guice ? Use Unsafe.defineAnonymousClass ? cheers, Rémi - Mail original - > De: "Alan Bateman" > À: "Dawid Weiss" > Cc: "jigsaw-dev" > Envoyé: Lundi 19

Re: RFR 8164800: Cross targeting Windows

2016-08-26 Thread Remi Forax
Hi Sundararajan, Also, in createArgs(), instead Collections.unmodifiableList(), you can use List.of(). regards, Rémi - Mail original - > De: "Sundararajan Athijegannathan" > À: "Alan Bateman" , "jigsaw-dev" >

Module name check is too restrictive

2016-08-28 Thread Remi Forax
While testing ASM, i've found that you can not currently load a module that has a '+' in its name. /usr/jdk/jdk-9-jigsaw/bin/java --module-path tmp --module "foo+bar" Error occurred during initialization of VM java.lang.module.ResolutionException: Error reading module: tmp/foo at

Re: Alternative mechanism for reflective access control (#ReflectiveAccessToNonExportedTypes / #AwkwardStrongEncapsulation)

2016-09-27 Thread Remi Forax
- Mail original - > De: "Andrew Dinn" > À: "Alan Bateman" > Cc: jigsaw-dev@openjdk.java.net > Envoyé: Lundi 26 Septembre 2016 13:36:46 > Objet: Re: Alternative mechanism for reflective access control >

Re: Alternative mechanism for reflective access control (#ReflectiveAccessToNonExportedTypes / #AwkwardStrongEncapsulation)

2016-09-29 Thread Remi Forax
This bug only talk about the callee side, i.e. accessing to a non accessible class by a framework. The other part, the caller side, is to have a way to emit a call that send the caller lookup to a framework, the easy way to do that is to have javac to emit an invokedynamic instead of an

Re: Alternative mechanism for reflective access control (#ReflectiveAccessToNonExportedTypes / #AwkwardStrongEncapsulation)

2016-09-26 Thread Remi Forax
+1 Rémi - Mail original - > De: "Stephen Colebourne" > À: "jigsaw-dev" > Envoyé: Lundi 26 Septembre 2016 12:11:58 > Objet: Re: Alternative mechanism for reflective access control > (#ReflectiveAccessToNonExportedTypes / >

Re: Moving the changes in jake to jdk9/dev

2016-11-23 Thread Remi Forax
Hi Alan, With my ASM hat, we've planned to make a new beta of ASM as soon as the module class file format patches are merged into jdk9 :) Rémi - Mail original - > De: "Alan Bateman" > À: "jigsaw-dev" > Envoyé: Mercredi 23 Novembre

modules and tests

2016-11-24 Thread Remi Forax
We already have discussed how to do testing in the new modular environment, but i'm not satisfied by the current state (but maybe i'm wrong). Here, i will focus on unit testing, which is the most intrusive kind of testing. Historically, unit testing was easy because you can have several source

Re: modules and tests

2016-11-24 Thread Remi Forax
<alan.bate...@oracle.com<mailto:alan.bate...@oracle.com>> wrote: >> >> On 24/11/2016 08:46, Remi Forax wrote: >> >> : >> >> It's not obvious at it seems, it requires javac to be able to merge several >> module-info.java into one, and because the mo

Re: How many modules per jar?

2016-11-27 Thread Remi Forax
Hi vitaliy, - Mail original - > De: "Pisarev, Vitaliy" > À: jigsaw-dev@openjdk.java.net > Envoyé: Dimanche 27 Novembre 2016 19:28:51 > Objet: How many modules per jar? > I am not sure I hit the right mailing list, kindly redirect me if needed. > > I am

uses is useless ?

2016-11-16 Thread Remi Forax
Hi guys, sorry for the pun in the title. Last week end, i've taken a big codebase and try to retrofit it to use jigsaw, obviously the code has several (two in fact) cyclic dependencies and in both cases, i was able to break those cycles by changing the code to use services. In one case, i have

  1   2   3   >