From f990ac21bc175d978a0e2c9c1140545e2a22b08b Mon Sep 17 00:00:00 2001 From: Severin Gehwolf Date: Tue, 19 Mar 2024 17:12:56 +0100 Subject: [PATCH] Move CreateLinkableRuntimePlugin to build folder Keep runtime link supporting classes in package jdk.tools.jlink.internal.runtimelink --- make/Images.gmk | 4 +++- .../tools/runtimelink/CreateLinkableRuntimePlugin.java | 7 +++++-- .../share}/classes/module-info.java | 3 ++- .../classes/jdk/tools/jlink/internal/ImageFileCreator.java | 1 + .../share/classes/jdk/tools/jlink/internal/JRTArchive.java | 4 ++++ .../share/classes/jdk/tools/jlink/internal/JlinkTask.java | 4 ++-- .../jdk/tools/jlink/internal}/runtimelink/ImageReader.java | 2 +- .../jlink/internal}/runtimelink/JimageDiffGenerator.java | 7 ++++--- .../jdk/tools/jlink/internal}/runtimelink/JmodsReader.java | 3 ++- .../jlink/internal/{ => runtimelink}/ResourceDiff.java | 2 +- .../{ => runtimelink}/RuntimeImageLinkException.java | 4 ++-- test/jtreg-ext/requires/VMProps.java | 2 +- 12 files changed, 28 insertions(+), 15 deletions(-) rename {src/jdk.jlink/build => make/jdk/src/jdk.unsupported_jlink_runtime/share}/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java (97%) rename {src/jdk.jlink/build => make/jdk/src/jdk.unsupported_jlink_runtime/share}/classes/module-info.java (92%) rename src/jdk.jlink/{build/classes/build/tools => share/classes/jdk/tools/jlink/internal}/runtimelink/ImageReader.java (97%) rename src/jdk.jlink/{build/classes/build/tools => share/classes/jdk/tools/jlink/internal}/runtimelink/JimageDiffGenerator.java (97%) rename src/jdk.jlink/{build/classes/build/tools => share/classes/jdk/tools/jlink/internal}/runtimelink/JmodsReader.java (98%) rename src/jdk.jlink/share/classes/jdk/tools/jlink/internal/{ => runtimelink}/ResourceDiff.java (99%) rename src/jdk.jlink/share/classes/jdk/tools/jlink/internal/{ => runtimelink}/RuntimeImageLinkException.java (95%) diff --git a/make/Images.gmk b/make/Images.gmk index dafcbba1624ab..5d7b8d9239a0f 100644 --- a/make/Images.gmk +++ b/make/Images.gmk @@ -134,6 +134,7 @@ ifeq ($(JLINK_PRODUCE_RUNTIME_LINK_JDK), true) -J--add-exports=java.base/jdk.internal.module=$(RL_BUILD_MODULE_NAME) \ -J--add-exports=java.base/jdk.internal.jimage=$(RL_BUILD_MODULE_NAME) \ -J--add-exports=jdk.jlink/jdk.tools.jlink.internal=$(RL_BUILD_MODULE_NAME) \ + -J--add-exports=jdk.jlink/jdk.tools.jlink.internal.runtimelink=$(RL_BUILD_MODULE_NAME) \ --create-linkable-runtime jimage=$(RL_JIMAGE_PATH_ARG):module-path=$(RL_MOD_PATH_ARG) \ # @@ -142,11 +143,12 @@ ifeq ($(JLINK_PRODUCE_RUNTIME_LINK_JDK), true) $(eval $(call SetupJavaCompilation, BUILD_JDK_RUNLINK_CLASSES, \ COMPILER := buildjdk, \ DISABLED_WARNINGS := try, \ - SRC := $(TOPDIR)/src/jdk.jlink/build/classes, \ + SRC := $(TOPDIR)/make/jdk/src/jdk.unsupported_jlink_runtime/share/classes, \ BIN := $(RL_CREATE_PLUGIN_MOD_OUTPUT), \ JAVAC_FLAGS := \ --add-modules jdk.jlink \ --add-exports jdk.jlink/jdk.tools.jlink.internal=$(RL_BUILD_MODULE_NAME) \ + --add-exports jdk.jlink/jdk.tools.jlink.internal.runtimelink=$(RL_BUILD_MODULE_NAME) \ --add-exports jdk.jlink/jdk.tools.jlink.plugin=$(RL_BUILD_MODULE_NAME) \ --add-exports java.base/jdk.internal.module=$(RL_BUILD_MODULE_NAME) \ --add-exports java.base/jdk.internal.jimage=$(RL_BUILD_MODULE_NAME) \ diff --git a/src/jdk.jlink/build/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java b/make/jdk/src/jdk.unsupported_jlink_runtime/share/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java similarity index 97% rename from src/jdk.jlink/build/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java rename to make/jdk/src/jdk.unsupported_jlink_runtime/share/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java index 5a031ebe71929..7d95e8676e749 100644 --- a/src/jdk.jlink/build/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java +++ b/make/jdk/src/jdk.unsupported_jlink_runtime/share/classes/build/tools/runtimelink/CreateLinkableRuntimePlugin.java @@ -43,10 +43,13 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; -import build.tools.runtimelink.JimageDiffGenerator.ImageResource; import jdk.tools.jlink.internal.JRTArchive; import jdk.tools.jlink.internal.Platform; -import jdk.tools.jlink.internal.ResourceDiff; +import jdk.tools.jlink.internal.runtimelink.ImageReader; +import jdk.tools.jlink.internal.runtimelink.JimageDiffGenerator; +import jdk.tools.jlink.internal.runtimelink.JmodsReader; +import jdk.tools.jlink.internal.runtimelink.ResourceDiff; +import jdk.tools.jlink.internal.runtimelink.JimageDiffGenerator.ImageResource; import jdk.tools.jlink.plugin.Plugin; import jdk.tools.jlink.plugin.ResourcePool; import jdk.tools.jlink.plugin.ResourcePoolBuilder; diff --git a/src/jdk.jlink/build/classes/module-info.java b/make/jdk/src/jdk.unsupported_jlink_runtime/share/classes/module-info.java similarity index 92% rename from src/jdk.jlink/build/classes/module-info.java rename to make/jdk/src/jdk.unsupported_jlink_runtime/share/classes/module-info.java index 9a779fda3087e..db98a3f6f4b44 100644 --- a/src/jdk.jlink/build/classes/module-info.java +++ b/make/jdk/src/jdk.unsupported_jlink_runtime/share/classes/module-info.java @@ -32,5 +32,6 @@ uses jdk.tools.jlink.plugin.Plugin; - provides jdk.tools.jlink.plugin.Plugin with build.tools.runtimelink.CreateLinkableRuntimePlugin; + provides jdk.tools.jlink.plugin.Plugin with + build.tools.runtimelink.CreateLinkableRuntimePlugin; } diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java index 0208def126a34..45c65eb6de7a5 100644 --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java @@ -44,6 +44,7 @@ import jdk.tools.jlink.internal.Archive.Entry; import jdk.tools.jlink.internal.Archive.Entry.EntryType; import jdk.tools.jlink.internal.ResourcePoolManager.CompressedModuleData; +import jdk.tools.jlink.internal.runtimelink.RuntimeImageLinkException; import jdk.tools.jlink.plugin.PluginException; import jdk.tools.jlink.plugin.ResourcePool; import jdk.tools.jlink.plugin.ResourcePoolEntry; diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JRTArchive.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JRTArchive.java index 6d90eb3efcec6..3342550cd8d36 100644 --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JRTArchive.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JRTArchive.java @@ -52,7 +52,11 @@ import java.util.stream.Stream; import jdk.internal.util.OperatingSystem; +import jdk.tools.jlink.internal.Archive.Entry; import jdk.tools.jlink.internal.Archive.Entry.EntryType; +import jdk.tools.jlink.internal.runtimelink.ResourceDiff; +import jdk.tools.jlink.internal.runtimelink.RuntimeImageLinkException; +import jdk.tools.jlink.internal.runtimelink.ResourceDiff.Kind; import jdk.tools.jlink.plugin.ResourcePoolEntry; import jdk.tools.jlink.plugin.ResourcePoolEntry.Type; diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java index 8518c37c79ff1..e85177fe63fde 100644 --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java @@ -234,9 +234,9 @@ static class OptionsValues { } public static final String OPTIONS_RESOURCE = "jdk/tools/jlink/internal/options"; - public static final String RESPATH_PATTERN = "jdk/tools/jlink/internal/fs_%s_files"; + public static final String RESPATH_PATTERN = "jdk/tools/jlink/internal/runtimelink/fs_%s_files"; // The diff file per module - public static final String DIFF_PATTERN = "jdk/tools/jlink/internal/diff_%s"; + public static final String DIFF_PATTERN = "jdk/tools/jlink/internal/runtimelink/diff_%s"; int run(String[] args) { if (log == null) { diff --git a/src/jdk.jlink/build/classes/build/tools/runtimelink/ImageReader.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/ImageReader.java similarity index 97% rename from src/jdk.jlink/build/classes/build/tools/runtimelink/ImageReader.java rename to src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/ImageReader.java index 634a1767e6c42..e9a629dfd0739 100644 --- a/src/jdk.jlink/build/classes/build/tools/runtimelink/ImageReader.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/ImageReader.java @@ -20,7 +20,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package build.tools.runtimelink; +package jdk.tools.jlink.internal.runtimelink; import java.io.IOException; import java.nio.file.Path; diff --git a/src/jdk.jlink/build/classes/build/tools/runtimelink/JimageDiffGenerator.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/JimageDiffGenerator.java similarity index 97% rename from src/jdk.jlink/build/classes/build/tools/runtimelink/JimageDiffGenerator.java rename to src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/JimageDiffGenerator.java index d5be78ac436da..327609b577fe0 100644 --- a/src/jdk.jlink/build/classes/build/tools/runtimelink/JimageDiffGenerator.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/JimageDiffGenerator.java @@ -20,7 +20,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package build.tools.runtimelink; +package jdk.tools.jlink.internal.runtimelink; import java.io.File; import java.io.FileOutputStream; @@ -32,8 +32,9 @@ import java.util.Set; import java.util.stream.Collectors; -import jdk.tools.jlink.internal.ResourceDiff; - +/** + * Used by the build-only jlink plugin CreateLinkableRuntimePlugin. + */ public class JimageDiffGenerator { private static final boolean DEBUG = false; diff --git a/src/jdk.jlink/build/classes/build/tools/runtimelink/JmodsReader.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/JmodsReader.java similarity index 98% rename from src/jdk.jlink/build/classes/build/tools/runtimelink/JmodsReader.java rename to src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/JmodsReader.java index e1f3ba34c4fc1..3ae7d4c07f4a4 100644 --- a/src/jdk.jlink/build/classes/build/tools/runtimelink/JmodsReader.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/JmodsReader.java @@ -20,7 +20,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package build.tools.runtimelink; +package jdk.tools.jlink.internal.runtimelink; import java.io.IOException; import java.io.UncheckedIOException; @@ -37,6 +37,7 @@ import jdk.internal.module.ModulePath; +@SuppressWarnings("try") public class JmodsReader implements JimageDiffGenerator.ImageResource { private final ModuleFinder finder; diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourceDiff.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/ResourceDiff.java similarity index 99% rename from src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourceDiff.java rename to src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/ResourceDiff.java index 5fe25b5642ea1..e44703503885b 100644 --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourceDiff.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/ResourceDiff.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.tools.jlink.internal; +package jdk.tools.jlink.internal.runtimelink; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/RuntimeImageLinkException.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/RuntimeImageLinkException.java similarity index 95% rename from src/jdk.jlink/share/classes/jdk/tools/jlink/internal/RuntimeImageLinkException.java rename to src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/RuntimeImageLinkException.java index e59367fa06b03..e20437bc9c75f 100644 --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/RuntimeImageLinkException.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/runtimelink/RuntimeImageLinkException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Red Hat, Inc. + * Copyright (c) 2024, Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ * questions. */ -package jdk.tools.jlink.internal; +package jdk.tools.jlink.internal.runtimelink; /** * Exception thrown for links without packaged modules. I.e. run-image link. diff --git a/test/jtreg-ext/requires/VMProps.java b/test/jtreg-ext/requires/VMProps.java index 01b8a3995b221..29037e91b1fdc 100644 --- a/test/jtreg-ext/requires/VMProps.java +++ b/test/jtreg-ext/requires/VMProps.java @@ -656,7 +656,7 @@ private String jdkContainerized() { private String runtimeLinkable() { // jdk.jlink module has the following resource listing native libs // belonging to the java.base module for runtime linkable jimages. - String linkableRuntimeResource = "jdk/tools/jlink/internal/fs_java.base_files"; + String linkableRuntimeResource = "jdk/tools/jlink/internal/runtimelink/fs_java.base_files"; try { ModuleFinder finder = ModuleFinder.ofSystem(); Optional ref = finder.find("jdk.jlink");