__tests__ | ||
.github/workflows | ||
dist | ||
src | ||
.editorconfig | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
action.yml | ||
jest.config.json | ||
package.json | ||
README.md | ||
tsconfig.eslint.json | ||
tsconfig.json | ||
yarn.lock |
setup-maven
This action provides the following functionality for GitHub Actions runners:
- Optionally downloading and caching a requested version of Maven, and adding it to the PATH
- The requested version supports an exact version or a version range using SemVer notation
Usage
See action.yml
Basic:
steps:
- name: Set up Maven
uses: thachnn/setup-maven@v5
with:
maven-version: 3.8
The maven-version
input is optional. If not supplied, the maven version from PATH will be used.
Supported version syntax
The maven-version
input supports the Semantic Versioning Specification, examples:
- Major versions:
2
,3
- More specific versions:
3.2
,3.3.9
,3.5.x
,~3.8.2
,>=3.3.3
- Latest release:
*
Contributing
Development using Docker
Clone this repository and build the project with command
docker run --rm -it -v "%PWD%:/usr/src/app" -w /usr/src/app node:12-alpine /bin/sh -c ^
"yarn --no-bin-links && yarn lint && yarn test && yarn build"
Note that %PWD%
is the project working directory in Unix
format, such as: /c/Users/source/repos/setup-maven
Analyze source code with SonarQube
Download SonarQube Docker image and start the server
docker pull sonarqube:community
docker run --rm -d --name docker-sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube
Login to http://localhost:9000/ using Administrator
account (admin/admin) and configure the project to analyze.
For more details, see: https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
Run SonarScanner
from the Docker image to analyze the project
docker run --rm -it --link docker-sonarqube -v "%PWD%:/usr/src/app" -w /usr/src/app ^
-e "SONAR_HOST_URL=http://docker-sonarqube:9000" -e "SONAR_LOGIN=<projectToken>" sonarsource/sonar-scanner-cli ^
-Dsonar.projectKey=setup-maven -Dsonar.sources=. "-Dsonar.exclusions=dist/**,lib/**"
License
The scripts and documentation in this project are released under the MIT License