Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Include debug info in the compiled jars
build --javacopt=-g
build --host_javacopt=-g
build --java_language_version=8 --tool_java_language_version=25
build --java_runtime_version=25 --tool_java_runtime_version=25

build --java_runtime_version=21 --javacopt='-source 8 -target 8'
build --experimental_one_version_enforcement=error

test --test_env=TZ=UTC

# TODO(cpovirk): Remove after bumping version of ByteBuddy to support Java-25 class files by default.
test --jvmopt=-Dnet.bytebuddy.experimental=true
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
name: "JDK ${{ matrix.java }}"
strategy:
matrix:
java: [8, 11, 22]
java: [8, 11, 25]
runs-on: ubuntu-latest
steps:
- name: 'Check out repository'
Expand All @@ -31,19 +31,19 @@ jobs:
- name: 'Cache Bazel dependencies'
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ~/.cache/bazel/*/*/external
path: ~/.cache/bazel/*/cache
key: bazel-${{ hashFiles('MODULE.bazel') }}
restore-keys: |
bazel-
- name: 'Set up JDK ${{ matrix.java }}'
- name: 'Set up JDK 27'
uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1
with:
java-version: ${{ matrix.java }}
java-version: 27
distribution: 'temurin'
- name: 'Test'
shell: bash
run: bazelisk test --lockfile_mode=error --test_output=errors //...
run: bazelisk test --java_runtime_version=${{ matrix.java }} --lockfile_mode=error --test_output=errors //...
- name: 'Test Deploy Script'
if: matrix.java == 22
if: matrix.java == 25
shell: bash
run: release/install-local-snapshot.sh
2 changes: 1 addition & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ bazel_dep(name = "rules_java", version = "9.9.0")
bazel_dep(name = "google_bazel_common")
git_override(
module_name = "google_bazel_common",
commit = "3af0219202168b1e988307fdbadc7a477d2f1f5a",
commit = "d8b14684b16e91516a040c37c872bef9f396e441",
remote = "https://github.com/google/bazel-common",
)
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

package com.google.common.flogger;

import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.TruthJUnit.assume;
import static java.util.Arrays.asList;
import static org.junit.Assert.fail;

Expand Down Expand Up @@ -107,6 +109,7 @@ public void testCasting() {

@Test
public void testDefaultEmit() {
assume().that(jvmTooOldForMockito5()).isFalse();
MetadataKey<String> k = MetadataKey.single("foo", String.class);
KeyValueHandler handler = Mockito.mock(KeyValueHandler.class);
k.safeEmit("123", handler);
Expand All @@ -115,6 +118,7 @@ public void testDefaultEmit() {

@Test
public void testDefaultEmitRepeated() {
assume().that(jvmTooOldForMockito5()).isFalse();
MetadataKey<String> k = MetadataKey.repeated("foo", String.class);
KeyValueHandler handler = Mockito.mock(KeyValueHandler.class);
k.safeEmitRepeated(iterate("123", "abc"), handler);
Expand All @@ -124,6 +128,7 @@ public void testDefaultEmitRepeated() {

@Test
public void testDefaultEmitRepeated_singleKeyFails() {
assume().that(jvmTooOldForMockito5()).isFalse();
MetadataKey<String> k = MetadataKey.single("foo", String.class);
KeyValueHandler handler = Mockito.mock(KeyValueHandler.class);
try {
Expand Down Expand Up @@ -203,4 +208,8 @@ public void testNulls() {
} catch (NullPointerException expected) {
}
}

private static boolean jvmTooOldForMockito5() {
return JAVA_SPECIFICATION_VERSION.value().equals("1.8");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

package com.google.common.flogger.backend.system;

import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.TruthJUnit.assume;

import com.google.common.flogger.backend.LoggerBackend;
import com.google.common.flogger.backend.Platform.LogCallerFinder;
Expand All @@ -25,9 +27,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;

/**
* These tests check that the internal implementation of the configured platform "plugins" works as
Expand Down Expand Up @@ -61,17 +61,25 @@ protected long getCurrentTimeNanosImpl() {
}
}

@Mock BackendFactory mockBackendFactory;
@Mock ContextDataProvider mockContext;
@Mock Clock mockClock;
@Mock LogCallerFinder mockCallerFinder;
/*
* We avoid `@Mock` so that we defer loading Mockito classes (which require Java 11+) until we
* know we're not running under Java 8.
*/
BackendFactory mockBackendFactory;
ContextDataProvider mockContext;
Clock mockClock;
LogCallerFinder mockCallerFinder;

