JShell: packages
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Sep 18 01:08:26 UTC 2015
Then I am indeed confused as to the issue/interaction between
-Xbootclasspath/p: and .jimage files.
-- Jon
On 09/17/2015 05:55 PM, Robert Field wrote:
>
> Jline is already in its own jdk.internal package.
>
> On September 17, 2015 5:25:27 PM Jonathan Gibbons
> <jonathan.gibbons at oracle.com> wrote:
>
>> If the problem is just with jline, I was thinking we should
>> temporarily put it in its own package, such as jdk.internal.jline,
>> and leave alone the packages that Robert listed.
>>
>> Or am I missing something here? (again?)
>>
>> -- Jon
>>
>> On 09/17/2015 05:20 PM, Maurizio Cimadamore wrote:
>>>
>>>
>>> On 17/09/15 19:52, Jonathan Gibbons wrote:
>>>> We should not change any of these packages.
>>> Now I'm confused :-)
>>>
>>> As you say, we need a workaround for the Xbootclasspath issue - the
>>> simpler workaround would be to change the way jshell uses
>>> jdk.internal package names; I'm assuming fixing the bootstrap vs.
>>> jimage issue would take much longer.
>>>
>>> So, what do you mean by "we should not change any of these packages" ?
>>>
>>> Maurizio
>>>>
>>>> My understanding from Maurizio is that there is a bug or
>>>> anti-feature in the system today such that the choice of package
>>>> for jline is problematic, and so we were simply discussing the
>>>> possibility of using a different package for jline for the
>>>> immediate short term as a workaround for the -Xbootclasspath/p:
>>>> issue. When Jigsaw gets integrated, the -Xbootclasspath/p: option
>>>> will go away, and we will have to use the new -Xoverride option
>>>> instead. In advance of that, we should ensure that -Xoverride
>>>> works in a way that is satisfactory with jline in its propoer long
>>>> term home.
>>>>
>>>> -- Jon
>>>>
>>>> On 09/17/2015 11:08 AM, Robert Field wrote:
>>>>> There were extensive discussions and approvals around package
>>>>> names. This is what we have now:
>>>>>
>>>>> jdk.jshell
>>>>>
>>>>> JShell API and core implementation.
>>>>>
>>>>> jdk.internal.jshell.remote
>>>>>
>>>>> The remote side of the implementation
>>>>>
>>>>> jdk.internal.jshell.debug
>>>>>
>>>>> Single class supporting debugging of the implementation
>>>>> through external tools
>>>>>
>>>>> jdk.internal.jshell.tool
>>>>>
>>>>> The JShell tool (built on the API)
>>>>>
>>>>>
>>>>> The package jdk.jshell has all the public API.
>>>>>
>>>>> jdk.internal.jshell.* includes some classes with public access
>>>>> modifiers but these packages are not public APIs (we want the
>>>>> ability to change them as needed) -- my understanding is that
>>>>> packages with those characteristics should be named "jdk.internal.*".
>>>>>
>>>>> -----
>>>>>
>>>>> However we have problems --
>>>>>
>>>>>> some weird bug I encountered where if I set bootclasspath
>>>>>> that mentions some jdk.internal classes (but which doesn't
>>>>>> have JLine - because it comes from langtools), _every_ class
>>>>>> from that package will not be fetched from the jimage file -
>>>>>> meaning that I'll be left w/o jline. In other words,
>>>>>> bootstrapping doesn't work - and I have reasons to believe
>>>>>> that bootstrapping with the new module options (when they
>>>>>> will become available - i.e. moduleOverride) won't work too.
>>>>>
>>>>>
>>>>> and the proposal --
>>>>>
>>>>>> * workaround problem #1 by putting jshell in a package other
>>>>>> than jdk.internal (i.e. jdk.jshell could be good); this will
>>>>>> avoid -Xbootstrap accidentally making jline unavailable
>>>>>
>>>>>
>>>>> -Robert
>>>>>
>>>>>
>>>>
>>>
>>
More information about the kulla-dev
mailing list