Skip to content

Commit 7a3c0fe

Browse files
simbo1905claude
andcommitted
fix: Address PR review comments
- Update both GitHub workflows to use Java 24 instead of matrix build - Add comprehensive INFO logging for HTTP operations and class discovery - Remove scaffolding test and fix compilation warnings - Maintain Java 21 compatibility for main library while using Java 24 for tooling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent ef442f7 commit 7a3c0fe

File tree

5 files changed

+17
-316
lines changed

5 files changed

+17
-316
lines changed

.github/workflows/daily-api-tracker.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
- name: Checkout repository
1515
uses: actions/checkout@v4
1616

17-
- name: Set up JDK 21
17+
- name: Set up JDK 24
1818
uses: actions/setup-java@v4
1919
with:
20-
java-version: '21'
20+
java-version: '24'
2121
distribution: 'temurin'
2222

2323
- name: Cache Maven dependencies

.github/workflows/maven.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,15 @@ on:
1010
jobs:
1111
build:
1212
runs-on: ubuntu-latest
13-
strategy:
14-
matrix:
15-
java: [ '21', '22', '23', '24' ]
16-
name: Build with JDK ${{ matrix.java }}
13+
name: Build with JDK 24
1714

1815
steps:
1916
- uses: actions/checkout@v4
2017

21-
- name: Set up JDK ${{ matrix.java }}
18+
- name: Set up JDK 24
2219
uses: actions/setup-java@v4
2320
with:
24-
java-version: ${{ matrix.java }}
21+
java-version: '24'
2522
distribution: 'oracle'
2623

2724
- name: Cache Maven dependencies

json-java21-api-tracker/src/main/java/io/github/simbo1905/tracker/ApiTracker.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ static Set<Class<?>> discoverLocalJsonClasses() {
112112
}
113113
}
114114

115-
LOGGER.info("Discovered " + classes.size() + " classes in JSON API packages");
115+
LOGGER.info("Discovered " + classes.size() + " classes in JSON API packages: " +
116+
classes.stream().map(Class::getName).sorted().collect(Collectors.joining(", ")));
116117
return Collections.unmodifiableSet(classes);
117118
}
118119

@@ -136,7 +137,7 @@ static void scanDirectory(java.io.File directory, String packageName, Set<Class<
136137
try {
137138
final var clazz = Class.forName(className);
138139
classes.add(clazz);
139-
LOGGER.fine(() -> "Found class: " + className);
140+
LOGGER.info("Found class: " + className);
140141
} catch (ClassNotFoundException | NoClassDefFoundError e) {
141142
LOGGER.fine(() -> "Could not load class: " + className);
142143
}
@@ -174,7 +175,7 @@ static void scanJar(java.net.URL jarUrl, String packageName, Set<Class<?>> class
174175
try {
175176
final var clazz = Class.forName(className);
176177
classes.add(clazz);
177-
LOGGER.fine(() -> "Found class in JAR: " + className);
178+
LOGGER.info("Found class in JAR: " + className);
178179
} catch (ClassNotFoundException | NoClassDefFoundError e) {
179180
LOGGER.fine(() -> "Could not load class from JAR: " + className);
180181
}
@@ -212,7 +213,7 @@ static Map<String, String> fetchUpstreamSources(Set<Class<?>> localClasses) {
212213
final var upstreamPath = mapToUpstreamPath(className);
213214
final var url = GITHUB_BASE_URL + upstreamPath;
214215

215-
LOGGER.fine(() -> "Fetching: " + url);
216+
LOGGER.info("Fetching upstream source: " + url);
216217

217218
try {
218219
final var request = HttpRequest.newBuilder()
@@ -227,20 +228,20 @@ static Map<String, String> fetchUpstreamSources(Set<Class<?>> localClasses) {
227228
final var body = response.body();
228229
FETCH_CACHE.put(className, body);
229230
results.put(className, body);
230-
LOGGER.fine(() -> "Successfully fetched: " + className);
231+
LOGGER.info("Successfully fetched " + body.length() + " chars for: " + className);
231232
} else if (response.statusCode() == 404) {
232233
final var error = "NOT_FOUND: Upstream file not found (possibly deleted or renamed)";
233234
results.put(className, error);
234-
LOGGER.fine(() -> "Not found: " + className);
235+
LOGGER.info("404 Not Found for upstream: " + className + " at " + url);
235236
} else {
236237
final var error = "HTTP_ERROR: Status " + response.statusCode();
237238
results.put(className, error);
238-
LOGGER.warning(() -> "HTTP error for " + className + ": " + response.statusCode());
239+
LOGGER.info("HTTP error " + response.statusCode() + " for " + className + " at " + url);
239240
}
240241
} catch (Exception e) {
241242
final var error = "FETCH_ERROR: " + e.getMessage();
242243
results.put(className, error);
243-
LOGGER.log(Level.WARNING, "Error fetching " + className, e);
244+
LOGGER.info("Fetch error for " + className + " at " + url + ": " + e.getMessage());
244245
}
245246
}
246247

json-java21-api-tracker/src/test/java/io/github/simbo1905/tracker/ApiTrackerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ void testExtractLocalApiJsonObject() throws ClassNotFoundException {
8080
assertThat(((JsonString) api.members().get("packageName")).value()).isEqualTo("jdk.sandbox.java.util.json");
8181

8282
assertThat(api.members()).containsKey("isInterface");
83-
assertThat(((JsonValue) api.members().get("isInterface"))).isEqualTo(JsonBoolean.of(true));
83+
assertThat(api.members().get("isInterface")).isEqualTo(JsonBoolean.of(true));
8484

8585
assertThat(api.members()).containsKey("methods");
8686
final var methods = (JsonObject) api.members().get("methods");
@@ -94,7 +94,7 @@ void testExtractLocalApiJsonValue() throws ClassNotFoundException {
9494
final var api = ApiTracker.extractLocalApi(clazz);
9595

9696
assertThat(api.members()).containsKey("isSealed");
97-
assertThat(((JsonValue) api.members().get("isSealed"))).isEqualTo(JsonBoolean.of(true));
97+
assertThat(api.members().get("isSealed")).isEqualTo(JsonBoolean.of(true));
9898

9999
assertThat(api.members()).containsKey("permits");
100100
final var permits = (JsonArray) api.members().get("permits");
@@ -203,7 +203,7 @@ void testRunFullComparison() {
203203
);
204204

205205
// Total classes should be greater than 0
206-
final var totalClasses = ((JsonValue) summary.members().get("totalClasses"));
206+
final var totalClasses = summary.members().get("totalClasses");
207207
assertThat(totalClasses).isNotNull();
208208
}
209209
}

0 commit comments

Comments
 (0)