image: gradle:alpine

stages:
  - build
  - test
  - deploy

variables:
  GRADLE_OPTS: "-Dorg.gradle.daemon=false"

before_script:
  - export GRADLE_USER_HOME=`pwd`/.gradle

build:
  stage: build
  script:
    - gradle assemble
  artifacts:
    paths:
      - build/libs/*.jar
    expire_in: 1 week
    
test:
  stage: test
  script:
   - mv src/test/resources/martserver-plugins ~/martserver-plugins/
   - gradle check
  artifacts:
    paths:
     - build/reports/
     - config/html/
 
javadoc:
  stage: test
  script:
    gradle javadoc
  artifacts:
    paths:
     - build/docs/

 
pages:
  stage: deploy
  script:
    - mkdir public
    - mv config/html/* public
    - mv build/reports/* public
    - mv build/docs/* public
    - mv build/libs/*.jar public
  artifacts:
    paths:
      - public
    expire_in: 1 day
  only:
    - master

upload:
  stage: deploy
  script:
   - gradle upload
  only:
   - master

after_script:
  - echo "End CI"