From b82622058e3a778a4c49c79500b5b92c98bdd4d5 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 6 Jan 2025 09:27:20 -0800 Subject: [PATCH 01/41] feat: Add firestoreInDatastoreMode for datastore emulator --- .../testing/LocalDatastoreHelper.java | 31 +++++++++++++++++-- .../testing/ITLocalDatastoreHelperTest.java | 22 +++++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 79d10220c..4ddb03705 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -53,6 +53,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private final double consistency; private final Path gcdPath; private boolean storeOnDisk; + private boolean firestoreInDatastoreMode; // Gcloud emulator settings private static final String GCLOUD_CMD_TEXT = "gcloud beta emulators datastore start"; @@ -74,6 +75,8 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final String PROJECT_FLAG = "--project="; private static final double DEFAULT_CONSISTENCY = 0.9; private static final String DEFAULT_PROJECT_ID = PROJECT_ID_PREFIX + UUID.randomUUID(); + private static final String FIRESTORE_IN_DATASTORE_MODE_FLAG = + "--use-firestore-in-datastore-mode"; private static final Logger LOGGER = Logger.getLogger(LocalDatastoreHelper.class.getName()); @@ -102,6 +105,7 @@ public static class Builder { private int port; private Path dataDir; private boolean storeOnDisk = true; + private boolean firestoreInDatastoreMode = false; private String projectId; private Builder() {} @@ -110,6 +114,7 @@ private Builder(LocalDatastoreHelper helper) { this.consistency = helper.consistency; this.dataDir = helper.gcdPath; this.storeOnDisk = helper.storeOnDisk; + this.firestoreInDatastoreMode = helper.firestoreInDatastoreMode; } public Builder setConsistency(double consistency) { @@ -136,6 +141,10 @@ public Builder setStoreOnDisk(boolean storeOnDisk) { this.storeOnDisk = storeOnDisk; return this; } + public Builder setFirestoreInDatastoreMode(boolean firestoreInDatastoreMode) { + this.firestoreInDatastoreMode = firestoreInDatastoreMode; + return this; + } /** Creates a {@code LocalDatastoreHelper} object. */ public LocalDatastoreHelper build() { @@ -152,14 +161,21 @@ private LocalDatastoreHelper(Builder builder) { this.consistency = builder.consistency > 0 ? builder.consistency : DEFAULT_CONSISTENCY; this.gcdPath = builder.dataDir; this.storeOnDisk = builder.storeOnDisk; + this.firestoreInDatastoreMode = builder.firestoreInDatastoreMode; String binName = BIN_NAME; if (isWindows()) { binName = BIN_NAME.replace("/", "\\"); } List gcloudCommand = new ArrayList<>(Arrays.asList(GCLOUD_CMD_TEXT.split(" "))); gcloudCommand.add(GCLOUD_CMD_PORT_FLAG + "localhost:" + getPort()); - gcloudCommand.add(CONSISTENCY_FLAG + builder.consistency); gcloudCommand.add(PROJECT_FLAG + projectId); + if (builder.firestoreInDatastoreMode) { + gcloudCommand.add(FIRESTORE_IN_DATASTORE_MODE_FLAG); + } else { + // At most one of --consistency | --use-firestore-in-datastore-mode can be specified. + // --consistency will be ignored with --use-firestore-in-datastore-mode. + gcloudCommand.add(CONSISTENCY_FLAG + builder.consistency); + } if (!builder.storeOnDisk) { gcloudCommand.add("--no-store-on-disk"); } @@ -170,8 +186,14 @@ private LocalDatastoreHelper(Builder builder) { new GcloudEmulatorRunner(gcloudCommand, VERSION_PREFIX, MIN_VERSION); List binCommand = new ArrayList<>(Arrays.asList(binName, "start")); binCommand.add("--testing"); + if (builder.firestoreInDatastoreMode) { + binCommand.add(FIRESTORE_IN_DATASTORE_MODE_FLAG); + } else { + // At most one of --consistency | --use-firestore-in-datastore-mode can be specified. + // --consistency will be ignored with --use-firestore-in-datastore-mode. + binCommand.add(CONSISTENCY_FLAG + getConsistency()); + } binCommand.add(BIN_CMD_PORT_FLAG + getPort()); - binCommand.add(CONSISTENCY_FLAG + getConsistency()); DownloadableEmulatorRunner downloadRunner = new DownloadableEmulatorRunner(binCommand, EMULATOR_URL, MD5_CHECKSUM, ACCESS_TOKEN); this.emulatorRunners = ImmutableList.of(gcloudRunner, downloadRunner); @@ -235,6 +257,11 @@ public boolean isStoreOnDisk() { return storeOnDisk; } + /** Returns {@code true} use firestore-in-datastore-mode, otherwise {@code false} use native mode. */ + public boolean isFirestoreInDatastoreMode() { + return firestoreInDatastoreMode; + } + /** * Creates a local Datastore helper with the specified settings for project ID and consistency. * diff --git a/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java b/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java index dfa2255a0..83fcd80f6 100644 --- a/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java +++ b/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java @@ -76,11 +76,13 @@ public void testCreateWithBuilder() { .setConsistency(0.75) .setPort(8081) .setStoreOnDisk(false) + .setFirestoreInDatastoreMode(true) .setDataDir(dataDir) .build(); assertTrue(Math.abs(0.75 - helper.getConsistency()) < TOLERANCE); assertTrue(helper.getProjectId().startsWith(PROJECT_ID_PREFIX)); assertFalse(helper.isStoreOnDisk()); + assertTrue(helper.isFirestoreInDatastoreMode()); assertEquals(8081, helper.getPort()); assertEquals(dataDir, helper.getGcdPath()); LocalDatastoreHelper incompleteHelper = LocalDatastoreHelper.newBuilder().build(); @@ -103,11 +105,13 @@ public void testCreateWithToBuilder() throws IOException { .setConsistency(0.75) .setPort(8081) .setStoreOnDisk(false) + .setFirestoreInDatastoreMode(true) .setDataDir(dataDir) .build(); assertTrue(Math.abs(0.75 - helper.getConsistency()) < TOLERANCE); assertTrue(helper.getProjectId().startsWith(PROJECT_ID_PREFIX)); assertFalse(helper.isStoreOnDisk()); + assertTrue(helper.isFirestoreInDatastoreMode()); assertEquals(8081, helper.getPort()); assertEquals(dataDir, helper.getGcdPath()); LocalDatastoreHelper actualHelper = helper.toBuilder().build(); @@ -119,10 +123,12 @@ public void testCreateWithToBuilder() throws IOException { .setConsistency(0.85) .setPort(9091) .setStoreOnDisk(true) + .setFirestoreInDatastoreMode(false) .setDataDir(dataDir) .build(); assertTrue(Math.abs(0.85 - actualHelper.getConsistency()) < TOLERANCE); assertTrue(actualHelper.isStoreOnDisk()); + assertFalse(actualHelper.isFirestoreInDatastoreMode()); assertEquals(9091, actualHelper.getPort()); assertEquals(dataDir, actualHelper.getGcdPath()); LocalDatastoreHelper.deleteRecursively(dataDir); @@ -205,11 +211,27 @@ public void testStartStopResetWithBuilder() assertNotNull(ex.getMessage()); } } + @Test + public void testCreateWithFirestoreInDatastoreMode() + throws IOException, InterruptedException, TimeoutException { + LocalDatastoreHelper helper = LocalDatastoreHelper.newBuilder().setFirestoreInDatastoreMode(true).build(); + assertTrue(helper.isFirestoreInDatastoreMode()); + helper.start(); + Datastore datastore = helper.getOptions().getService(); + Key key = datastore.newKeyFactory().setKind("kind").newKey("name"); + Entity expected = Entity.newBuilder(key).build(); + datastore.put(expected); + assertNotNull(datastore.get(key)); + Entity actual = datastore.get(key); + assertEquals(expected, actual); + helper.stop(); + } public void assertLocalDatastoreHelpersEquivelent( LocalDatastoreHelper expected, LocalDatastoreHelper actual) { assertEquals(expected.getConsistency(), actual.getConsistency(), 0); assertEquals(expected.isStoreOnDisk(), actual.isStoreOnDisk()); + assertEquals(expected.isFirestoreInDatastoreMode(), actual.isFirestoreInDatastoreMode()); assertEquals(expected.getGcdPath(), actual.getGcdPath()); } } From a0f1c5036c613189b0e737dfb409179b13c70fd3 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Mon, 6 Jan 2025 17:30:08 +0000 Subject: [PATCH 02/41] chore: generate libraries at Mon Jan 6 17:28:37 UTC 2025 --- .../cloud/datastore/testing/LocalDatastoreHelper.java | 9 ++++++--- .../datastore/testing/ITLocalDatastoreHelperTest.java | 8 +++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 4ddb03705..bfb9c6f6f 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -76,7 +76,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final double DEFAULT_CONSISTENCY = 0.9; private static final String DEFAULT_PROJECT_ID = PROJECT_ID_PREFIX + UUID.randomUUID(); private static final String FIRESTORE_IN_DATASTORE_MODE_FLAG = - "--use-firestore-in-datastore-mode"; + "--use-firestore-in-datastore-mode"; private static final Logger LOGGER = Logger.getLogger(LocalDatastoreHelper.class.getName()); @@ -141,6 +141,7 @@ public Builder setStoreOnDisk(boolean storeOnDisk) { this.storeOnDisk = storeOnDisk; return this; } + public Builder setFirestoreInDatastoreMode(boolean firestoreInDatastoreMode) { this.firestoreInDatastoreMode = firestoreInDatastoreMode; return this; @@ -187,7 +188,7 @@ private LocalDatastoreHelper(Builder builder) { List binCommand = new ArrayList<>(Arrays.asList(binName, "start")); binCommand.add("--testing"); if (builder.firestoreInDatastoreMode) { - binCommand.add(FIRESTORE_IN_DATASTORE_MODE_FLAG); + binCommand.add(FIRESTORE_IN_DATASTORE_MODE_FLAG); } else { // At most one of --consistency | --use-firestore-in-datastore-mode can be specified. // --consistency will be ignored with --use-firestore-in-datastore-mode. @@ -257,7 +258,9 @@ public boolean isStoreOnDisk() { return storeOnDisk; } - /** Returns {@code true} use firestore-in-datastore-mode, otherwise {@code false} use native mode. */ + /** + * Returns {@code true} use firestore-in-datastore-mode, otherwise {@code false} use native mode. + */ public boolean isFirestoreInDatastoreMode() { return firestoreInDatastoreMode; } diff --git a/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java b/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java index 83fcd80f6..cad6d4fbe 100644 --- a/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java +++ b/google-cloud-datastore/src/test/java/com/google/cloud/datastore/testing/ITLocalDatastoreHelperTest.java @@ -211,10 +211,12 @@ public void testStartStopResetWithBuilder() assertNotNull(ex.getMessage()); } } - @Test + + @Test public void testCreateWithFirestoreInDatastoreMode() - throws IOException, InterruptedException, TimeoutException { - LocalDatastoreHelper helper = LocalDatastoreHelper.newBuilder().setFirestoreInDatastoreMode(true).build(); + throws IOException, InterruptedException, TimeoutException { + LocalDatastoreHelper helper = + LocalDatastoreHelper.newBuilder().setFirestoreInDatastoreMode(true).build(); assertTrue(helper.isFirestoreInDatastoreMode()); helper.start(); Datastore datastore = helper.getOptions().getService(); From 274557d420eff767a4808243b3b28ce65ea08f50 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 6 Jan 2025 09:52:48 -0800 Subject: [PATCH 03/41] update emulator min version --- .../google/cloud/datastore/testing/LocalDatastoreHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index bfb9c6f6f..5657078df 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -59,7 +59,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final String GCLOUD_CMD_TEXT = "gcloud beta emulators datastore start"; private static final String GCLOUD_CMD_PORT_FLAG = "--host-port="; private static final String VERSION_PREFIX = "cloud-datastore-emulator "; - private static final String MIN_VERSION = "2.0.2"; + private static final String MIN_VERSION = "2.3.1"; // Downloadable emulator settings private static final String BIN_NAME = "cloud-datastore-emulator/cloud_datastore_emulator"; From 911b2dd8ddbc110b2d49b6b9da245b8dd36f44e0 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 6 Jan 2025 10:34:03 -0800 Subject: [PATCH 04/41] update version to 2.2.2 --- .../google/cloud/datastore/testing/LocalDatastoreHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 5657078df..812b20a98 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -59,7 +59,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final String GCLOUD_CMD_TEXT = "gcloud beta emulators datastore start"; private static final String GCLOUD_CMD_PORT_FLAG = "--host-port="; private static final String VERSION_PREFIX = "cloud-datastore-emulator "; - private static final String MIN_VERSION = "2.3.1"; + private static final String MIN_VERSION = "2.2.2"; // Downloadable emulator settings private static final String BIN_NAME = "cloud-datastore-emulator/cloud_datastore_emulator"; From fda80ffa3c001740b3059f2978ea85e5b1de55c7 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 6 Jan 2025 10:44:16 -0800 Subject: [PATCH 05/41] update version to 2.3.0 --- .../google/cloud/datastore/testing/LocalDatastoreHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 812b20a98..3b03554a6 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -59,7 +59,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final String GCLOUD_CMD_TEXT = "gcloud beta emulators datastore start"; private static final String GCLOUD_CMD_PORT_FLAG = "--host-port="; private static final String VERSION_PREFIX = "cloud-datastore-emulator "; - private static final String MIN_VERSION = "2.2.2"; + private static final String MIN_VERSION = "2.3.0"; // Downloadable emulator settings private static final String BIN_NAME = "cloud-datastore-emulator/cloud_datastore_emulator"; From 19a9bbca41a1c5301570c0db0a4bbe6da2899028 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 6 Jan 2025 10:53:03 -0800 Subject: [PATCH 06/41] update version to 2.2.1 --- .../google/cloud/datastore/testing/LocalDatastoreHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 3b03554a6..0fff0f463 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -59,7 +59,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final String GCLOUD_CMD_TEXT = "gcloud beta emulators datastore start"; private static final String GCLOUD_CMD_PORT_FLAG = "--host-port="; private static final String VERSION_PREFIX = "cloud-datastore-emulator "; - private static final String MIN_VERSION = "2.3.0"; + private static final String MIN_VERSION = "2.2.1"; // Downloadable emulator settings private static final String BIN_NAME = "cloud-datastore-emulator/cloud_datastore_emulator"; From bc1a960916a6939cc5dee580b4de56fa841560cd Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 6 Jan 2025 10:57:34 -0800 Subject: [PATCH 07/41] update version to 2.3.1 --- .../google/cloud/datastore/testing/LocalDatastoreHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 0fff0f463..5657078df 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -59,7 +59,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { private static final String GCLOUD_CMD_TEXT = "gcloud beta emulators datastore start"; private static final String GCLOUD_CMD_PORT_FLAG = "--host-port="; private static final String VERSION_PREFIX = "cloud-datastore-emulator "; - private static final String MIN_VERSION = "2.2.1"; + private static final String MIN_VERSION = "2.3.1"; // Downloadable emulator settings private static final String BIN_NAME = "cloud-datastore-emulator/cloud_datastore_emulator"; From 41dccf15b63ef6e224cfb8d961b0e4a23cf9967f Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Mon, 13 Jan 2025 23:34:07 +0000 Subject: [PATCH 08/41] chore: generate libraries at Mon Jan 13 23:32:38 UTC 2025 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 25ff835b0..12e6a2c04 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-datastore - 2.25.1 + 2.25.2 ``` From 104fa72fa2788cee82c4f2c4cf595c82d04c38e3 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 13 Jan 2025 19:43:31 -0800 Subject: [PATCH 09/41] Fix ci testing environment with java 11 --- .github/workflows/ci.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b91fa381f..7bfe5e3c0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -59,11 +59,21 @@ jobs: env: JOB_TYPE: test windows: + # Building using Java 8 and run the tests with Java 11 runtime runs-on: windows-latest steps: - name: Support longpaths run: git config --system core.longpaths true - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: 11 + distribution: temurin + - name: "Set jvm system property environment variable for surefire plugin (unit tests)" + # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. + # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm + run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV + shell: bash - uses: actions/setup-java@v4 with: distribution: temurin From 75bdacf2ffbff65fcfc90688268e9c1f7dfe3437 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Tue, 14 Jan 2025 11:10:43 -0800 Subject: [PATCH 10/41] Add Java 11 enviroment to run tests --- .github/workflows/ci.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7bfe5e3c0..f05e201f8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -72,7 +72,8 @@ jobs: - name: "Set jvm system property environment variable for surefire plugin (unit tests)" # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm - run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV +# run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV + run: echo "JAVA=${JAVA_HOME}/bin/java" >> $GITHUB_ENV shell: bash - uses: actions/setup-java@v4 with: From d754713463f047b8e0739de0a1f9e20d693ee551 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Tue, 14 Jan 2025 14:55:59 -0800 Subject: [PATCH 11/41] Fix java env formatting --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f05e201f8..12196e33b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -73,7 +73,7 @@ jobs: # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm # run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV - run: echo "JAVA=${JAVA_HOME}/bin/java" >> $GITHUB_ENV + run: echo "JAVA=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash - uses: actions/setup-java@v4 with: From 112699f763724624a1699e3ee4014a16e71c5d11 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Tue, 14 Jan 2025 15:02:03 -0800 Subject: [PATCH 12/41] set maven env --- .github/workflows/ci.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 12196e33b..7b24a47a0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -69,12 +69,15 @@ jobs: with: java-version: 11 distribution: temurin - - name: "Set jvm system property environment variable for surefire plugin (unit tests)" + - name: "Set Java system property environment variable for surefire plugin (unit tests)" # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm # run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV run: echo "JAVA=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash + - name: "Set jvm system property environment variable for surefire plugin (unit tests)" + run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV + shell: bash - uses: actions/setup-java@v4 with: distribution: temurin From 5e5c25c3abeaf1e73c306de578a32b33a4059312 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Tue, 14 Jan 2025 15:07:47 -0800 Subject: [PATCH 13/41] set maven env --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7b24a47a0..8a36ec83a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -76,7 +76,7 @@ jobs: run: echo "JAVA=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash - name: "Set jvm system property environment variable for surefire plugin (unit tests)" - run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV + run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash - uses: actions/setup-java@v4 with: From fac0bf11a514e2f5b03d0c611f01cb9cd03d1672 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Tue, 14 Jan 2025 17:46:49 -0800 Subject: [PATCH 14/41] testing java 11 --- .github/workflows/ci.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8a36ec83a..0317008e8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -78,10 +78,10 @@ jobs: - name: "Set jvm system property environment variable for surefire plugin (unit tests)" run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 8 +# - uses: actions/setup-java@v4 +# with: +# distribution: temurin +# java-version: 8 - run: java -version - run: .kokoro/build.bat env: From b3b7d16933b452dc4f50045d132ef6856387f491 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:38:46 -0800 Subject: [PATCH 15/41] Add sample test env variable --- .cloudbuild/samples_build.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 204a7b254..1932497ee 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -13,6 +13,11 @@ steps: ] - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: pwd +- name: gcr.io/cloud-devrel-public-resources/java8 + entrypoint: echo + args: [ + '${JAVA11_HOME}' + ] - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: bash args: [ @@ -22,6 +27,7 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' + - 'SUREFIRE_JVM_OPT=-Djvm=${JAVA11_HOME}/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo args: [ From dfbdab5ef088b121c059dc6dc1a4d42107472b7f Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:46:36 -0800 Subject: [PATCH 16/41] Add sample test env variable --- .cloudbuild/samples_build.yaml | 7 +------ .kokoro/build.sh | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 1932497ee..12a81ebe0 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -13,11 +13,6 @@ steps: ] - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: pwd -- name: gcr.io/cloud-devrel-public-resources/java8 - entrypoint: echo - args: [ - '${JAVA11_HOME}' - ] - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: bash args: [ @@ -27,7 +22,7 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - - 'SUREFIRE_JVM_OPT=-Djvm=${JAVA11_HOME}/bin/java' + - 'SUREFIRE_JVM_OPT=-Djvm=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo args: [ diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 8a894939c..27cc573e5 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -82,6 +82,8 @@ graalvm17) ;; samples) SAMPLES_DIR=samples + echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" + echo "Java 11: ${JAVA11_HOME}" # only run ITs in snapshot/ on presubmit PRs. run ITs in all 3 samples/ subdirectories otherwise. if [[ ! -z ${KOKORO_GITHUB_PULL_REQUEST_NUMBER} ]] then From f356c9a944912f1a8db74676dd10fd5002880e2c Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:57:32 -0800 Subject: [PATCH 17/41] Add sample test env variable --- .kokoro/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 27cc573e5..394ef5211 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -104,6 +104,7 @@ samples) -Dclirr.skip=true \ -Denforcer.skip=true \ -fae \ + ${SUREFIRE_JVM_OPT} \ verify RETURN_CODE=$? popd From 029f448ad7a09bf6629efb9ca1d5b920c753912c Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Thu, 16 Jan 2025 12:36:05 -0800 Subject: [PATCH 18/41] run with java8 but build with 11 --- .github/workflows/ci.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0317008e8..dada39532 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -67,21 +67,21 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 8 distribution: temurin - - name: "Set Java system property environment variable for surefire plugin (unit tests)" - # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. - # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm -# run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV - run: echo "JAVA=${JAVA_HOME}\bin\java" >> $GITHUB_ENV - shell: bash +# - name: "Set Java system property environment variable for surefire plugin (unit tests)" +# # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. +# # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm +## run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV +# run: echo "JAVA=${JAVA_HOME}\bin\java" >> $GITHUB_ENV +# shell: bash - name: "Set jvm system property environment variable for surefire plugin (unit tests)" run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash -# - uses: actions/setup-java@v4 -# with: -# distribution: temurin -# java-version: 8 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 - run: java -version - run: .kokoro/build.bat env: From 0adba63f412e67a8879f5619ab674067bd40e5d4 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Thu, 16 Jan 2025 12:45:55 -0800 Subject: [PATCH 19/41] Add java 11 as java_home sample build --- .cloudbuild/samples_build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 12a81ebe0..1886d9602 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -22,7 +22,7 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - - 'SUREFIRE_JVM_OPT=-Djvm=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' + - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo args: [ From fc0f6847844f0779513ba215ed492be5d98ee700 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:07:09 -0800 Subject: [PATCH 20/41] Add java_home for presubmit --- .cloudbuild/samples_build.yaml | 2 ++ .kokoro/presubmit/integration.cfg | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 1886d9602..c0c68a16a 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -23,6 +23,8 @@ steps: - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' + - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64' + - 'SUREFIRE_JVM_OPT=-Djvm=$/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo args: [ diff --git a/.kokoro/presubmit/integration.cfg b/.kokoro/presubmit/integration.cfg index fd5cd6689..da8acf6fc 100644 --- a/.kokoro/presubmit/integration.cfg +++ b/.kokoro/presubmit/integration.cfg @@ -36,3 +36,8 @@ env_vars: { key: "SECRET_MANAGER_KEYS" value: "java-it-service-account" } + +env_vars: { + key: "JAVA_HOME" + value: "/usr/lib/jvm/java-11-openjdk-amd64" +} \ No newline at end of file From 2b850fc8e1649c80a9ee61f89e512e57f5fd8275 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:15:40 -0800 Subject: [PATCH 21/41] Fix SUREFIRE_JVM_OPT for sample build --- .cloudbuild/samples_build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index c0c68a16a..1517181a5 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -24,7 +24,7 @@ steps: - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64' - - 'SUREFIRE_JVM_OPT=-Djvm=$/usr/lib/jvm/java-11-openjdk-amd64/bin/java' + - 'SUREFIRE_JVM_OPT=-Djvm=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo args: [ From 7bd94f55605ac463798d32133c8312cf2ac568ee Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:25:18 -0800 Subject: [PATCH 22/41] Fix JAVA_HOME for sample build --- .cloudbuild/samples_build.yaml | 2 +- .kokoro/build.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 1517181a5..88ad0a5ec 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -22,7 +22,7 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' + - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64' - 'SUREFIRE_JVM_OPT=-Djvm=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 394ef5211..429874e47 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -60,6 +60,9 @@ javadoc) RETURN_CODE=$? ;; integration) + echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" + echo "Java 11: ${JAVA11_HOME}" + echo "Java: ${JAVA}" mvn -B ${INTEGRATION_TEST_ARGS} \ -ntp \ -Penable-integration-tests \ From 2047196feebef3efc35ddba34db88f3fb8e981aa Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:27:57 -0800 Subject: [PATCH 23/41] Fix JAVA_HOME for sample build --- .cloudbuild/samples_build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 88ad0a5ec..11dd29a41 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -22,8 +22,8 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64' + - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' + - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - 'SUREFIRE_JVM_OPT=-Djvm=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo From 9384638c4c362d2a66efe488ceccc930247b47c8 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Sat, 18 Jan 2025 10:29:09 -0800 Subject: [PATCH 24/41] Modify Java env for presubmit integration build --- .kokoro/presubmit/integration.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.kokoro/presubmit/integration.cfg b/.kokoro/presubmit/integration.cfg index da8acf6fc..1d7440836 100644 --- a/.kokoro/presubmit/integration.cfg +++ b/.kokoro/presubmit/integration.cfg @@ -38,6 +38,6 @@ env_vars: { } env_vars: { - key: "JAVA_HOME" - value: "/usr/lib/jvm/java-11-openjdk-amd64" + key: "JAVA" + value: "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" } \ No newline at end of file From d0f551e3d62625313fb8b4ce99665fc307e93f5a Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 04:29:29 -0800 Subject: [PATCH 25/41] Add setjava to builder script --- .kokoro/build.sh | 7 +++++++ .kokoro/common.sh | 5 ++++- .kokoro/presubmit/integration.cfg | 5 ----- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 429874e47..4fa8985c1 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -23,6 +23,13 @@ cd ${scriptDir}/.. # include common functions source ${scriptDir}/common.sh +# Kokoro integration test uses both JDK 11 and JDK 8. GraalVM dependencies +# require JDK 11 to compile the classes touching GraalVM classes. +if [ -n "${JAVA11_HOME}" ]; then + setJava "${JAVA11_HOME}" +fi + + # Print out Maven & Java version mvn -version echo ${JOB_TYPE} diff --git a/.kokoro/common.sh b/.kokoro/common.sh index f8f957af1..61e12aeb2 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -52,9 +52,12 @@ function retry_with_backoff { return $exit_code } -## Helper functionss +## Helper functions function now() { date +"%Y-%m-%d %H:%M:%S" | tr -d '\n'; } function msg() { println "$*" >&2; } function println() { printf '%s\n' "$(now) $*"; } +function setJava() { + export JAVA=$1/bin/java +} ## Helper comment to trigger updated repo dependency release \ No newline at end of file diff --git a/.kokoro/presubmit/integration.cfg b/.kokoro/presubmit/integration.cfg index 1d7440836..71431d938 100644 --- a/.kokoro/presubmit/integration.cfg +++ b/.kokoro/presubmit/integration.cfg @@ -35,9 +35,4 @@ env_vars: { env_vars: { key: "SECRET_MANAGER_KEYS" value: "java-it-service-account" -} - -env_vars: { - key: "JAVA" - value: "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" } \ No newline at end of file From cfdef38353a07285c670e91a84627cce2d925a24 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 05:22:29 -0800 Subject: [PATCH 26/41] Add setjava to builder script --- .kokoro/build.sh | 1 + .kokoro/common.sh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 4fa8985c1..6fafef10a 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -27,6 +27,7 @@ source ${scriptDir}/common.sh # require JDK 11 to compile the classes touching GraalVM classes. if [ -n "${JAVA11_HOME}" ]; then setJava "${JAVA11_HOME}" + echo "Java: ${JAVA}" fi diff --git a/.kokoro/common.sh b/.kokoro/common.sh index 61e12aeb2..2575633a8 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -58,6 +58,8 @@ function msg() { println "$*" >&2; } function println() { printf '%s\n' "$(now) $*"; } function setJava() { export JAVA=$1/bin/java + export JAVA_HOME=$1 + export PATH=${JAVA_HOME}/bin:$PATH } ## Helper comment to trigger updated repo dependency release \ No newline at end of file From 86772ee7d56ce5b8daec579ec69a34df9b08c1e9 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 05:41:38 -0800 Subject: [PATCH 27/41] Add setjava to builder script --- .kokoro/build.sh | 1 + .kokoro/common.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 6fafef10a..2371e350e 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -78,6 +78,7 @@ integration) -Dclirr.skip=true \ -Denforcer.skip=true \ -fae \ + ${SUREFIRE_JVM_OPT} \ verify RETURN_CODE=$? ;; diff --git a/.kokoro/common.sh b/.kokoro/common.sh index 2575633a8..3c12376d4 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -59,6 +59,7 @@ function println() { printf '%s\n' "$(now) $*"; } function setJava() { export JAVA=$1/bin/java export JAVA_HOME=$1 + export SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java export PATH=${JAVA_HOME}/bin:$PATH } From 32c3a9028efb7272cc1bd6ab4cbd3a1ce8ee984f Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:22:11 -0800 Subject: [PATCH 28/41] Add debugging info to builder script --- .kokoro/build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 2371e350e..b78bcc0ca 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -70,7 +70,10 @@ javadoc) integration) echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" echo "Java 11: ${JAVA11_HOME}" + echo "JAVA_HOME: ${JAVA_HOME}" echo "Java: ${JAVA}" + echo "INTEGRATION_TEST_ARGS: ${INTEGRATION_TEST_ARGS}" + java -version mvn -B ${INTEGRATION_TEST_ARGS} \ -ntp \ -Penable-integration-tests \ From 2926ebe9657e08b2e3d6dc36c248e6f946ded094 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 12:50:41 -0800 Subject: [PATCH 29/41] Add debugging info to builder script --- .../testing/LocalDatastoreHelper.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 5657078df..85f989673 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -26,7 +26,9 @@ import com.google.cloud.datastore.DatastoreOptions; import com.google.cloud.testing.BaseEmulatorHelper; import com.google.common.collect.ImmutableList; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.nio.file.FileVisitResult; @@ -79,6 +81,7 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { "--use-firestore-in-datastore-mode"; private static final Logger LOGGER = Logger.getLogger(LocalDatastoreHelper.class.getName()); + LOGGER. static { try { @@ -323,6 +326,34 @@ public static LocalDatastoreHelper create() { */ @Override public void start() throws IOException, InterruptedException { + try { + // Run the gcloud --version command + Process process = Runtime.getRuntime().exec("gcloud --version"); + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + + String line; + StringBuilder output = new StringBuilder(); + while ((line = reader.readLine()) != null) { + output.append(line).append("\n"); + } + + // Check the exit code to see if the command was successful + int exitCode = process.waitFor(); + if (exitCode == 0) { + System.out.println("gcloud is installed.\nVersion information:\n" + output); + LOGGER.info("gcloud is installed.\nVersion information:\n" + output); + } else { + System.err.println("gcloud is not installed or not in the PATH."); + LOGGER.severe("gcloud is not installed or not in the PATH."); + } + + } catch (IOException | InterruptedException e) { + System.err.println("Error checking gcloud installation: " + e.getMessage()); + LOGGER.severe("Error checking gcloud installation: " + e.getMessage()); + } + + String Java_version = System.getenv("JAVA"); + LOGGER.info("java_evn Java: " + Java_version); String blockUntilOutput = "Dev App Server is now running"; startProcess(blockUntilOutput); } From ea61f7e5d53e63a85c3dfce1bef81ea786d45db4 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 13:08:16 -0800 Subject: [PATCH 30/41] Add debugging info to builder script --- .../com/google/cloud/datastore/testing/LocalDatastoreHelper.java | 1 - 1 file changed, 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 85f989673..03ad130ab 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -81,7 +81,6 @@ public class LocalDatastoreHelper extends BaseEmulatorHelper { "--use-firestore-in-datastore-mode"; private static final Logger LOGGER = Logger.getLogger(LocalDatastoreHelper.class.getName()); - LOGGER. static { try { From 57faf2026da3ac3fb150ad043e9104b703bbb00c Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 13:14:13 -0800 Subject: [PATCH 31/41] Add debugging info to builder script --- .../google/cloud/datastore/testing/LocalDatastoreHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index 03ad130ab..f982689d5 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -190,7 +190,7 @@ private LocalDatastoreHelper(Builder builder) { List binCommand = new ArrayList<>(Arrays.asList(binName, "start")); binCommand.add("--testing"); if (builder.firestoreInDatastoreMode) { - binCommand.add(FIRESTORE_IN_DATASTORE_MODE_FLAG); + binCommand.add("--firestore_in_datastore_mode"); } else { // At most one of --consistency | --use-firestore-in-datastore-mode can be specified. // --consistency will be ignored with --use-firestore-in-datastore-mode. From c90f9113c6b1bb3f7da8355add835add460b34cc Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:10:04 -0800 Subject: [PATCH 32/41] formatting --- .cloudbuild/samples_build.yaml | 2 -- .github/workflows/ci.yaml | 8 +---- .kokoro/build.sh | 17 ++-------- .kokoro/common.sh | 3 -- .../testing/LocalDatastoreHelper.java | 34 ++----------------- 5 files changed, 6 insertions(+), 58 deletions(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index 11dd29a41..dbdd7efef 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -22,9 +22,7 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - - 'JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - - 'SUREFIRE_JVM_OPT=-Djvm=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' - name: gcr.io/cloud-devrel-public-resources/java8 entrypoint: echo args: [ diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dada39532..941f2f3b4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -59,7 +59,7 @@ jobs: env: JOB_TYPE: test windows: - # Building using Java 8 and run the tests with Java 11 runtime + # Building using Java 11 and run the tests with Java 8 runtime runs-on: windows-latest steps: - name: Support longpaths @@ -69,12 +69,6 @@ jobs: with: java-version: 8 distribution: temurin -# - name: "Set Java system property environment variable for surefire plugin (unit tests)" -# # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. -# # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm -## run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV -# run: echo "JAVA=${JAVA_HOME}\bin\java" >> $GITHUB_ENV -# shell: bash - name: "Set jvm system property environment variable for surefire plugin (unit tests)" run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}\bin\java" >> $GITHUB_ENV shell: bash diff --git a/.kokoro/build.sh b/.kokoro/build.sh index b78bcc0ca..9bc929e8c 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -23,14 +23,12 @@ cd ${scriptDir}/.. # include common functions source ${scriptDir}/common.sh -# Kokoro integration test uses both JDK 11 and JDK 8. GraalVM dependencies -# require JDK 11 to compile the classes touching GraalVM classes. -if [ -n "${JAVA11_HOME}" ]; then +# Kokoro integration test uses both JDK 11 and JDK 8. Integration +# tests require JDK 11 to compile the classes. +if [ -n "${JAVA11_HOME}" && ! -z "${JAVA8_HOME}"]; then setJava "${JAVA11_HOME}" - echo "Java: ${JAVA}" fi - # Print out Maven & Java version mvn -version echo ${JOB_TYPE} @@ -68,11 +66,6 @@ javadoc) RETURN_CODE=$? ;; integration) - echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" - echo "Java 11: ${JAVA11_HOME}" - echo "JAVA_HOME: ${JAVA_HOME}" - echo "Java: ${JAVA}" - echo "INTEGRATION_TEST_ARGS: ${INTEGRATION_TEST_ARGS}" java -version mvn -B ${INTEGRATION_TEST_ARGS} \ -ntp \ @@ -81,7 +74,6 @@ integration) -Dclirr.skip=true \ -Denforcer.skip=true \ -fae \ - ${SUREFIRE_JVM_OPT} \ verify RETURN_CODE=$? ;; @@ -97,8 +89,6 @@ graalvm17) ;; samples) SAMPLES_DIR=samples - echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" - echo "Java 11: ${JAVA11_HOME}" # only run ITs in snapshot/ on presubmit PRs. run ITs in all 3 samples/ subdirectories otherwise. if [[ ! -z ${KOKORO_GITHUB_PULL_REQUEST_NUMBER} ]] then @@ -119,7 +109,6 @@ samples) -Dclirr.skip=true \ -Denforcer.skip=true \ -fae \ - ${SUREFIRE_JVM_OPT} \ verify RETURN_CODE=$? popd diff --git a/.kokoro/common.sh b/.kokoro/common.sh index 3c12376d4..61e12aeb2 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -58,9 +58,6 @@ function msg() { println "$*" >&2; } function println() { printf '%s\n' "$(now) $*"; } function setJava() { export JAVA=$1/bin/java - export JAVA_HOME=$1 - export SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java - export PATH=${JAVA_HOME}/bin:$PATH } ## Helper comment to trigger updated repo dependency release \ No newline at end of file diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index f982689d5..b4d4c56c0 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -26,9 +26,7 @@ import com.google.cloud.datastore.DatastoreOptions; import com.google.cloud.testing.BaseEmulatorHelper; import com.google.common.collect.ImmutableList; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.nio.file.FileVisitResult; @@ -192,8 +190,8 @@ private LocalDatastoreHelper(Builder builder) { if (builder.firestoreInDatastoreMode) { binCommand.add("--firestore_in_datastore_mode"); } else { - // At most one of --consistency | --use-firestore-in-datastore-mode can be specified. - // --consistency will be ignored with --use-firestore-in-datastore-mode. + // At most one of --consistency | --firestore_in_datastore_mode can be specified. + // --consistency will be ignored with --firestore_in_datastore_mode. binCommand.add(CONSISTENCY_FLAG + getConsistency()); } binCommand.add(BIN_CMD_PORT_FLAG + getPort()); @@ -325,34 +323,6 @@ public static LocalDatastoreHelper create() { */ @Override public void start() throws IOException, InterruptedException { - try { - // Run the gcloud --version command - Process process = Runtime.getRuntime().exec("gcloud --version"); - BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); - - String line; - StringBuilder output = new StringBuilder(); - while ((line = reader.readLine()) != null) { - output.append(line).append("\n"); - } - - // Check the exit code to see if the command was successful - int exitCode = process.waitFor(); - if (exitCode == 0) { - System.out.println("gcloud is installed.\nVersion information:\n" + output); - LOGGER.info("gcloud is installed.\nVersion information:\n" + output); - } else { - System.err.println("gcloud is not installed or not in the PATH."); - LOGGER.severe("gcloud is not installed or not in the PATH."); - } - - } catch (IOException | InterruptedException e) { - System.err.println("Error checking gcloud installation: " + e.getMessage()); - LOGGER.severe("Error checking gcloud installation: " + e.getMessage()); - } - - String Java_version = System.getenv("JAVA"); - LOGGER.info("java_evn Java: " + Java_version); String blockUntilOutput = "Dev App Server is now running"; startProcess(blockUntilOutput); } From 3fb60baf76f8ccec146c9c5bf5d3b56f58d1154f Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:22:06 -0800 Subject: [PATCH 33/41] Add debugging --- .kokoro/build.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 9bc929e8c..6f1992fba 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -27,6 +27,9 @@ source ${scriptDir}/common.sh # tests require JDK 11 to compile the classes. if [ -n "${JAVA11_HOME}" && ! -z "${JAVA8_HOME}"]; then setJava "${JAVA11_HOME}" + echo "Java:${JAVA}" + echo "Java 11:${JAVA11_HOME}" + echo "Java 8:${JAVA8_HOME}" fi # Print out Maven & Java version @@ -66,7 +69,6 @@ javadoc) RETURN_CODE=$? ;; integration) - java -version mvn -B ${INTEGRATION_TEST_ARGS} \ -ntp \ -Penable-integration-tests \ From 165967a8270aeb96817f31e2003e2ea04829f2d7 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:22:24 -0800 Subject: [PATCH 34/41] Add debugging --- .kokoro/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 6f1992fba..761412401 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -25,7 +25,7 @@ source ${scriptDir}/common.sh # Kokoro integration test uses both JDK 11 and JDK 8. Integration # tests require JDK 11 to compile the classes. -if [ -n "${JAVA11_HOME}" && ! -z "${JAVA8_HOME}"]; then +if [ -n "${JAVA11_HOME}" && ! -n "${JAVA8_HOME}"]; then setJava "${JAVA11_HOME}" echo "Java:${JAVA}" echo "Java 11:${JAVA11_HOME}" From b51e5d107471cb24f9da7dbdc0c7f80de53eb85d Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:34:14 -0800 Subject: [PATCH 35/41] Add debugging --- .kokoro/build.sh | 9 +++++++++ .kokoro/common.sh | 3 --- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 761412401..9e0027397 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -69,6 +69,15 @@ javadoc) RETURN_CODE=$? ;; integration) + if [ -n "${JAVA11_HOME}" ] && [ -n "${JAVA8_HOME}" ]; then + export JAVA=${JAVA11_HOME}/bin/java + export SUREFIRE_JVM_OPT="-Djvm=${JAVA8_HOME}/bin/java" + echo "Java:${JAVA}" + echo "Java 11:${JAVA11_HOME}" + echo "Java 8:${JAVA8_HOME}" + echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" + fi + ;; mvn -B ${INTEGRATION_TEST_ARGS} \ -ntp \ -Penable-integration-tests \ diff --git a/.kokoro/common.sh b/.kokoro/common.sh index 61e12aeb2..aeb3568bb 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -56,8 +56,5 @@ function retry_with_backoff { function now() { date +"%Y-%m-%d %H:%M:%S" | tr -d '\n'; } function msg() { println "$*" >&2; } function println() { printf '%s\n' "$(now) $*"; } -function setJava() { - export JAVA=$1/bin/java -} ## Helper comment to trigger updated repo dependency release \ No newline at end of file From 0ee9a9ba47f529272a0c0c90114d09a5ed764b7b Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:43:17 -0800 Subject: [PATCH 36/41] Add debugging --- .kokoro/build.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 9e0027397..2e86009f3 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -23,15 +23,6 @@ cd ${scriptDir}/.. # include common functions source ${scriptDir}/common.sh -# Kokoro integration test uses both JDK 11 and JDK 8. Integration -# tests require JDK 11 to compile the classes. -if [ -n "${JAVA11_HOME}" && ! -n "${JAVA8_HOME}"]; then - setJava "${JAVA11_HOME}" - echo "Java:${JAVA}" - echo "Java 11:${JAVA11_HOME}" - echo "Java 8:${JAVA8_HOME}" -fi - # Print out Maven & Java version mvn -version echo ${JOB_TYPE} @@ -69,6 +60,8 @@ javadoc) RETURN_CODE=$? ;; integration) + # Kokoro integration test uses both JDK 11 and JDK 8. Integration + # tests require JDK 11 to compile the classes. if [ -n "${JAVA11_HOME}" ] && [ -n "${JAVA8_HOME}" ]; then export JAVA=${JAVA11_HOME}/bin/java export SUREFIRE_JVM_OPT="-Djvm=${JAVA8_HOME}/bin/java" From feae654d7d9265a7c2562278524f66d8c4bf22b3 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:49:06 -0800 Subject: [PATCH 37/41] Add debugging --- .kokoro/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 2e86009f3..a9350980f 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -62,7 +62,7 @@ javadoc) integration) # Kokoro integration test uses both JDK 11 and JDK 8. Integration # tests require JDK 11 to compile the classes. - if [ -n "${JAVA11_HOME}" ] && [ -n "${JAVA8_HOME}" ]; then + if [[ -n "${JAVA11_HOME}" && -n "${JAVA8_HOME}" ]]; then export JAVA=${JAVA11_HOME}/bin/java export SUREFIRE_JVM_OPT="-Djvm=${JAVA8_HOME}/bin/java" echo "Java:${JAVA}" From 95653102384ba6034a8f856de93c9da9905f9414 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Mon, 20 Jan 2025 14:54:39 -0800 Subject: [PATCH 38/41] Add debugging --- .kokoro/build.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index a9350980f..e98f53cab 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -62,15 +62,16 @@ javadoc) integration) # Kokoro integration test uses both JDK 11 and JDK 8. Integration # tests require JDK 11 to compile the classes. - if [[ -n "${JAVA11_HOME}" && -n "${JAVA8_HOME}" ]]; then + if [[ -n "${JAVA11_HOME}" && -n "${JAVA8_HOME}" ]] + then export JAVA=${JAVA11_HOME}/bin/java - export SUREFIRE_JVM_OPT="-Djvm=${JAVA8_HOME}/bin/java" + export SUREFIRE_JVM_OPT=-Djvm=${JAVA8_HOME}/bin/java echo "Java:${JAVA}" echo "Java 11:${JAVA11_HOME}" echo "Java 8:${JAVA8_HOME}" echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" fi - ;; + mvn -B ${INTEGRATION_TEST_ARGS} \ -ntp \ -Penable-integration-tests \ From f0828073b493a36a545e5787515e7f9034ce2ba8 Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:26:44 -0800 Subject: [PATCH 39/41] Resolve conflicts --- .kokoro/build.sh | 12 ++++++------ .../datastore/testing/LocalDatastoreHelper.java | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.kokoro/build.sh b/.kokoro/build.sh index e98f53cab..c4b65f8b5 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -60,16 +60,16 @@ javadoc) RETURN_CODE=$? ;; integration) - # Kokoro integration test uses both JDK 11 and JDK 8. Integration - # tests require JDK 11 to compile the classes. + # Kokoro integration tests use both JDK 11 and JDK 8. Integration + # tests require JDK 11 export as JAVA env variable to run cloud datastore + # emulator (https://cloud.google.com/sdk/docs/release-notes#39300_2022-07-12). + # For Java 8 environment, we will still run the tests using Java 8 with + # SUREFIRE_JVM_OPT for Maven surefire plugin: + # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm if [[ -n "${JAVA11_HOME}" && -n "${JAVA8_HOME}" ]] then export JAVA=${JAVA11_HOME}/bin/java export SUREFIRE_JVM_OPT=-Djvm=${JAVA8_HOME}/bin/java - echo "Java:${JAVA}" - echo "Java 11:${JAVA11_HOME}" - echo "Java 8:${JAVA8_HOME}" - echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}" fi mvn -B ${INTEGRATION_TEST_ARGS} \ diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java index b4d4c56c0..20321f812 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/testing/LocalDatastoreHelper.java @@ -188,6 +188,8 @@ private LocalDatastoreHelper(Builder builder) { List binCommand = new ArrayList<>(Arrays.asList(binName, "start")); binCommand.add("--testing"); if (builder.firestoreInDatastoreMode) { + // Downloadable emulator runner takes the flag in a different + // format: --firestore_in_datastore_mode binCommand.add("--firestore_in_datastore_mode"); } else { // At most one of --consistency | --firestore_in_datastore_mode can be specified. From e964ba1834b25c5ceed9b51a1db74b7a81af3e2d Mon Sep 17 00:00:00 2001 From: Cindy Peng <148148319+cindy-peng@users.noreply.github.com> Date: Thu, 23 Jan 2025 15:17:30 -0800 Subject: [PATCH 40/41] Change sample build to use java11 container --- .cloudbuild/samples_build.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.cloudbuild/samples_build.yaml b/.cloudbuild/samples_build.yaml index dbdd7efef..3dd2ff94c 100644 --- a/.cloudbuild/samples_build.yaml +++ b/.cloudbuild/samples_build.yaml @@ -1,19 +1,19 @@ steps: -- name: gcr.io/cloud-devrel-public-resources/java8 +- name: gcr.io/cloud-devrel-public-resources/java11 entrypoint: ls args: [ '-alt', ] -- name: gcr.io/cloud-devrel-public-resources/java8 +- name: gcr.io/cloud-devrel-public-resources/java11 entrypoint: curl args: [ '--header', 'Metadata-Flavor: Google', 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email' ] -- name: gcr.io/cloud-devrel-public-resources/java8 +- name: gcr.io/cloud-devrel-public-resources/java11 entrypoint: pwd -- name: gcr.io/cloud-devrel-public-resources/java8 +- name: gcr.io/cloud-devrel-public-resources/java11 entrypoint: bash args: [ '.kokoro/build.sh' @@ -22,8 +22,7 @@ steps: - 'JOB_TYPE=samples' - 'GOOGLE_CLOUD_PROJECT=cloud-java-ci-sample' - 'KOKORO_GITHUB_PULL_REQUEST_NUMBER=$_PR_NUMBER' - - 'JAVA=/usr/lib/jvm/java-11-openjdk-amd64/bin/java' -- name: gcr.io/cloud-devrel-public-resources/java8 +- name: gcr.io/cloud-devrel-public-resources/java11 entrypoint: echo args: [ 'Sample job succeeded', From 5cbc1ca76df4c06ddabc6296f37cfa5baa4d907e Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Thu, 23 Jan 2025 23:22:19 +0000 Subject: [PATCH 41/41] chore: generate libraries at Thu Jan 23 23:20:47 UTC 2025 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f4fdf46d..c09c8ade0 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 - 26.52.0 + 26.53.0 pom import