From 024f58c914b43ddf15dd4d19f08bd8be22a6a288 Mon Sep 17 00:00:00 2001
From: goesen
Date: Tue, 24 Sep 2024 21:39:48 +0200
Subject: [PATCH 01/24] wip safe stuff
---
.../configuration-cache/settings.gradle.kts | 2 +
settings.gradle.kts | 2 +
.../JavaModuleDependenciesPlugin.java | 10 +-
.../JavaModuleVersionsPlugin.java | 2 +-
.../dependencies/SharedMappings.java | 2 +-
.../internal/utils/ModuleInfo.java | 28 ++--
.../internal/utils/ModuleInfoCache.java | 30 +++-
.../internal/utils/ValueSourceModuleInfo.java | 49 +++++++
.../tasks/ModulePathAnalysis.java | 2 +-
.../dependencies/unique_modules.properties | 137 +++++++++++++++++-
.../test/ModuleInfoParseTest.groovy | 10 +-
11 files changed, 234 insertions(+), 40 deletions(-)
create mode 100644 src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
diff --git a/samples/configuration-cache/settings.gradle.kts b/samples/configuration-cache/settings.gradle.kts
index 99871c34..ecaa7990 100644
--- a/samples/configuration-cache/settings.gradle.kts
+++ b/samples/configuration-cache/settings.gradle.kts
@@ -1,7 +1,9 @@
pluginManagement {
includeBuild("build-logic")
+ includeBuild("../..")
}
dependencyResolutionManagement {
+ includeBuild("../..")
repositories.mavenCentral()
}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index d5b6db58..d013ad48 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -10,6 +10,8 @@ dependencyResolutionManagement {
repositories.gradlePluginPortal()
}
+//includeBuild("samples/configuration-cache")
+
rootProject.name = "java-module-dependencies"
develocity {
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
index 687a4b39..502a87f6 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
@@ -16,6 +16,7 @@
package org.gradlex.javamodule.dependencies;
+import kotlin.Pair;
import org.gradle.api.GradleException;
import org.gradle.api.NonNullApi;
import org.gradle.api.Plugin;
@@ -235,8 +236,7 @@ private void setupOrderingCheckTasks(Project project, TaskProvider checkAl
t.setDescription("Check order of directives in 'module-info.java' in '" + sourceSet.getName() + "' source set");
ModuleInfo moduleInfo = javaModuleDependencies.getModuleInfoCache().get().get(sourceSet, project.getProviders());
-
- t.getModuleInfoPath().convention(moduleInfo.getFilePath().getAbsolutePath());
+ t.getModuleInfoPath().convention("module-info.java");
t.getModuleNamePrefix().convention(moduleInfo.moduleNamePrefix(project.getName(), sourceSet.getName(), false));
t.getModuleInfo().convention(moduleInfo);
@@ -266,11 +266,11 @@ private void readModuleInfo(ModuleInfo.Directive moduleDirective, SourceSet sour
}
ModuleInfo moduleInfo = javaModuleDependenciesExtension.getModuleInfoCache().get().get(sourceSet, project.getProviders());
for (String moduleName : moduleInfo.get(moduleDirective)) {
- declareDependency(moduleName, moduleInfo.getFilePath(), project, sourceSet, configuration, javaModuleDependenciesExtension);
+ declareDependency(moduleName, project, sourceSet, configuration, javaModuleDependenciesExtension);
}
}
- private void declareDependency(String moduleName, File moduleInfoFile, Project project, SourceSet sourceSet, Configuration configuration, JavaModuleDependenciesExtension javaModuleDependencies) {
+ private void declareDependency(String moduleName, Project project, SourceSet sourceSet, Configuration configuration, JavaModuleDependenciesExtension javaModuleDependencies) {
if (JDKInfo.MODULES.contains(moduleName)) {
// The module is part of the JDK, no dependency required
return;
@@ -286,7 +286,7 @@ private List collectDepende
File sourceSetDir = sourceSet.getJava().getSrcDirs().iterator().next().getParentFile();
File whiteboxModuleInfoFile = new File(sourceSetDir, "java9/module-info.java");
if (whiteboxModuleInfoFile.exists()) {
- moduleInfo = new ModuleInfo(project.getProviders().fileContents(project.getLayout().getProjectDirectory().file(whiteboxModuleInfoFile.getAbsolutePath())).getAsText().get(), whiteboxModuleInfoFile);
+ moduleInfo = new ModuleInfo(project.getProviders().fileContents(project.getLayout().getProjectDirectory().file(whiteboxModuleInfoFile.getAbsolutePath())).getAsText().get());
}
}
return moduleInfo.get(directive).stream()
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleVersionsPlugin.java b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleVersionsPlugin.java
index 6dc8d929..f0193cb5 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleVersionsPlugin.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleVersionsPlugin.java
@@ -132,7 +132,7 @@ private void registerCatalogTask(Project project) {
moduleInfoFile = new File(srcDirSet, "java9/module-info.java");
}
if (moduleInfoFile.exists()) {
- ModuleInfo moduleInfo = new ModuleInfo(project.getProviders().fileContents(project.getLayout().getProjectDirectory().file(moduleInfoFile.getAbsolutePath())).getAsText().get(), moduleInfoFile);
+ ModuleInfo moduleInfo = new ModuleInfo(project.getProviders().fileContents(project.getLayout().getProjectDirectory().file(moduleInfoFile.getAbsolutePath())).getAsText().get());
t.getEntries().addAll(collectCatalogEntriesFromModuleInfos(javaModuleDependencies, moduleInfo.get(REQUIRES_TRANSITIVE)));
t.getEntries().addAll(collectCatalogEntriesFromModuleInfos(javaModuleDependencies, moduleInfo.get(REQUIRES)));
t.getEntries().addAll(collectCatalogEntriesFromModuleInfos(javaModuleDependencies, moduleInfo.get(REQUIRES_STATIC_TRANSITIVE)));
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java b/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java
index c0be3e1f..d0284e87 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java
@@ -29,7 +29,7 @@ static Map loadModuleNameToGAProperties() {
@Override
public synchronized Object put(Object key, Object value) {
if (get(key) != null) {
- throw new IllegalArgumentException(key + " already present.");
+ // throw new IllegalArgumentException(key + " already present.");
}
return super.put(key, value);
}
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
index 5a3f6b1a..8be5026b 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
@@ -17,12 +17,8 @@
package org.gradlex.javamodule.dependencies.internal.utils;
import javax.annotation.Nullable;
-import java.io.File;
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
import static org.gradlex.javamodule.dependencies.internal.utils.ModuleNamingUtil.sourceSetToModuleName;
@@ -43,7 +39,7 @@ public String literal() {
public static final String RUNTIME_KEYWORD = "/*runtime*/";
- public static final ModuleInfo EMPTY = new ModuleInfo("", new File(""));
+ public static final ModuleInfo EMPTY = new ModuleInfo("");
private String moduleName = "";
private final List requires = new ArrayList<>();
@@ -52,10 +48,8 @@ public String literal() {
private final List requiresStaticTransitive = new ArrayList<>();
private final List requiresRuntime = new ArrayList<>();
- private final File filePath;
- public ModuleInfo(String moduleInfoFileContent, File filePath) {
- this.filePath = filePath;
+ public ModuleInfo(String moduleInfoFileContent) {
boolean insideComment = false;
for(String line: moduleInfoFileContent.split("\n")) {
insideComment = parse(line, insideComment);
@@ -108,9 +102,6 @@ public String moduleNamePrefix(String projectName, String sourceSetName, boolean
return null;
}
- public File getFilePath() {
- return filePath;
- }
/**
* @return true, if we are inside a multi-line comment after this line
@@ -150,4 +141,17 @@ private boolean parse(String moduleLine, boolean insideComment) {
}
return moduleLine.lastIndexOf("/*") > moduleLine.lastIndexOf("*/");
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ModuleInfo that = (ModuleInfo) o;
+ return Objects.equals(moduleName, that.moduleName) && Objects.equals(requires, that.requires) && Objects.equals(requiresTransitive, that.requiresTransitive) && Objects.equals(requiresStatic, that.requiresStatic) && Objects.equals(requiresStaticTransitive, that.requiresStaticTransitive) && Objects.equals(requiresRuntime, that.requiresRuntime);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(moduleName, requires, requiresTransitive, requiresStatic, requiresStaticTransitive, requiresRuntime);
+ }
}
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
index fc689b19..9c00f0cf 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
@@ -16,11 +16,14 @@
package org.gradlex.javamodule.dependencies.internal.utils;
+import org.gradle.api.Action;
+import org.gradle.api.file.ConfigurableFileCollection;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.logging.Logger;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.Provider;
import org.gradle.api.provider.ProviderFactory;
+import org.gradle.api.provider.ValueSourceSpec;
import org.gradle.api.tasks.SourceSet;
import org.slf4j.LoggerFactory;
@@ -28,8 +31,7 @@
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import static org.gradlex.javamodule.dependencies.internal.utils.ModuleNamingUtil.sourceSetToCapabilitySuffix;
@@ -102,15 +104,29 @@ public String getCapability(String moduleName) {
}
private boolean maybePutModuleInfo(File folder, ProviderFactory providers) {
- RegularFileProperty moduleInfoFile = getObjects().fileProperty();
- moduleInfoFile.set(new File(folder, "module-info.java"));
- Provider moduleInfoContent = providers.fileContents(moduleInfoFile).getAsText();
- if (moduleInfoContent.isPresent()) {
+ Provider moduleInfoProvider = provideModuleInfo(folder, providers);
+ if (moduleInfoProvider.isPresent()) {
if (!moduleInfo.containsKey(folder)) {
- moduleInfo.put(folder, new ModuleInfo(moduleInfoContent.get(), moduleInfoFile.get().getAsFile()));
+ moduleInfo.put(folder, moduleInfoProvider.get() );
}
return true;
}
return false;
}
+
+ private Provider provideModuleInfo(File folder, ProviderFactory providers) {
+ return providers.of(ValueSourceModuleInfo.class, new Action>() {
+ @Override
+ public void execute(ValueSourceSpec moduleInfoSourcePValueSourceSpec) {
+ moduleInfoSourcePValueSourceSpec.parameters(new Action() {
+ @Override
+ public void execute(ValueSourceModuleInfo.ModuleInfoSourceP moduleInfoSourceP) {
+ ConfigurableFileCollection from = getObjects().fileCollection().from(folder);
+ moduleInfoSourceP.getLocations().set(from);
+ }
+ });
+
+ }
+ });
+ }
}
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
new file mode 100644
index 00000000..177bac63
--- /dev/null
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
@@ -0,0 +1,49 @@
+package org.gradlex.javamodule.dependencies.internal.utils;
+
+import org.gradle.api.file.FileCollection;
+import org.gradle.api.file.RegularFileProperty;
+import org.gradle.api.model.ObjectFactory;
+import org.gradle.api.provider.*;
+import org.jetbrains.annotations.Nullable;
+
+import javax.inject.Inject;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.Scanner;
+
+public abstract class ValueSourceModuleInfo implements ValueSource {
+
+
+ interface ModuleInfoSourceP extends ValueSourceParameters {
+
+ Property getLocations();
+ }
+
+
+ @Override
+ public @Nullable ModuleInfo obtain() {
+ ModuleInfoSourceP parameters = getParameters();
+ for (File fileSystemLocation : parameters.getLocations().get()) {
+ File file = new File(fileSystemLocation, "module-info.java");
+ if (file.isFile()) {
+ try {
+ Scanner scan = new Scanner(file);
+ try {
+ scan.useDelimiter("\\Z");
+ String content = scan.next();
+ return new ModuleInfo(content);
+ } finally {
+ scan.close();
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModulePathAnalysis.java b/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModulePathAnalysis.java
index bed5a2b0..19b434a1 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModulePathAnalysis.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModulePathAnalysis.java
@@ -75,7 +75,7 @@ public void report() throws IOException {
if (file.exists()) {
try(Stream lines = Files.lines(file.toPath())) {
String fileContent = lines.collect(Collectors.joining("\n"));
- ownModuleNamesPrefix = new ModuleInfo(fileContent, file).moduleNamePrefix(projectName, main.getName(), false);
+ ownModuleNamesPrefix = new ModuleInfo(fileContent).moduleNamePrefix(projectName, main.getName(), false);
}
break;
}
diff --git a/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties b/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
index 345e67a0..853ed211 100644
--- a/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
+++ b/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
@@ -250,7 +250,7 @@ cloud.piranha.http.undertow=cloud.piranha.http:piranha-http-undertow
cloud.piranha.http.virtual=cloud.piranha.http:piranha-http-virtual
cloud.piranha.http.webapp=cloud.piranha.http:piranha-http-webapp
cloud.piranha.maven.plugins.micro=cloud.piranha.maven.plugins:piranha-micro-maven-plugin
-cloud.piranha.maven.plugins.piranha=cloud.piranha.maven.plugins:piranha-maven-plugin
+cloud.piranha.maven.plugins.piranha=cloud.piranha.maven:piranha-maven-plugin
cloud.piranha.micro=cloud.piranha:piranha-micro
cloud.piranha.micro.builder=cloud.piranha.micro:piranha-micro-builder
cloud.piranha.micro.core=cloud.piranha.micro:piranha-micro-core
@@ -487,6 +487,11 @@ com.apptasticsoftware.mic=com.apptasticsoftware:mic
com.apptasticsoftware.repurchase=com.apptasticsoftware:repurchase
com.apptasticsoftware.rssreader=com.apptasticsoftware:rssreader
com.apptasticsoftware.tickersymbol=com.apptasticsoftware:tickersymbol
+com.arjenzhou.kit.base=com.arjenzhou:kit-base
+com.arjenzhou.kit.fsm=com.arjenzhou:kit-statemachine
+com.arjenzhou.kit.http=com.arjenzhou:kit-http
+com.arjenzhou.kit.lazy=com.arjenzhou:kit-lazy
+com.arjenzhou.kit.scheduler=com.arjenzhou:kit-scheduler
com.asprise.imaging.scan=com.asprise.imaging:java-scanner-access-twain
com.athaydes.keepup.core=com.athaydes.keepup:keepup-core
com.athaydes.logfx=com.athaydes.logfx:logfx
@@ -496,6 +501,7 @@ com.azure.ai.contentsafety=com.azure:azure-ai-contentsafety
com.azure.ai.documentintelligence=com.azure:azure-ai-documentintelligence
com.azure.ai.documenttranslator=com.azure:azure-ai-documenttranslator
com.azure.ai.formrecognizer=com.azure:azure-ai-formrecognizer
+com.azure.ai.inference=com.azure:azure-ai-inference
com.azure.ai.metricsadvisor=com.azure:azure-ai-metricsadvisor
com.azure.ai.openai=com.azure:azure-ai-openai
com.azure.ai.openai.assistants=com.azure:azure-ai-openai-assistants
@@ -763,6 +769,7 @@ com.azure.resourcemanager.recoveryservices=com.azure.resourcemanager:azure-resou
com.azure.resourcemanager.recoveryservicesbackup=com.azure.resourcemanager:azure-resourcemanager-recoveryservicesbackup
com.azure.resourcemanager.recoveryservicesdatareplication=com.azure.resourcemanager:azure-resourcemanager-recoveryservicesdatareplication
com.azure.resourcemanager.recoveryservicessiterecovery=com.azure.resourcemanager:azure-resourcemanager-recoveryservicessiterecovery
+com.azure.resourcemanager.redhatopenshift=com.azure.resourcemanager:azure-resourcemanager-redhatopenshift
com.azure.resourcemanager.redis=com.azure.resourcemanager:azure-resourcemanager-redis
com.azure.resourcemanager.redisenterprise=com.azure.resourcemanager:azure-resourcemanager-redisenterprise
com.azure.resourcemanager.relay=com.azure.resourcemanager:azure-resourcemanager-relay
@@ -922,6 +929,8 @@ com.distrimind.bouncycastle.pkix=com.distrimind.bouncycastle:pkix
com.distrimind.bouncycastle.provider=com.distrimind.bouncycastle:prov
com.distrimind.bouncycastle.util=com.distrimind.bouncycastle:util
com.distrimind.ood=com.distrimind.ood:OOD
+com.distrimind.upnp_igd=com.distrimind.upnp_igd:UPnPIGD-Core
+com.distrimind.upnp_igd.android=com.distrimind.upnp_igd.android:UPnPIGD-Android
com.distrimind.util=com.distrimind.util:Utils
com.dlsc.formsfx=com.dlsc.formsfx:formsfx-core
com.dlsc.formsfx.demo=com.dlsc.formsfx:formsfx-demo
@@ -1262,6 +1271,11 @@ com.github.robtimus.validation.year=com.github.robtimus:year-validation
com.github.robtimus.validation.yearmonth=com.github.robtimus:year-month-validation
com.github.romanqed.jconv=com.github.romanqed:jconv
com.github.romanqed.jeflect=com.github.romanqed:jeflect
+com.github.romanqed.jeflect.field=com.github.romanqed:jeflect-field
+com.github.romanqed.jeflect.lambda=com.github.romanqed:jeflect-lambda
+com.github.romanqed.jeflect.loader=com.github.romanqed:jeflect-loader
+com.github.romanqed.jeflect.meta=com.github.romanqed:jeflect-meta
+com.github.romanqed.jeflect.transform=com.github.romanqed:jeflect-transform
com.github.romanqed.jfunc=com.github.romanqed:jfunc
com.github.romanqed.jsm=com.github.romanqed:jsm
com.github.romanqed.jtype=com.github.romanqed:jtype
@@ -1425,7 +1439,7 @@ com.headius.backport9=com.headius:backport9
com.headius.invokebinder=com.headius:invokebinder
com.headius.modulator=com.headius:modulator
com.headius.options=com.headius:options
-com.hedera.evm.impl=com.hedera.evm:hedera-evm
+com.hedera.evm=com.hedera.evm:hedera-evm
com.hedera.fullstack.base.api=com.hedera.fullstack:fullstack-base-api
com.hedera.fullstack.helm.client=com.hedera.fullstack:fullstack-helm-client
com.hedera.fullstack.junit.support=com.hedera.fullstack:fullstack-junit-support
@@ -1803,6 +1817,7 @@ com.io7m.jwheatsheaf.oxygen=com.io7m.jwheatsheaf:com.io7m.jwheatsheaf.oxygen
com.io7m.jwheatsheaf.ui=com.io7m.jwheatsheaf:com.io7m.jwheatsheaf.ui
com.io7m.jxe.core=com.io7m.jxe:com.io7m.jxe.core
com.io7m.jxe.documentation=com.io7m.jxe:com.io7m.jxe.documentation
+com.io7m.jxe.tests=com.io7m.jxe:com.io7m.jxe.tests
com.io7m.jxtrand.api=com.io7m.jxtrand:com.io7m.jxtrand.api
com.io7m.jxtrand.compiler.api=com.io7m.jxtrand:com.io7m.jxtrand.compiler.api
com.io7m.jxtrand.compiler.basic=com.io7m.jxtrand:com.io7m.jxtrand.compiler.basic
@@ -2265,7 +2280,7 @@ com.nextbreakpoint.nextfractal.contextfree=com.nextbreakpoint:com.nextbreakpoint
com.nextbreakpoint.nextfractal.core=com.nextbreakpoint:com.nextbreakpoint.nextfractal.core
com.nextbreakpoint.nextfractal.mandelbrot=com.nextbreakpoint:com.nextbreakpoint.nextfractal.mandelbrot
com.nextbreakpoint.nextfractal.runtime=com.nextbreakpoint:com.nextbreakpoint.nextfractal.runtime
-com.nimbusds.jose.jwt=com.nimbusds:c2id-server-jwkset
+com.nimbusds.jose.jwt=com.nimbusds:nimbus-jose-jwt
com.ning.compress.lzf=com.ning:compress-lzf
com.nulabinc.zxcvbn=com.nulab-inc:zxcvbn
com.okta.cli=com.okta.cli:okta-cli
@@ -2531,6 +2546,8 @@ com.swardana.materialiconfx=com.swardana:materialiconfx
com.swardana.metroiconfx=com.swardana:metroiconfx
com.swardana.midnight.core=com.swardana.midnight:midnight-core
com.swardana.oofx=com.swardana:oofx
+com.swardana.oombx=com.swardana:oombx
+com.swardana.oomsg=com.swardana:oomsg
com.swardana.wisteria=com.swardana:wisteria
com.swirlds.base=com.swirlds:swirlds-base
com.swirlds.cli=com.swirlds:swirlds-cli
@@ -2659,6 +2676,7 @@ com.yelstream.topp.furnace.vertx.addressing=com.yelstream.topp.furnace:topp-furn
com.yelstream.topp.furnace.vertx.core=com.yelstream.topp.furnace:topp-furnace-vertx-core
com.yelstream.topp.furnace.vertx.health=com.yelstream.topp.furnace:topp-furnace-vertx-health
com.yelstream.topp.furnace.vertx.lifecycle=com.yelstream.topp.furnace:topp-furnace-vertx-lifecycle
+com.yelstream.topp.standard.annotator=com.yelstream.topp.standard:topp-standard-annotator
com.yelstream.topp.standard.core=com.yelstream.topp.standard:topp-standard-core
com.yelstream.topp.standard.health.serialization=com.yelstream.topp.standard:topp-standard-health-serialization
com.yelstream.topp.standard.log.assistance.slf4j=com.yelstream.topp.standard:topp-standard-log-assist-slf4j
@@ -2843,8 +2861,10 @@ dev.kske.undoredo.javafx=dev.kske:undo-redo-javafx
dev.lukebemish.opensesame.core=dev.lukebemish.opensesame:opensesame-core
dev.lukebemish.opensesame.natives=dev.lukebemish.opensesame:opensesame-natives
dev.lukebemish.opensesame.runtime=dev.lukebemish.opensesame:opensesame-runtime
+dev.mccue.atom=dev.mccue:atom
dev.mccue.docopt=dev.mccue:docopt
dev.mccue.feather=dev.mccue:feather
+dev.mccue.flake=dev.mccue:flake
dev.mccue.forever=dev.mccue:forever
dev.mccue.guava=dev.mccue:guava
dev.mccue.guava.base=dev.mccue:guava-base
@@ -2899,6 +2919,21 @@ dev.mccue.purl=dev.mccue:purl
dev.mccue.resolve=dev.mccue:resolve
dev.mccue.resolve.cli=dev.mccue:jresolve-cli
dev.mccue.search=dev.mccue:search
+dev.mccue.tools=dev.mccue:tools
+dev.mccue.tools.googlejavaformat=dev.mccue:tools-googlejavaformat
+dev.mccue.tools.jar=dev.mccue:tools-jar
+dev.mccue.tools.java=dev.mccue:tools-java
+dev.mccue.tools.javac=dev.mccue:tools-javac
+dev.mccue.tools.javadoc=dev.mccue:tools-javadoc
+dev.mccue.tools.javap=dev.mccue:tools-javap
+dev.mccue.tools.jdk=dev.mccue:tools-jdk
+dev.mccue.tools.jlink=dev.mccue:tools-jlink
+dev.mccue.tools.jmod=dev.mccue:tools-jmod
+dev.mccue.tools.jpackage=dev.mccue:tools-jpackage
+dev.mccue.tools.jresolve=dev.mccue:tools-jresolve
+dev.mccue.tools.jstage=dev.mccue:tools-jstage
+dev.mccue.tools.junit=dev.mccue:tools-junit
+dev.mccue.tools.pmd=dev.mccue:tools-pmd
dev.mccue.tritonus.share=dev.mccue:tritonus-share
dev.mccue.urlparameters=dev.mccue:urlparameters
dev.mccue.vorbisspi=dev.mccue:vorbisspi
@@ -2915,6 +2950,11 @@ dev.peterrhodes.optionpricing=dev.peterrhodes.optionpricing:option-pricing
dev.reformator.loomoroutines.bypassjpms=dev.reformator.loomoroutines:loomoroutines-bypassjpms
dev.reformator.loomoroutines.common=dev.reformator.loomoroutines:loomoroutines-common
dev.reformator.loomoroutines.dispatcher=dev.reformator.loomoroutines:loomoroutines-dispatcher
+dev.reformator.stacktracedecoroutinator.common=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-common
+dev.reformator.stacktracedecoroutinator.generator=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-generator
+dev.reformator.stacktracedecoroutinator.jvm=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm
+dev.reformator.stacktracedecoroutinator.jvmagentcommon=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm-agent-common
+dev.reformator.stacktracedecoroutinator.provider=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-provider
dev.secondsun.javaisoengine=dev.secondsun:java-isoengine
dev.secondsun.retro.util=dev.secondsun:retro-common
dev.secondsun.tm4e.core=dev.secondsun:org.eclipse.tm4e.core
@@ -2941,6 +2981,7 @@ es.iti.wakamiti.groovy=es.iti.wakamiti:groovy-wakamiti-plugin
es.iti.wakamiti.io=es.iti.wakamiti:io-wakamiti-plugin
es.iti.wakamiti.launcher=es.iti.wakamiti:wakamiti-launcher
es.iti.wakamiti.lsp=es.iti.wakamiti:wakamiti-lsp
+es.iti.wakamiti.plugins.jmeter=es.iti.wakamiti:jmeter-wakamiti-plugin
es.iti.wakamiti.report.cucumber=es.iti.wakamiti:cucumber-exporter-wakamiti-plugin
es.iti.wakamiti.report.html=es.iti.wakamiti:html-report-wakamiti-plugin
es.iti.wakamiti.rest=es.iti.wakamiti:rest-wakamiti-plugin
@@ -3110,6 +3151,7 @@ io.avaje.http.javalin.generator=io.avaje:avaje-http-javalin-generator
io.avaje.http.jex.generator=io.avaje:avaje-http-jex-generator
io.avaje.http.nima.generator=io.avaje:avaje-http-helidon-generator
io.avaje.http.plugin=io.avaje:avaje-http-inject-plugin
+io.avaje.http.sigma.generator=io.avaje:avaje-http-sigma-generator
io.avaje.inject=io.avaje:avaje-inject
io.avaje.inject.aop=io.avaje:avaje-inject-aop
io.avaje.inject.events=io.avaje:avaje-inject-events
@@ -3144,6 +3186,7 @@ io.avaje.prism=io.avaje:avaje-prisms
io.avaje.prism.core=io.avaje:avaje-prism-core
io.avaje.recordbuilder=io.avaje:avaje-record-builder
io.avaje.recordbuilder.core=io.avaje:avaje-record-builder-core
+io.avaje.sigma=io.avaje:avaje-sigma
io.avaje.spi=io.avaje:avaje-spi-service
io.avaje.spi.core=io.avaje:avaje-spi-core
io.avaje.validation=io.avaje:avaje-validator
@@ -3247,7 +3290,7 @@ io.github.classgraph=io.github.classgraph:classgraph
io.github.coffeelibs.tinyoauth2client=io.github.coffeelibs:tiny-oauth2-client
io.github.danthe1st.json_compile=io.github.danthe1st:compile-time-json-parser
io.github.danygold.fx.moshi=io.github.danygold:fx-moshi
-io.github.dmlloyd.classfile=io.github.dmlloyd:jdk-classfile-preview
+io.github.dmlloyd.classfile=io.github.dmlloyd:jdk-classfile-backport
io.github.dsheirer.rrapi=io.github.dsheirer:radio-reference-api
io.github.easytuples=io.github.easytuples:easy-tuples
io.github.ericmedvet.jgea.core=io.github.ericmedvet:jgea.core
@@ -3256,6 +3299,7 @@ io.github.ericmedvet.jgea.problem=io.github.ericmedvet:jgea.problem
io.github.ericmedvet.jgea.sample=io.github.ericmedvet:jgea.sample
io.github.ericmedvet.jgea.telegram=io.github.ericmedvet:jgea.telegram
io.github.ericmedvet.jgea.tui=io.github.ericmedvet:jgea.tui
+io.github.ericmedvet.jnb.buildable=io.github.ericmedvet:jnb.buildable
io.github.ericmedvet.jnb.core=io.github.ericmedvet:jnb.core
io.github.ericmedvet.jnb.datastructure=io.github.ericmedvet:jnb.datastructure
io.github.ericmedvet.jnb.sample=io.github.ericmedvet:jnb.sample
@@ -3992,8 +4036,12 @@ io.jooby=io.jooby:jooby
io.jooby.apt=io.jooby:jooby-apt
io.jooby.avaje.inject=io.jooby:jooby-avaje-inject
io.jooby.avaje.jsonb=io.jooby:jooby-avaje-jsonb
+io.jooby.avaje.validator=io.jooby:jooby-avaje-validator
+io.jooby.awssdkv2=io.jooby:jooby-awssdk-v2
io.jooby.caffeine=io.jooby:jooby-caffeine
+io.jooby.camel=io.jooby:jooby-camel
io.jooby.conscrypt=io.jooby:jooby-conscrypt
+io.jooby.dbscheduler=io.jooby:jooby-db-scheduler
io.jooby.ebean=io.jooby:jooby-ebean
io.jooby.flyway=io.jooby:jooby-flyway
io.jooby.freemarker=io.jooby:jooby-freemarker
@@ -4003,6 +4051,7 @@ io.jooby.gson=io.jooby:jooby-gson
io.jooby.guice=io.jooby:jooby-guice
io.jooby.handlebars=io.jooby:jooby-handlebars
io.jooby.hibernate=io.jooby:jooby-hibernate
+io.jooby.hibernate.validator=io.jooby:jooby-hibernate-validator
io.jooby.hikari=io.jooby:jooby-hikari
io.jooby.jackson=io.jooby:jooby-jackson
io.jooby.jdbi=io.jooby:jooby-jdbi
@@ -4037,6 +4086,7 @@ io.jstach.opt.spring.webflux.example=io.jstach:jstachio-spring-webflux-example
io.jstach.opt.spring.webmvc=io.jstach:jstachio-spring-webmvc
io.jstach.rainbowgum=io.jstach.rainbowgum:rainbowgum-core
io.jstach.rainbowgum.annotation=io.jstach.rainbowgum:rainbowgum-annotation
+io.jstach.rainbowgum.apt=io.jstach.rainbowgum:rainbowgum-apt
io.jstach.rainbowgum.avaje=io.jstach.rainbowgum:rainbowgum-avaje-config
io.jstach.rainbowgum.bundle=io.jstach.rainbowgum:rainbowgum
io.jstach.rainbowgum.disruptor=io.jstach.rainbowgum:rainbowgum-disruptor
@@ -4046,9 +4096,13 @@ io.jstach.rainbowgum.json=io.jstach.rainbowgum:rainbowgum-json
io.jstach.rainbowgum.pattern=io.jstach.rainbowgum:rainbowgum-pattern
io.jstach.rainbowgum.rabbitmq=io.jstach.rainbowgum:rainbowgum-rabbitmq
io.jstach.rainbowgum.slf4j=io.jstach.rainbowgum:rainbowgum-slf4j
+io.jstach.rainbowgum.spring.boot=io.jstach.rainbowgum:rainbowgum-spring-boot
+io.jstach.rainbowgum.spring.boot.starter=io.jstach.rainbowgum:rainbowgum-spring-boot-starter
io.jstach.rainbowgum.systemlogger=io.jstach.rainbowgum:rainbowgum-systemlogger
+io.jstach.rainbowgum.tomcat=io.jstach.rainbowgum:rainbowgum-tomcat
io.kodokojo.property.configurer=io.kodokojo:property-configurer
io.kojan.javadeptools.rpm=io.kojan:java-deptools-native
+io.leangen.geantyref=io.leangen.geantyref:geantyref
io.lindstrom.mpd=io.lindstrom:mpd-parser
io.litterat.pep=io.litterat:litterat-pep
io.matthewnelson.encoding.base16=io.matthewnelson.encoding:base16-jvm
@@ -4088,6 +4142,22 @@ io.mokamint.plotter=io.mokamint:io-mokamint-plotter
io.mokamint.plotter.api=io.mokamint:io-mokamint-plotter-api
io.mokamint.plotter.cli=io.mokamint:io-mokamint-plotter-cli
io.nayuki.qrcodegen=io.nayuki:qrcodegen
+io.netty.codec.compression=io.netty:netty-codec-compression
+io.netty.codec.marshalling=io.netty:netty-codec-marshalling
+io.netty.codec.protobuf=io.netty:netty-codec-protobuf
+io.netty.codec.redis=io.netty:netty-codec-redis
+io.netty.codec.smtp=io.netty:netty-codec-smtp
+io.netty.handler.ssl.ocsp=io.netty:netty-handler-ssl-ocsp
+io.netty.internal.tcnative=io.netty:netty-tcnative-boringssl-static
+io.netty.resolver.dns.classes.macos=io.netty:netty-resolver-dns-classes-macos
+io.netty.resolver.dns.macos.osx.aarch_64=io.netty:netty-resolver-dns-native-macos
+io.netty.tcnative.classes.openssl=io.netty:netty-tcnative-classes
+io.netty.transport.classes.epoll=io.netty:netty-transport-classes-epoll
+io.netty.transport.classes.io_uring=io.netty:netty-transport-classes-io_uring
+io.netty.transport.classes.kqueue=io.netty:netty-transport-classes-kqueue
+io.netty.transport.io_uring=io.netty:netty-transport-native-io_uring
+io.netty.transport.kqueue=io.netty:netty-transport-native-kqueue
+io.netty.transport.unix.common=io.netty:netty-transport-native-unix-common
io.norberg.rut=io.norberg:rut
io.opencmw=io.opencmw:core
io.opencmw.client=io.opencmw:client
@@ -4117,6 +4187,8 @@ io.smallrye.common.ref=io.smallrye.common:smallrye-common-ref
io.smallrye.common.version=io.smallrye.common:smallrye-common-version
io.smallrye.common.vertx=io.smallrye.common:smallrye-common-vertx-context
io.toolisticon.cute.integrationtest.javanine.regularmodule=io.toolisticon.cute:integration-test-java9-regularModule
+io.vertx.docgen=io.vertx:vertx-docgen-api
+io.vertx.docgen.processor=io.vertx:vertx-docgen-processor
io.vproxy.adaptor.netty=io.vproxy:vproxy-adaptor-netty
io.vproxy.adaptor.vertx=io.vproxy:vproxy-adaptor-vertx
io.vproxy.base=io.vproxy:commons
@@ -4177,6 +4249,7 @@ is.codion.framework.db.http=is.codion:codion-framework-db-http
is.codion.framework.db.local=is.codion:codion-framework-db-local
is.codion.framework.db.rmi=is.codion:codion-framework-db-rmi
is.codion.framework.domain=is.codion:codion-framework-domain
+is.codion.framework.domain.db=is.codion:codion-framework-domain-db
is.codion.framework.domain.test=is.codion:codion-framework-domain-test
is.codion.framework.i18n=is.codion:codion-framework-i18n
is.codion.framework.json.db=is.codion:codion-framework-json-db
@@ -4369,6 +4442,29 @@ net.dongliu.xhttp.json=net.dongliu:xhttp-json-api
net.dongliu.xhttp.json.jackson=net.dongliu:xhttp-json-jackson
net.dongliu.xhttp.json.jsonb=net.dongliu:xhttp-json-jsonb
net.dontcode.core=net.dontcode:core
+net.dreamlu.mica.mqtt.client=net.dreamlu:mica-mqtt-client
+net.dreamlu.mica.mqtt.client.jfinal.plugin=net.dreamlu:mica-mqtt-client-jfinal-plugin
+net.dreamlu.mica.mqtt.client.solon.plugin=net.dreamlu:mica-mqtt-client-solon-plugin
+net.dreamlu.mica.mqtt.client.spring.boot.starter=net.dreamlu:mica-mqtt-client-spring-boot-starter
+net.dreamlu.mica.mqtt.codec=net.dreamlu:mica-mqtt-codec
+net.dreamlu.mica.mqtt.common=net.dreamlu:mica-mqtt-common
+net.dreamlu.mica.mqtt.server=net.dreamlu:mica-mqtt-server
+net.dreamlu.mica.mqtt.server.jfinal.plugin=net.dreamlu:mica-mqtt-server-jfinal-plugin
+net.dreamlu.mica.mqtt.server.solon.plugin=net.dreamlu:mica-mqtt-server-solon-plugin
+net.dreamlu.mica.mqtt.server.spring.boot.starter=net.dreamlu:mica-mqtt-server-spring-boot-starter
+net.dreamlu.mica.mqttx.client=net.dreamlu:mica-mqttx-client
+net.dreamlu.mica.mqttx.client.jfinal.plugin=net.dreamlu:mica-mqttx-client-jfinal-plugin
+net.dreamlu.mica.mqttx.client.solon.plugin=net.dreamlu:mica-mqttx-client-solon-plugin
+net.dreamlu.mica.mqttx.client.spring.boot.starter=net.dreamlu:mica-mqttx-client-spring-boot-starter
+net.dreamlu.mica.mqttx.codec=net.dreamlu:mica-mqttx-codec
+net.dreamlu.mica.mqttx.common=net.dreamlu:mica-mqttx-common
+net.dreamlu.mica.mqttx.server=net.dreamlu:mica-mqttx-server
+net.dreamlu.mica.mqttx.server.jfinal.plugin=net.dreamlu:mica-mqttx-server-jfinal-plugin
+net.dreamlu.mica.mqttx.server.solon.plugin=net.dreamlu:mica-mqttx-server-solon-plugin
+net.dreamlu.mica.mqttx.server.spring.boot.starter=net.dreamlu:mica-mqttx-server-spring-boot-starter
+net.dreamlu.mica.net.core=net.dreamlu:mica-net-core
+net.dreamlu.mica.net.http=net.dreamlu:mica-net-http
+net.dreamlu.mica.net.utils=net.dreamlu:mica-net-utils
net.e175.klaus.solarpositioning=net.e175.klaus:solarpositioning
net.fellbaum.jemoji=net.fellbaum:jemoji
net.finmath.gpu=net.finmath:finmath-lib-cuda-extensions
@@ -4376,6 +4472,7 @@ net.finmath.lib=net.finmath:finmath-lib
net.finmath.opencl=net.finmath:finmath-lib-opencl-extensions
net.finmath.plots=net.finmath:finmath-lib-plot-extensions
net.frogmouth.chronyjava=net.frogmouth.chronyjava:java-chrny-candm
+net.hamnaberg.arities=net.hamnaberg:arities
net.javapla.jawn.core=net.javapla.jawn:jawn-core
net.jonathangiles.tools.sitebuilder=net.jonathangiles.tools:sitebuilder
net.jonathangiles.tools.teenyhttpd=net.jonathangiles.tools:teenyhttpd
@@ -4399,7 +4496,9 @@ net.mahdilamb.colormap=net.mahdilamb:colormap
net.mahdilamb.dataframe=net.mahdilamb:dataframe
net.mahdilamb.util.property=net.mahdilamb:utils-properties
net.mahdilamb.utils.tuples=net.mahdilamb:utils-tuples
-net.morimekta.tiny.server=net.morimekta.tiny.server:tiny-server
+net.morimekta.tiny.http=net.morimekta.tiny:tiny-http
+net.morimekta.tiny.logback=net.morimekta.tiny:tiny-logback
+net.morimekta.tiny.server=net.morimekta.tiny:tiny-server
net.neoforged.bus=net.neoforged:bus
net.nlacombe.jsonfeed=net.nlacombe:nl-jsonfeed
net.nlacombe.jsonfeed.gson=net.nlacombe:nl-jsonfeed-gson
@@ -4642,6 +4741,10 @@ org.apache.commons.rng.examples.jpms.app=org.apache.commons:commons-rng-examples
org.apache.commons.rng.examples.jpms.lib=org.apache.commons:commons-rng-examples-jpms-lib
org.apache.commons.rng.sampling=org.apache.commons:commons-rng-sampling
org.apache.commons.rng.simple=org.apache.commons:commons-rng-simple
+org.apache.commons.statistics.descriptive=org.apache.commons:commons-statistics-descriptive
+org.apache.commons.statistics.distribution=org.apache.commons:commons-statistics-distribution
+org.apache.commons.statistics.inference=org.apache.commons:commons-statistics-inference
+org.apache.commons.statistics.ranking=org.apache.commons:commons-statistics-ranking
org.apache.commons.text=org.apache.commons:commons-text
org.apache.datasketches.memory=org.apache.datasketches:datasketches-memory
org.apache.derby.client=org.apache.derby:derbyclient
@@ -4738,6 +4841,7 @@ org.apache.logging.log4j.layout.jackson=org.apache.logging.log4j:log4j-layout-ja
org.apache.logging.log4j.layout.jackson.xml=org.apache.logging.log4j:log4j-layout-jackson-xml
org.apache.logging.log4j.layout.template.json=org.apache.logging.log4j:log4j-layout-template-json
org.apache.logging.log4j.layout.template.json.test=org.apache.logging.log4j:log4j-layout-template-json-test
+org.apache.logging.log4j.mongodb=org.apache.logging.log4j:log4j-mongodb
org.apache.logging.log4j.mongodb4=org.apache.logging.log4j:log4j-mongodb4
org.apache.logging.log4j.plugin.processor=org.apache.logging.log4j:log4j-plugin-processor
org.apache.logging.log4j.plugins=org.apache.logging.log4j:log4j-plugins
@@ -4800,6 +4904,7 @@ org.apache.sis.storage.geotiff=org.apache.sis.storage:sis-geotiff
org.apache.sis.storage.netcdf=org.apache.sis.storage:sis-netcdf
org.apache.sis.storage.sql=org.apache.sis.storage:sis-sqlstore
org.apache.sis.storage.xml=org.apache.sis.storage:sis-xmlstore
+org.apache.sling.commons.threads=org.apache.sling:org.apache.sling.commons.threads
org.apache.tomcat.api=org.apache.tomcat:tomcat-api
org.apache.tomcat.catalina=org.apache.tomcat:tomcat-catalina
org.apache.tomcat.catalina.ha=org.apache.tomcat:tomcat-catalina-ha
@@ -4905,6 +5010,7 @@ org.bouncycastle.pkix=org.bouncycastle:bcpkix-jdk18on
org.bouncycastle.provider=org.bouncycastle:bcprov-jdk18on
org.bouncycastle.tls=org.bouncycastle:bctls-jdk18on
org.bouncycastle.util=org.bouncycastle:bcutil-jdk18on
+org.bspfsystems.yamlconfiguration=org.bspfsystems:yamlconfiguration
org.burningwave=org.burningwave:common
org.burningwave.core=org.burningwave:core
org.burningwave.json=org.burningwave:json
@@ -5103,6 +5209,7 @@ org.commandmosaic.spring.web=org.commandmosaic:commandmosaic-spring-web
org.commandmosaic.springboot.autoconfigure=org.commandmosaic:commandmosaic-spring-boot-autoconfigure
org.commonmark=org.commonmark:commonmark
org.commonmark.ext.autolink=org.commonmark:commonmark-ext-autolink
+org.commonmark.ext.footnotes=org.commonmark:commonmark-ext-footnotes
org.commonmark.ext.front.matter=org.commonmark:commonmark-ext-yaml-front-matter
org.commonmark.ext.gfm.strikethrough=org.commonmark:commonmark-ext-gfm-strikethrough
org.commonmark.ext.gfm.tables=org.commonmark:commonmark-ext-gfm-tables
@@ -5485,8 +5592,8 @@ org.glavo.png=org.glavo:simple-png
org.glavo.png.imageio=org.glavo:simple-png-imageio
org.glavo.png.javafx=org.glavo:simple-png-javafx
org.graalvm.espresso=org.graalvm.espresso:espresso-language
-org.graalvm.espresso.resources.libs=org.graalvm.espresso:espresso-libs-resources-linux-amd64
-org.graalvm.espresso.resources.runtime=org.graalvm.espresso:espresso-runtime-resources-linux-amd64
+org.graalvm.espresso.resources.libs=org.graalvm.espresso:espresso-libs-resources
+org.graalvm.espresso.resources.runtime=org.graalvm.espresso:espresso-runtime-resources-jdk21
org.graalvm.js=org.graalvm.js:js-language
org.graalvm.js.isolate=org.graalvm.js:js-isolate
org.graalvm.js.launcher=org.graalvm.js:js-launcher
@@ -5509,6 +5616,7 @@ org.graalvm.nativeimage.pointsto=org.graalvm.nativeimage:pointsto
org.graalvm.nativeimage.pointsto.standalone=org.graalvm.nativeimage:standalone-pointsto
org.graalvm.polyglot=org.graalvm.polyglot:polyglot
org.graalvm.python.embedding=org.graalvm.python:python-embedding
+org.graalvm.python.embedding.tools=org.graalvm.python:python-embedding-tools
org.graalvm.ruby=org.graalvm.ruby:ruby-language
org.graalvm.ruby.annotations=org.graalvm.ruby:ruby-annotations
org.graalvm.ruby.resources=org.graalvm.ruby:ruby-resources
@@ -5516,7 +5624,9 @@ org.graalvm.ruby.shared=org.graalvm.ruby:ruby-shared
org.graalvm.sdk=org.graalvm.sdk:graal-sdk
org.graalvm.shadowed.antlr4=org.graalvm.shadowed:antlr4
org.graalvm.shadowed.icu4j=org.graalvm.shadowed:icu4j
+org.graalvm.shadowed.jcodings=org.graalvm.shadowed:jcodings
org.graalvm.shadowed.jline=org.graalvm.shadowed:jline
+org.graalvm.shadowed.joni=org.graalvm.shadowed:joni
org.graalvm.shadowed.org.json=org.graalvm.shadowed:json
org.graalvm.shadowed.xz=org.graalvm.shadowed:xz
org.graalvm.tools.api.lsp=org.graalvm.tools:lsp_api
@@ -5921,6 +6031,7 @@ org.nasdanika.models.functionflow.processors.doc=org.nasdanika.models.function-f
org.nasdanika.models.functionflow.processors.ecore=org.nasdanika.models.function-flow.processors:ecore
org.nasdanika.models.functionflow.processors.targets.java=org.nasdanika.models.function-flow.processors.targets:java
org.nasdanika.models.gitlab=org.nasdanika.models.gitlab:model
+org.nasdanika.models.gitlab.cli=org.nasdanika.models.gitlab:cli
org.nasdanika.models.graph.processors=org.nasdanika.models.graph:processors
org.nasdanika.models.java=org.nasdanika.models.java:model
org.nasdanika.models.java.cli=org.nasdanika.models.java:cli
@@ -5935,7 +6046,8 @@ org.nasdanika.rag.model=org.nasdanika.rag:model
org.nasdanika.rag.openai=org.nasdanika.rag:open-ai
org.nasdanika.rag.processors=org.nasdanika.rag:processors
org.neo4j.cypherdsl.codegen.core=org.neo4j:neo4j-cypher-dsl-codegen-core
-org.neo4j.cypherdsl.core=org.neo4j:neo4j-cypher-dsl
+org.neo4j.cypherdsl.core=org.neo4j:neo4j-connector-apache-spark_2.13
+org.neo4j.cypherdsl.parser=org.neo4j:neo4j-cypher-dsl-parser
org.neo4j.cypherdsl.support.schema_name=org.neo4j:neo4j-cypher-dsl-schema-name-support
org.neo4j.driver=org.neo4j.driver:neo4j-java-driver-all
org.neo4j.jdbc=org.neo4j:neo4j-jdbc-full-bundle
@@ -6117,8 +6229,10 @@ org.praxislive.audio=org.praxislive:praxiscore-audio
org.praxislive.audio.code=org.praxislive:praxiscore-audio-code
org.praxislive.audio.components=org.praxislive:praxiscore-audio-components
org.praxislive.base=org.praxislive:praxiscore-base
+org.praxislive.bin=org.praxislive:praxiscore-bin
org.praxislive.code=org.praxislive:praxiscore-code
org.praxislive.code.ivy=org.praxislive:praxiscore-code-ivy
+org.praxislive.code.mima=org.praxislive:praxiscore-code-mima
org.praxislive.code.services=org.praxislive:praxiscore-code-services
org.praxislive.core=org.praxislive:praxiscore-api
org.praxislive.core.code=org.praxislive:praxiscore-core-code
@@ -6135,6 +6249,7 @@ org.praxislive.libp5x.core=org.praxislive.libp5x:processing-core
org.praxislive.libp5x.lwjgl=org.praxislive.libp5x:processing-lwjgl
org.praxislive.midi=org.praxislive:praxiscore-midi
org.praxislive.osc=org.praxislive:praxiscore-osc
+org.praxislive.project=org.praxislive:praxiscore-project
org.praxislive.purl=org.praxislive:praxiscore-purl
org.praxislive.script=org.praxislive:praxiscore-script
org.praxislive.tinkerforge=org.praxislive:praxiscore-tinkerforge
@@ -6345,6 +6460,8 @@ org.seleniumhq.selenium.devtools_v124=org.seleniumhq.selenium:selenium-devtools-
org.seleniumhq.selenium.devtools_v125=org.seleniumhq.selenium:selenium-devtools-v125
org.seleniumhq.selenium.devtools_v126=org.seleniumhq.selenium:selenium-devtools-v126
org.seleniumhq.selenium.devtools_v127=org.seleniumhq.selenium:selenium-devtools-v127
+org.seleniumhq.selenium.devtools_v128=org.seleniumhq.selenium:selenium-devtools-v128
+org.seleniumhq.selenium.devtools_v129=org.seleniumhq.selenium:selenium-devtools-v129
org.seleniumhq.selenium.devtools_v84=org.seleniumhq.selenium:selenium-devtools-v84
org.seleniumhq.selenium.devtools_v85=org.seleniumhq.selenium:selenium-devtools-v85
org.seleniumhq.selenium.devtools_v86=org.seleniumhq.selenium:selenium-devtools-v86
@@ -6811,6 +6928,9 @@ tokyo.northside.mdict=tokyo.northside:mdict4j
tokyo.northside.pdic4j=tokyo.northside:pdic4j
tokyo.northside.stardict4j=tokyo.northside:stardict4j
tokyo.northside.trie4j=tokyo.northside:trie4j
+tools.aqua.turnkey.cvc5=tools.aqua:cvc5-turnkey
+tools.aqua.turnkey.support=tools.aqua:turnkey-support
+tools.aqua.turnkey.z3=tools.aqua:z3-turnkey
tools.dynamia.actions=tools.dynamia:tools.dynamia.actions
tools.dynamia.commons=tools.dynamia:tools.dynamia.commons
tools.dynamia.crud=tools.dynamia:tools.dynamia.crud
@@ -6837,6 +6957,7 @@ uk.co.caprica.vlcj=uk.co.caprica:vlcj
uk.co.caprica.vlcj.filefilters=uk.co.caprica:vlcj-file-filters
uk.co.caprica.vlcj.info=uk.co.caprica:vlcj-info
uk.co.caprica.vlcj.javafx=uk.co.caprica:vlcj-javafx
+uk.co.caprica.vlcj.legacy=uk.co.caprica:vlcj-legacy
uk.co.caprica.vlcj.mrls=uk.co.caprica:vlcj-mrls
uk.co.caprica.vlcj.natives=uk.co.caprica:vlcj-natives
uk.co.caprica.vlcj.osx.stubs=uk.co.caprica:vlcj-osx-stubs
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ModuleInfoParseTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ModuleInfoParseTest.groovy
index 437c16a1..f2d35426 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ModuleInfoParseTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ModuleInfoParseTest.groovy
@@ -18,7 +18,7 @@ class ModuleInfoParseTest extends Specification {
// requires com.bla.blub;
requires transitive foo.bar.la;
}
- ''', new File(''))
+ ''')
expect:
moduleInfo.moduleNamePrefix("thing", "main", false) == "some"
@@ -35,7 +35,7 @@ class ModuleInfoParseTest extends Specification {
module some.thing { // module some.thing.else
requires transitive foo.bar.la;
}
- ''', new File(''))
+ ''')
expect:
moduleInfo.moduleNamePrefix("thing", "main", false) == "some"
@@ -55,7 +55,7 @@ class ModuleInfoParseTest extends Specification {
*/
requires static foo.bar.la;
}
- ''', new File(''))
+ ''')
expect:
moduleInfo.get(REQUIRES) == []
@@ -75,7 +75,7 @@ class ModuleInfoParseTest extends Specification {
requires only.a.comment
*/
}
- ''', new File(''))
+ ''')
expect:
moduleInfo.get(REQUIRES) == ["foo.bar.li"]
@@ -91,7 +91,7 @@ class ModuleInfoParseTest extends Specification {
module some.thing {
requires /*runtime*/ foo.bar.lo;
}
- ''', new File(''))
+ ''')
expect:
moduleInfo.get(REQUIRES) == []
From b1086dd790b791bc7ab4effa5a0a918be9fa3821 Mon Sep 17 00:00:00 2001
From: goesen
Date: Tue, 24 Sep 2024 22:08:14 +0200
Subject: [PATCH 02/24] wip safe stuff
---
.../JavaModuleDependenciesPlugin.java | 23 +++--------
.../internal/utils/ModuleInfoCache.java | 18 ++++++---
.../internal/utils/ValueSourceModuleInfo.java | 38 ++++++++-----------
3 files changed, 33 insertions(+), 46 deletions(-)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
index 502a87f6..1dc43ae4 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
@@ -16,12 +16,7 @@
package org.gradlex.javamodule.dependencies;
-import kotlin.Pair;
-import org.gradle.api.GradleException;
-import org.gradle.api.NonNullApi;
-import org.gradle.api.Plugin;
-import org.gradle.api.Project;
-import org.gradle.api.Task;
+import org.gradle.api.*;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.artifacts.VersionCatalogsExtension;
@@ -41,12 +36,7 @@
import org.gradlex.javamodule.dependencies.internal.dsl.AllDirectivesInternal;
import org.gradlex.javamodule.dependencies.internal.dsl.GradleOnlyDirectivesInternal;
import org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo;
-import org.gradlex.javamodule.dependencies.tasks.BuildFileDependenciesGenerate;
-import org.gradlex.javamodule.dependencies.tasks.ModuleDependencyReport;
-import org.gradlex.javamodule.dependencies.tasks.ModuleDirectivesOrderingCheck;
-import org.gradlex.javamodule.dependencies.tasks.ModuleInfoGenerate;
-import org.gradlex.javamodule.dependencies.tasks.ModulePathAnalysis;
-import org.gradlex.javamodule.dependencies.tasks.ModuleVersionRecommendation;
+import org.gradlex.javamodule.dependencies.tasks.*;
import java.io.File;
import java.util.HashSet;
@@ -57,11 +47,7 @@
import static org.gradle.language.base.plugins.LifecycleBasePlugin.VERIFICATION_GROUP;
import static org.gradlex.javamodule.dependencies.JavaModuleDependenciesExtension.JAVA_MODULE_DEPENDENCIES;
import static org.gradlex.javamodule.dependencies.internal.utils.DependencyDeclarationsUtil.declaredDependencies;
-import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES;
-import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_RUNTIME;
-import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_STATIC;
-import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_STATIC_TRANSITIVE;
-import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_TRANSITIVE;
+import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.*;
import static org.gradlex.javamodule.dependencies.internal.utils.ModuleNamingUtil.sourceSetToModuleName;
@SuppressWarnings("unused")
@@ -236,7 +222,8 @@ private void setupOrderingCheckTasks(Project project, TaskProvider checkAl
t.setDescription("Check order of directives in 'module-info.java' in '" + sourceSet.getName() + "' source set");
ModuleInfo moduleInfo = javaModuleDependencies.getModuleInfoCache().get().get(sourceSet, project.getProviders());
- t.getModuleInfoPath().convention("module-info.java");
+ File folder = javaModuleDependencies.getModuleInfoCache().get().getFolder(sourceSet, project.getProviders());
+ t.getModuleInfoPath().convention(folder == null ? null : new File(folder, "module-info.java").getAbsolutePath());
t.getModuleNamePrefix().convention(moduleInfo.moduleNamePrefix(project.getName(), sourceSet.getName(), false));
t.getModuleInfo().convention(moduleInfo);
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
index 9c00f0cf..243246dd 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
@@ -17,8 +17,6 @@
package org.gradlex.javamodule.dependencies.internal.utils;
import org.gradle.api.Action;
-import org.gradle.api.file.ConfigurableFileCollection;
-import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.logging.Logger;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.Provider;
@@ -31,7 +29,8 @@
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
import static org.gradlex.javamodule.dependencies.internal.utils.ModuleNamingUtil.sourceSetToCapabilitySuffix;
@@ -71,6 +70,16 @@ public ModuleInfo get(SourceSet sourceSet, ProviderFactory providers) {
return ModuleInfo.EMPTY;
}
+ public File getFolder(SourceSet sourceSet, ProviderFactory providers) {
+ for (File folder : sourceSet.getJava().getSrcDirs()) {
+ if (maybePutModuleInfo(folder, providers)) {
+ return folder;
+ }
+ }
+ return null;
+ }
+
+
/**
* @param projectRoot the project that should hold a Java module
* @return parsed module-info.java for the given project assuming a standard Java project layout
@@ -121,8 +130,7 @@ public void execute(ValueSourceSpec mod
moduleInfoSourcePValueSourceSpec.parameters(new Action() {
@Override
public void execute(ValueSourceModuleInfo.ModuleInfoSourceP moduleInfoSourceP) {
- ConfigurableFileCollection from = getObjects().fileCollection().from(folder);
- moduleInfoSourceP.getLocations().set(from);
+ moduleInfoSourceP.getDir().set(folder);
}
});
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
index 177bac63..1add01c1 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
@@ -1,16 +1,12 @@
package org.gradlex.javamodule.dependencies.internal.utils;
-import org.gradle.api.file.FileCollection;
-import org.gradle.api.file.RegularFileProperty;
-import org.gradle.api.model.ObjectFactory;
-import org.gradle.api.provider.*;
+import org.gradle.api.file.DirectoryProperty;
+import org.gradle.api.provider.ValueSource;
+import org.gradle.api.provider.ValueSourceParameters;
import org.jetbrains.annotations.Nullable;
-import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
import java.util.Scanner;
public abstract class ValueSourceModuleInfo implements ValueSource {
@@ -18,31 +14,27 @@ public abstract class ValueSourceModuleInfo implements ValueSource getLocations();
+ DirectoryProperty getDir();
}
@Override
public @Nullable ModuleInfo obtain() {
ModuleInfoSourceP parameters = getParameters();
- for (File fileSystemLocation : parameters.getLocations().get()) {
- File file = new File(fileSystemLocation, "module-info.java");
- if (file.isFile()) {
+ File file = new File(parameters.getDir().get().getAsFile(), "module-info.java");
+ if (file.isFile()) {
+ try {
+ Scanner scan = new Scanner(file);
try {
- Scanner scan = new Scanner(file);
- try {
- scan.useDelimiter("\\Z");
- String content = scan.next();
- return new ModuleInfo(content);
- } finally {
- scan.close();
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
+ scan.useDelimiter("\\Z");
+ String content = scan.next();
+ return new ModuleInfo(content);
+ } finally {
+ scan.close();
}
+ } catch (IOException e) {
+ throw new RuntimeException(e);
}
-
-
}
return null;
}
From 1645d32b6545b90f4fb89bc810cbc12ba09ce89b Mon Sep 17 00:00:00 2001
From: goesen
Date: Tue, 24 Sep 2024 22:14:09 +0200
Subject: [PATCH 03/24] wip safe stuff
---
.../org/gradlex/javamodule/dependencies/SharedMappings.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java b/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java
index d0284e87..c0be3e1f 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java
@@ -29,7 +29,7 @@ static Map loadModuleNameToGAProperties() {
@Override
public synchronized Object put(Object key, Object value) {
if (get(key) != null) {
- // throw new IllegalArgumentException(key + " already present.");
+ throw new IllegalArgumentException(key + " already present.");
}
return super.put(key, value);
}
From 2e92c3ed4929bfad759342742bfc0a22f7b28a53 Mon Sep 17 00:00:00 2001
From: goesen
Date: Tue, 24 Sep 2024 22:15:05 +0200
Subject: [PATCH 04/24] revert tempStuff
---
samples/configuration-cache/settings.gradle.kts | 2 --
1 file changed, 2 deletions(-)
diff --git a/samples/configuration-cache/settings.gradle.kts b/samples/configuration-cache/settings.gradle.kts
index ecaa7990..99871c34 100644
--- a/samples/configuration-cache/settings.gradle.kts
+++ b/samples/configuration-cache/settings.gradle.kts
@@ -1,9 +1,7 @@
pluginManagement {
includeBuild("build-logic")
- includeBuild("../..")
}
dependencyResolutionManagement {
- includeBuild("../..")
repositories.mavenCentral()
}
From 15ce4296897732dbe35ec627e4961ad06b5ccfda Mon Sep 17 00:00:00 2001
From: goesen
Date: Tue, 24 Sep 2024 22:18:24 +0200
Subject: [PATCH 05/24] revert temp stuff
---
settings.gradle.kts | 2 --
1 file changed, 2 deletions(-)
diff --git a/settings.gradle.kts b/settings.gradle.kts
index d013ad48..d5b6db58 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -10,8 +10,6 @@ dependencyResolutionManagement {
repositories.gradlePluginPortal()
}
-//includeBuild("samples/configuration-cache")
-
rootProject.name = "java-module-dependencies"
develocity {
From 0ebd09b9f8703b45cec2128213dee4a3dc137695 Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 10:59:26 +0200
Subject: [PATCH 06/24] added header
---
.../internal/utils/ValueSourceModuleInfo.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
index 1add01c1..3b5f2404 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright the GradleX team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.gradlex.javamodule.dependencies.internal.utils;
import org.gradle.api.file.DirectoryProperty;
From 20ab6a60d4a29e8fca57ff1502df77fd88318135 Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 11:28:27 +0200
Subject: [PATCH 07/24] fix moduleOrderTask exploding for sourcesets without
modules
---
.../javamodule/dependencies/JavaModuleDependenciesPlugin.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
index 1dc43ae4..17e2a545 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
@@ -216,14 +216,14 @@ private void setupOrderingCheckTasks(Project project, TaskProvider checkAl
SourceSetContainer sourceSets = project.getExtensions().getByType(SourceSetContainer.class);
ConfigurationContainer configurations = project.getConfigurations();
- sourceSets.all(sourceSet -> {
+ sourceSets.configureEach(sourceSet -> {
TaskProvider checkModuleInfo = project.getTasks().register(sourceSet.getTaskName("check", "ModuleInfo"), ModuleDirectivesOrderingCheck.class, t -> {
t.setGroup("java modules");
t.setDescription("Check order of directives in 'module-info.java' in '" + sourceSet.getName() + "' source set");
ModuleInfo moduleInfo = javaModuleDependencies.getModuleInfoCache().get().get(sourceSet, project.getProviders());
File folder = javaModuleDependencies.getModuleInfoCache().get().getFolder(sourceSet, project.getProviders());
- t.getModuleInfoPath().convention(folder == null ? null : new File(folder, "module-info.java").getAbsolutePath());
+ t.getModuleInfoPath().convention(folder == null ? "" : new File(folder, "module-info.java").getAbsolutePath());
t.getModuleNamePrefix().convention(moduleInfo.moduleNamePrefix(project.getName(), sourceSet.getName(), false));
t.getModuleInfo().convention(moduleInfo);
From 348b629d776e0dade43a2b285326e39f18437f79 Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 12:48:44 +0200
Subject: [PATCH 08/24] revert accidentally comitted file
---
.../dependencies/unique_modules.properties | 137 +-----------------
1 file changed, 8 insertions(+), 129 deletions(-)
diff --git a/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties b/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
index 853ed211..345e67a0 100644
--- a/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
+++ b/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
@@ -250,7 +250,7 @@ cloud.piranha.http.undertow=cloud.piranha.http:piranha-http-undertow
cloud.piranha.http.virtual=cloud.piranha.http:piranha-http-virtual
cloud.piranha.http.webapp=cloud.piranha.http:piranha-http-webapp
cloud.piranha.maven.plugins.micro=cloud.piranha.maven.plugins:piranha-micro-maven-plugin
-cloud.piranha.maven.plugins.piranha=cloud.piranha.maven:piranha-maven-plugin
+cloud.piranha.maven.plugins.piranha=cloud.piranha.maven.plugins:piranha-maven-plugin
cloud.piranha.micro=cloud.piranha:piranha-micro
cloud.piranha.micro.builder=cloud.piranha.micro:piranha-micro-builder
cloud.piranha.micro.core=cloud.piranha.micro:piranha-micro-core
@@ -487,11 +487,6 @@ com.apptasticsoftware.mic=com.apptasticsoftware:mic
com.apptasticsoftware.repurchase=com.apptasticsoftware:repurchase
com.apptasticsoftware.rssreader=com.apptasticsoftware:rssreader
com.apptasticsoftware.tickersymbol=com.apptasticsoftware:tickersymbol
-com.arjenzhou.kit.base=com.arjenzhou:kit-base
-com.arjenzhou.kit.fsm=com.arjenzhou:kit-statemachine
-com.arjenzhou.kit.http=com.arjenzhou:kit-http
-com.arjenzhou.kit.lazy=com.arjenzhou:kit-lazy
-com.arjenzhou.kit.scheduler=com.arjenzhou:kit-scheduler
com.asprise.imaging.scan=com.asprise.imaging:java-scanner-access-twain
com.athaydes.keepup.core=com.athaydes.keepup:keepup-core
com.athaydes.logfx=com.athaydes.logfx:logfx
@@ -501,7 +496,6 @@ com.azure.ai.contentsafety=com.azure:azure-ai-contentsafety
com.azure.ai.documentintelligence=com.azure:azure-ai-documentintelligence
com.azure.ai.documenttranslator=com.azure:azure-ai-documenttranslator
com.azure.ai.formrecognizer=com.azure:azure-ai-formrecognizer
-com.azure.ai.inference=com.azure:azure-ai-inference
com.azure.ai.metricsadvisor=com.azure:azure-ai-metricsadvisor
com.azure.ai.openai=com.azure:azure-ai-openai
com.azure.ai.openai.assistants=com.azure:azure-ai-openai-assistants
@@ -769,7 +763,6 @@ com.azure.resourcemanager.recoveryservices=com.azure.resourcemanager:azure-resou
com.azure.resourcemanager.recoveryservicesbackup=com.azure.resourcemanager:azure-resourcemanager-recoveryservicesbackup
com.azure.resourcemanager.recoveryservicesdatareplication=com.azure.resourcemanager:azure-resourcemanager-recoveryservicesdatareplication
com.azure.resourcemanager.recoveryservicessiterecovery=com.azure.resourcemanager:azure-resourcemanager-recoveryservicessiterecovery
-com.azure.resourcemanager.redhatopenshift=com.azure.resourcemanager:azure-resourcemanager-redhatopenshift
com.azure.resourcemanager.redis=com.azure.resourcemanager:azure-resourcemanager-redis
com.azure.resourcemanager.redisenterprise=com.azure.resourcemanager:azure-resourcemanager-redisenterprise
com.azure.resourcemanager.relay=com.azure.resourcemanager:azure-resourcemanager-relay
@@ -929,8 +922,6 @@ com.distrimind.bouncycastle.pkix=com.distrimind.bouncycastle:pkix
com.distrimind.bouncycastle.provider=com.distrimind.bouncycastle:prov
com.distrimind.bouncycastle.util=com.distrimind.bouncycastle:util
com.distrimind.ood=com.distrimind.ood:OOD
-com.distrimind.upnp_igd=com.distrimind.upnp_igd:UPnPIGD-Core
-com.distrimind.upnp_igd.android=com.distrimind.upnp_igd.android:UPnPIGD-Android
com.distrimind.util=com.distrimind.util:Utils
com.dlsc.formsfx=com.dlsc.formsfx:formsfx-core
com.dlsc.formsfx.demo=com.dlsc.formsfx:formsfx-demo
@@ -1271,11 +1262,6 @@ com.github.robtimus.validation.year=com.github.robtimus:year-validation
com.github.robtimus.validation.yearmonth=com.github.robtimus:year-month-validation
com.github.romanqed.jconv=com.github.romanqed:jconv
com.github.romanqed.jeflect=com.github.romanqed:jeflect
-com.github.romanqed.jeflect.field=com.github.romanqed:jeflect-field
-com.github.romanqed.jeflect.lambda=com.github.romanqed:jeflect-lambda
-com.github.romanqed.jeflect.loader=com.github.romanqed:jeflect-loader
-com.github.romanqed.jeflect.meta=com.github.romanqed:jeflect-meta
-com.github.romanqed.jeflect.transform=com.github.romanqed:jeflect-transform
com.github.romanqed.jfunc=com.github.romanqed:jfunc
com.github.romanqed.jsm=com.github.romanqed:jsm
com.github.romanqed.jtype=com.github.romanqed:jtype
@@ -1439,7 +1425,7 @@ com.headius.backport9=com.headius:backport9
com.headius.invokebinder=com.headius:invokebinder
com.headius.modulator=com.headius:modulator
com.headius.options=com.headius:options
-com.hedera.evm=com.hedera.evm:hedera-evm
+com.hedera.evm.impl=com.hedera.evm:hedera-evm
com.hedera.fullstack.base.api=com.hedera.fullstack:fullstack-base-api
com.hedera.fullstack.helm.client=com.hedera.fullstack:fullstack-helm-client
com.hedera.fullstack.junit.support=com.hedera.fullstack:fullstack-junit-support
@@ -1817,7 +1803,6 @@ com.io7m.jwheatsheaf.oxygen=com.io7m.jwheatsheaf:com.io7m.jwheatsheaf.oxygen
com.io7m.jwheatsheaf.ui=com.io7m.jwheatsheaf:com.io7m.jwheatsheaf.ui
com.io7m.jxe.core=com.io7m.jxe:com.io7m.jxe.core
com.io7m.jxe.documentation=com.io7m.jxe:com.io7m.jxe.documentation
-com.io7m.jxe.tests=com.io7m.jxe:com.io7m.jxe.tests
com.io7m.jxtrand.api=com.io7m.jxtrand:com.io7m.jxtrand.api
com.io7m.jxtrand.compiler.api=com.io7m.jxtrand:com.io7m.jxtrand.compiler.api
com.io7m.jxtrand.compiler.basic=com.io7m.jxtrand:com.io7m.jxtrand.compiler.basic
@@ -2280,7 +2265,7 @@ com.nextbreakpoint.nextfractal.contextfree=com.nextbreakpoint:com.nextbreakpoint
com.nextbreakpoint.nextfractal.core=com.nextbreakpoint:com.nextbreakpoint.nextfractal.core
com.nextbreakpoint.nextfractal.mandelbrot=com.nextbreakpoint:com.nextbreakpoint.nextfractal.mandelbrot
com.nextbreakpoint.nextfractal.runtime=com.nextbreakpoint:com.nextbreakpoint.nextfractal.runtime
-com.nimbusds.jose.jwt=com.nimbusds:nimbus-jose-jwt
+com.nimbusds.jose.jwt=com.nimbusds:c2id-server-jwkset
com.ning.compress.lzf=com.ning:compress-lzf
com.nulabinc.zxcvbn=com.nulab-inc:zxcvbn
com.okta.cli=com.okta.cli:okta-cli
@@ -2546,8 +2531,6 @@ com.swardana.materialiconfx=com.swardana:materialiconfx
com.swardana.metroiconfx=com.swardana:metroiconfx
com.swardana.midnight.core=com.swardana.midnight:midnight-core
com.swardana.oofx=com.swardana:oofx
-com.swardana.oombx=com.swardana:oombx
-com.swardana.oomsg=com.swardana:oomsg
com.swardana.wisteria=com.swardana:wisteria
com.swirlds.base=com.swirlds:swirlds-base
com.swirlds.cli=com.swirlds:swirlds-cli
@@ -2676,7 +2659,6 @@ com.yelstream.topp.furnace.vertx.addressing=com.yelstream.topp.furnace:topp-furn
com.yelstream.topp.furnace.vertx.core=com.yelstream.topp.furnace:topp-furnace-vertx-core
com.yelstream.topp.furnace.vertx.health=com.yelstream.topp.furnace:topp-furnace-vertx-health
com.yelstream.topp.furnace.vertx.lifecycle=com.yelstream.topp.furnace:topp-furnace-vertx-lifecycle
-com.yelstream.topp.standard.annotator=com.yelstream.topp.standard:topp-standard-annotator
com.yelstream.topp.standard.core=com.yelstream.topp.standard:topp-standard-core
com.yelstream.topp.standard.health.serialization=com.yelstream.topp.standard:topp-standard-health-serialization
com.yelstream.topp.standard.log.assistance.slf4j=com.yelstream.topp.standard:topp-standard-log-assist-slf4j
@@ -2861,10 +2843,8 @@ dev.kske.undoredo.javafx=dev.kske:undo-redo-javafx
dev.lukebemish.opensesame.core=dev.lukebemish.opensesame:opensesame-core
dev.lukebemish.opensesame.natives=dev.lukebemish.opensesame:opensesame-natives
dev.lukebemish.opensesame.runtime=dev.lukebemish.opensesame:opensesame-runtime
-dev.mccue.atom=dev.mccue:atom
dev.mccue.docopt=dev.mccue:docopt
dev.mccue.feather=dev.mccue:feather
-dev.mccue.flake=dev.mccue:flake
dev.mccue.forever=dev.mccue:forever
dev.mccue.guava=dev.mccue:guava
dev.mccue.guava.base=dev.mccue:guava-base
@@ -2919,21 +2899,6 @@ dev.mccue.purl=dev.mccue:purl
dev.mccue.resolve=dev.mccue:resolve
dev.mccue.resolve.cli=dev.mccue:jresolve-cli
dev.mccue.search=dev.mccue:search
-dev.mccue.tools=dev.mccue:tools
-dev.mccue.tools.googlejavaformat=dev.mccue:tools-googlejavaformat
-dev.mccue.tools.jar=dev.mccue:tools-jar
-dev.mccue.tools.java=dev.mccue:tools-java
-dev.mccue.tools.javac=dev.mccue:tools-javac
-dev.mccue.tools.javadoc=dev.mccue:tools-javadoc
-dev.mccue.tools.javap=dev.mccue:tools-javap
-dev.mccue.tools.jdk=dev.mccue:tools-jdk
-dev.mccue.tools.jlink=dev.mccue:tools-jlink
-dev.mccue.tools.jmod=dev.mccue:tools-jmod
-dev.mccue.tools.jpackage=dev.mccue:tools-jpackage
-dev.mccue.tools.jresolve=dev.mccue:tools-jresolve
-dev.mccue.tools.jstage=dev.mccue:tools-jstage
-dev.mccue.tools.junit=dev.mccue:tools-junit
-dev.mccue.tools.pmd=dev.mccue:tools-pmd
dev.mccue.tritonus.share=dev.mccue:tritonus-share
dev.mccue.urlparameters=dev.mccue:urlparameters
dev.mccue.vorbisspi=dev.mccue:vorbisspi
@@ -2950,11 +2915,6 @@ dev.peterrhodes.optionpricing=dev.peterrhodes.optionpricing:option-pricing
dev.reformator.loomoroutines.bypassjpms=dev.reformator.loomoroutines:loomoroutines-bypassjpms
dev.reformator.loomoroutines.common=dev.reformator.loomoroutines:loomoroutines-common
dev.reformator.loomoroutines.dispatcher=dev.reformator.loomoroutines:loomoroutines-dispatcher
-dev.reformator.stacktracedecoroutinator.common=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-common
-dev.reformator.stacktracedecoroutinator.generator=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-generator
-dev.reformator.stacktracedecoroutinator.jvm=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm
-dev.reformator.stacktracedecoroutinator.jvmagentcommon=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm-agent-common
-dev.reformator.stacktracedecoroutinator.provider=dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-provider
dev.secondsun.javaisoengine=dev.secondsun:java-isoengine
dev.secondsun.retro.util=dev.secondsun:retro-common
dev.secondsun.tm4e.core=dev.secondsun:org.eclipse.tm4e.core
@@ -2981,7 +2941,6 @@ es.iti.wakamiti.groovy=es.iti.wakamiti:groovy-wakamiti-plugin
es.iti.wakamiti.io=es.iti.wakamiti:io-wakamiti-plugin
es.iti.wakamiti.launcher=es.iti.wakamiti:wakamiti-launcher
es.iti.wakamiti.lsp=es.iti.wakamiti:wakamiti-lsp
-es.iti.wakamiti.plugins.jmeter=es.iti.wakamiti:jmeter-wakamiti-plugin
es.iti.wakamiti.report.cucumber=es.iti.wakamiti:cucumber-exporter-wakamiti-plugin
es.iti.wakamiti.report.html=es.iti.wakamiti:html-report-wakamiti-plugin
es.iti.wakamiti.rest=es.iti.wakamiti:rest-wakamiti-plugin
@@ -3151,7 +3110,6 @@ io.avaje.http.javalin.generator=io.avaje:avaje-http-javalin-generator
io.avaje.http.jex.generator=io.avaje:avaje-http-jex-generator
io.avaje.http.nima.generator=io.avaje:avaje-http-helidon-generator
io.avaje.http.plugin=io.avaje:avaje-http-inject-plugin
-io.avaje.http.sigma.generator=io.avaje:avaje-http-sigma-generator
io.avaje.inject=io.avaje:avaje-inject
io.avaje.inject.aop=io.avaje:avaje-inject-aop
io.avaje.inject.events=io.avaje:avaje-inject-events
@@ -3186,7 +3144,6 @@ io.avaje.prism=io.avaje:avaje-prisms
io.avaje.prism.core=io.avaje:avaje-prism-core
io.avaje.recordbuilder=io.avaje:avaje-record-builder
io.avaje.recordbuilder.core=io.avaje:avaje-record-builder-core
-io.avaje.sigma=io.avaje:avaje-sigma
io.avaje.spi=io.avaje:avaje-spi-service
io.avaje.spi.core=io.avaje:avaje-spi-core
io.avaje.validation=io.avaje:avaje-validator
@@ -3290,7 +3247,7 @@ io.github.classgraph=io.github.classgraph:classgraph
io.github.coffeelibs.tinyoauth2client=io.github.coffeelibs:tiny-oauth2-client
io.github.danthe1st.json_compile=io.github.danthe1st:compile-time-json-parser
io.github.danygold.fx.moshi=io.github.danygold:fx-moshi
-io.github.dmlloyd.classfile=io.github.dmlloyd:jdk-classfile-backport
+io.github.dmlloyd.classfile=io.github.dmlloyd:jdk-classfile-preview
io.github.dsheirer.rrapi=io.github.dsheirer:radio-reference-api
io.github.easytuples=io.github.easytuples:easy-tuples
io.github.ericmedvet.jgea.core=io.github.ericmedvet:jgea.core
@@ -3299,7 +3256,6 @@ io.github.ericmedvet.jgea.problem=io.github.ericmedvet:jgea.problem
io.github.ericmedvet.jgea.sample=io.github.ericmedvet:jgea.sample
io.github.ericmedvet.jgea.telegram=io.github.ericmedvet:jgea.telegram
io.github.ericmedvet.jgea.tui=io.github.ericmedvet:jgea.tui
-io.github.ericmedvet.jnb.buildable=io.github.ericmedvet:jnb.buildable
io.github.ericmedvet.jnb.core=io.github.ericmedvet:jnb.core
io.github.ericmedvet.jnb.datastructure=io.github.ericmedvet:jnb.datastructure
io.github.ericmedvet.jnb.sample=io.github.ericmedvet:jnb.sample
@@ -4036,12 +3992,8 @@ io.jooby=io.jooby:jooby
io.jooby.apt=io.jooby:jooby-apt
io.jooby.avaje.inject=io.jooby:jooby-avaje-inject
io.jooby.avaje.jsonb=io.jooby:jooby-avaje-jsonb
-io.jooby.avaje.validator=io.jooby:jooby-avaje-validator
-io.jooby.awssdkv2=io.jooby:jooby-awssdk-v2
io.jooby.caffeine=io.jooby:jooby-caffeine
-io.jooby.camel=io.jooby:jooby-camel
io.jooby.conscrypt=io.jooby:jooby-conscrypt
-io.jooby.dbscheduler=io.jooby:jooby-db-scheduler
io.jooby.ebean=io.jooby:jooby-ebean
io.jooby.flyway=io.jooby:jooby-flyway
io.jooby.freemarker=io.jooby:jooby-freemarker
@@ -4051,7 +4003,6 @@ io.jooby.gson=io.jooby:jooby-gson
io.jooby.guice=io.jooby:jooby-guice
io.jooby.handlebars=io.jooby:jooby-handlebars
io.jooby.hibernate=io.jooby:jooby-hibernate
-io.jooby.hibernate.validator=io.jooby:jooby-hibernate-validator
io.jooby.hikari=io.jooby:jooby-hikari
io.jooby.jackson=io.jooby:jooby-jackson
io.jooby.jdbi=io.jooby:jooby-jdbi
@@ -4086,7 +4037,6 @@ io.jstach.opt.spring.webflux.example=io.jstach:jstachio-spring-webflux-example
io.jstach.opt.spring.webmvc=io.jstach:jstachio-spring-webmvc
io.jstach.rainbowgum=io.jstach.rainbowgum:rainbowgum-core
io.jstach.rainbowgum.annotation=io.jstach.rainbowgum:rainbowgum-annotation
-io.jstach.rainbowgum.apt=io.jstach.rainbowgum:rainbowgum-apt
io.jstach.rainbowgum.avaje=io.jstach.rainbowgum:rainbowgum-avaje-config
io.jstach.rainbowgum.bundle=io.jstach.rainbowgum:rainbowgum
io.jstach.rainbowgum.disruptor=io.jstach.rainbowgum:rainbowgum-disruptor
@@ -4096,13 +4046,9 @@ io.jstach.rainbowgum.json=io.jstach.rainbowgum:rainbowgum-json
io.jstach.rainbowgum.pattern=io.jstach.rainbowgum:rainbowgum-pattern
io.jstach.rainbowgum.rabbitmq=io.jstach.rainbowgum:rainbowgum-rabbitmq
io.jstach.rainbowgum.slf4j=io.jstach.rainbowgum:rainbowgum-slf4j
-io.jstach.rainbowgum.spring.boot=io.jstach.rainbowgum:rainbowgum-spring-boot
-io.jstach.rainbowgum.spring.boot.starter=io.jstach.rainbowgum:rainbowgum-spring-boot-starter
io.jstach.rainbowgum.systemlogger=io.jstach.rainbowgum:rainbowgum-systemlogger
-io.jstach.rainbowgum.tomcat=io.jstach.rainbowgum:rainbowgum-tomcat
io.kodokojo.property.configurer=io.kodokojo:property-configurer
io.kojan.javadeptools.rpm=io.kojan:java-deptools-native
-io.leangen.geantyref=io.leangen.geantyref:geantyref
io.lindstrom.mpd=io.lindstrom:mpd-parser
io.litterat.pep=io.litterat:litterat-pep
io.matthewnelson.encoding.base16=io.matthewnelson.encoding:base16-jvm
@@ -4142,22 +4088,6 @@ io.mokamint.plotter=io.mokamint:io-mokamint-plotter
io.mokamint.plotter.api=io.mokamint:io-mokamint-plotter-api
io.mokamint.plotter.cli=io.mokamint:io-mokamint-plotter-cli
io.nayuki.qrcodegen=io.nayuki:qrcodegen
-io.netty.codec.compression=io.netty:netty-codec-compression
-io.netty.codec.marshalling=io.netty:netty-codec-marshalling
-io.netty.codec.protobuf=io.netty:netty-codec-protobuf
-io.netty.codec.redis=io.netty:netty-codec-redis
-io.netty.codec.smtp=io.netty:netty-codec-smtp
-io.netty.handler.ssl.ocsp=io.netty:netty-handler-ssl-ocsp
-io.netty.internal.tcnative=io.netty:netty-tcnative-boringssl-static
-io.netty.resolver.dns.classes.macos=io.netty:netty-resolver-dns-classes-macos
-io.netty.resolver.dns.macos.osx.aarch_64=io.netty:netty-resolver-dns-native-macos
-io.netty.tcnative.classes.openssl=io.netty:netty-tcnative-classes
-io.netty.transport.classes.epoll=io.netty:netty-transport-classes-epoll
-io.netty.transport.classes.io_uring=io.netty:netty-transport-classes-io_uring
-io.netty.transport.classes.kqueue=io.netty:netty-transport-classes-kqueue
-io.netty.transport.io_uring=io.netty:netty-transport-native-io_uring
-io.netty.transport.kqueue=io.netty:netty-transport-native-kqueue
-io.netty.transport.unix.common=io.netty:netty-transport-native-unix-common
io.norberg.rut=io.norberg:rut
io.opencmw=io.opencmw:core
io.opencmw.client=io.opencmw:client
@@ -4187,8 +4117,6 @@ io.smallrye.common.ref=io.smallrye.common:smallrye-common-ref
io.smallrye.common.version=io.smallrye.common:smallrye-common-version
io.smallrye.common.vertx=io.smallrye.common:smallrye-common-vertx-context
io.toolisticon.cute.integrationtest.javanine.regularmodule=io.toolisticon.cute:integration-test-java9-regularModule
-io.vertx.docgen=io.vertx:vertx-docgen-api
-io.vertx.docgen.processor=io.vertx:vertx-docgen-processor
io.vproxy.adaptor.netty=io.vproxy:vproxy-adaptor-netty
io.vproxy.adaptor.vertx=io.vproxy:vproxy-adaptor-vertx
io.vproxy.base=io.vproxy:commons
@@ -4249,7 +4177,6 @@ is.codion.framework.db.http=is.codion:codion-framework-db-http
is.codion.framework.db.local=is.codion:codion-framework-db-local
is.codion.framework.db.rmi=is.codion:codion-framework-db-rmi
is.codion.framework.domain=is.codion:codion-framework-domain
-is.codion.framework.domain.db=is.codion:codion-framework-domain-db
is.codion.framework.domain.test=is.codion:codion-framework-domain-test
is.codion.framework.i18n=is.codion:codion-framework-i18n
is.codion.framework.json.db=is.codion:codion-framework-json-db
@@ -4442,29 +4369,6 @@ net.dongliu.xhttp.json=net.dongliu:xhttp-json-api
net.dongliu.xhttp.json.jackson=net.dongliu:xhttp-json-jackson
net.dongliu.xhttp.json.jsonb=net.dongliu:xhttp-json-jsonb
net.dontcode.core=net.dontcode:core
-net.dreamlu.mica.mqtt.client=net.dreamlu:mica-mqtt-client
-net.dreamlu.mica.mqtt.client.jfinal.plugin=net.dreamlu:mica-mqtt-client-jfinal-plugin
-net.dreamlu.mica.mqtt.client.solon.plugin=net.dreamlu:mica-mqtt-client-solon-plugin
-net.dreamlu.mica.mqtt.client.spring.boot.starter=net.dreamlu:mica-mqtt-client-spring-boot-starter
-net.dreamlu.mica.mqtt.codec=net.dreamlu:mica-mqtt-codec
-net.dreamlu.mica.mqtt.common=net.dreamlu:mica-mqtt-common
-net.dreamlu.mica.mqtt.server=net.dreamlu:mica-mqtt-server
-net.dreamlu.mica.mqtt.server.jfinal.plugin=net.dreamlu:mica-mqtt-server-jfinal-plugin
-net.dreamlu.mica.mqtt.server.solon.plugin=net.dreamlu:mica-mqtt-server-solon-plugin
-net.dreamlu.mica.mqtt.server.spring.boot.starter=net.dreamlu:mica-mqtt-server-spring-boot-starter
-net.dreamlu.mica.mqttx.client=net.dreamlu:mica-mqttx-client
-net.dreamlu.mica.mqttx.client.jfinal.plugin=net.dreamlu:mica-mqttx-client-jfinal-plugin
-net.dreamlu.mica.mqttx.client.solon.plugin=net.dreamlu:mica-mqttx-client-solon-plugin
-net.dreamlu.mica.mqttx.client.spring.boot.starter=net.dreamlu:mica-mqttx-client-spring-boot-starter
-net.dreamlu.mica.mqttx.codec=net.dreamlu:mica-mqttx-codec
-net.dreamlu.mica.mqttx.common=net.dreamlu:mica-mqttx-common
-net.dreamlu.mica.mqttx.server=net.dreamlu:mica-mqttx-server
-net.dreamlu.mica.mqttx.server.jfinal.plugin=net.dreamlu:mica-mqttx-server-jfinal-plugin
-net.dreamlu.mica.mqttx.server.solon.plugin=net.dreamlu:mica-mqttx-server-solon-plugin
-net.dreamlu.mica.mqttx.server.spring.boot.starter=net.dreamlu:mica-mqttx-server-spring-boot-starter
-net.dreamlu.mica.net.core=net.dreamlu:mica-net-core
-net.dreamlu.mica.net.http=net.dreamlu:mica-net-http
-net.dreamlu.mica.net.utils=net.dreamlu:mica-net-utils
net.e175.klaus.solarpositioning=net.e175.klaus:solarpositioning
net.fellbaum.jemoji=net.fellbaum:jemoji
net.finmath.gpu=net.finmath:finmath-lib-cuda-extensions
@@ -4472,7 +4376,6 @@ net.finmath.lib=net.finmath:finmath-lib
net.finmath.opencl=net.finmath:finmath-lib-opencl-extensions
net.finmath.plots=net.finmath:finmath-lib-plot-extensions
net.frogmouth.chronyjava=net.frogmouth.chronyjava:java-chrny-candm
-net.hamnaberg.arities=net.hamnaberg:arities
net.javapla.jawn.core=net.javapla.jawn:jawn-core
net.jonathangiles.tools.sitebuilder=net.jonathangiles.tools:sitebuilder
net.jonathangiles.tools.teenyhttpd=net.jonathangiles.tools:teenyhttpd
@@ -4496,9 +4399,7 @@ net.mahdilamb.colormap=net.mahdilamb:colormap
net.mahdilamb.dataframe=net.mahdilamb:dataframe
net.mahdilamb.util.property=net.mahdilamb:utils-properties
net.mahdilamb.utils.tuples=net.mahdilamb:utils-tuples
-net.morimekta.tiny.http=net.morimekta.tiny:tiny-http
-net.morimekta.tiny.logback=net.morimekta.tiny:tiny-logback
-net.morimekta.tiny.server=net.morimekta.tiny:tiny-server
+net.morimekta.tiny.server=net.morimekta.tiny.server:tiny-server
net.neoforged.bus=net.neoforged:bus
net.nlacombe.jsonfeed=net.nlacombe:nl-jsonfeed
net.nlacombe.jsonfeed.gson=net.nlacombe:nl-jsonfeed-gson
@@ -4741,10 +4642,6 @@ org.apache.commons.rng.examples.jpms.app=org.apache.commons:commons-rng-examples
org.apache.commons.rng.examples.jpms.lib=org.apache.commons:commons-rng-examples-jpms-lib
org.apache.commons.rng.sampling=org.apache.commons:commons-rng-sampling
org.apache.commons.rng.simple=org.apache.commons:commons-rng-simple
-org.apache.commons.statistics.descriptive=org.apache.commons:commons-statistics-descriptive
-org.apache.commons.statistics.distribution=org.apache.commons:commons-statistics-distribution
-org.apache.commons.statistics.inference=org.apache.commons:commons-statistics-inference
-org.apache.commons.statistics.ranking=org.apache.commons:commons-statistics-ranking
org.apache.commons.text=org.apache.commons:commons-text
org.apache.datasketches.memory=org.apache.datasketches:datasketches-memory
org.apache.derby.client=org.apache.derby:derbyclient
@@ -4841,7 +4738,6 @@ org.apache.logging.log4j.layout.jackson=org.apache.logging.log4j:log4j-layout-ja
org.apache.logging.log4j.layout.jackson.xml=org.apache.logging.log4j:log4j-layout-jackson-xml
org.apache.logging.log4j.layout.template.json=org.apache.logging.log4j:log4j-layout-template-json
org.apache.logging.log4j.layout.template.json.test=org.apache.logging.log4j:log4j-layout-template-json-test
-org.apache.logging.log4j.mongodb=org.apache.logging.log4j:log4j-mongodb
org.apache.logging.log4j.mongodb4=org.apache.logging.log4j:log4j-mongodb4
org.apache.logging.log4j.plugin.processor=org.apache.logging.log4j:log4j-plugin-processor
org.apache.logging.log4j.plugins=org.apache.logging.log4j:log4j-plugins
@@ -4904,7 +4800,6 @@ org.apache.sis.storage.geotiff=org.apache.sis.storage:sis-geotiff
org.apache.sis.storage.netcdf=org.apache.sis.storage:sis-netcdf
org.apache.sis.storage.sql=org.apache.sis.storage:sis-sqlstore
org.apache.sis.storage.xml=org.apache.sis.storage:sis-xmlstore
-org.apache.sling.commons.threads=org.apache.sling:org.apache.sling.commons.threads
org.apache.tomcat.api=org.apache.tomcat:tomcat-api
org.apache.tomcat.catalina=org.apache.tomcat:tomcat-catalina
org.apache.tomcat.catalina.ha=org.apache.tomcat:tomcat-catalina-ha
@@ -5010,7 +4905,6 @@ org.bouncycastle.pkix=org.bouncycastle:bcpkix-jdk18on
org.bouncycastle.provider=org.bouncycastle:bcprov-jdk18on
org.bouncycastle.tls=org.bouncycastle:bctls-jdk18on
org.bouncycastle.util=org.bouncycastle:bcutil-jdk18on
-org.bspfsystems.yamlconfiguration=org.bspfsystems:yamlconfiguration
org.burningwave=org.burningwave:common
org.burningwave.core=org.burningwave:core
org.burningwave.json=org.burningwave:json
@@ -5209,7 +5103,6 @@ org.commandmosaic.spring.web=org.commandmosaic:commandmosaic-spring-web
org.commandmosaic.springboot.autoconfigure=org.commandmosaic:commandmosaic-spring-boot-autoconfigure
org.commonmark=org.commonmark:commonmark
org.commonmark.ext.autolink=org.commonmark:commonmark-ext-autolink
-org.commonmark.ext.footnotes=org.commonmark:commonmark-ext-footnotes
org.commonmark.ext.front.matter=org.commonmark:commonmark-ext-yaml-front-matter
org.commonmark.ext.gfm.strikethrough=org.commonmark:commonmark-ext-gfm-strikethrough
org.commonmark.ext.gfm.tables=org.commonmark:commonmark-ext-gfm-tables
@@ -5592,8 +5485,8 @@ org.glavo.png=org.glavo:simple-png
org.glavo.png.imageio=org.glavo:simple-png-imageio
org.glavo.png.javafx=org.glavo:simple-png-javafx
org.graalvm.espresso=org.graalvm.espresso:espresso-language
-org.graalvm.espresso.resources.libs=org.graalvm.espresso:espresso-libs-resources
-org.graalvm.espresso.resources.runtime=org.graalvm.espresso:espresso-runtime-resources-jdk21
+org.graalvm.espresso.resources.libs=org.graalvm.espresso:espresso-libs-resources-linux-amd64
+org.graalvm.espresso.resources.runtime=org.graalvm.espresso:espresso-runtime-resources-linux-amd64
org.graalvm.js=org.graalvm.js:js-language
org.graalvm.js.isolate=org.graalvm.js:js-isolate
org.graalvm.js.launcher=org.graalvm.js:js-launcher
@@ -5616,7 +5509,6 @@ org.graalvm.nativeimage.pointsto=org.graalvm.nativeimage:pointsto
org.graalvm.nativeimage.pointsto.standalone=org.graalvm.nativeimage:standalone-pointsto
org.graalvm.polyglot=org.graalvm.polyglot:polyglot
org.graalvm.python.embedding=org.graalvm.python:python-embedding
-org.graalvm.python.embedding.tools=org.graalvm.python:python-embedding-tools
org.graalvm.ruby=org.graalvm.ruby:ruby-language
org.graalvm.ruby.annotations=org.graalvm.ruby:ruby-annotations
org.graalvm.ruby.resources=org.graalvm.ruby:ruby-resources
@@ -5624,9 +5516,7 @@ org.graalvm.ruby.shared=org.graalvm.ruby:ruby-shared
org.graalvm.sdk=org.graalvm.sdk:graal-sdk
org.graalvm.shadowed.antlr4=org.graalvm.shadowed:antlr4
org.graalvm.shadowed.icu4j=org.graalvm.shadowed:icu4j
-org.graalvm.shadowed.jcodings=org.graalvm.shadowed:jcodings
org.graalvm.shadowed.jline=org.graalvm.shadowed:jline
-org.graalvm.shadowed.joni=org.graalvm.shadowed:joni
org.graalvm.shadowed.org.json=org.graalvm.shadowed:json
org.graalvm.shadowed.xz=org.graalvm.shadowed:xz
org.graalvm.tools.api.lsp=org.graalvm.tools:lsp_api
@@ -6031,7 +5921,6 @@ org.nasdanika.models.functionflow.processors.doc=org.nasdanika.models.function-f
org.nasdanika.models.functionflow.processors.ecore=org.nasdanika.models.function-flow.processors:ecore
org.nasdanika.models.functionflow.processors.targets.java=org.nasdanika.models.function-flow.processors.targets:java
org.nasdanika.models.gitlab=org.nasdanika.models.gitlab:model
-org.nasdanika.models.gitlab.cli=org.nasdanika.models.gitlab:cli
org.nasdanika.models.graph.processors=org.nasdanika.models.graph:processors
org.nasdanika.models.java=org.nasdanika.models.java:model
org.nasdanika.models.java.cli=org.nasdanika.models.java:cli
@@ -6046,8 +5935,7 @@ org.nasdanika.rag.model=org.nasdanika.rag:model
org.nasdanika.rag.openai=org.nasdanika.rag:open-ai
org.nasdanika.rag.processors=org.nasdanika.rag:processors
org.neo4j.cypherdsl.codegen.core=org.neo4j:neo4j-cypher-dsl-codegen-core
-org.neo4j.cypherdsl.core=org.neo4j:neo4j-connector-apache-spark_2.13
-org.neo4j.cypherdsl.parser=org.neo4j:neo4j-cypher-dsl-parser
+org.neo4j.cypherdsl.core=org.neo4j:neo4j-cypher-dsl
org.neo4j.cypherdsl.support.schema_name=org.neo4j:neo4j-cypher-dsl-schema-name-support
org.neo4j.driver=org.neo4j.driver:neo4j-java-driver-all
org.neo4j.jdbc=org.neo4j:neo4j-jdbc-full-bundle
@@ -6229,10 +6117,8 @@ org.praxislive.audio=org.praxislive:praxiscore-audio
org.praxislive.audio.code=org.praxislive:praxiscore-audio-code
org.praxislive.audio.components=org.praxislive:praxiscore-audio-components
org.praxislive.base=org.praxislive:praxiscore-base
-org.praxislive.bin=org.praxislive:praxiscore-bin
org.praxislive.code=org.praxislive:praxiscore-code
org.praxislive.code.ivy=org.praxislive:praxiscore-code-ivy
-org.praxislive.code.mima=org.praxislive:praxiscore-code-mima
org.praxislive.code.services=org.praxislive:praxiscore-code-services
org.praxislive.core=org.praxislive:praxiscore-api
org.praxislive.core.code=org.praxislive:praxiscore-core-code
@@ -6249,7 +6135,6 @@ org.praxislive.libp5x.core=org.praxislive.libp5x:processing-core
org.praxislive.libp5x.lwjgl=org.praxislive.libp5x:processing-lwjgl
org.praxislive.midi=org.praxislive:praxiscore-midi
org.praxislive.osc=org.praxislive:praxiscore-osc
-org.praxislive.project=org.praxislive:praxiscore-project
org.praxislive.purl=org.praxislive:praxiscore-purl
org.praxislive.script=org.praxislive:praxiscore-script
org.praxislive.tinkerforge=org.praxislive:praxiscore-tinkerforge
@@ -6460,8 +6345,6 @@ org.seleniumhq.selenium.devtools_v124=org.seleniumhq.selenium:selenium-devtools-
org.seleniumhq.selenium.devtools_v125=org.seleniumhq.selenium:selenium-devtools-v125
org.seleniumhq.selenium.devtools_v126=org.seleniumhq.selenium:selenium-devtools-v126
org.seleniumhq.selenium.devtools_v127=org.seleniumhq.selenium:selenium-devtools-v127
-org.seleniumhq.selenium.devtools_v128=org.seleniumhq.selenium:selenium-devtools-v128
-org.seleniumhq.selenium.devtools_v129=org.seleniumhq.selenium:selenium-devtools-v129
org.seleniumhq.selenium.devtools_v84=org.seleniumhq.selenium:selenium-devtools-v84
org.seleniumhq.selenium.devtools_v85=org.seleniumhq.selenium:selenium-devtools-v85
org.seleniumhq.selenium.devtools_v86=org.seleniumhq.selenium:selenium-devtools-v86
@@ -6928,9 +6811,6 @@ tokyo.northside.mdict=tokyo.northside:mdict4j
tokyo.northside.pdic4j=tokyo.northside:pdic4j
tokyo.northside.stardict4j=tokyo.northside:stardict4j
tokyo.northside.trie4j=tokyo.northside:trie4j
-tools.aqua.turnkey.cvc5=tools.aqua:cvc5-turnkey
-tools.aqua.turnkey.support=tools.aqua:turnkey-support
-tools.aqua.turnkey.z3=tools.aqua:z3-turnkey
tools.dynamia.actions=tools.dynamia:tools.dynamia.actions
tools.dynamia.commons=tools.dynamia:tools.dynamia.commons
tools.dynamia.crud=tools.dynamia:tools.dynamia.crud
@@ -6957,7 +6837,6 @@ uk.co.caprica.vlcj=uk.co.caprica:vlcj
uk.co.caprica.vlcj.filefilters=uk.co.caprica:vlcj-file-filters
uk.co.caprica.vlcj.info=uk.co.caprica:vlcj-info
uk.co.caprica.vlcj.javafx=uk.co.caprica:vlcj-javafx
-uk.co.caprica.vlcj.legacy=uk.co.caprica:vlcj-legacy
uk.co.caprica.vlcj.mrls=uk.co.caprica:vlcj-mrls
uk.co.caprica.vlcj.natives=uk.co.caprica:vlcj-natives
uk.co.caprica.vlcj.osx.stubs=uk.co.caprica:vlcj-osx-stubs
From 16d12b10ca1479ee6ea9f95ab0b7342fad7e052d Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 14:11:36 +0200
Subject: [PATCH 09/24] testCases for the settingsPlugin
---
.../initialization/SettingsPluginTest.groovy | 130 ++++++++++++++++++
1 file changed, 130 insertions(+)
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
index e88379bb..cf502283 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
@@ -1,5 +1,6 @@
package org.gradlex.javamodule.dependencies.test.initialization
+import org.gradle.testkit.runner.GradleRunner
import org.gradlex.javamodule.dependencies.test.fixture.GradleBuild
import spock.lang.Specification
@@ -67,6 +68,135 @@ class SettingsPluginTest extends Specification {
result.task(":lib:compileJava").outcome == SUCCESS
}
+ def "configurationCacheHit"() {
+ given:
+ settingsFile << '''
+ javaModules {
+ directory(".") { plugin("java-library") }
+ }
+ '''
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module org.gradlex.test.app {
+ requires abc.lib;
+ }
+ '''
+
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ result = runner.build()
+
+ then:
+ result.getOutput().contains("Reusing configuration cache.")
+ }
+
+ def "configurationCacheHit"() {
+ given:
+ settingsFile << '''
+ javaModules {
+ directory(".") { plugin("java-library") }
+ }
+ '''
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module org.gradlex.test.app {
+ requires abc.lib;
+ }
+ '''
+
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ result = runner.build()
+
+ then:
+ result.getOutput().contains("Reusing configuration cache.")
+ }
+
+ def "configurationCacheHitIrrelevantChange"() {
+ given:
+ settingsFile << '''
+ javaModules {
+ directory(".") { plugin("java-library") }
+ }
+ '''
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module org.gradlex.test.app {
+ requires abc.lib;
+ }
+ '''
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ appModuleInfoFile.write('''
+ module org.gradlex.test.app {
+ requires abc.lib; //This is a comment and should not break the configurationCache
+ }
+ ''')
+ result = runner.build()
+
+ then:
+ result.getOutput().contains("Reusing configuration cache.")
+ }
+
+ def "configurationCacheHitRelevantChange"() {
+ given:
+ settingsFile << '''
+ javaModules {
+ directory(".") { plugin("java-library") }
+ }
+ '''
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module org.gradlex.test.app {
+ requires abc.lib;
+ }
+ '''
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ appModuleInfoFile.write('''
+ module org.gradlex.test.app {
+ //dependency removed; so thats indeed a configuration change
+ }
+ ''')
+ result = runner.build()
+
+ then:
+ result.output.contains("Calculating task graph as configuration cache cannot be reused because a build logic input of type 'ValueSourceModuleInfo' has changed.\n")
+ }
+
+
def "automatically sets module for application plugin"() {
given:
settingsFile << '''
From 3964bc4db539bec2b9059090a5b848ac0870f06a Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 14:18:16 +0200
Subject: [PATCH 10/24] testCases for the notSettingsPlugin
---
.../test/ConfigurationCacheTest.groovy | 90 +++++++++++++++++++
1 file changed, 90 insertions(+)
create mode 100644 src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
new file mode 100644
index 00000000..647e4597
--- /dev/null
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
@@ -0,0 +1,90 @@
+package org.gradlex.javamodule.dependencies.test
+
+import org.gradlex.javamodule.dependencies.test.fixture.GradleBuild
+import spock.lang.Specification
+
+class ConfigurationCacheTest extends Specification {
+
+ @Delegate
+ GradleBuild build = new GradleBuild()
+
+ def "configurationCacheHit"() {
+ given:
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module abc.app {
+ requires abc.lib;
+ }
+ '''
+
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ result = runner.build()
+
+ then:
+ result.getOutput().contains("Reusing configuration cache.")
+ }
+
+ def "configurationCacheHitIrrelevantChange"() {
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module abc.app {
+ requires abc.lib;
+ }
+ '''
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ appModuleInfoFile.write('''
+ module abc.app {
+ requires abc.lib; //This is a comment and should not break the configurationCache
+ }
+ ''')
+ result = runner.build()
+
+ then:
+ result.getOutput().contains("Reusing configuration cache.")
+ }
+
+ def "configurationCacheHitRelevantChange"() {
+ given:
+ libModuleInfoFile << 'module abc.lib { }'
+ appModuleInfoFile << '''
+ module abc.app {
+ requires abc.lib;
+ }
+ '''
+
+ def runner = runner(':app:compileJava')
+ when:
+ def result = runner.build()
+
+ then:
+ result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+
+ when:
+ appModuleInfoFile.write('''
+ module abc.app {
+ //dependency removed; so thats indeed a configuration change
+ }
+ ''')
+ result = runner.build()
+
+ then:
+ result.output.contains("Calculating task graph as configuration cache cannot be reused because a build logic input of type 'ValueSourceModuleInfo' has changed.\n")
+ }
+
+}
From 85f5afee566993df01baf96af115becdf6693008 Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 14:25:02 +0200
Subject: [PATCH 11/24] corrected Names
---
.../javamodule/dependencies/test/ConfigurationCacheTest.groovy | 2 +-
.../dependencies/test/initialization/SettingsPluginTest.groovy | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
index 647e4597..7bc9c552 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
@@ -59,7 +59,7 @@ class ConfigurationCacheTest extends Specification {
result.getOutput().contains("Reusing configuration cache.")
}
- def "configurationCacheHitRelevantChange"() {
+ def "configurationCacheMissRelevantChange"() {
given:
libModuleInfoFile << 'module abc.lib { }'
appModuleInfoFile << '''
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
index cf502283..7d194002 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
@@ -162,7 +162,7 @@ class SettingsPluginTest extends Specification {
result.getOutput().contains("Reusing configuration cache.")
}
- def "configurationCacheHitRelevantChange"() {
+ def "configurationCacheMissRelevantChange"() {
given:
settingsFile << '''
javaModules {
From 76074c1a0eba747652990f80abe5dfbc680a2a03 Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 15:02:02 +0200
Subject: [PATCH 12/24] fix except 7.4 which is bugged?
---
.../test/ConfigurationCacheTest.groovy | 31 +++++++++++++++----
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
index 7bc9c552..800b387b 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
@@ -1,5 +1,6 @@
package org.gradlex.javamodule.dependencies.test
+import org.gradle.util.GradleVersion
import org.gradlex.javamodule.dependencies.test.fixture.GradleBuild
import spock.lang.Specification
@@ -11,6 +12,7 @@ class ConfigurationCacheTest extends Specification {
def "configurationCacheHit"() {
given:
libModuleInfoFile << 'module abc.lib { }'
+
appModuleInfoFile << '''
module abc.app {
requires abc.lib;
@@ -18,12 +20,12 @@ class ConfigurationCacheTest extends Specification {
'''
- def runner = runner(':app:compileJava')
+ def runner = runner('--configuration-cache',':app:compileJava')
when:
def result = runner.build()
then:
- result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+ result.getOutput().contains(getNoCacheMessage() )
when:
result = runner.build()
@@ -32,6 +34,23 @@ class ConfigurationCacheTest extends Specification {
result.getOutput().contains("Reusing configuration cache.")
}
+ private String getNoCacheMessage() {
+ if (getVersionTest() >= GradleVersion.version("8.8")) {
+ return "Calculating task graph as no cached configuration is available for tasks: :app:compileJava"
+ } else {
+ return "Calculating task graph as no configuration cache is available for tasks: :app:compileJava"
+ }
+
+
+ }
+
+ private GradleVersion getVersionTest() {
+ if (gradleVersionUnderTest == null) {
+ return GradleVersion.current()
+ }
+ return GradleVersion.version(gradleVersionUnderTest)
+ }
+
def "configurationCacheHitIrrelevantChange"() {
libModuleInfoFile << 'module abc.lib { }'
appModuleInfoFile << '''
@@ -40,12 +59,12 @@ class ConfigurationCacheTest extends Specification {
}
'''
- def runner = runner(':app:compileJava')
+ def runner = runner('--configuration-cache',':app:compileJava')
when:
def result = runner.build()
then:
- result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+ result.getOutput().contains(getNoCacheMessage())
when:
appModuleInfoFile.write('''
@@ -68,12 +87,12 @@ class ConfigurationCacheTest extends Specification {
}
'''
- def runner = runner(':app:compileJava')
+ def runner = runner('--configuration-cache',':app:compileJava')
when:
def result = runner.build()
then:
- result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
+ result.getOutput().contains(getNoCacheMessage())
when:
appModuleInfoFile.write('''
From 0bb7a67c399cae284c7553f963e29f075b98fcb2 Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 15:45:52 +0200
Subject: [PATCH 13/24] add and exception
---
build.gradle.kts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/build.gradle.kts b/build.gradle.kts
index 0c220f32..f7e2c62e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -73,6 +73,10 @@ testing.suites.named("test") {
description = "Runs tests against Gradle $gradleVersionUnderTest"
systemProperty("gradleVersionUnderTest", gradleVersionUnderTest)
exclude("**/*SamplesTest.class") // Not yet cross-version ready
+ if (gradleVersionUnderTest == "7.4") {
+ // affected by long since bugs in gradle
+ exclude("**/*ConfigurationCacheTest.class")
+ }
exclude("**/initialization/**") // Settings plugin only for Gradle 8.8+
}
}
From 4eb556f192ce2318da6e590d84615f89527d38df Mon Sep 17 00:00:00 2001
From: goesen
Date: Sun, 29 Sep 2024 16:02:22 +0200
Subject: [PATCH 14/24] typo
---
build.gradle.kts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index f7e2c62e..ef5801ab 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -74,7 +74,7 @@ testing.suites.named("test") {
systemProperty("gradleVersionUnderTest", gradleVersionUnderTest)
exclude("**/*SamplesTest.class") // Not yet cross-version ready
if (gradleVersionUnderTest == "7.4") {
- // affected by long since bugs in gradle
+ // affected by long since fixed bugs in gradle
exclude("**/*ConfigurationCacheTest.class")
}
exclude("**/initialization/**") // Settings plugin only for Gradle 8.8+
From 80dc7a829a7a0eed3647cb9ebd9af1d26e510c0a Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 16:53:07 +0200
Subject: [PATCH 15/24] revert import reformating
---
.../JavaModuleDependenciesPlugin.java | 19 ++++++++++++++++---
.../internal/utils/ModuleInfo.java | 7 +++++--
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
index 17e2a545..0fc3e352 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
@@ -16,7 +16,11 @@
package org.gradlex.javamodule.dependencies;
-import org.gradle.api.*;
+import org.gradle.api.GradleException;
+import org.gradle.api.NonNullApi;
+import org.gradle.api.Plugin;
+import org.gradle.api.Project;
+import org.gradle.api.Task;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.artifacts.VersionCatalogsExtension;
@@ -36,7 +40,12 @@
import org.gradlex.javamodule.dependencies.internal.dsl.AllDirectivesInternal;
import org.gradlex.javamodule.dependencies.internal.dsl.GradleOnlyDirectivesInternal;
import org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo;
-import org.gradlex.javamodule.dependencies.tasks.*;
+import org.gradlex.javamodule.dependencies.tasks.BuildFileDependenciesGenerate;
+import org.gradlex.javamodule.dependencies.tasks.ModuleDependencyReport;
+import org.gradlex.javamodule.dependencies.tasks.ModuleDirectivesOrderingCheck;
+import org.gradlex.javamodule.dependencies.tasks.ModuleInfoGenerate;
+import org.gradlex.javamodule.dependencies.tasks.ModulePathAnalysis;
+import org.gradlex.javamodule.dependencies.tasks.ModuleVersionRecommendation;
import java.io.File;
import java.util.HashSet;
@@ -47,7 +56,11 @@
import static org.gradle.language.base.plugins.LifecycleBasePlugin.VERIFICATION_GROUP;
import static org.gradlex.javamodule.dependencies.JavaModuleDependenciesExtension.JAVA_MODULE_DEPENDENCIES;
import static org.gradlex.javamodule.dependencies.internal.utils.DependencyDeclarationsUtil.declaredDependencies;
-import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.*;
+import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES;
+import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_RUNTIME;
+import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_STATIC;
+import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_STATIC_TRANSITIVE;
+import static org.gradlex.javamodule.dependencies.internal.utils.ModuleInfo.Directive.REQUIRES_TRANSITIVE;
import static org.gradlex.javamodule.dependencies.internal.utils.ModuleNamingUtil.sourceSetToModuleName;
@SuppressWarnings("unused")
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
index 8be5026b..762936f8 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
@@ -18,7 +18,11 @@
import javax.annotation.Nullable;
import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
import static org.gradlex.javamodule.dependencies.internal.utils.ModuleNamingUtil.sourceSetToModuleName;
@@ -102,7 +106,6 @@ public String moduleNamePrefix(String projectName, String sourceSetName, boolean
return null;
}
-
/**
* @return true, if we are inside a multi-line comment after this line
*/
From b5fc768b7df6cd83f5afca234f27726f5414e24c Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 17:47:03 +0200
Subject: [PATCH 16/24] Adjust names for consistency
---
.../JavaModuleDependenciesPlugin.java | 4 +++-
.../internal/utils/ModuleInfoCache.java | 17 +++--------------
...duleInfo.java => ModuleInfoValueSource.java} | 14 ++++----------
.../tasks/ModuleDirectivesOrderingCheck.java | 1 +
4 files changed, 11 insertions(+), 25 deletions(-)
rename src/main/java/org/gradlex/javamodule/dependencies/internal/utils/{ValueSourceModuleInfo.java => ModuleInfoValueSource.java} (79%)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
index 0fc3e352..eec98333 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java
@@ -236,7 +236,9 @@ private void setupOrderingCheckTasks(Project project, TaskProvider checkAl
ModuleInfo moduleInfo = javaModuleDependencies.getModuleInfoCache().get().get(sourceSet, project.getProviders());
File folder = javaModuleDependencies.getModuleInfoCache().get().getFolder(sourceSet, project.getProviders());
- t.getModuleInfoPath().convention(folder == null ? "" : new File(folder, "module-info.java").getAbsolutePath());
+ if (folder != null) {
+ t.getModuleInfoPath().convention(new File(folder, "module-info.java").getAbsolutePath());
+ }
t.getModuleNamePrefix().convention(moduleInfo.moduleNamePrefix(project.getName(), sourceSet.getName(), false));
t.getModuleInfo().convention(moduleInfo);
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
index 243246dd..b01d3f5f 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
@@ -16,12 +16,10 @@
package org.gradlex.javamodule.dependencies.internal.utils;
-import org.gradle.api.Action;
import org.gradle.api.logging.Logger;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.Provider;
import org.gradle.api.provider.ProviderFactory;
-import org.gradle.api.provider.ValueSourceSpec;
import org.gradle.api.tasks.SourceSet;
import org.slf4j.LoggerFactory;
@@ -124,17 +122,8 @@ private boolean maybePutModuleInfo(File folder, ProviderFactory providers) {
}
private Provider provideModuleInfo(File folder, ProviderFactory providers) {
- return providers.of(ValueSourceModuleInfo.class, new Action>() {
- @Override
- public void execute(ValueSourceSpec moduleInfoSourcePValueSourceSpec) {
- moduleInfoSourcePValueSourceSpec.parameters(new Action() {
- @Override
- public void execute(ValueSourceModuleInfo.ModuleInfoSourceP moduleInfoSourceP) {
- moduleInfoSourceP.getDir().set(folder);
- }
- });
-
- }
- });
+ return providers.of(ModuleInfoValueSource.class,
+ moduleInfoSourcePValueSourceSpec -> moduleInfoSourcePValueSourceSpec.parameters(
+ moduleInfoSourceP -> moduleInfoSourceP.getDir().set(folder)));
}
}
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoValueSource.java
similarity index 79%
rename from src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
rename to src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoValueSource.java
index 3b5f2404..0a700a6d 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoValueSource.java
@@ -25,28 +25,22 @@
import java.io.IOException;
import java.util.Scanner;
-public abstract class ValueSourceModuleInfo implements ValueSource {
-
-
- interface ModuleInfoSourceP extends ValueSourceParameters {
+public abstract class ModuleInfoValueSource implements ValueSource {
+ interface ModuleInfoValueSourceParameter extends ValueSourceParameters {
DirectoryProperty getDir();
}
-
@Override
public @Nullable ModuleInfo obtain() {
- ModuleInfoSourceP parameters = getParameters();
+ ModuleInfoValueSourceParameter parameters = getParameters();
File file = new File(parameters.getDir().get().getAsFile(), "module-info.java");
if (file.isFile()) {
try {
- Scanner scan = new Scanner(file);
- try {
+ try (Scanner scan = new Scanner(file)) {
scan.useDelimiter("\\Z");
String content = scan.next();
return new ModuleInfo(content);
- } finally {
- scan.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModuleDirectivesOrderingCheck.java b/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModuleDirectivesOrderingCheck.java
index 0ba5c10f..81006eeb 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModuleDirectivesOrderingCheck.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/tasks/ModuleDirectivesOrderingCheck.java
@@ -36,6 +36,7 @@
public abstract class ModuleDirectivesOrderingCheck extends DefaultTask {
@Input
+ @Optional
public abstract Property getModuleInfoPath();
@Input
From f41db488d21593813290c26b650990cdab61e618 Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 18:05:08 +0200
Subject: [PATCH 17/24] Move config cache tests into own test package and some
cleanup
---
build.gradle.kts | 7 ++--
.../dependencies/unique_modules.properties | 2 +-
.../ConfigurationCacheTest.groovy | 34 +++++------------
.../initialization/SettingsPluginTest.groovy | 37 ++-----------------
4 files changed, 17 insertions(+), 63 deletions(-)
rename src/test/groovy/org/gradlex/javamodule/dependencies/test/{ => configcache}/ConfigurationCacheTest.groovy (67%)
diff --git a/build.gradle.kts b/build.gradle.kts
index 9e5a5edd..fc2518c1 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -73,11 +73,12 @@ testing.suites.named("test") {
description = "Runs tests against Gradle $gradleVersionUnderTest"
systemProperty("gradleVersionUnderTest", gradleVersionUnderTest)
exclude("**/*SamplesTest.class") // Not yet cross-version ready
+ exclude("**/initialization/**") // Settings plugin only for Gradle 8.8+
if (gradleVersionUnderTest == "7.4") {
- // affected by long since fixed bugs in gradle
- exclude("**/*ConfigurationCacheTest.class")
+ // Configuration cache only "reliable" since 7.6 (?)
+ // https://github.com/gradlex-org/java-module-dependencies/issues/129
+ exclude("**/configcache/**")
}
- exclude("**/initialization/**") // Settings plugin only for Gradle 8.8+
}
}
}
diff --git a/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties b/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
index 097059fd..a45f3e56 100644
--- a/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
+++ b/src/main/resources/org/gradlex/javamodule/dependencies/unique_modules.properties
@@ -1151,7 +1151,7 @@ com.github.gv2011.util.gcol=com.github.gv2011:util-gcol
com.github.gv2011.util.html.imp=com.github.gv2011:util-html
com.github.gv2011.util.image=com.github.gv2011:util-image
com.github.gv2011.util.json.imp=com.github.gv2011:util-json
-com.github.gv2011.util.swing=com.github.gv2011:util-swing
+com.github.gv2011.util.swing.imp=com.github.gv2011:util-swing
com.github.gv2011.util.tika=com.github.gv2011:util-tika
com.github.gw2toolbelt.gw2ml=com.github.gw2toolbelt.gw2ml:gw2ml
com.github.hanshsieh.pixivj=com.github.hanshsieh:pixivj
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
similarity index 67%
rename from src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
rename to src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
index 800b387b..1a8762cd 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/ConfigurationCacheTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
@@ -1,11 +1,13 @@
-package org.gradlex.javamodule.dependencies.test
+package org.gradlex.javamodule.dependencies.test.configcache
-import org.gradle.util.GradleVersion
import org.gradlex.javamodule.dependencies.test.fixture.GradleBuild
import spock.lang.Specification
class ConfigurationCacheTest extends Specification {
+ static final NO_CACHE_MESSAGE =
+ "Calculating task graph as no cached configuration is available for tasks: :app:compileJava"
+
@Delegate
GradleBuild build = new GradleBuild()
@@ -19,36 +21,18 @@ class ConfigurationCacheTest extends Specification {
}
'''
-
def runner = runner('--configuration-cache',':app:compileJava')
when:
def result = runner.build()
then:
- result.getOutput().contains(getNoCacheMessage() )
+ result.output.contains(NO_CACHE_MESSAGE)
when:
result = runner.build()
then:
- result.getOutput().contains("Reusing configuration cache.")
- }
-
- private String getNoCacheMessage() {
- if (getVersionTest() >= GradleVersion.version("8.8")) {
- return "Calculating task graph as no cached configuration is available for tasks: :app:compileJava"
- } else {
- return "Calculating task graph as no configuration cache is available for tasks: :app:compileJava"
- }
-
-
- }
-
- private GradleVersion getVersionTest() {
- if (gradleVersionUnderTest == null) {
- return GradleVersion.current()
- }
- return GradleVersion.version(gradleVersionUnderTest)
+ result.output.contains("Reusing configuration cache.")
}
def "configurationCacheHitIrrelevantChange"() {
@@ -64,7 +48,7 @@ class ConfigurationCacheTest extends Specification {
def result = runner.build()
then:
- result.getOutput().contains(getNoCacheMessage())
+ result.output.contains(NO_CACHE_MESSAGE)
when:
appModuleInfoFile.write('''
@@ -75,7 +59,7 @@ class ConfigurationCacheTest extends Specification {
result = runner.build()
then:
- result.getOutput().contains("Reusing configuration cache.")
+ result.output.contains("Reusing configuration cache.")
}
def "configurationCacheMissRelevantChange"() {
@@ -92,7 +76,7 @@ class ConfigurationCacheTest extends Specification {
def result = runner.build()
then:
- result.getOutput().contains(getNoCacheMessage())
+ result.output.contains(NO_CACHE_MESSAGE)
when:
appModuleInfoFile.write('''
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
index 7d194002..68d01146 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
@@ -1,6 +1,5 @@
package org.gradlex.javamodule.dependencies.test.initialization
-import org.gradle.testkit.runner.GradleRunner
import org.gradlex.javamodule.dependencies.test.fixture.GradleBuild
import spock.lang.Specification
@@ -91,37 +90,7 @@ class SettingsPluginTest extends Specification {
result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
when:
- result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
- result = runner.build()
-
- then:
- result.getOutput().contains("Reusing configuration cache.")
- }
-
- def "configurationCacheHit"() {
- given:
- settingsFile << '''
- javaModules {
- directory(".") { plugin("java-library") }
- }
- '''
- libModuleInfoFile << 'module abc.lib { }'
- appModuleInfoFile << '''
- module org.gradlex.test.app {
- requires abc.lib;
- }
- '''
-
-
- def runner = runner(':app:compileJava')
- when:
- def result = runner.build()
-
- then:
- result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
-
- when:
- result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ runner.build() // https://github.com/gradlex-org/java-module-dependencies/issues/128
result = runner.build()
then:
@@ -150,7 +119,7 @@ class SettingsPluginTest extends Specification {
result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
when:
- result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ runner.build() // https://github.com/gradlex-org/java-module-dependencies/issues/128
appModuleInfoFile.write('''
module org.gradlex.test.app {
requires abc.lib; //This is a comment and should not break the configurationCache
@@ -184,7 +153,7 @@ class SettingsPluginTest extends Specification {
result.getOutput().contains("Calculating task graph as no cached configuration is available for tasks: :app:compileJava")
when:
- result = runner.build() //TODO Thats a big problem with the Settings Plugin AAAAAAAAH
+ runner.build() // https://github.com/gradlex-org/java-module-dependencies/issues/128
appModuleInfoFile.write('''
module org.gradlex.test.app {
//dependency removed; so thats indeed a configuration change
From a2dd946744965c49d72da5a4ce51c8baccdf765e Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 18:17:22 +0200
Subject: [PATCH 18/24] rename: ModuleInfoValueSource -> ValueSourceModuleInfo
There seems to be some kind of name clash with other things
called 'ModuleInfo'.
---
.../dependencies/internal/utils/ModuleInfoCache.java | 4 +---
...oduleInfoValueSource.java => ValueSourceModuleInfo.java} | 6 +++---
2 files changed, 4 insertions(+), 6 deletions(-)
rename src/main/java/org/gradlex/javamodule/dependencies/internal/utils/{ModuleInfoValueSource.java => ValueSourceModuleInfo.java} (84%)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
index b01d3f5f..a8a68550 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
@@ -122,8 +122,6 @@ private boolean maybePutModuleInfo(File folder, ProviderFactory providers) {
}
private Provider provideModuleInfo(File folder, ProviderFactory providers) {
- return providers.of(ModuleInfoValueSource.class,
- moduleInfoSourcePValueSourceSpec -> moduleInfoSourcePValueSourceSpec.parameters(
- moduleInfoSourceP -> moduleInfoSourceP.getDir().set(folder)));
+ return providers.of(ValueSourceModuleInfo.class, spec -> spec.parameters(param -> param.getDir().set(folder)));
}
}
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoValueSource.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
similarity index 84%
rename from src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoValueSource.java
rename to src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
index 0a700a6d..524d6b83 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoValueSource.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ValueSourceModuleInfo.java
@@ -25,15 +25,15 @@
import java.io.IOException;
import java.util.Scanner;
-public abstract class ModuleInfoValueSource implements ValueSource {
+public abstract class ValueSourceModuleInfo implements ValueSource {
- interface ModuleInfoValueSourceParameter extends ValueSourceParameters {
+ interface Parameter extends ValueSourceParameters {
DirectoryProperty getDir();
}
@Override
public @Nullable ModuleInfo obtain() {
- ModuleInfoValueSourceParameter parameters = getParameters();
+ Parameter parameters = getParameters();
File file = new File(parameters.getDir().get().getAsFile(), "module-info.java");
if (file.isFile()) {
try {
From 17b73487d609c2a66c8ad5b8749dfc6a1ba29b2e Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 18:22:32 +0200
Subject: [PATCH 19/24] Reformat code for readability
---
.../internal/utils/ModuleInfo.java | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
index 762936f8..f4c362db 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfo.java
@@ -55,7 +55,7 @@ public String literal() {
public ModuleInfo(String moduleInfoFileContent) {
boolean insideComment = false;
- for(String line: moduleInfoFileContent.split("\n")) {
+ for (String line : moduleInfoFileContent.split("\n")) {
insideComment = parse(line, insideComment);
}
}
@@ -150,11 +150,23 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ModuleInfo that = (ModuleInfo) o;
- return Objects.equals(moduleName, that.moduleName) && Objects.equals(requires, that.requires) && Objects.equals(requiresTransitive, that.requiresTransitive) && Objects.equals(requiresStatic, that.requiresStatic) && Objects.equals(requiresStaticTransitive, that.requiresStaticTransitive) && Objects.equals(requiresRuntime, that.requiresRuntime);
+ return Objects.equals(moduleName, that.moduleName)
+ && Objects.equals(requires, that.requires)
+ && Objects.equals(requiresTransitive, that.requiresTransitive)
+ && Objects.equals(requiresStatic, that.requiresStatic)
+ && Objects.equals(requiresStaticTransitive, that.requiresStaticTransitive)
+ && Objects.equals(requiresRuntime, that.requiresRuntime);
}
@Override
public int hashCode() {
- return Objects.hash(moduleName, requires, requiresTransitive, requiresStatic, requiresStaticTransitive, requiresRuntime);
+ return Objects.hash(
+ moduleName,
+ requires,
+ requiresTransitive,
+ requiresStatic,
+ requiresStaticTransitive,
+ requiresRuntime
+ );
}
}
From 6c0b512a74dfd68e7d2b2cfeccd089b82f26e0f9 Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 18:23:16 +0200
Subject: [PATCH 20/24] Remove empty line
---
.../javamodule/dependencies/internal/utils/ModuleInfoCache.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
index a8a68550..c9394087 100644
--- a/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
+++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/utils/ModuleInfoCache.java
@@ -77,7 +77,6 @@ public File getFolder(SourceSet sourceSet, ProviderFactory providers) {
return null;
}
-
/**
* @param projectRoot the project that should hold a Java module
* @return parsed module-info.java for the given project assuming a standard Java project layout
From 37ddeceb7d07b7c1877610de26d246658b04e453 Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 18:24:37 +0200
Subject: [PATCH 21/24] Remove empty line
---
.../dependencies/test/initialization/SettingsPluginTest.groovy | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
index 68d01146..1f578d11 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/initialization/SettingsPluginTest.groovy
@@ -165,7 +165,6 @@ class SettingsPluginTest extends Specification {
result.output.contains("Calculating task graph as configuration cache cannot be reused because a build logic input of type 'ValueSourceModuleInfo' has changed.\n")
}
-
def "automatically sets module for application plugin"() {
given:
settingsFile << '''
From 7ed13233db213012c112b6a823450d5131efcae2 Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 19:12:08 +0200
Subject: [PATCH 22/24] restore: message assertion in test depends on Gradle
version
---
.../configcache/ConfigurationCacheTest.groovy | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
index 1a8762cd..0fba48e8 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
@@ -3,14 +3,17 @@ package org.gradlex.javamodule.dependencies.test.configcache
import org.gradlex.javamodule.dependencies.test.fixture.GradleBuild
import spock.lang.Specification
-class ConfigurationCacheTest extends Specification {
+import static org.gradle.util.GradleVersion.version
- static final NO_CACHE_MESSAGE =
- "Calculating task graph as no cached configuration is available for tasks: :app:compileJava"
+class ConfigurationCacheTest extends Specification {
@Delegate
GradleBuild build = new GradleBuild()
+ final noCacheMessage = version(gradleVersionUnderTest) >= version("8.8")
+ ? "Calculating task graph as no cached configuration is available for tasks: :app:compileJava"
+ : "Calculating task graph as no configuration cache is available for tasks: :app:compileJava"
+
def "configurationCacheHit"() {
given:
libModuleInfoFile << 'module abc.lib { }'
@@ -26,7 +29,7 @@ class ConfigurationCacheTest extends Specification {
def result = runner.build()
then:
- result.output.contains(NO_CACHE_MESSAGE)
+ result.output.contains(noCacheMessage)
when:
result = runner.build()
@@ -48,7 +51,7 @@ class ConfigurationCacheTest extends Specification {
def result = runner.build()
then:
- result.output.contains(NO_CACHE_MESSAGE)
+ result.output.contains(noCacheMessage)
when:
appModuleInfoFile.write('''
@@ -76,7 +79,7 @@ class ConfigurationCacheTest extends Specification {
def result = runner.build()
then:
- result.output.contains(NO_CACHE_MESSAGE)
+ result.output.contains(noCacheMessage)
when:
appModuleInfoFile.write('''
From ddb2c84a707e4004115a9d8d862147f5a9fa379e Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 19:16:16 +0200
Subject: [PATCH 23/24] Add changelog entry
---
CHANGELOG.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 24d1cb9c..a4b08236 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
# Java Module Dependencies Gradle Plugin - Changelog
+## Version 1.8
+* [#127](https://github.com/gradlex-org/java-module-dependencies/issues/127) Less configuration cache misses when modifying `module-info.java` (Thanks [TheGoesen](https://github.com/TheGoesen))
+
## Version 1.7.1
* Update module name mappings
From cfd7a5284ffba8020e5c7108f7cc3bfe071b2dcd Mon Sep 17 00:00:00 2001
From: Jendrik Johannes
Date: Fri, 11 Oct 2024 19:34:57 +0200
Subject: [PATCH 24/24] Fix condition in test
---
.../dependencies/test/configcache/ConfigurationCacheTest.groovy | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy b/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
index 0fba48e8..31f7f1d8 100644
--- a/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
+++ b/src/test/groovy/org/gradlex/javamodule/dependencies/test/configcache/ConfigurationCacheTest.groovy
@@ -10,7 +10,7 @@ class ConfigurationCacheTest extends Specification {
@Delegate
GradleBuild build = new GradleBuild()
- final noCacheMessage = version(gradleVersionUnderTest) >= version("8.8")
+ final noCacheMessage = !gradleVersionUnderTest || version(gradleVersionUnderTest) >= version("8.8")
? "Calculating task graph as no cached configuration is available for tasks: :app:compileJava"
: "Calculating task graph as no configuration cache is available for tasks: :app:compileJava"