mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 10:34:38 +02:00
8182416: Clean up module-info.java like move requires transitive adjacent to exports
Reviewed-by: alanb
This commit is contained in:
parent
beba252b47
commit
960807e246
6 changed files with 75 additions and 44 deletions
|
@ -23,16 +23,18 @@
|
||||||
* questions.
|
* questions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the Language Model, Annotation Processing, and Java Compiler APIs.
|
* Defines the Language Model, Annotation Processing, and Java Compiler APIs.
|
||||||
* <P>
|
* <p>
|
||||||
* These APIs model declarations and types of the Java programming language,
|
* These APIs model declarations and types of the Java programming language,
|
||||||
* and define interfaces for tools such as compilers which can be invoked
|
* and define interfaces for tools such as compilers which can be invoked
|
||||||
* from a program.
|
* from a program.
|
||||||
*
|
* <p>
|
||||||
* @moduleGraph
|
* This module is upgradeble.
|
||||||
* @since 9
|
*
|
||||||
*/
|
* @moduleGraph
|
||||||
|
* @since 9
|
||||||
|
*/
|
||||||
module java.compiler {
|
module java.compiler {
|
||||||
exports javax.annotation.processing;
|
exports javax.annotation.processing;
|
||||||
exports javax.lang.model;
|
exports javax.lang.model;
|
||||||
|
|
|
@ -88,6 +88,7 @@ module jdk.compiler {
|
||||||
exports com.sun.source.tree;
|
exports com.sun.source.tree;
|
||||||
exports com.sun.source.util;
|
exports com.sun.source.util;
|
||||||
exports com.sun.tools.javac;
|
exports com.sun.tools.javac;
|
||||||
|
|
||||||
exports com.sun.tools.doclint to
|
exports com.sun.tools.doclint to
|
||||||
jdk.javadoc;
|
jdk.javadoc;
|
||||||
exports com.sun.tools.javac.api to
|
exports com.sun.tools.javac.api to
|
||||||
|
@ -127,16 +128,16 @@ module jdk.compiler {
|
||||||
uses com.sun.source.util.Plugin;
|
uses com.sun.source.util.Plugin;
|
||||||
uses com.sun.tools.javac.platform.PlatformProvider;
|
uses com.sun.tools.javac.platform.PlatformProvider;
|
||||||
|
|
||||||
provides java.util.spi.ToolProvider
|
provides java.util.spi.ToolProvider with
|
||||||
with com.sun.tools.javac.main.JavacToolProvider;
|
com.sun.tools.javac.main.JavacToolProvider;
|
||||||
|
|
||||||
provides com.sun.tools.javac.platform.PlatformProvider
|
provides com.sun.tools.javac.platform.PlatformProvider with
|
||||||
with com.sun.tools.javac.platform.JDKPlatformProvider;
|
com.sun.tools.javac.platform.JDKPlatformProvider;
|
||||||
|
|
||||||
provides javax.tools.JavaCompiler
|
provides javax.tools.JavaCompiler with
|
||||||
with com.sun.tools.javac.api.JavacTool;
|
com.sun.tools.javac.api.JavacTool;
|
||||||
|
|
||||||
provides javax.tools.Tool
|
provides javax.tools.Tool with
|
||||||
with com.sun.tools.javac.api.JavacTool;
|
com.sun.tools.javac.api.JavacTool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,9 +58,10 @@
|
||||||
* @since 9
|
* @since 9
|
||||||
*/
|
*/
|
||||||
module jdk.javadoc {
|
module jdk.javadoc {
|
||||||
|
requires java.xml;
|
||||||
|
|
||||||
requires transitive java.compiler;
|
requires transitive java.compiler;
|
||||||
requires transitive jdk.compiler;
|
requires transitive jdk.compiler;
|
||||||
requires java.xml;
|
|
||||||
|
|
||||||
exports com.sun.javadoc;
|
exports com.sun.javadoc;
|
||||||
exports com.sun.tools.doclets;
|
exports com.sun.tools.doclets;
|
||||||
|
@ -69,13 +70,13 @@ module jdk.javadoc {
|
||||||
|
|
||||||
exports jdk.javadoc.doclet;
|
exports jdk.javadoc.doclet;
|
||||||
|
|
||||||
provides java.util.spi.ToolProvider
|
provides java.util.spi.ToolProvider with
|
||||||
with jdk.javadoc.internal.tool.JavadocToolProvider;
|
jdk.javadoc.internal.tool.JavadocToolProvider;
|
||||||
|
|
||||||
provides javax.tools.DocumentationTool
|
provides javax.tools.DocumentationTool with
|
||||||
with jdk.javadoc.internal.api.JavadocTool;
|
jdk.javadoc.internal.api.JavadocTool;
|
||||||
|
|
||||||
provides javax.tools.Tool
|
provides javax.tools.Tool with
|
||||||
with jdk.javadoc.internal.api.JavadocTool;
|
jdk.javadoc.internal.api.JavadocTool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -203,21 +203,43 @@ public class ModuleInfoBuilder {
|
||||||
writer.format("%smodule %s {%n", open ? "open " : "", md.name());
|
writer.format("%smodule %s {%n", open ? "open " : "", md.name());
|
||||||
|
|
||||||
Map<String, Module> modules = configuration.getModules();
|
Map<String, Module> modules = configuration.getModules();
|
||||||
// first print the JDK modules
|
|
||||||
md.requires().stream()
|
// first print requires
|
||||||
.filter(req -> !req.name().equals("java.base")) // implicit requires
|
Set<Requires> reqs = md.requires().stream()
|
||||||
.sorted(Comparator.comparing(Requires::name))
|
.filter(req -> !req.name().equals("java.base") && req.modifiers().isEmpty())
|
||||||
.forEach(req -> writer.format(" requires %s;%n",
|
.collect(Collectors.toSet());
|
||||||
toString(req.modifiers(), req.name())));
|
reqs.stream()
|
||||||
|
.sorted(Comparator.comparing(Requires::name))
|
||||||
|
.forEach(req -> writer.format(" requires %s;%n",
|
||||||
|
toString(req.modifiers(), req.name())));
|
||||||
|
if (!reqs.isEmpty()) {
|
||||||
|
writer.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
// requires transitive
|
||||||
|
reqs = md.requires().stream()
|
||||||
|
.filter(req -> !req.name().equals("java.base") && !req.modifiers().isEmpty())
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
reqs.stream()
|
||||||
|
.sorted(Comparator.comparing(Requires::name))
|
||||||
|
.forEach(req -> writer.format(" requires %s;%n",
|
||||||
|
toString(req.modifiers(), req.name())));
|
||||||
|
if (!reqs.isEmpty()) {
|
||||||
|
writer.println();
|
||||||
|
}
|
||||||
|
|
||||||
if (!open) {
|
if (!open) {
|
||||||
md.exports().stream()
|
md.exports().stream()
|
||||||
.peek(exp -> {
|
.peek(exp -> {
|
||||||
if (exp.isQualified())
|
if (exp.isQualified())
|
||||||
throw new InternalError(md.name() + " qualified exports: " + exp);
|
throw new InternalError(md.name() + " qualified exports: " + exp);
|
||||||
})
|
})
|
||||||
.sorted(Comparator.comparing(Exports::source))
|
.sorted(Comparator.comparing(Exports::source))
|
||||||
.forEach(exp -> writer.format(" exports %s;%n", exp.source()));
|
.forEach(exp -> writer.format(" exports %s;%n", exp.source()));
|
||||||
|
|
||||||
|
if (!md.exports().isEmpty()) {
|
||||||
|
writer.println();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
md.provides().stream()
|
md.provides().stream()
|
||||||
|
@ -228,8 +250,11 @@ public class ModuleInfoBuilder {
|
||||||
String.format(" provides %s with%n",
|
String.format(" provides %s with%n",
|
||||||
p.service().replace('$', '.')),
|
p.service().replace('$', '.')),
|
||||||
";")))
|
";")))
|
||||||
.forEach(writer::println);
|
.forEach(writer::println);
|
||||||
|
|
||||||
|
if (!md.provides().isEmpty()) {
|
||||||
|
writer.println();
|
||||||
|
}
|
||||||
writer.println("}");
|
writer.println("}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
module jdk.jdeps {
|
module jdk.jdeps {
|
||||||
requires java.compiler;
|
requires java.compiler;
|
||||||
requires jdk.compiler;
|
requires jdk.compiler;
|
||||||
|
|
||||||
exports com.sun.tools.classfile to jdk.jlink;
|
exports com.sun.tools.classfile to jdk.jlink;
|
||||||
|
|
||||||
provides java.util.spi.ToolProvider with
|
provides java.util.spi.ToolProvider with
|
||||||
|
|
|
@ -65,27 +65,28 @@
|
||||||
* @since 9
|
* @since 9
|
||||||
*/
|
*/
|
||||||
module jdk.jshell {
|
module jdk.jshell {
|
||||||
requires transitive java.compiler;
|
|
||||||
requires transitive jdk.jdi;
|
|
||||||
requires transitive java.prefs;
|
|
||||||
requires java.logging;
|
requires java.logging;
|
||||||
requires jdk.compiler;
|
requires jdk.compiler;
|
||||||
requires jdk.internal.le;
|
|
||||||
requires jdk.internal.ed;
|
requires jdk.internal.ed;
|
||||||
|
requires jdk.internal.le;
|
||||||
requires jdk.internal.opt;
|
requires jdk.internal.opt;
|
||||||
|
|
||||||
|
requires transitive java.compiler;
|
||||||
|
requires transitive java.prefs;
|
||||||
|
requires transitive jdk.jdi;
|
||||||
|
|
||||||
exports jdk.jshell;
|
exports jdk.jshell;
|
||||||
exports jdk.jshell.spi;
|
|
||||||
exports jdk.jshell.execution;
|
exports jdk.jshell.execution;
|
||||||
|
exports jdk.jshell.spi;
|
||||||
exports jdk.jshell.tool;
|
exports jdk.jshell.tool;
|
||||||
|
|
||||||
uses jdk.jshell.spi.ExecutionControlProvider;
|
uses jdk.jshell.spi.ExecutionControlProvider;
|
||||||
uses jdk.internal.editor.spi.BuildInEditorProvider;
|
uses jdk.internal.editor.spi.BuildInEditorProvider;
|
||||||
|
|
||||||
provides javax.tools.Tool
|
provides javax.tools.Tool with
|
||||||
with jdk.internal.jshell.tool.JShellToolProvider;
|
jdk.internal.jshell.tool.JShellToolProvider;
|
||||||
provides jdk.jshell.spi.ExecutionControlProvider
|
provides jdk.jshell.spi.ExecutionControlProvider with
|
||||||
with jdk.jshell.execution.JdiExecutionControlProvider,
|
jdk.jshell.execution.JdiExecutionControlProvider,
|
||||||
jdk.jshell.execution.LocalExecutionControlProvider,
|
jdk.jshell.execution.LocalExecutionControlProvider,
|
||||||
jdk.jshell.execution.FailOverExecutionControlProvider;
|
jdk.jshell.execution.FailOverExecutionControlProvider;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue