Skip to content

Commit

Permalink
Move CreateLinkableRuntimePlugin to build folder
Browse files Browse the repository at this point in the history
Keep runtime link supporting classes in package
jdk.tools.jlink.internal.runtimelink
  • Loading branch information
jerboaa committed Mar 19, 2024
1 parent 0a8279c commit f990ac2
Show file tree
Hide file tree
Showing 12 changed files with 28 additions and 15 deletions.
4 changes: 3 additions & 1 deletion make/Images.gmk
Original file line number Diff line number Diff line change
Expand Up @@ -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) \
#

Expand All @@ -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) \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -37,6 +37,7 @@

import jdk.internal.module.ModulePath;

@SuppressWarnings("try")
public class JmodsReader implements JimageDiffGenerator.ImageResource {

private final ModuleFinder finder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion test/jtreg-ext/requires/VMProps.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<ModuleReference> ref = finder.find("jdk.jlink");
Expand Down

0 comments on commit f990ac2

Please sign in to comment.