module-info.java revision 17207:0f734ac5ddb1
1164640Sflz/*
298186Sgordon * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
378344Sobrien * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4157473Sflz *
578344Sobrien * This code is free software; you can redistribute it and/or modify it
678344Sobrien * under the terms of the GNU General Public License version 2 only, as
778344Sobrien * published by the Free Software Foundation.  Oracle designates this
878344Sobrien * particular file as subject to the "Classpath" exception as provided
978344Sobrien * by Oracle in the LICENSE file that accompanied this code.
1078344Sobrien *
1178344Sobrien * This code is distributed in the hope that it will be useful, but WITHOUT
1278344Sobrien * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1378344Sobrien * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1478344Sobrien * version 2 for more details (a copy is included in the LICENSE file that
1578344Sobrien * accompanied this code).
1678344Sobrien *
1778344Sobrien * You should have received a copy of the GNU General Public License version
1878344Sobrien * 2 along with this work; if not, write to the Free Software Foundation,
1978344Sobrien * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
2078344Sobrien *
2178344Sobrien * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2278344Sobrien * or visit www.oracle.com if you need additional information or have any
2378344Sobrien * questions.
2478344Sobrien */
2578344Sobrien
2678344Sobrien/**
2778344Sobrien * Defines the <em>{@index jlink jlink tool}</em> tool for creating run-time
2878344Sobrien * images, the <em>{@index jmod jmod tool}</em> tool for creating and manipulating
2978344Sobrien * JMOD files, and the <em>{@index jimage jimage tool}</em> tool for inspecting
3078344Sobrien * the JDK implementation-specific container file for classes and resources.
3178344Sobrien *
3278344Sobrien * <p> This module provides the equivalent of command-line access to the
3378344Sobrien * <em>{@extLink jlink_tool_reference jlink}</em> and
3478344Sobrien * <em>{@extLink jmod_tool_reference jmod}</em> tools via the
35169668Smtm * {@link java.util.spi.ToolProvider ToolProvider} SPI.
36157473Sflz * Instances of the tools can be obtained by calling
3778344Sobrien * {@link java.util.spi.ToolProvider#findFirst ToolProvider.findFirst}
3898186Sgordon * or the {@link java.util.ServiceLoader service loader} with the name
3998186Sgordon * {@code "jlink"} or {@code "jmod"} as appropriate.
4098186Sgordon *
41131550Scperciva * <p> <em>{@extLink jimage_tool_reference jimage}</em> only exists
42131550Scperciva * as a command-line tool, and does not provide any direct API.
43131550Scperciva *
44131550Scperciva * <dl style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">
4598186Sgordon * <dt class="simpleTagLabel">Tool Guides:
4698186Sgordon * <dd>{@extLink jlink_tool_reference jlink},
47202988Semaste *     {@extLink jmod_tool_reference jmod},
48124832Smtm *     {@extLink jimage_tool_reference jimage}
49124832Smtm * </dl>
50161435Syar *
51161435Syar * @provides java.util.spi.ToolProvider
5298186Sgordon *
5398186Sgordon * @moduleGraph
5478344Sobrien * @since 9
5578344Sobrien */
5678344Sobrienmodule jdk.jlink {
57264438Sdteske    requires jdk.internal.opt;
58264438Sdteske    requires jdk.jdeps;
59264438Sdteske
60264438Sdteske    uses jdk.tools.jlink.plugin.Plugin;
61264438Sdteske
62264438Sdteske    provides java.util.spi.ToolProvider with
63264438Sdteske        jdk.tools.jmod.Main.JmodToolProvider,
64264438Sdteske        jdk.tools.jlink.internal.Main.JlinkToolProvider;
65264438Sdteske
66264438Sdteske    provides jdk.tools.jlink.plugin.Plugin with
67264438Sdteske        jdk.tools.jlink.internal.plugins.StripDebugPlugin,
68264438Sdteske        jdk.tools.jlink.internal.plugins.ExcludePlugin,
69264438Sdteske        jdk.tools.jlink.internal.plugins.ExcludeFilesPlugin,
70264438Sdteske        jdk.tools.jlink.internal.plugins.ExcludeJmodSectionPlugin,
71272874Shrs        jdk.tools.jlink.internal.plugins.LegalNoticeFilePlugin,
72272874Shrs        jdk.tools.jlink.internal.plugins.SystemModulesPlugin,
73272874Shrs        jdk.tools.jlink.internal.plugins.StripNativeCommandsPlugin,
74272874Shrs        jdk.tools.jlink.internal.plugins.OrderResourcesPlugin,
75272874Shrs        jdk.tools.jlink.internal.plugins.DefaultCompressPlugin,
76272874Shrs        jdk.tools.jlink.internal.plugins.ExcludeVMPlugin,
77272874Shrs        jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin,
78272874Shrs        jdk.tools.jlink.internal.plugins.GenerateJLIClassesPlugin,
79272874Shrs        jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin,
80272874Shrs        jdk.tools.jlink.internal.plugins.ClassForNamePlugin;
81272874Shrs }
82272874Shrs