This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new 64e5736  Remove quarkiverse-google-cloud-services dependencies
64e5736 is described below

commit 64e573611bfb67c83b0603709d104b5470949906
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Fri Oct 15 14:56:48 2021 +0100

    Remove quarkiverse-google-cloud-services dependencies
---
 .../reference/extensions/google-bigquery.adoc      |  5 --
 .../pages/reference/extensions/google-storage.adoc | 15 -----
 extensions/google-bigquery/deployment/pom.xml      |  4 --
 .../deployment/GoogleBigqueryProcessor.java        |  7 --
 extensions/google-bigquery/runtime/pom.xml         |  4 +-
 .../runtime/src/main/doc/usage.adoc                |  5 --
 .../GoogleBigQueryConnectionFactoryProducer.java   | 40 ------------
 extensions/google-pubsub/deployment/pom.xml        |  4 +-
 extensions/google-pubsub/runtime/pom.xml           |  8 ++-
 extensions/google-storage/deployment/pom.xml       |  5 --
 .../storage/deployment/GoogleStorageProcessor.java |  7 --
 extensions/google-storage/runtime/pom.xml          | 15 ++---
 .../runtime/src/main/doc/configuration.adoc        | 11 ----
 .../google/storage/GoogleStorageEnforcer.java      | 35 ----------
 integration-tests/google-bigquery/README.adoc      |  5 +-
 .../google/bigquery/it/GoogleBigqueryResource.java | 21 +++---
 integration-tests/google-storage/README.adoc       | 10 +--
 .../google/storage/it/GoogleStorageResource.java   | 25 +++-----
 .../src/main/resources/application.properties      | 17 -----
 pom.xml                                            |  3 +-
 poms/bom/pom.xml                                   | 75 +++++++++++++++++-----
 21 files changed, 98 insertions(+), 223 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/extensions/google-bigquery.adoc 
b/docs/modules/ROOT/pages/reference/extensions/google-bigquery.adoc
index b26a6f9..7a8cb45 100644
--- a/docs/modules/ROOT/pages/reference/extensions/google-bigquery.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/google-bigquery.adoc
@@ -42,11 +42,6 @@ Check the xref:user-guide/index.adoc[User guide] for more 
information about writ
 
 == Usage
 
-This extension leverages the Quarkiverse Google Cloud Services extension.
-The 
https://github.com/quarkiverse/quarkiverse-google-cloud-services[documentation] 
describes how to configure authentication for Google cloud services.
-
-For convenience, a `GoogleBigQueryConnectionFactory` for use by the 
`google-bigquery` & `google-bigquery-sql` component is automatically configured.
-
 If you want to read SQL scripts from the classpath with `google-bigquery-sql` 
in native mode,
 then you will need to ensure that they are added to the native image via the 
`quarkus.native.resources.includes` configuration property.
 Please check 
https://quarkus.io/guides/building-native-image#quarkus-native-pkg-native-config_quarkus.native.resources.includes[Quarkus
 documentation] for more details.
diff --git a/docs/modules/ROOT/pages/reference/extensions/google-storage.adoc 
b/docs/modules/ROOT/pages/reference/extensions/google-storage.adoc
index 10c6ff0..dec18ab 100644
--- a/docs/modules/ROOT/pages/reference/extensions/google-storage.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/google-storage.adoc
@@ -43,18 +43,3 @@ Check the xref:user-guide/index.adoc[User guide] for more 
information about writ
 This extension auto-enables SSL support in native mode. Hence you do not need 
to add
 `quarkus.ssl.native=true` to your `application.properties` yourself. See also
 https://quarkus.io/guides/native-and-ssl[Quarkus SSL guide].
-
-== Additional Camel Quarkus configuration
-
-There are two different configuration approaches:
-
-* Google storage client can be defined via quarkus properties leveraging the 
Quarkiverse - Google Cloud Services - Storage (see 
https://github.com/quarkiverse/quarkus-google-cloud-services/blob/main/storage[extension
 git page]).
