diff --git a/README.md b/README.md index d63abf5..a259315 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,13 @@ test-zig: zig-version: description: Zig version default: "0.15.1" + +test-java: + description: Test the Java bindings + default: "false" +java-version: + description: Java version + default: "25" ``` ## Example configuration diff --git a/action.yml b/action.yml index f6e1a96..7262d32 100644 --- a/action.yml +++ b/action.yml @@ -54,6 +54,12 @@ inputs: zig-version: description: Zig version default: "0.15.1" + test-java: + description: Test the Java bindings + default: "false" + java-version: + description: Java version + default: "25" runs: using: composite @@ -109,3 +115,8 @@ runs: if: inputs.test-zig == 'true' with: zig-version: ${{inputs.zig-version}} + - name: Run Java tests + uses: tree-sitter/parser-test-action/java@v3 + if: inputs.test-java == 'true' + with: + java-version: ${{inputs.java-version}} diff --git a/java/action.yml b/java/action.yml new file mode 100644 index 0000000..ebbb77f --- /dev/null +++ b/java/action.yml @@ -0,0 +1,35 @@ +name: Tree-sitter parser test (Java) +description: Test a tree-sitter parser in Java + +inputs: + java-version: + description: Java version + default: "25" + distribution: + description: Java distribution + default: microsoft + +runs: + using: composite + steps: + - name: Set up Java + uses: actions/setup-java@v5 + with: + cache: maven + distribution: ${{inputs.distribution}} + java-version: ${{inputs.java-version}} + cache-dependency-path: pom.xml + - name: Set up tree-sitter library + uses: tree-sitter/setup-action/lib@v2 + - name: Build parser library + shell: sh + run: |- + cmake -B build \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_BINDIR=lib \ + -DCMAKE_INSTALL_PREFIX="$RUNNER_TOOL_CACHE/tree-sitter/lib" + cmake --build build && cmake --install build --config Debug + - name: Run tests + shell: sh + run: mvn -B --no-transfer-progress test