diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml
index 3473042c0..426cf83e2 100644
--- a/.github/.OwlBot.lock.yaml
+++ b/.github/.OwlBot.lock.yaml
@@ -13,4 +13,4 @@
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest
- digest: sha256:df8d7b2cc0dbc65871e7edd86601901a0612b272fa3f7f0eb590c5c53aa5f92e
+ digest: sha256:b0b1c1c89570e229b1026372a2b8989ba31495007055b8d30178b7648503eefa
diff --git a/.kokoro/nightly/integration.cfg b/.kokoro/nightly/integration.cfg
index e51c7b4c6..a2907a257 100644
--- a/.kokoro/nightly/integration.cfg
+++ b/.kokoro/nightly/integration.cfg
@@ -13,12 +13,12 @@ env_vars: {
# TODO: remove this after we've migrated all tests and scripts
env_vars: {
key: "GCLOUD_PROJECT"
- value: "gcloud-devel"
+ value: "java-docs-samples-testing"
}
env_vars: {
key: "GOOGLE_CLOUD_PROJECT"
- value: "gcloud-devel"
+ value: "java-docs-samples-testing"
}
env_vars: {
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 256d7bfc4..00967bbf6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,21 @@
# Changelog
+### [3.7.2](https://github.com/googleapis/java-logging/compare/v3.7.1...v3.7.2) (2022-03-24)
+
+
+### Documentation
+
+* **sample:** Add sample for Native Image support in Logging ([#880](https://github.com/googleapis/java-logging/issues/880)) ([7e59bf3](https://github.com/googleapis/java-logging/commit/7e59bf3c3676ebc6bfcdf6e951d3d8f0b6c1589f))
+
+
+### Dependencies
+
+* update dependency com.google.cloud:native-image-support to v0.12.10 ([#903](https://github.com/googleapis/java-logging/issues/903)) ([b692e02](https://github.com/googleapis/java-logging/commit/b692e0247ea61b290aad0f0245184fd3c026629b))
+* update dependency org.graalvm.buildtools:junit-platform-native to v0.9.10 ([#904](https://github.com/googleapis/java-logging/issues/904)) ([d834a0a](https://github.com/googleapis/java-logging/commit/d834a0a5f10cda8a1327714f8a93c0c6e41143df))
+* update dependency org.graalvm.buildtools:junit-platform-native to v0.9.11 ([#912](https://github.com/googleapis/java-logging/issues/912)) ([c1d6559](https://github.com/googleapis/java-logging/commit/c1d65597ee8ce95dc6276c4f19d13a922c819f0d))
+* update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.10 ([#905](https://github.com/googleapis/java-logging/issues/905)) ([3c44e3e](https://github.com/googleapis/java-logging/commit/3c44e3ed51c52a84b5a5a517a8b8a105f083532c))
+* update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.11 ([#911](https://github.com/googleapis/java-logging/issues/911)) ([3721ef5](https://github.com/googleapis/java-logging/commit/3721ef53305e27afb5bad685a10eb8901988c7b9))
+
### [3.7.1](https://github.com/googleapis/java-logging/compare/v3.7.0...v3.7.1) (2022-03-03)
diff --git a/README.md b/README.md
index af561067b..43ab9da56 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file
com.google.cloud
libraries-bom
- 24.4.0
+ 25.0.0
pom
import
@@ -43,7 +43,7 @@ If you are using Maven without BOM, add this to your dependencies:
com.google.cloud
google-cloud-logging
- 3.7.0
+ 3.7.1
```
@@ -51,20 +51,20 @@ If you are using Maven without BOM, add this to your dependencies:
If you are using Gradle 5.x or later, add this to your dependencies
```Groovy
-implementation platform('com.google.cloud:libraries-bom:24.4.0')
+implementation platform('com.google.cloud:libraries-bom:25.0.0')
implementation 'com.google.cloud:google-cloud-logging'
```
If you are using Gradle without BOM, add this to your dependencies
```Groovy
-implementation 'com.google.cloud:google-cloud-logging:3.7.0'
+implementation 'com.google.cloud:google-cloud-logging:3.7.1'
```
If you are using SBT, add this to your dependencies
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-logging" % "3.7.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-logging" % "3.7.1"
```
## Authentication
@@ -302,6 +302,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/java-logging/tree/
| Sample | Source Code | Try it |
| --------------------------- | --------------------------------- | ------ |
+| Native Image Logging Sample | [source code](https://github.com/googleapis/java-logging/blob/main/samples/native-image-sample/src/main/java/com/example/logging/NativeImageLoggingSample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-logging&page=editor&open_in_editor=samples/native-image-sample/src/main/java/com/example/logging/NativeImageLoggingSample.java) |
| Get Sink Metadata | [source code](https://github.com/googleapis/java-logging/blob/main/samples/snippets/src/main/java/com/example/logging/GetSinkMetadata.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-logging&page=editor&open_in_editor=samples/snippets/src/main/java/com/example/logging/GetSinkMetadata.java) |
| List Log Entries | [source code](https://github.com/googleapis/java-logging/blob/main/samples/snippets/src/main/java/com/example/logging/ListLogEntries.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-logging&page=editor&open_in_editor=samples/snippets/src/main/java/com/example/logging/ListLogEntries.java) |
| List Logs | [source code](https://github.com/googleapis/java-logging/blob/main/samples/snippets/src/main/java/com/example/logging/ListLogs.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-logging&page=editor&open_in_editor=samples/snippets/src/main/java/com/example/logging/ListLogs.java) |
diff --git a/google-cloud-logging-bom/pom.xml b/google-cloud-logging-bom/pom.xml
index 177ff8ede..0c608916e 100644
--- a/google-cloud-logging-bom/pom.xml
+++ b/google-cloud-logging-bom/pom.xml
@@ -3,12 +3,12 @@
4.0.0
com.google.cloud
google-cloud-logging-bom
- 3.7.1
+ 3.7.2
pom
com.google.cloud
google-cloud-shared-config
- 1.2.7
+ 1.3.0
Google Cloud logging BOM
@@ -53,17 +53,17 @@
com.google.cloud
google-cloud-logging
- 3.7.1
+ 3.7.2
com.google.api.grpc
grpc-google-cloud-logging-v2
- 0.96.1
+ 0.96.2
com.google.api.grpc
proto-google-cloud-logging-v2
- 0.96.1
+ 0.96.2
diff --git a/google-cloud-logging/pom.xml b/google-cloud-logging/pom.xml
index b9c513a3c..d530ee296 100644
--- a/google-cloud-logging/pom.xml
+++ b/google-cloud-logging/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-logging
- 3.7.1
+ 3.7.2
jar
Google Cloud Logging
https://github.com/googleapis/java-logging
@@ -11,7 +11,7 @@
com.google.cloud
google-cloud-logging-parent
- 3.7.1
+ 3.7.2
google-cloud-logging
diff --git a/grpc-google-cloud-logging-v2/pom.xml b/grpc-google-cloud-logging-v2/pom.xml
index 23666d151..8baa042f7 100644
--- a/grpc-google-cloud-logging-v2/pom.xml
+++ b/grpc-google-cloud-logging-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-logging-v2
- 0.96.1
+ 0.96.2
grpc-google-cloud-logging-v2
GRPC library for grpc-google-cloud-logging-v2
com.google.cloud
google-cloud-logging-parent
- 3.7.1
+ 3.7.2
diff --git a/pom.xml b/pom.xml
index 9145fe3c5..c47d7abdc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-logging-parent
pom
- 3.7.1
+ 3.7.2
Google Cloud Logging Parent
https://github.com/googleapis/java-logging
@@ -14,7 +14,7 @@
com.google.cloud
google-cloud-shared-config
- 1.2.7
+ 1.3.0
@@ -61,17 +61,17 @@
com.google.api.grpc
proto-google-cloud-logging-v2
- 0.96.1
+ 0.96.2
com.google.api.grpc
grpc-google-cloud-logging-v2
- 0.96.1
+ 0.96.2
com.google.cloud
google-cloud-logging
- 3.7.1
+ 3.7.2
diff --git a/proto-google-cloud-logging-v2/pom.xml b/proto-google-cloud-logging-v2/pom.xml
index 8935ac5b4..52bd3303a 100644
--- a/proto-google-cloud-logging-v2/pom.xml
+++ b/proto-google-cloud-logging-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-logging-v2
- 0.96.1
+ 0.96.2
proto-google-cloud-logging-v2
PROTO library for proto-google-cloud-logging-v2
com.google.cloud
google-cloud-logging-parent
- 3.7.1
+ 3.7.2
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 05b9c6819..8e2a7e9da 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -28,7 +28,7 @@
com.google.cloud
google-cloud-logging
- 3.7.0
+ 3.7.1
diff --git a/samples/native-image-sample/README.md b/samples/native-image-sample/README.md
new file mode 100644
index 000000000..398a55e83
--- /dev/null
+++ b/samples/native-image-sample/README.md
@@ -0,0 +1,71 @@
+# Cloud Logging Client Libraries with Native Image
+
+This application uses the Google Cloud [Logging Client Libraries](https://github.com/googleapis/java-logging) and can be compiled with Native Image Native Image.
+
+## Setup Instructions
+
+You will need to follow these prerequisite steps in order to run the samples:
+
+1. If you have not already, [create a Google Cloud Platform Project](https://cloud.google.com/resource-manager/docs/creating-managing-projects#creating_a_project).
+
+2. Install the [Google Cloud SDK](https://cloud.google.com/sdk/) which will allow you to run the sample with your project's credentials.
+
+ Once installed, log in with Application Default Credentials using the following command:
+
+ ```
+ gcloud auth application-default login
+ ```
+
+ **Note:** Authenticating with Application Default Credentials is convenient to use during development, but we recommend [alternate methods of authentication](https://cloud.google.com/docs/authentication/production) during production use.
+
+3. Install the GraalVM compiler.
+
+ You can follow the [official installation instructions](https://www.graalvm.org/docs/getting-started/#install-graalvm) from the GraalVM website.
+ After following the instructions, ensure that you install the native image extension installed by running:
+
+ ```
+ gu install native-image
+ ```
+
+ Once you finish following the instructions, verify that the default version of Java is set to the GraalVM version by running `java -version` in a terminal.
+
+ You will see something similar to the below output:
+
+ ```
+ $ java -version
+
+ openjdk version "11.0.7" 2020-04-14
+ OpenJDK Runtime Environment GraalVM CE 20.1.0 (build 11.0.7+10-jvmci-20.1-b02)
+ OpenJDK 64-Bit Server VM GraalVM CE 20.1.0 (build 11.0.7+10-jvmci-20.1-b02, mixed mode, sharing)
+ ```
+
+4. Enable the [Logging APIs](https://console.cloud.google.com/flows/enableapi?apiid=logging.googleapis.com).
+
+## Sample
+
+Navigate to this directory in a new terminal.
+
+1. Compile the application using the Native Image Compiler. This step may take a few minutes.
+
+ ```
+ mvn package -P native -DskipTests
+ ```
+
+2. Run the application:
+
+ ```
+ ./target/native-image-sample
+ ```
+
+3. The application will log a message to your local terminal and to Google Cloud Console.
+
+ Navigate to the [Cloud Console Logs Viewer](https://console.cloud.google.com/logs/viewer) to view you logs and find the newly generated log entry in Cloud Console:
+ ```
+ This is a log produced by Native Image.
+ ```
+### Sample Integration test with Native Image Support
+In order to run the sample integration test as a native image, call the following command:
+
+ ```
+ mvn test -Pnative
+ ```
\ No newline at end of file
diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml
new file mode 100644
index 000000000..196a75d86
--- /dev/null
+++ b/samples/native-image-sample/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ 4.0.0
+ com.example.logging
+ native-image-sample
+ Native Image Sample
+ https://github.com/googleapis/java-logging
+
+
+
+ com.google.cloud.samples
+ shared-configuration
+ 1.2.0
+
+
+
+
+ 1.8
+ 1.8
+ UTF-8
+
+
+
+
+
+ com.google.cloud
+ libraries-bom
+ 25.0.0
+ pom
+ import
+
+
+
+
+
+
+ com.google.cloud
+ google-cloud-logging
+
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+ com.google.truth
+ truth
+ 1.1.3
+ test
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.2.2
+
+
+
+ true
+ dependency-jars/
+ com.example.logging.NativeImageLoggingSample
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+
+ ${project.build.directory}/dependency-jars/
+
+
+
+
+
+
+
+
+
+
+
+ native
+
+
+
+ com.google.cloud
+ native-image-support
+ 0.12.10
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.8.2
+ test
+
+
+ org.graalvm.buildtools
+ junit-platform-native
+ 0.9.11
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ 2.22.2
+
+
+ **/IT*
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+ 0.9.11
+ true
+
+ com.example.logging.NativeImageLoggingSample
+
+ --no-fallback
+ --no-server
+
+
+
+
+ build-native
+
+ build
+ test
+
+ package
+
+
+ test-native
+
+ test
+
+ test
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/native-image-sample/src/main/java/com/example/logging/NativeImageLoggingSample.java b/samples/native-image-sample/src/main/java/com/example/logging/NativeImageLoggingSample.java
new file mode 100644
index 000000000..6fa688060
--- /dev/null
+++ b/samples/native-image-sample/src/main/java/com/example/logging/NativeImageLoggingSample.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * 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
+ *
+ * https://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 com.example.logging;
+
+import com.google.cloud.MonitoredResource;
+import com.google.cloud.logging.LogEntry;
+import com.google.cloud.logging.Logging;
+import com.google.cloud.logging.LoggingOptions;
+import com.google.cloud.logging.Payload.StringPayload;
+import com.google.cloud.logging.Severity;
+import java.time.Duration;
+import java.time.Instant;
+import java.util.Collections;
+
+/** Basic sample application which writes a log message to Cloud Logging. */
+public class NativeImageLoggingSample {
+
+ /** Runs the Logging Sample Application. */
+ public static void main(String[] args) throws Exception {
+ Instant startTime = Instant.now();
+ // Instantiates a client
+ Logging client = LoggingOptions.getDefaultInstance().getService();
+
+ // The name of the log to write to
+ String logName = "nativeimage_logging_sample.log";
+
+ // The data to write to the log
+ String text = "This is a log produced by Native Image.";
+
+ LogEntry entry =
+ LogEntry.newBuilder(StringPayload.of(text))
+ .setSeverity(Severity.INFO)
+ .setLogName(logName)
+ .setResource(MonitoredResource.newBuilder("global").build())
+ .build();
+
+ client.write(Collections.singleton(entry));
+ client.flush();
+ client.close();
+
+ System.out.println(String.format("Logged: %s", text));
+ System.out.println("Log message written to Cloud Logging.");
+ System.out.println(
+ "See your logs in the Cloud Console: https://console.cloud.google.com/logs/viewer "
+ + "(Might take a few seconds to load.)");
+ Instant endTime = Instant.now();
+ Duration duration = Duration.between(startTime, endTime);
+ System.out.println("Duration: " + duration.toString());
+ }
+}
diff --git a/samples/native-image-sample/src/test/java/com/example/logging/ITNativeImageLoggingSample.java b/samples/native-image-sample/src/test/java/com/example/logging/ITNativeImageLoggingSample.java
new file mode 100644
index 000000000..6a4ba67ca
--- /dev/null
+++ b/samples/native-image-sample/src/test/java/com/example/logging/ITNativeImageLoggingSample.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * 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
+ *
+ * https://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 com.example.logging;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.cloud.testing.junit4.StdOutCaptureRule;
+import org.junit.Rule;
+import org.junit.Test;
+
+public class ITNativeImageLoggingSample {
+
+ @Rule public StdOutCaptureRule stdOut = new StdOutCaptureRule();
+
+ @Test
+ public void testLogging() throws Exception {
+ NativeImageLoggingSample.main(new String[] {});
+ assertThat(stdOut.getCapturedOutputAsUtf8String())
+ .contains("Logged: This is a log produced by Native Image.");
+ }
+}
diff --git a/samples/pom.xml b/samples/pom.xml
index b086c0e56..72d7759f9 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -31,6 +31,7 @@
snapshot
install-without-bom
snippets
+ native-image-sample
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 9588fce5b..976ed748f 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
com.google.cloud
google-cloud-logging
- 3.7.1
+ 3.7.2
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index a867fb0e0..d9aba92ab 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -29,7 +29,7 @@
com.google.cloud
libraries-bom
- 24.4.0
+ 25.0.0
pom
import
diff --git a/versions.txt b/versions.txt
index 178e205d4..4c886f57b 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
# Format:
# module:released-version:current-version
-google-cloud-logging:3.7.1:3.7.1
-grpc-google-cloud-logging-v2:0.96.1:0.96.1
-proto-google-cloud-logging-v2:0.96.1:0.96.1
+google-cloud-logging:3.7.2:3.7.2
+grpc-google-cloud-logging-v2:0.96.2:0.96.2
+proto-google-cloud-logging-v2:0.96.2:0.96.2