-Camel will autowire client into the Google-storage component.
-This configuration allows definition of only one storage client, therefore it 
isn't possible to define several different endpoints, which run together.
-
-* When multiple storage clients are needed, one or more storage client bean 
need to be registered in the registry (e.g. via a CDI bean producer). Each 
storage client bean could then be referenced from distinct endpoints.
-[source,properties]
-----
-google-storage://bucket?storageClient=#my_client
-----
-
diff --git a/extensions/google-bigquery/deployment/pom.xml 
b/extensions/google-bigquery/deployment/pom.xml
index b451556..da7f135 100644
--- a/extensions/google-bigquery/deployment/pom.xml
+++ b/extensions/google-bigquery/deployment/pom.xml
@@ -31,10 +31,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>io.quarkiverse.googlecloudservices</groupId>
-            <artifactId>quarkus-google-cloud-bigquery-deployment</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
diff --git 
a/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
 
b/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
index 91bedd1..20dd60f 100644
--- 
a/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
+++ 
b/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
@@ -16,10 +16,8 @@
  */
 package org.apache.camel.quarkus.component.google.bigquery.deployment;
 
-import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import 
org.apache.camel.quarkus.component.google.bigquery.GoogleBigQueryConnectionFactoryProducer;
 
 class GoogleBigqueryProcessor {
     private static final String FEATURE = "camel-google-bigquery";
@@ -28,9 +26,4 @@ class GoogleBigqueryProcessor {
     FeatureBuildItem feature() {
         return new FeatureBuildItem(FEATURE);
     }
-
-    @BuildStep
-    public AdditionalBeanBuildItem connectionFactoryProducerBean() {
-        return new 
AdditionalBeanBuildItem(GoogleBigQueryConnectionFactoryProducer.class);
-    }
 }
diff --git a/extensions/google-bigquery/runtime/pom.xml 
b/extensions/google-bigquery/runtime/pom.xml
index 1ff7677..47b2a38 100644
--- a/extensions/google-bigquery/runtime/pom.xml
+++ b/extensions/google-bigquery/runtime/pom.xml
@@ -49,8 +49,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>io.quarkiverse.googlecloudservices</groupId>
-            <artifactId>quarkus-google-cloud-bigquery</artifactId>
+            <groupId>com.google.cloud</groupId>
+            <artifactId>native-image-support</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/google-bigquery/runtime/src/main/doc/usage.adoc 
b/extensions/google-bigquery/runtime/src/main/doc/usage.adoc
index db37bbc..3f0e86a 100644
--- a/extensions/google-bigquery/runtime/src/main/doc/usage.adoc
+++ b/extensions/google-bigquery/runtime/src/main/doc/usage.adoc
@@ -1,8 +1,3 @@
-This extension leverages the Quarkiverse Google Cloud Services extension.
-The 
https://github.com/quarkiverse/quarkiverse-google-cloud-services[documentation] 
describes how to configure authentication for Google cloud services.
-
-For convenience, a `GoogleBigQueryConnectionFactory` for use by the 
`google-bigquery` & `google-bigquery-sql` component is automatically configured.
-
 If you want to read SQL scripts from the classpath with `google-bigquery-sql` 
in native mode,
 then you will need to ensure that they are added to the native image via the 
`quarkus.native.resources.includes` configuration property.
 Please check 
https://quarkus.io/guides/building-native-image#quarkus-native-pkg-native-config_quarkus.native.resources.includes[Quarkus
 documentation] for more details.
diff --git 
a/extensions/google-bigquery/runtime/src/main/java/org/apache/camel/quarkus/component/google/bigquery/GoogleBigQueryConnectionFactoryProducer.java
 
