Skip to content

Commit 7f2edab

Browse files
simbo1905claude
andcommitted
fix: Focus API tracker on public API only, eliminate false positives
- Remove internal package scanning (jdk.sandbox.internal.util.json) - Track only public API classes (jdk.sandbox.java.util.json) - Eliminate false positive 404 errors for removed internal classes like StableValue - Reduce tracked classes from 19 to 10 (public API only) - Improve performance and focus on meaningful API drift detection - Update tests to verify no internal classes are tracked Results: 0 missing upstream, 10 public API classes, faster execution 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 7a3c0fe commit 7f2edab

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,9 @@ static Set<Class<?>> discoverLocalJsonClasses() {
8282
LOGGER.info("Starting class discovery for JSON API packages");
8383
final var classes = new TreeSet<Class<?>>((a, b) -> a.getName().compareTo(b.getName()));
8484

85-
// Packages to scan
85+
// Packages to scan - only public API, not internal implementation
8686
final var packages = List.of(
87-
"jdk.sandbox.java.util.json",
88-
"jdk.sandbox.internal.util.json"
87+
"jdk.sandbox.java.util.json"
8988
);
9089

9190
final var classLoader = Thread.currentThread().getContextClassLoader();

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
@@ -50,10 +50,10 @@ void testDiscoverLocalJsonClasses() {
5050
"jdk.sandbox.java.util.json.JsonNull"
5151
);
5252

53-
// Should also find internal implementation classes
53+
// Should NOT find internal implementation classes (public API only)
5454
assertThat(classes.stream().anyMatch(c -> c.getName().startsWith("jdk.sandbox.internal.util.json")))
55-
.as("Should find internal implementation classes")
56-
.isTrue();
55+
.as("Should not find internal implementation classes - public API only")
56+
.isFalse();
5757

5858
// Should be sorted
5959
final var names = classes.stream().map(Class::getName).toList();

0 commit comments

Comments
 (0)