From 137a9dca147e8d0c6e9c0e7866ff53ae113f1cfc Mon Sep 17 00:00:00 2001 From: Iwan Eising Date: Thu, 17 Sep 2026 14:55:55 +0400 Subject: [PATCH] maintenance: bump api-detector-core to 1.8.0 Moves shadow-api-detector, mirage-api-detector, doppelganger-api-detector and api-only-suite to api-detector-core 1.8.0 together, so the suite's dependency graph stays aligned. 1.8.0 resolves a constant declared in another class, such as GetUserOperation.PATH, through the propertyFiles map under the key SimpleClassName.FIELD. The Doppelganger README describes the pattern. Without a matching key, such a constant resolves to nothing, as before. --- api-only-suite/gradle/libs.versions.toml | 2 +- doppelganger-api-detector/README.adoc | 15 +++++++++++++++ .../gradle/libs.versions.toml | 2 +- mirage-api-detector/gradle/libs.versions.toml | 2 +- shadow-api-detector/gradle/libs.versions.toml | 2 +- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/api-only-suite/gradle/libs.versions.toml b/api-only-suite/gradle/libs.versions.toml index 4a8321bb..d5c67636 100644 --- a/api-only-suite/gradle/libs.versions.toml +++ b/api-only-suite/gradle/libs.versions.toml @@ -9,7 +9,7 @@ owasp-dependency-check = { id = "org.owasp.dependencycheck", version.re owasp-dependency-check = "13.0.0" -api-detector-core = "1.6.0" +api-detector-core = "1.8.0" dsl-updater-core = "1.0.0" javaparser = "3.28.2" swagger-parser = "2.1.47" diff --git a/doppelganger-api-detector/README.adoc b/doppelganger-api-detector/README.adoc index dff7d538..9ad49aaa 100644 --- a/doppelganger-api-detector/README.adoc +++ b/doppelganger-api-detector/README.adoc @@ -254,6 +254,21 @@ private String usersByUsernamePath; mockMvc.perform(get(usersByUsernamePath, "alice")); ---- +A constant declared in another class, such as `GetUserOperation.PATH`, resolves the same way: it is +looked up in the merged `propertyFiles` map under the key `SimpleClassName.FIELD`, whether the +reference is written simply or fully qualified. The API-Only TranscriberJ writes such a file for the +operation classes it generates, so a project using it only points `propertyFiles` at that file: + +[source,java] +---- +// Constant pattern - only propertyFiles needs to be configured, with an entry such as +// GetUserOperation.PATH=/v1/users/{username} +mockMvc.perform(get(GetUserOperation.PATH, "alice")); +---- + +Without a matching key, another class's constant resolves to nothing, as it always did. The plugin +itself does not depend on the TranscriberJ. + Matching is by simple class/method name only, exactly like every other scanner in this plugin - no classpath is consulted, so `ApiEndpoints` never needs to be on the plugin's own classpath. Both `propertyFiles` and `pathResolverHelperMethods` default to empty, so a project that doesn't diff --git a/doppelganger-api-detector/gradle/libs.versions.toml b/doppelganger-api-detector/gradle/libs.versions.toml index b0debe87..d5c67636 100644 --- a/doppelganger-api-detector/gradle/libs.versions.toml +++ b/doppelganger-api-detector/gradle/libs.versions.toml @@ -9,7 +9,7 @@ owasp-dependency-check = { id = "org.owasp.dependencycheck", version.re owasp-dependency-check = "13.0.0" -api-detector-core = "1.6.1" +api-detector-core = "1.8.0" dsl-updater-core = "1.0.0" javaparser = "3.28.2" swagger-parser = "2.1.47" diff --git a/mirage-api-detector/gradle/libs.versions.toml b/mirage-api-detector/gradle/libs.versions.toml index 2dcec795..b4b5b39c 100644 --- a/mirage-api-detector/gradle/libs.versions.toml +++ b/mirage-api-detector/gradle/libs.versions.toml @@ -9,7 +9,7 @@ owasp-dependency-check = { id = "org.owasp.dependencycheck", version.re owasp-dependency-check = "13.0.0" -api-detector-core = "1.6.1" +api-detector-core = "1.8.0" dsl-updater-core = "1.0.0" javaparser = "3.28.2" swagger-parser = "2.1.46" diff --git a/shadow-api-detector/gradle/libs.versions.toml b/shadow-api-detector/gradle/libs.versions.toml index 2dcec795..b4b5b39c 100644 --- a/shadow-api-detector/gradle/libs.versions.toml +++ b/shadow-api-detector/gradle/libs.versions.toml @@ -9,7 +9,7 @@ owasp-dependency-check = { id = "org.owasp.dependencycheck", version.re owasp-dependency-check = "13.0.0" -api-detector-core = "1.6.1" +api-detector-core = "1.8.0" dsl-updater-core = "1.0.0" javaparser = "3.28.2" swagger-parser = "2.1.46"