fixed bug with package listing in JPMS modules
All checks were successful
CI / build (push) Successful in 1m32s

This commit is contained in:
2025-01-08 09:35:37 +08:00
parent d5c93708c5
commit 5cfc65c35a
3 changed files with 6 additions and 4 deletions

View File

@@ -2,5 +2,5 @@ gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven
lys.version = 2024.12.28 lys.version = 2024.12.28
version.envelope=2024.12.31 version.envelope=2025.01.08

View File

@@ -192,7 +192,7 @@ public class JarFileModuleFinder implements ModuleFinder {
private static Set<String> collectPackageNames(JarFile jarFile) { private static Set<String> collectPackageNames(JarFile jarFile) {
Set<String> result = jarFile Set<String> result = jarFile
.versionedStream() .versionedStream()
.filter(entry -> entry.getName().endsWith(".class")) .filter(zipEntry -> !zipEntry.isDirectory())
.map(entry -> { .map(entry -> {
String entryName = entry.getName(); String entryName = entry.getName();
int lastSlash = entryName.lastIndexOf('/'); int lastSlash = entryName.lastIndexOf('/');

View File

@@ -12,11 +12,13 @@ import org.gradle.api.tasks.bundling.Jar;
public class EnvelopePlugin implements Plugin<Project> { public class EnvelopePlugin implements Plugin<Project> {
public static final String ENVELOPE_GROUP_NAME = "envelope"; public static final String ENVELOPE_GROUP_NAME = "envelope";
public static final String ENVELOPE_JAR_TASK_NAME = "envelopeJar";
public static final String ENVELOPE_RUN_TASK_NAME = "envelopeRun";
@Override @Override
public void apply(Project project) { public void apply(Project project) {
project.getPluginManager().apply(JavaPlugin.class); project.getPluginManager().apply(JavaPlugin.class);
Provider<EnvelopeJarTask> envelopeJarTaskProvider = project.getTasks().register("envelopeJar", EnvelopeJarTask.class, t -> { Provider<EnvelopeJarTask> envelopeJarTaskProvider = project.getTasks().register(ENVELOPE_JAR_TASK_NAME, EnvelopeJarTask.class, t -> {
t.setGroup(ENVELOPE_GROUP_NAME); t.setGroup(ENVELOPE_GROUP_NAME);
t.setDescription("Package the application in a single executable jar file"); t.setDescription("Package the application in a single executable jar file");
t.includeLibraries(project.getConfigurations().named(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)); t.includeLibraries(project.getConfigurations().named(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME));
@@ -25,7 +27,7 @@ public class EnvelopePlugin implements Plugin<Project> {
project.getTasks().named(BasePlugin.ASSEMBLE_TASK_NAME, DefaultTask.class, assembleTask -> { project.getTasks().named(BasePlugin.ASSEMBLE_TASK_NAME, DefaultTask.class, assembleTask -> {
assembleTask.dependsOn(envelopeJarTaskProvider); assembleTask.dependsOn(envelopeJarTaskProvider);
}); });
Provider<JavaExec> envelopeRunTaskProvider = project.getTasks().register("envelopeRun", JavaExec.class, t -> { Provider<JavaExec> envelopeRunTaskProvider = project.getTasks().register(ENVELOPE_RUN_TASK_NAME, JavaExec.class, t -> {
t.getInputs().files(envelopeJarTaskProvider); t.getInputs().files(envelopeJarTaskProvider);
t.setGroup(ENVELOPE_GROUP_NAME); t.setGroup(ENVELOPE_GROUP_NAME);
t.setDescription("Run the application in the envelope jar"); t.setDescription("Run the application in the envelope jar");