b/extensions/google-bigquery/runtime/src/main/java/org/apache/camel/quarkus/component/google/bigquery/GoogleBigQueryConnectionFactoryProducer.java
deleted file mode 100644
index 887b9e6..0000000
--- 
a/extensions/google-bigquery/runtime/src/main/java/org/apache/camel/quarkus/component/google/bigquery/GoogleBigQueryConnectionFactoryProducer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.camel.quarkus.component.google.bigquery;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import com.google.cloud.bigquery.BigQuery;
-import 
org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory;
-
-@ApplicationScoped
-public class GoogleBigQueryConnectionFactoryProducer {
-
-    @Inject
-    BigQuery bigQuery;
-
-    @Produces
-    @Default
-    @Singleton
-    public GoogleBigQueryConnectionFactory googleBigQueryConnectionFactory() {
-        return new GoogleBigQueryConnectionFactory(bigQuery);
-    }
-}
diff --git a/extensions/google-pubsub/deployment/pom.xml 
b/extensions/google-pubsub/deployment/pom.xml
index e26fffb..4dce202 100644
--- a/extensions/google-pubsub/deployment/pom.xml
+++ b/extensions/google-pubsub/deployment/pom.xml
@@ -35,8 +35,8 @@
             <artifactId>quarkus-jackson-deployment</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.quarkiverse.googlecloudservices</groupId>
-            <artifactId>quarkus-google-cloud-pubsub-deployment</artifactId>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-grpc-common-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/google-pubsub/runtime/pom.xml 
b/extensions/google-pubsub/runtime/pom.xml
index 49fcacf..63c2b16 100644
--- a/extensions/google-pubsub/runtime/pom.xml
+++ b/extensions/google-pubsub/runtime/pom.xml
@@ -63,8 +63,12 @@
             <artifactId>quarkus-jackson</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.quarkiverse.googlecloudservices</groupId>
-            <artifactId>quarkus-google-cloud-pubsub</artifactId>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-grpc-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.cloud</groupId>
+            <artifactId>native-image-support</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/google-storage/deployment/pom.xml 
b/extensions/google-storage/deployment/pom.xml
index 7b893d1..4ad024d 100644
--- a/extensions/google-storage/deployment/pom.xml
+++ b/extensions/google-storage/deployment/pom.xml
@@ -38,11 +38,6 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-google-storage</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.quarkiverse.googlecloudservices</groupId>
-            <artifactId>quarkus-google-cloud-storage-deployment</artifactId>
-        </dependency>
-
     </dependencies>
 
     <build>
diff --git 
a/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
 
b/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
index b2dcc29..347f9fc 100644
--- 
a/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
+++ 
b/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
@@ -16,11 +16,9 @@
  */
 package org.apache.camel.quarkus.component.google.storage.deployment;
 
