diff --git a/README.md b/README.md index f1fc908..3265824 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,6 @@ An example of how the reported Checkstyle violations will look on a pull request ![PR comment with violation](https://user-images.githubusercontent.com/6915328/149333188-4600a75d-5670-4013-9395-d5852e3c7839.png) - ## Usage ```yaml @@ -116,3 +115,9 @@ config for the [Sun coding conventions](https://www.oracle.com/java/technologies Additional reviewdog flags. **`Default:`** `` + +* ### `properties_file` + + Properties file relative to the root directory. + + **`Default:`** `` diff --git a/action.yml b/action.yml index 3b5216f..eabf712 100644 --- a/action.yml +++ b/action.yml @@ -46,6 +46,10 @@ inputs: This field will always try to follow Checkstyle releases as close as possible and will use the latest available by default. If it is not a default preference for your project, please, pin the needed version using this property. default: "10.12.1" + properties_file: + description: | + Properties file relative to the root directory. + default: '' runs: using: "docker" image: "Dockerfile" diff --git a/entrypoint.sh b/entrypoint.sh index 2dc1169..84b89b6 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,23 +1,32 @@ #!/bin/sh + +command -v reviewdog >/dev/null 2>&1 || { echo >&2 "reviewdog: not found"; exit 1; } + set -e if [ -n "${GITHUB_WORKSPACE}" ] ; then cd "${GITHUB_WORKSPACE}" || exit fi +if [ -n "${INPUT_PROPERTIES_FILE}" ]; then + OPT_PROPERTIES_FILE="-p ${INPUT_PROPERTIES_FILE}" +fi + export REVIEWDOG_GITHUB_API_TOKEN="${INPUT_GITHUB_TOKEN}" printenv ls # fetch checkstyle of a requested version +echo "Download Checkstyle v${INPUT_CHECKSTYLE_VERSION}" wget -O - -q "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${INPUT_CHECKSTYLE_VERSION}/checkstyle-${INPUT_CHECKSTYLE_VERSION}-all.jar" > /checkstyle.jar -exec java -jar /checkstyle.jar -c "${INPUT_CHECKSTYLE_CONFIG}" "${INPUT_WORKDIR}" -f xml \ +echo "Run Checkstyle check" +exec java -jar /checkstyle.jar "${INPUT_WORKDIR}" -c "${INPUT_CHECKSTYLE_CONFIG}" ${OPT_PROPERTIES_FILE} -f xml \ | reviewdog -f=checkstyle \ -name="checkstyle" \ -reporter="${INPUT_REPORTER:-github-pr-check}" \ - -filter-mode="${INPUT_FILTER_MODE}" \ - -fail-on-error="${INPUT_FAIL_ON_ERROR}" \ + -filter-mode="${INPUT_FILTER_MODE:-added}" \ + -fail-on-error="${INPUT_FAIL_ON_ERROR:-false}" \ -level="${INPUT_LEVEL}" \ ${INPUT_REVIEWDOG_FLAGS}