Skip to content

Commit 1bfa87d

Browse files
Add CLDC11 compatibility check workflow and APIChecker tool
This change introduces a new GitHub Actions pipeline (`.github/workflows/cldc11-check.yml`) that verifies `Ports/CLDC11` is a binary compatible subset of JavaSE 11 and `vm/JavaAPI`. It also adds a custom tool `scripts/api-checker`, implemented in Java using ASM, to perform the binary compatibility analysis (checking classes, methods, fields, superclasses, and interfaces). The tool generates a report of extra APIs present in the reference (e.g., `vm/JavaAPI`) as requested. The workflow is configured to run on JDK 11 to support the tool's usage of modern Java APIs (like `InputStream.readAllBytes` and `jrt:/` filesystem). Explicit permissions are set for the workflow.
1 parent a80fd14 commit 1bfa87d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

.github/workflows/cldc11-check.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@ on:
66
- 'Ports/CLDC11/**'
77
- 'vm/JavaAPI/**'
88
- '.github/workflows/cldc11-check.yml'
9+
branches:
10+
- master
911
pull_request:
1012
paths:
1113
- 'Ports/CLDC11/**'
1214
- 'vm/JavaAPI/**'
1315
- '.github/workflows/cldc11-check.yml'
1416

17+
permissions:
18+
contents: read
19+
1520
jobs:
1621
check-cldc11:
1722
runs-on: ubuntu-latest
@@ -26,7 +31,7 @@ jobs:
2631
uses: actions/checkout@v4
2732

2833
- name: Build APIChecker
29-
run: mvn package -f scripts/api-checker/pom.xml
34+
run: JAVA_HOME=$JAVA11_HOME mvn package -f scripts/api-checker/pom.xml
3035

3136
- name: Build Ports/CLDC11
3237
run: |

0 commit comments

Comments
 (0)