1 /*
2 * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 /**
27 * This module provides support for
28 * Java Programming Language 'snippet' evaluating tools, such as
29 * Read-Eval-Print Loops (REPLs), including the <em>{@index jshell jshell tool}</em> tool.
30 * Separate packages support building tools, configuring the execution of tools,
31 * and programmatically launching the existing Java shell tool.
32 * <p>
33 * The {@link jdk.jshell} is the package for creating 'snippet' evaluating tools.
34 * Generally, this is only package that would be needed for creating tools.
35 * </p>
36 * <p>
37 * The {@link jdk.jshell.spi} package specifies a Service Provider Interface (SPI)
38 * for defining execution engine implementations for tools based on the
39 * {@link jdk.jshell} API. The {@link jdk.jshell.execution} package provides
40 * standard implementations of {@link jdk.jshell.spi} interfaces and supporting code. It
41 * also serves as a library of functionality for defining new execution engine
42 * implementations.
43 * </p>
44 * <p>
45 * The {@link jdk.jshell.tool} package supports programmatically launching the
46 * <em>jshell</em> tool.
47 * </p>
48 * <p>
49 * The {@link jdk.jshell.execution} package contains implementations of the
50 * interfaces in {@link jdk.jshell.spi}. Otherwise, the four packages are
51 * independent, operate at different levels, and do not share functionality or
52 * definitions.
53 * </p>
54 *
55 * <dl style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">
56 * <dt class="simpleTagLabel">Tool Guides:
57 * <dd>{@extLink jshell_tool_reference jshell}
58 * </dl>
59 *
60 * @provides javax.tools.Tool
61 * @provides jdk.jshell.spi.ExecutionControlProvider
62 * @uses jdk.jshell.spi.ExecutionControlProvider
63 *
64 * @moduleGraph
65 * @since 9
66 */
67 module jdk.jshell {
68 requires java.logging;
69 requires jdk.compiler;
70 requires jdk.internal.ed;
71 requires jdk.internal.le;
72 requires jdk.internal.opt;
73 requires java.net.http;
74
75 requires transitive java.compiler;
76 requires transitive java.prefs;
77 requires transitive jdk.jdi;
78
79 exports jdk.jshell;
80 exports jdk.jshell.execution;
81 exports jdk.jshell.spi;
82 exports jdk.jshell.tool;
83
84 uses jdk.jshell.spi.ExecutionControlProvider;
85 uses jdk.internal.editor.spi.BuildInEditorProvider;
86
87 provides javax.tools.Tool with
88 jdk.internal.jshell.tool.JShellToolProvider;
89 provides jdk.jshell.spi.ExecutionControlProvider with
90 jdk.jshell.execution.JdiExecutionControlProvider,
91 jdk.jshell.execution.LocalExecutionControlProvider,
92 jdk.jshell.execution.FailOverExecutionControlProvider;
93 }
--- EOF ---