image: gradle:jdk17 variables: GRADLE_OPTS: "-Dorg.gradle.daemon=false" before_script: - export GRADLE_USER_HOME=`pwd`/.gradle stages: - build - deploy build_test: stage: build script: - gradle --build-cache build publish -Pflavor=nogui -Ppublic -Ppipeline=$CI_PIPELINE_ID - gradle --build-cache build publish -Pflavor=fat -Ppublic -Ppipeline=$CI_PIPELINE_ID - gradle --build-cache build publish -Pflavor=windows -Ppublic -Ppipeline=$CI_PIPELINE_ID - gradle --build-cache build publish -Pflavor=linux -Ppublic -Ppipeline=$CI_PIPELINE_ID - gradle --build-cache build publish -Pflavor=macos -Ppublic -Ppipeline=$CI_PIPELINE_ID - cp build/libs/*-*-*.jar ./ - cp wrapper/build/libs/* build/libs/ - cp wrapper/build/libs/*.exe wrapper.exe - cp wrapper/build/libs/*-all.jar wrapper.jar - for f in *-*-*.jar; do mv "$f" "latest-${f##*-}";done - mv latest-fat.jar latest.jar artifacts: paths: - build/libs - latest.jar - wrapper.jar - wrapper.exe - latest-linux.jar - latest-macos.jar - latest-windows.jar only: - master deploy: rules: - if: $CI_COMMIT_TAG && '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^master/' stage: deploy script: - gradle --build-cache build publish -Pflavor=nogui -Ppublic - gradle --build-cache build publish -Pflavor=fat -Ppublic - gradle --build-cache build publish -Pflavor=windows -Ppublic - gradle --build-cache build publish -Pflavor=linux -Ppublic - gradle --build-cache build publish -Pflavor=macos -Ppublic