langtools/src/jdk.jshell/share/classes/module-info.java
author jjg
Thu, 15 Jun 2017 14:45:30 -0700
changeset 45680 6a7b5298fcf5
parent 44452 93f6470b1045
child 45684 2c5f2779c3d1
permissions -rw-r--r--
8181825: Add tool and services information to module summary Reviewed-by: mchung, rfield
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     1
/*
43577
1a1b1242f7aa 8172807: Javac doesn't report errors on duplicate provides with different service implementations
jjg
parents: 42969
diff changeset
     2
 * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     4
 *
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    10
 *
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    15
 * accompanied this code).
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    16
 *
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    20
 *
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    23
 * questions.
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    24
 */
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    25
39590
5a2a47b882ec 8160035: JShell API: Add javadoc overview and package files
rfield
parents: 38535
diff changeset
    26
/**
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    27
 * This module provides support for
45680
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    28
 * Java Programming Language 'snippet' evaluating tools, such as
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    29
 * Read-Eval-Print Loops (REPLs), including the <em>{@index jshell jshell tool}</em> tool.
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    30
 * Separate packages support building tools, configuring the execution of tools,
45680
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    31
 * and programmatically launching the existing Java shell tool.
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    32
 * <p>
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    33
 *     The {@link jdk.jshell} is the package for creating 'snippet' evaluating tools.
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    34
 *     Generally, this is only package that would be needed for creating tools.
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    35
 * </p>
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    36
 * <p>
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    37
 *     The {@link jdk.jshell.spi} package specifies a Service Provider Interface (SPI)
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    38
 *     for defining execution engine implementations for tools based on the
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    39
 *     {@link jdk.jshell} API. The {@link jdk.jshell.execution} package provides
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    40
 *     standard implementations of {@link jdk.jshell.spi} interfaces and supporting code.  It
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    41
 *     also serves as a library of functionality for defining new execution engine
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    42
 *     implementations.
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    43
 * </p>
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    44
 * <p>
45680
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    45
 *     The {@link jdk.jshell.tool} package supports programmatically launching the
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    46
 *     <em>jshell</em> tool.
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    47
 * </p>
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    48
 * <p>
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    49
 *     The {@link jdk.jshell.execution} package contains implementations of the
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    50
 *     interfaces in {@link jdk.jshell.spi}.  Otherwise, the four packages are
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    51
 *     independent, operate at different levels, and do not share functionality or
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    52
 *     definitions.
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    53
 * </p>
43770
a321bed02000 8174762: JShell: @since tags missing
rfield
parents: 43577
diff changeset
    54
 *
45680
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    55
 * <dl style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    56
 * <dt class="simpleTagLabel">Tool Guides:
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    57
 * <dd>{@extLink jshell_tool_reference jshell}
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    58
 * </dl>
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    59
 *
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    60
 * @provides javax.tools.Tool
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    61
 * @provides jdk.jshell.spi.ExecutionControlProvider
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    62
 * @uses jdk.jshell.spi.ExecutionControlProvider
6a7b5298fcf5 8181825: Add tool and services information to module summary
jjg
parents: 44452
diff changeset
    63
 *
44452
93f6470b1045 8173303: Add module-subgraph images to main platform documentation
mchung
parents: 43770
diff changeset
    64
 * @moduleGraph
43770
a321bed02000 8174762: JShell: @since tags missing
rfield
parents: 43577
diff changeset
    65
 * @since 9
39590
5a2a47b882ec 8160035: JShell API: Add javadoc overview and package files
rfield
parents: 38535
diff changeset
    66
 */
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    67
module jdk.jshell {
42407
f3702cff2933 8169069: Module system implementation refresh (11/2016)
alanb
parents: 41934
diff changeset
    68
    requires transitive java.compiler;
42413
c698a1e60c0b 8167185: JShell API: Exported elements referring to inaccessible types in jdk.jshell
rfield
parents: 42407
diff changeset
    69
    requires transitive jdk.jdi;
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    70
    requires transitive java.prefs;
42969
a48d4f74d322 8168615: JShell API: jdk.jshell.spi should be a pluggable ServiceLoader SPI
rfield
parents: 42843
diff changeset
    71
    requires java.logging;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    72
    requires jdk.compiler;
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    73
    requires jdk.internal.le;
41934
a4da50688dc7 8167636: jshell tool: Edit Pad should be in its own module
rfield
parents: 40588
diff changeset
    74
    requires jdk.internal.ed;
40588
b5c32bfa9710 8160089: jshell tool: use new double-dash long-form command-line options
rfield
parents: 39590
diff changeset
    75
    requires jdk.internal.opt;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    76
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    77
    exports jdk.jshell;
38535
4a25025e0b0d 8156101: JShell SPI: Provide a pluggable execution control SPI
rfield
parents: 36526
diff changeset
    78
    exports jdk.jshell.spi;
39590
5a2a47b882ec 8160035: JShell API: Add javadoc overview and package files
rfield
parents: 38535
diff changeset
    79
    exports jdk.jshell.execution;
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    80
    exports jdk.jshell.tool;
41934
a4da50688dc7 8167636: jshell tool: Edit Pad should be in its own module
rfield
parents: 40588
diff changeset
    81
42969
a48d4f74d322 8168615: JShell API: jdk.jshell.spi should be a pluggable ServiceLoader SPI
rfield
parents: 42843
diff changeset
    82
    uses jdk.jshell.spi.ExecutionControlProvider;
41934
a4da50688dc7 8167636: jshell tool: Edit Pad should be in its own module
rfield
parents: 40588
diff changeset
    83
    uses jdk.internal.editor.spi.BuildInEditorProvider;
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    84
43577
1a1b1242f7aa 8172807: Javac doesn't report errors on duplicate provides with different service implementations
jjg
parents: 42969
diff changeset
    85
    provides javax.tools.Tool
1a1b1242f7aa 8172807: Javac doesn't report errors on duplicate provides with different service implementations
jjg
parents: 42969
diff changeset
    86
        with jdk.internal.jshell.tool.JShellToolProvider;
42969
a48d4f74d322 8168615: JShell API: jdk.jshell.spi should be a pluggable ServiceLoader SPI
rfield
parents: 42843
diff changeset
    87
    provides jdk.jshell.spi.ExecutionControlProvider
43577
1a1b1242f7aa 8172807: Javac doesn't report errors on duplicate provides with different service implementations
jjg
parents: 42969
diff changeset
    88
        with jdk.jshell.execution.JdiExecutionControlProvider,
1a1b1242f7aa 8172807: Javac doesn't report errors on duplicate provides with different service implementations
jjg
parents: 42969
diff changeset
    89
             jdk.jshell.execution.LocalExecutionControlProvider,
1a1b1242f7aa 8172807: Javac doesn't report errors on duplicate provides with different service implementations
jjg
parents: 42969
diff changeset
    90
             jdk.jshell.execution.FailOverExecutionControlProvider;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    91
}