// The fake platform doesn't attempt to look up any real services, they are just injected mocks.
private FakeDefaultPlatform platform;

@Before
public void initializeMocks() {
MockitoAnnotations.initMocks(this);
assume().that(jvmTooOldForMockito5()).isFalse();
mockBackendFactory = Mockito.mock(BackendFactory.class);
mockContext = Mockito.mock(ContextDataProvider.class);
mockClock = Mockito.mock(Clock.class);
mockCallerFinder = Mockito.mock(LogCallerFinder.class);
Mockito.when(mockBackendFactory.toString()).thenReturn("Mock Backend Factory");
Mockito.when(mockContext.toString()).thenReturn("Mock Logging Context");
Mockito.when(mockClock.toString()).thenReturn("Mock Clock");
Expand Down Expand Up @@ -111,4 +119,8 @@ public void testConfigString() {
assertThat(platform.getConfigInfoImpl()).contains("ContextDataProvider: Mock Logging Context");
assertThat(platform.getConfigInfoImpl()).contains("LogCallerFinder: Mock Caller Finder");
}

private static boolean jvmTooOldForMockito5() {
return JAVA_SPECIFICATION_VERSION.value().equals("1.8");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

package com.google.common.flogger.parser;

import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.TruthJUnit.assume;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
Expand All @@ -40,6 +42,7 @@ public class DefaultBraceStyleMessageParserTest {

@Test
public void testParseBraceFormat() throws ParseException {
assume().that(jvmTooOldForMockito5()).isFalse();
MessageBuilder<?> builder = mock(MessageBuilder.class);
// Parse just the 3 characters representing the brace format specifier between position 6 and 9.
// The -1 indicates that there's no additional formatting information after the index.
Expand Down Expand Up @@ -69,4 +72,8 @@ public void testTrailingFormatNotSupportedInBraceFormat() {
assertThat(expected.getMessage()).contains("[:x]");
}
}

private static boolean jvmTooOldForMockito5() {
return JAVA_SPECIFICATION_VERSION.value().equals("1.8");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

package com.google.common.flogger.parser;

import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.TruthJUnit.assume;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
Expand All @@ -37,6 +39,7 @@ public class DefaultPrintfMessageParserTest {

@Test
public void testParsePrintf() throws ParseException {
assume().that(jvmTooOldForMockito5()).isFalse();
MessageBuilder<?> builder = mock(MessageBuilder.class);
int unused = PARSER.parsePrintfTerm(builder, 1, "Hello %2$+06.2f World", 6, 9, 14);

Expand Down Expand Up @@ -80,4 +83,8 @@ public void testInvalidPrintfFlags() {
assertThat(expected.getMessage()).contains("[%0s]");
}
}

private static boolean jvmTooOldForMockito5() {
return JAVA_SPECIFICATION_VERSION.value().equals("1.8");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

package com.google.common.flogger.backend.slf4j;

import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
import static com.google.common.truth.TruthJUnit.assume;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
Expand Down Expand Up @@ -46,6 +48,7 @@ private static LoggerBackend newBackend(Logger logger) {

@Test
public void testMessage() {
assume().that(jvmTooOldForMockito5()).isFalse();
Logger logger = mock(Logger.class);
LoggerBackend backend = newBackend(logger);

Expand All @@ -60,6 +63,7 @@ public void testMessage() {

@Test
public void testMetadata() {
assume().that(jvmTooOldForMockito5()).isFalse();
Logger logger = mock(Logger.class);
LoggerBackend backend = newBackend(logger);

Expand All @@ -74,6 +78,7 @@ public void testMetadata() {

@Test
public void testLevels() {
assume().that(jvmTooOldForMockito5()).isFalse();
Logger logger = mock(Logger.class);
LoggerBackend backend = newBackend(logger);

Expand All @@ -98,6 +103,7 @@ public void testLevels() {

@Test
public void testErrorHandling() {
assume().that(jvmTooOldForMockito5()).isFalse();
Logger logger = mock(Logger.class);
LoggerBackend backend = newBackend(logger);

Expand Down Expand Up @@ -130,6 +136,7 @@ public void testErrorHandling() {

@Test
public void testWithThrown() {
assume().that(jvmTooOldForMockito5()).isFalse();
Logger logger = mock(Logger.class);
LoggerBackend backend = newBackend(logger);

Expand All @@ -138,4 +145,8 @@ public void testWithThrown() {

verify(logger).info("Hello World", cause);
}

private static boolean jvmTooOldForMockito5() {
return JAVA_SPECIFICATION_VERSION.value().equals("1.8");
}
}
Loading