langtools/src/jdk.jshell/share/classes/module-info.java
author mchung
Sat, 17 Jun 2017 11:50:45 -0700
changeset 45684 2c5f2779c3d1
parent 45680 6a7b5298fcf5
permissions -rw-r--r--
8182416: Clean up module-info.java like move requires transitive adjacent to exports Reviewed-by: alanb
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 {
42969
a48d4f74d322 8168615: JShell API: jdk.jshell.spi should be a pluggable ServiceLoader SPI
rfield
parents: 42843
diff changeset
    68
    requires java.logging;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    69
    requires jdk.compiler;
45684
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    70
    requires jdk.internal.ed;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    71
    requires jdk.internal.le;
40588
b5c32bfa9710 8160089: jshell tool: use new double-dash long-form command-line options
rfield
parents: 39590
diff changeset
    72
    requires jdk.internal.opt;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    73
45684
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    74
    requires transitive java.compiler;
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    75
    requires transitive java.prefs;
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    76
    requires transitive jdk.jdi;
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    77
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    78
    exports jdk.jshell;
45684
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    79
    exports jdk.jshell.execution;
38535
4a25025e0b0d 8156101: JShell SPI: Provide a pluggable execution control SPI
rfield
parents: 36526
diff changeset
    80
    exports jdk.jshell.spi;
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    81
    exports jdk.jshell.tool;
41934
a4da50688dc7 8167636: jshell tool: Edit Pad should be in its own module
rfield
parents: 40588
diff changeset
    82
42969
a48d4f74d322 8168615: JShell API: jdk.jshell.spi should be a pluggable ServiceLoader SPI
rfield
parents: 42843
diff changeset
    83
    uses jdk.jshell.spi.ExecutionControlProvider;
41934
a4da50688dc7 8167636: jshell tool: Edit Pad should be in its own module
rfield
parents: 40588
diff changeset
    84
    uses jdk.internal.editor.spi.BuildInEditorProvider;
42843
a8d83044a192 8170162: jshell tool: no mechanism to programmatically launch
rfield
parents: 42413
diff changeset
    85
45684
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    86
    provides javax.tools.Tool with
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    87
        jdk.internal.jshell.tool.JShellToolProvider;
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    88
    provides jdk.jshell.spi.ExecutionControlProvider with
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    89
        jdk.jshell.execution.JdiExecutionControlProvider,
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    90
        jdk.jshell.execution.LocalExecutionControlProvider,
2c5f2779c3d1 8182416: Clean up module-info.java like move requires transitive adjacent to exports
mchung
parents: 45680
diff changeset
    91
        jdk.jshell.execution.FailOverExecutionControlProvider;
36526
3b41f1c69604 8142968: Module System implementation
alanb
parents:
diff changeset
    92
}