[jira] [Commented] (COMMONSRDF-75) Migrate to Java 9 using JPMS

2018-03-06 Thread Kamila Molina (JIRA)

[ 
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

2018-03-06 Thread A. Soroka (JIRA)

[ 
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

2018-03-06 Thread Gilles (JIRA)

[ 
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

2018-03-06 Thread A. Soroka (JIRA)

[ 
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

2018-03-06 Thread Gilles (JIRA)

[ 
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

2018-03-05 Thread Kamila Molina (JIRA)

[ 
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

2018-03-05 Thread Gilles (JIRA)

[ 
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

2018-03-05 Thread A. Soroka (JIRA)

[ 
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

2018-03-05 Thread Kamila Molina (JIRA)

[ 
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

2018-03-05 Thread A. Soroka (JIRA)

[ 
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

2018-03-04 Thread Gilles (JIRA)

[ 
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)