stages: - build - test - package variables: MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode" MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" cache: paths: - .m2/repository/ - target/ build: stage: build image: maven:3-openjdk-17 script: - mvn $MAVEN_CLI_OPTS compile test: stage: test image: maven:3-openjdk-17 script: - mvn $MAVEN_CLI_OPTS test artifacts: name: jacoco paths: - target/site/jacoco/ release: stage: package image: maven:3-openjdk-17 script: - mvn $MAVEN_CLI_OPTS -e package - mkdir target/release - ls target - tar -C target/release -xzvf target/kickc-release.tgz - mv target/release/kickc/jar/kickc-release.jar target/release/kickc/jar/kickc-${CI_COMMIT_REF_NAME}.jar - mkdir ./kickc - mv target/release/kickc/* ./kickc/ artifacts: name: kickc_${CI_COMMIT_REF_NAME} paths: - ./kickc/bin - ./kickc/jar - ./kickc/include - ./kickc/lib - ./kickc/target - ./kickc/fragment - ./kickc/examples - ./kickc/LICENSE* - ./kickc/NOTICE* - ./kickc/*.pdf pages: stage: package image: alpine script: - apk update && apk add doxygen graphviz ttf-freefont - pwd - ls -l - mkdir target - mkdir target/doxygen - doxygen src/main/doxygen/doxygen.conf - mv target/doxygen/html/ public/ artifacts: paths: - public only: - master