[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16388951#comment-16388951 ] Kamila Molina commented on COMMONSRDF-75: - Hi [~ajs6f], [~erans], I agree that this thread needs further discussion. The main task I will be interested is moving commons-rdf to JDK 9 (point 1), which can help to have a ground base for other modules (point 4), maybe in a wiki format. We can absolutely work on some tests (point 3). I was looking at coomns-rng; the examples doesn't look as scary as thought :). Finally, we can leave the possibility to have a multi-release JARs (point 2) in the last phases of GSoC while we decide something in the ML. I will open a thread there in order to see what comments come up. _Disclaimer:_ I am still moving to JDK 9, and learning new Maven functionalities. So, some things I will to learn on the way. Sorry if I ask some things that might be obvious, but I hope you can point me out to some resources. > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16387985#comment-16387985 ] A. Soroka commented on COMMONSRDF-75: - Absolutely we need to consider impacts on/from the rest of Commons, but this _is_ about Commons RDF only ("Well it would be the task to move commons-rdf only to Java 9…"), except in those circumstances in which we can't make it so. [~kamila.molina97], with that in mind, let' s talk about what you would like to write to the ML to offer to do for further discussion there. So far we have: # Move Commons RDF to JPMS (each impl in a separate JPMS module, as well as in a separate Maven module). My remark about Maven was just to suggest that to the extent possible, we want to have necessary metadata created automatically and not manually. This task needs to happen in such a way as to continue to provide Java 8 -appropriate artifacts. # Possibly create multi-release JARs (needs further discussion on the ML). # Possibly write a test that shows a correct linkage being made between the API and an impl-- this could just fork a test process and do some simple RDF calculations, just to demonstrate that the runtime is correctly assembled. This may not be needed, if people are willing to trust the work on the first task. We can discuss it further on the ML. # Per [~erans]'s suggestion, develop some guidelines (a report from the field, as it were) for how other components in Commons might make the shift to JPMS. Does this sound like work you would be interested in and ready to take on? If so, you are welcome to write to the dev@ mailing list to get the conversation started there. Otherwise, we can cut it down or substitute some things. > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16387858#comment-16387858 ] Gilles commented on COMMONSRDF-75: -- I'm just trying to not waste anyone's time on questions that could perhaps be answered by people not looking here... Unless we consider this "Commons RDF"-only (and from the few comments up to now, it seems not), this is not the best place to gather all the relevant information for the proposal. See posts on the "dev" ML, about making "Commons RNG" (JPMS) modules, where a.o. things, Gary's advice was to *not* provide multi-release JARs; I think that's a pretty important data point. ;) > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16387840#comment-16387840 ] A. Soroka commented on COMMONSRDF-75: - [~erans], of course we'll bring this to the ML before any commitment for anyone is made. I'd like to bring a more fully-fleshed-out proposal there than we now have. > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16387657#comment-16387657 ] Gilles commented on COMMONSRDF-75: -- bq. Well it would be the task to move commons-rdf only to Java 9; I expressed wrong. Commons has a bunch of projects, and I don't think I will finish in GSoC period. Perhaps not, but general guidelines in order to comply with JPMS could be defined, that could pave the way for other components. Also, all the projects' structure is partly dictated by a "parent" maven project; thus some of the required additions/changes might need to be done there. bq. If I misunderstood any point, Several points are going to be missed if not discussed on the ML (a.o. there is a new project called "Commons Testing" being developed by Gary...). > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16387254#comment-16387254 ] Kamila Molina commented on COMMONSRDF-75: - Well it would be the task to move commons-rdf only to Java 9; I expressed wrong. Commons has a bunch of projects, and I don't think I will finish in GSoC period. I agree we cannot break code that already works in Java 8 and force everyone to move to Java 9, so that should be a requirement. {quote}Add {{module-info.java}}, by some automated means (e.g. Maven action). {quote} AFAK, maven already works with the modularity system. So by creating an action, do you mean something like a profile? {quote}Add an integration test to prove that the new modules can be used by JPMS on Java 9. {quote} Well that sounds cool. Is there already any conventions to design these test? I know that [folders structure|https://github.com/junit-team/junit5/wiki/Testing-with-Jigsaw] might change, but I don't know how to test . If I misunderstood any point, please point me out to some code or guide, so I can have a better understanding. > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16386823#comment-16386823 ] Gilles commented on COMMONSRDF-75: -- If the plan encompasses more than "Commons RDF", the discussion should take place on the "dev" ML. There is a need to clarify what can be done without jeopardizing usability on Java 8 or lower. > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16386678#comment-16386678 ] A. Soroka commented on COMMONSRDF-75: - Having some project phases is a great idea. Let's unpack your first phase: "Move commons to JPMS". I take it that would include: # Add {{module-info.java}}, by some automated means (e.g. Maven action). # Add an integration test to prove that the new modules can be used by JPMS on Java 9. ? > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16386584#comment-16386584 ] Kamila Molina commented on COMMONSRDF-75: - To be honest I wasn't aware of [Multi-Release jar files|http://openjdk.java.net/jeps/238]. And yes, let's do it. I am still learning about some of the new functionalities of JDK9, so I will have to learn some of the them on the way of the project. Would it be a problem? I can include in my proposal three main tasks, and later try to extend some work accord at the timeline of GSoC. # Move commons to JPMS # Include Multi-release jar files # Use the new functionalities of JDK9 What do you think? > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16386283#comment-16386283 ] A. Soroka commented on COMMONSRDF-75: - Is this ticket (and hopefully, the forthcoming project) _only_ to "Add module-info.java for each module" or is it also to provide multi-release JARs and other migration equipment? Is there some idea here of actually using Java 9 -only language features to provide new functionality? > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS
[ https://issues.apache.org/jira/browse/COMMONSRDF-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16385283#comment-16385283 ] Gilles commented on COMMONSRDF-75: -- FTR, I mention here the discussion that started in COMMONSSITE-103. > Migrate to Java 9 using JPMS > > > Key: COMMONSRDF-75 > URL: https://issues.apache.org/jira/browse/COMMONSRDF-75 > Project: Apache Commons RDF > Issue Type: New Feature > Components: api, build, jena, jsonld-java, parser, rdf4j, simple >Reporter: Kamila Molina >Priority: Minor > Labels: gsoc2018, library > > Add module-info.java for each module. JPMS allows to create libraries with > strong encapsulation; however, this migration will bring with many effects > that can potentially break code. For example, JDK 9 doesn't gives access for > internal types such as {{sun.misc.BASE64Encoder.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)