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"