stages: - build - test - package variables: MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true" MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" 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