-import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import org.apache.camel.quarkus.component.google.storage.GoogleStorageEnforcer;
 
 class GoogleStorageProcessor {
 
@@ -35,9 +33,4 @@ class GoogleStorageProcessor {
     ExtensionSslNativeSupportBuildItem activateSslNativeSupport() {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
-
-    @BuildStep
-    public AdditionalBeanBuildItem storageEnforcer() {
-        return new AdditionalBeanBuildItem(GoogleStorageEnforcer.class);
-    }
 }
diff --git a/extensions/google-storage/runtime/pom.xml 
b/extensions/google-storage/runtime/pom.xml
index 3fdf108..9f55a43 100644
--- a/extensions/google-storage/runtime/pom.xml
+++ b/extensions/google-storage/runtime/pom.xml
@@ -49,24 +49,17 @@
 
     <dependencies>
         <dependency>
+            <groupId>com.google.cloud</groupId>
+            <artifactId>native-image-support</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-google-storage</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>google-cloud-storage</artifactId>
-                    <groupId>com.google.cloud</groupId>
-                </exclusion>
-            </exclusions>
         </dependency>
-        <dependency>
-            <groupId>io.quarkiverse.googlecloudservices</groupId>
-            <artifactId>quarkus-google-cloud-storage</artifactId>
-        </dependency>
-
     </dependencies>
 
     <build>
diff --git a/extensions/google-storage/runtime/src/main/doc/configuration.adoc 
b/extensions/google-storage/runtime/src/main/doc/configuration.adoc
deleted file mode 100644
index a4c6437..0000000
--- a/extensions/google-storage/runtime/src/main/doc/configuration.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-There are two different configuration approaches:
-
-* Google storage client can be defined via quarkus properties leveraging the 
Quarkiverse - Google Cloud Services - Storage (see 
https://github.com/quarkiverse/quarkus-google-cloud-services/blob/main/storage[extension
 git page]).
-Camel will autowire client into the Google-storage component.
-This configuration allows definition of only one storage client, therefore it 
isn't possible to define several different endpoints, which run together.
-
-* When multiple storage clients are needed, one or more storage client bean 
need to be registered in the registry (e.g. via a CDI bean producer). Each 
storage client bean could then be referenced from distinct endpoints.
-[source,properties]
-----
-google-storage://bucket?storageClient=#my_client
-----
\ No newline at end of file
diff --git 
a/extensions/google-storage/runtime/src/main/java/org/apache/camel/quarkus/component/google/storage/GoogleStorageEnforcer.java
 
b/extensions/google-storage/runtime/src/main/java/org/apache/camel/quarkus/component/google/storage/GoogleStorageEnforcer.java
deleted file mode 100644
index a937d28..0000000
--- 
a/extensions/google-storage/runtime/src/main/java/org/apache/camel/quarkus/component/google/storage/GoogleStorageEnforcer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.camel.quarkus.component.google.storage;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-
-import com.google.cloud.storage.Storage;
-
-@ApplicationScoped
-public class GoogleStorageEnforcer {
-
-    //Quarkiverse StorageProducer creates storage based on properties.
-    //Because of https://github.com/apache/camel-quarkus/issues/1387, storage 
is removed and not applied to component.
-    //UnremovableBeanBuildItem does not fix this.
-    //Injecting all storages makes Quarkiverse StorageProducer to be used.
-    //In case, that user defines multiple clients, all clients have to be 
injected, otherwise exception "Ambiguous dependencies" is thrown.
-    @Inject
-    Instance<Storage> storages;
-}
diff --git a/integration-tests/google-bigquery/README.adoc 
b/integration-tests/google-bigquery/README.adoc
index d210160..36892cd 100644
--- a/integration-tests/google-bigquery/README.adoc
+++ b/integration-tests/google-bigquery/README.adoc
@@ -6,11 +6,10 @@ mode does not provide the required capabilities (streaming 
inserts & queries) th
 The simplest means of setting up authentication is via a 
https://cloud.google.com/docs/authentication/getting-started[service account]. 
Use the GCP UI to export
 a JSON representation of your credentials.
 
-You should now set the following environment variable:
+You should now set the following environment variables:
 
 [source,shell]
 ----
 export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
+export GOOGLE_PROJECT_ID=your-gcloud-project-id
 ----
-
-You should also modify `application.properties` so that 
`quarkus.google.cloud.project-id` is correct for your GCP project.
diff --git 
a/integration-tests/google-bigquery/src/main/java/org/apache/camel/quarkus/component/google/bigquery/it/GoogleBigqueryResource.java
 
b/integration-tests/google-bigquery/src/main/java/org/apache/camel/quarkus/component/google/bigquery/it/GoogleBigqueryResource.java
index 8bf7af2..0d6291f 100644
--- 
a/integration-tests/google-bigquery/src/main/java/org/apache/camel/quarkus/component/google/bigquery/it/GoogleBigqueryResource.java
+++ 
b/integration-tests/google-bigquery/src/main/java/org/apache/camel/quarkus/component/google/bigquery/it/GoogleBigqueryResource.java
@@ -32,8 +32,8 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
-import com.google.cloud.bigquery.BigQuery;
 import org.apache.camel.ProducerTemplate;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
 
 @Path("/google-bigquery")
 public class GoogleBigqueryResource {
@@ -42,10 +42,11 @@ public class GoogleBigqueryResource {
     public static final String TABLE_NAME = "camel_quarkus_basic";
 
     @Inject
-    BigQuery bigQuery;
+    ProducerTemplate producerTemplate;
 
     @Inject
-    ProducerTemplate producerTemplate;
+    @ConfigProperty(name = "google.project.id", defaultValue = "test")
+    String projectId;
 
     String tableId = DATASET_ID + "." + TABLE_NAME;
 
@@ -53,7 +54,7 @@ public class GoogleBigqueryResource {
     @POST
     public Response createTable() {
         String sql = "CREATE TABLE `" + tableId + "` (id NUMERIC, col1 STRING, 
col2 STRING)";
-        producerTemplate.requestBody("google-bigquery-sql:" + getProjectId() + 
":" + sql, null,
+        producerTemplate.requestBody("google-bigquery-sql:" + projectId + ":" 
+ sql, null,
                 Long.class);
         return 
Response.created(URI.create("https://camel.apache.org";)).build();
     }
@@ -61,7 +62,7 @@ public class GoogleBigqueryResource {
     @POST
     @Consumes(MediaType.APPLICATION_JSON)
     public Response insertRow(Map<String, String> tableData) {
-        producerTemplate.requestBody("google-bigquery:" + getProjectId() + ":" 
+ DATASET_ID + ":" + TABLE_NAME, tableData);
+        producerTemplate.requestBody("google-bigquery:" + projectId + ":" + 
DATASET_ID + ":" + TABLE_NAME, tableData);
         return 
Response.created(URI.create("https://camel.apache.org";)).build();
     }
 
@@ -70,7 +71,7 @@ public class GoogleBigqueryResource {
     @Produces(MediaType.APPLICATION_JSON)
     public Response getRow() {
         String sql = "SELECT * FROM `" + tableId + "`";
-        Long rowCount = producerTemplate.requestBody("google-bigquery-sql:" + 
getProjectId() + ":" + sql, null, Long.class);
+        Long rowCount = producerTemplate.requestBody("google-bigquery-sql:" + 
projectId + ":" + sql, null, Long.class);
         return Response.ok(rowCount).build();
     }
 
@@ -85,7 +86,7 @@ public class GoogleBigqueryResource {
         Files.write(sqlFile, sql.getBytes(StandardCharsets.UTF_8));
 
         Long rowCount = producerTemplate.requestBody(
-                "google-bigquery-sql:" + getProjectId() + ":file:" + 
sqlFile.toAbsolutePath().toString(),
+                "google-bigquery-sql:" + projectId + ":file:" + 
sqlFile.toAbsolutePath().toString(),
                 null, Long.class);
         return Response.ok(rowCount).build();
     }
@@ -95,11 +96,7 @@ public class GoogleBigqueryResource {
     @Produces(MediaType.TEXT_PLAIN)
     public Response dropTable() {
         String sql = "DROP TABLE `" + tableId + "`";
-        producerTemplate.requestBody("google-bigquery-sql:" + getProjectId() + 
":" + sql, null, Long.class);
+        producerTemplate.requestBody("google-bigquery-sql:" + projectId + ":" 
+ sql, null, Long.class);
         return Response.ok().build();
     }
-
-    private String getProjectId() {
-        return bigQuery.getOptions().getProjectId();
-    }
 }
diff --git a/integration-tests/google-storage/README.adoc 
b/integration-tests/google-storage/README.adoc
index 2682f8b..daf60a3 100644
--- a/integration-tests/google-storage/README.adoc
+++ b/integration-tests/google-storage/README.adoc
@@ -14,10 +14,6 @@ You can find more info in the 
https://cloud.google.com/storage/docs/reference/li
 
 When you have the **service account key** you can provide authentication 
credentials to your application code by setting the environment variable:
 
-`export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"`
-`export GOOGLE_PROJECT_ID="#name of project"`
-
-or for windows:
-
-`$Env:GOOGLE_APPLICATION_CREDENTIALS = "/home/user/Downloads/my-key.json"`
-`$Env:GOOGLE_PROJECT_ID="#name of project"`
\ No newline at end of file
+```
+export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
+```
diff --git 
a/integration-tests/google-storage/src/main/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageResource.java
 
b/integration-tests/google-storage/src/main/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageResource.java
index 5f88479..81aefcd 100644
--- 
a/integration-tests/google-storage/src/main/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageResource.java
+++ 
b/integration-tests/google-storage/src/main/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageResource.java
@@ -40,11 +40,10 @@ import com.google.cloud.storage.Bucket;
 import com.google.cloud.storage.CopyWriter;
 import com.google.cloud.storage.Storage;
 import com.google.cloud.storage.StorageOptions;
-import io.quarkiverse.googlecloudservices.storage.runtime.StorageProducer;
+import io.quarkus.arc.Arc;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ConsumerTemplate;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.google.storage.GoogleCloudStorageComponent;
 import org.apache.camel.component.google.storage.GoogleCloudStorageConstants;
 import org.apache.camel.component.google.storage.GoogleCloudStorageOperations;
 import org.eclipse.microprofile.config.ConfigProvider;
@@ -67,8 +66,6 @@ public class GoogleStorageResource {
     public static final String QUERY_BUCKET = "bucketName";
     public static final String QUERY_OPERATION = "operation";
 
-    private static final String COMPONENT_GOOGLE_STORAGE = "google-storage";
-
     @Inject
     ProducerTemplate producerTemplate;
 
@@ -76,29 +73,23 @@ public class GoogleStorageResource {
     ConsumerTemplate consumerTemplate;
 
     @Inject
-    StorageProducer sp;
-
-    @Inject
     CamelContext camelContext;
 
-    private Storage client;
-
-    @Named(COMPONENT_GOOGLE_STORAGE)
-    GoogleCloudStorageComponent produceComponent() throws IOException {
-        GoogleCloudStorageComponent gsc = new GoogleCloudStorageComponent();
+    @Named
+    Storage storageClient() throws IOException {
+        Storage storage;
         if (GoogleStorageHelper.usingMockBackend()) {
             String port = 
ConfigProvider.getConfig().getValue(GoogleStorageResource.PARAM_PORT, 
String.class);
-            client = StorageOptions.newBuilder()
+            storage = StorageOptions.newBuilder()
                     .setHost("http://localhost:"; + port)
                     .setProjectId("dummy-project-for-testing")
                     .build()
                     .getService();
         } else {
-            client = sp.storage();
+            storage = StorageOptions.getDefaultInstance().getService();
         }
 
-        gsc.getConfiguration().setStorageClient(client);
-        return gsc;
+        return storage;
     }
 
     @Path("/operation")
@@ -165,7 +156,7 @@ public class GoogleStorageResource {
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public Response deleteBuckets() throws Exception {
-
+        Storage client = Arc.container().instance(Storage.class).get();
         List<String> buckets = new LinkedList<>();
         for (Bucket bucket : client.list().iterateAll()) {
             buckets.add(bucket.getName());
diff --git 
a/integration-tests/google-storage/src/main/resources/application.properties 
b/integration-tests/google-storage/src/main/resources/application.properties
deleted file mode 100644
index ae11b5f..0000000
--- a/integration-tests/google-storage/src/main/resources/application.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You 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.
-## ---------------------------------------------------------------------------
-quarkus.google.cloud.service-account-location=${GOOGLE_APPLICATION_CREDENTIALS:}
diff --git a/pom.xml b/pom.xml
index 1ad0ee4..7a3aa0b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,6 @@
         
<quarkiverse.freemarker.version>0.3.0</quarkiverse.freemarker.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/freemarker/quarkus-freemarker-parent/
 -->
         <quarkiverse-minio.version>2.0.0</quarkiverse-minio.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/minio/quarkus-minio-parent/ -->
         <quarkus.version>2.4.0.CR1</quarkus.version><!-- 
https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/ -->
-        
<quarkus-google-cloud.version>0.10.0</quarkus-google-cloud.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/googlecloudservices/quarkus-google-cloud-services-bom/
 -->
         
<quarkus-hazelcast-client.version>2.0.0</quarkus-hazelcast-client.version><!-- 
https://repo1.maven.org/maven2/com/hazelcast/quarkus-hazelcast-client-bom/ -->
         <quarkus-qpid-jms.version>0.28.0</quarkus-qpid-jms.version><!-- 
https://repo1.maven.org/maven2/org/amqphub/quarkus/quarkus-qpid-jms-bom/ -->
 
@@ -78,6 +77,8 @@
         <fommil.netlib.core.version>1.1.2</fommil.netlib.core.version><!-- 
Mess in Weka transitive deps -->
         <jodatime.version>2.10.6</jodatime.version><!-- Mess in transitive 
dependencies of Spark and Splunk -->
         <github-api.version>1.111</github-api.version><!-- Used in a Groovy 
script bellow -->
+        
<google-native-image-support.version>0.8.0</google-native-image-support.version>
+        
<google-auth-library-credentials.version>0.22.2</google-auth-library-credentials.version><!--
 @sync io.grpc:grpc-auth:${grpc.version} 
dep:com.google.auth:google-auth-library-credentials -->
         <guava.version>29.0-jre</guava.version>
         <graalvm.version>21.2.0</graalvm.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.graalvm.nativeimage:svm -->
         <grpc.version>1.40.1</grpc.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:io.grpc:grpc-core -->
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 291c5d6..807c65f 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -92,13 +92,6 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
-                <groupId>io.quarkiverse.googlecloudservices</groupId>
-                <artifactId>quarkus-google-cloud-services-bom</artifactId>
-                <version>${quarkus-google-cloud.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <dependency>
                 <groupId>io.debezium</groupId>
                 <artifactId>debezium-bom</artifactId>
                 <version>${debezium.version}</version>
@@ -911,12 +904,20 @@
                 <version>${camel.version}</version>
                 <exclusions>
                     <exclusion>
-                        <groupId>com.google.cloud</groupId>
-                        <artifactId>google-cloud-bigquery</artifactId>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>javax.annotation</groupId>
+                        <artifactId>javax.annotation-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.checkerframework</groupId>
+                        <artifactId>checker-qual</artifactId>
                     </exclusion>
                     <exclusion>
-                        <groupId>com.google.guava</groupId>
-                        <artifactId>guava</artifactId>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>animal-sniffer-annotations</artifactId>
                     </exclusion>
                 </exclusions>
             </dependency>
@@ -964,12 +965,28 @@
                 <version>${camel.version}</version>
                 <exclusions>
                     <exclusion>
-                        <groupId>com.google.cloud</groupId>
-                        <artifactId>google-cloud-pubsub</artifactId>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>io.grpc</groupId>
+                        <artifactId>grpc-netty-shaded</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>io.perfmark</groupId>
+                        <artifactId>perfmark-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>javax.annotation</groupId>
+                        <artifactId>javax.annotation-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.checkerframework</groupId>
+                        <artifactId>checker-qual</artifactId>
                     </exclusion>
                     <exclusion>
-                        <groupId>com.google.guava</groupId>
-                        <artifactId>guava</artifactId>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>animal-sniffer-annotations</artifactId>
                     </exclusion>
                 </exclusions>
             </dependency>
@@ -988,6 +1005,24 @@
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-google-storage</artifactId>
                 <version>${camel.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>javax.annotation</groupId>
+                        <artifactId>javax.annotation-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.checkerframework</groupId>
+                        <artifactId>checker-qual</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>animal-sniffer-annotations</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
@@ -5756,6 +5791,16 @@
                 </exclusions>
             </dependency>
             <dependency>
+                <groupId>com.google.auth</groupId>
+                <artifactId>google-auth-library-credentials</artifactId>
+                <version>${google-auth-library-credentials.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.cloud</groupId>
+                <artifactId>native-image-support</artifactId>
+                <version>${google-native-image-support.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>com.google.code.gson</groupId>
                 <artifactId>gson</artifactId>
                 <version>${gson.version}</version>

Reply via email to