From c5306eadbf32ae86bf4c4112baae7ccb3246901a Mon Sep 17 00:00:00 2001 From: Shinsuke Sugaya Date: Wed, 9 Sep 2026 22:31:30 +0900 Subject: [PATCH] build!: leave the gcs: crawler client to the fess-lib-gcs plugin crawler/client.xml no longer declares gcsClient or maps gcs:.* to it. GcsClient and the gcs: URL handler stay in fess-crawler and still compile against the Google Cloud Storage SDK; what changes is that nothing in this library names the class, so the SDK is no longer needed to build the container. Fess 15.9 stops shipping that SDK, which is around 17 MiB of jars for a protocol most installations never crawl, and moves it to the fess-lib-gcs plugin. The plugin registers the client through crawlerClientCreator, the way fess-crawler-playwright registers playwrightClient, so installing it restores gcs: crawling. Declaring the component here regardless of whether the SDK is present is not an option. Lasta Di resolves the class named by a component while it parses the Di xml, not when the component is first used, so an installation without the SDK does not start at all: DiXmlParseFailureException at /components[1]/include[19] Caused by: java.lang.NoClassDefFoundError: com/google/cloud/NoCredentials SEVERE: Exception starting filter [lastaPrepareFilter] SEVERE: Context [] startup failed due to previous errors With the plugin installed it fails differently: both files declare gcsClient, the component key becomes ambiguous, and the first crawl gets TooManyRegistrationComponentException. Both were reproduced, the first on CI and the second against a running Fess with a fake-gcs-server bucket. Consumers of this library that relied on the gcs: mapping keep GcsClient itself and can register it in their own container. --- .../src/main/resources/crawler/client.xml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/fess-crawler-lasta/src/main/resources/crawler/client.xml b/fess-crawler-lasta/src/main/resources/crawler/client.xml index cd6442051..405ad7d6a 100644 --- a/fess-crawler-lasta/src/main/resources/crawler/client.xml +++ b/fess-crawler-lasta/src/main/resources/crawler/client.xml @@ -56,10 +56,12 @@ "UTF-8" - - "UTF-8" - + @@ -95,10 +97,6 @@ "s3:.*" s3Client - - "gcs:.*" - gcsClient -