From c740d242aa6e1b8f9059c8255a6f09b45d37c703 Mon Sep 17 00:00:00 2001 From: Jannik Lindemann Date: Mon, 29 Dec 2025 13:43:03 +0100 Subject: [PATCH 1/5] Add codestyle checks to fail for inconsistent codestyles --- dev/checkstyle/checkstyle.xml | 74 ++ dev/checkstyle/suppressions-xpath.xml | 41 + dev/checkstyle/suppressions.xml | 1006 +++++++++++++++++ pom.xml | 29 +- .../org/apache/sysds/parser/dml/DmlLexer.java | 4 +- .../apache/sysds/parser/dml/DmlParser.java | 3 +- .../runtime/matrix/data/LibMatrixCUDA.java | 1 - .../part2/BuiltinMatrixProfileTest.java | 1 - 8 files changed, 1151 insertions(+), 8 deletions(-) create mode 100644 dev/checkstyle/checkstyle.xml create mode 100644 dev/checkstyle/suppressions-xpath.xml create mode 100644 dev/checkstyle/suppressions.xml diff --git a/dev/checkstyle/checkstyle.xml b/dev/checkstyle/checkstyle.xml new file mode 100644 index 00000000000..96a381cd4c9 --- /dev/null +++ b/dev/checkstyle/checkstyle.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/checkstyle/suppressions-xpath.xml b/dev/checkstyle/suppressions-xpath.xml new file mode 100644 index 00000000000..8843856a78d --- /dev/null +++ b/dev/checkstyle/suppressions-xpath.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + diff --git a/dev/checkstyle/suppressions.xml b/dev/checkstyle/suppressions.xml new file mode 100644 index 00000000000..1c55fb4fd18 --- /dev/null +++ b/dev/checkstyle/suppressions.xml @@ -0,0 +1,1006 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index e0b3f794272..ec804572f36 100644 --- a/pom.xml +++ b/pom.xml @@ -54,6 +54,7 @@ 2.22.1 3.2.0 3.0.0 + 3.3.1 3.0.0 3.5.0 3.2.0 @@ -365,7 +366,33 @@ - + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + + checkstyle + + validate + + check + + + + + + dev/checkstyle/checkstyle.xml + true + true + ${project.build.directory}/checkstyle-result.xml + xml + true + + + + org.apache.maven.plugins maven-surefire-plugin diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java b/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java index 0ce5c153a0a..954fe9e71c4 100644 --- a/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java +++ b/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java @@ -22,8 +22,6 @@ import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; import org.antlr.v4.runtime.*; import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; @@ -411,4 +409,4 @@ public DmlLexer(CharStream input) { _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); } } -} \ No newline at end of file +} diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlParser.java b/src/main/java/org/apache/sysds/parser/dml/DmlParser.java index 531b93c5ac7..263ef205d38 100644 --- a/src/main/java/org/apache/sysds/parser/dml/DmlParser.java +++ b/src/main/java/org/apache/sysds/parser/dml/DmlParser.java @@ -26,7 +26,6 @@ import org.antlr.v4.runtime.misc.*; import org.antlr.v4.runtime.tree.*; import java.util.List; -import java.util.Iterator; import java.util.ArrayList; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) @@ -3463,4 +3462,4 @@ private boolean expression_sempred(ExpressionContext _localctx, int predIndex) { _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); } } -} \ No newline at end of file +} diff --git a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.java b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.java index 3a9cf83e792..4f3c55415d6 100644 --- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.java +++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.java @@ -91,7 +91,6 @@ import static jcuda.runtime.cudaMemcpyKind.cudaMemcpyDeviceToDevice; import static jcuda.runtime.cudaMemcpyKind.cudaMemcpyDeviceToHost; -import java.lang.Math; import java.util.ArrayList; /** diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/part2/BuiltinMatrixProfileTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/part2/BuiltinMatrixProfileTest.java index e3ee065417e..67c3be751a6 100644 --- a/src/test/java/org/apache/sysds/test/functions/builtin/part2/BuiltinMatrixProfileTest.java +++ b/src/test/java/org/apache/sysds/test/functions/builtin/part2/BuiltinMatrixProfileTest.java @@ -28,7 +28,6 @@ import org.junit.Test; import java.io.IOException; -import java.lang.Math; import java.util.Random; import java.util.Collections; import java.util.Comparator; From 970bacb87208859145431de96209aa2bed026fe1 Mon Sep 17 00:00:00 2001 From: Jannik Lindemann Date: Mon, 29 Dec 2025 18:11:54 +0100 Subject: [PATCH 2/5] Add more suppressions and remove unused imports --- dev/checkstyle/suppressions.xml | 10 ++++++++++ pom.xml | 2 +- .../runtime/controlprogram/caching/CacheableData.java | 1 - .../runtime/controlprogram/caching/FrameObject.java | 1 - .../java/org/apache/sysds/runtime/einsum/EOpNode.java | 1 - .../org/apache/sysds/runtime/einsum/EOpNodeFuse.java | 1 - .../org/apache/sysds/runtime/einsum/EOpNodeUnary.java | 3 --- .../sysds/runtime/instructions/ooc/OOCStream.java | 1 - 8 files changed, 11 insertions(+), 9 deletions(-) diff --git a/dev/checkstyle/suppressions.xml b/dev/checkstyle/suppressions.xml index 1c55fb4fd18..3884195fdf8 100644 --- a/dev/checkstyle/suppressions.xml +++ b/dev/checkstyle/suppressions.xml @@ -130,6 +130,14 @@ + + + + + + + + @@ -350,6 +358,8 @@ + + - validate + test check diff --git a/src/main/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.java b/src/main/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.java index 2759ed33925..36637ee8959 100644 --- a/src/main/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.java +++ b/src/main/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.java @@ -43,7 +43,6 @@ import org.apache.sysds.runtime.compress.CompressedMatrixBlock; import org.apache.sysds.runtime.controlprogram.caching.LazyWriteBuffer.RPolicy; import org.apache.sysds.runtime.controlprogram.federated.FederationMap; -import org.apache.sysds.runtime.controlprogram.parfor.LocalTaskQueue; import org.apache.sysds.runtime.controlprogram.parfor.util.IDSequence; import org.apache.sysds.runtime.instructions.cp.Data; import org.apache.sysds.runtime.instructions.fed.InitFEDInstruction; diff --git a/src/main/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.java b/src/main/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.java index 8c5a0793467..7151d87211c 100644 --- a/src/main/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.java +++ b/src/main/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.java @@ -33,7 +33,6 @@ import org.apache.sysds.runtime.controlprogram.federated.FederatedRange; import org.apache.sysds.runtime.controlprogram.federated.FederatedResponse; import org.apache.sysds.runtime.controlprogram.federated.FederationMap; -import org.apache.sysds.runtime.controlprogram.parfor.LocalTaskQueue; import org.apache.sysds.runtime.frame.data.FrameBlock; import org.apache.sysds.runtime.instructions.ooc.OOCStream; import org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue; diff --git a/src/main/java/org/apache/sysds/runtime/einsum/EOpNode.java b/src/main/java/org/apache/sysds/runtime/einsum/EOpNode.java index 29c3187c3e1..e205c2721ae 100644 --- a/src/main/java/org/apache/sysds/runtime/einsum/EOpNode.java +++ b/src/main/java/org/apache/sysds/runtime/einsum/EOpNode.java @@ -21,7 +21,6 @@ import org.apache.commons.logging.Log; import org.apache.sysds.runtime.matrix.data.MatrixBlock; -import scala.Int; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeFuse.java b/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeFuse.java index 1107462caf9..a999ce68f9c 100644 --- a/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeFuse.java +++ b/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeFuse.java @@ -34,7 +34,6 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; -import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeUnary.java b/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeUnary.java index a94bbc95656..e46e7ec1041 100644 --- a/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeUnary.java +++ b/src/main/java/org/apache/sysds/runtime/einsum/EOpNodeUnary.java @@ -20,10 +20,7 @@ package org.apache.sysds.runtime.einsum; import org.apache.commons.logging.Log; -import org.apache.sysds.common.Opcodes; import org.apache.sysds.common.Types; -import org.apache.sysds.hops.AggUnaryOp; -import org.apache.sysds.hops.rewrite.HopRewriteUtils; import org.apache.sysds.runtime.functionobjects.DiagIndex; import org.apache.sysds.runtime.functionobjects.KahanPlus; import org.apache.sysds.runtime.functionobjects.Plus; diff --git a/src/main/java/org/apache/sysds/runtime/instructions/ooc/OOCStream.java b/src/main/java/org/apache/sysds/runtime/instructions/ooc/OOCStream.java index c70f9cbb8db..27dd9515acf 100644 --- a/src/main/java/org/apache/sysds/runtime/instructions/ooc/OOCStream.java +++ b/src/main/java/org/apache/sysds/runtime/instructions/ooc/OOCStream.java @@ -20,7 +20,6 @@ package org.apache.sysds.runtime.instructions.ooc; import org.apache.sysds.runtime.DMLRuntimeException; -import org.apache.sysds.runtime.controlprogram.parfor.LocalTaskQueue; import java.util.function.Consumer; From fa246b9d525aa97aa5f23e5998724d2f4c50c01f Mon Sep 17 00:00:00 2001 From: Jannik Lindemann Date: Mon, 29 Dec 2025 19:27:25 +0100 Subject: [PATCH 3/5] Changes --- .github/workflows/javaTests.yml | 3 +- dev/checkstyle/suppressions.xml | 1309 ++++++++----------------------- pom.xml | 2 + 3 files changed, 332 insertions(+), 982 deletions(-) diff --git a/.github/workflows/javaTests.yml b/.github/workflows/javaTests.yml index 93149c3d1c9..5eee3231e4c 100644 --- a/.github/workflows/javaTests.yml +++ b/.github/workflows/javaTests.yml @@ -47,6 +47,8 @@ jobs: java_tests: runs-on: ubuntu-24.04 timeout-minutes: 30 + env: + MAVEN_OPTS: -Dcheckstyle.skip=true strategy: fail-fast: false matrix: @@ -181,4 +183,3 @@ jobs: name: Java Code Coverage (Jacoco) path: target/site/jacoco retention-days: 3 - diff --git a/dev/checkstyle/suppressions.xml b/dev/checkstyle/suppressions.xml index 3884195fdf8..642bf3beba8 100644 --- a/dev/checkstyle/suppressions.xml +++ b/dev/checkstyle/suppressions.xml @@ -24,993 +24,340 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index 699553f7f47..9ce654d5e39 100644 --- a/pom.xml +++ b/pom.xml @@ -78,6 +78,7 @@ 1C 2 false + false false ** false @@ -384,6 +385,7 @@ dev/checkstyle/checkstyle.xml + ${checkstyle.skip} true true ${project.build.directory}/checkstyle-result.xml From 55832d09889fee1394849ef889dac69d2f5a9c0d Mon Sep 17 00:00:00 2001 From: Jannik Lindemann Date: Mon, 29 Dec 2025 19:51:21 +0100 Subject: [PATCH 4/5] Changes (cherry picked from commit 17c6cc0487696b160757575b4a052acadc29f0fc) --- .github/workflows/javaTests.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/javaTests.yml b/.github/workflows/javaTests.yml index 5eee3231e4c..2443f61249d 100644 --- a/.github/workflows/javaTests.yml +++ b/.github/workflows/javaTests.yml @@ -47,8 +47,6 @@ jobs: java_tests: runs-on: ubuntu-24.04 timeout-minutes: 30 - env: - MAVEN_OPTS: -Dcheckstyle.skip=true strategy: fail-fast: false matrix: @@ -98,7 +96,7 @@ jobs: uses: ./.github/action/ id: test with: - test-to-run: ${{ matrix.tests }} + test-to-run: ${{ matrix.tests }} -Dcheckstyle.skip=true - name: Clean Github Artifact Name of Asterisks run: | From 2834609fa82b06ab275167bb099be1d187b6adb8 Mon Sep 17 00:00:00 2001 From: Jannik Lindemann Date: Mon, 29 Dec 2025 19:59:48 +0100 Subject: [PATCH 5/5] Isolated codestyle test (cherry picked from commit 8190ef5bd3f8228c28651b4118de969bd87e75fc) --- .github/workflows/javaCodestyle.yml | 60 +++++++++++++++++++++++++++++ .github/workflows/javaTests.yml | 2 +- pom.xml | 2 +- 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/javaCodestyle.yml diff --git a/.github/workflows/javaCodestyle.yml b/.github/workflows/javaCodestyle.yml new file mode 100644 index 00000000000..50c970023c1 --- /dev/null +++ b/.github/workflows/javaCodestyle.yml @@ -0,0 +1,60 @@ +#------------------------------------------------------------- +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +#------------------------------------------------------------- + +name: Java Codestyle + +on: + push: + paths-ignore: + - 'docs/**' + - '*.md' + - '*.html' + - 'src/main/python/**' + - 'dev/**' + branches: + - main + pull_request: + paths-ignore: + - 'docs/**' + - '*.md' + - '*.html' + - 'src/main/python/**' + - 'dev/**' + branches: + - main + +jobs: + java_codestyle: + name: Java Checkstyle + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v6 + + - name: Setup Java 17 adopt + uses: actions/setup-java@v5 + with: + distribution: adopt + java-version: '17' + cache: 'maven' + + - name: Run Checkstyle + run: mvn -ntp -B -Dcheckstyle.skip=false checkstyle:check diff --git a/.github/workflows/javaTests.yml b/.github/workflows/javaTests.yml index 2443f61249d..b4f4ce2e11d 100644 --- a/.github/workflows/javaTests.yml +++ b/.github/workflows/javaTests.yml @@ -96,7 +96,7 @@ jobs: uses: ./.github/action/ id: test with: - test-to-run: ${{ matrix.tests }} -Dcheckstyle.skip=true + test-to-run: ${{ matrix.tests }} - name: Clean Github Artifact Name of Asterisks run: | diff --git a/pom.xml b/pom.xml index 9ce654d5e39..08669868aa1 100644 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,7 @@ 1C 2 false - false + true false ** false