jobs:
  - job: setup
    displayName: Cache Maven Artifacts and Build Targets
    pool:
      vmImage: ubuntu-latest
    steps:
      - checkout: self
        fetchDepth: 1
      - task: Cache@2
        displayName: Cache maven artifacts
        inputs:
          key: maven | $(Build.BuildId) | artifacts
          path: $(MAVEN_CACHE_FOLDER)
      - template: cache-target-tasks-template.yml
        parameters:
          modules:
            ${{ parameters.modulesToCache }}
      - task: Bash@3
        inputs:
          targetType: 'inline'
          script: mkdir -p $(MAVEN_CACHE_FOLDER); pwd; ls -al $(MAVEN_CACHE_FOLDER)
      - ${{ if eq(parameters.signArtifacts, true) }}:
        - template: setup-signing-tasks-template.yml
      - task: Maven@3
        inputs:
          mavenPomFile: 'pom.xml'
          ${{ if eq(parameters.signArtifacts, true) }}:
            options: '--settings $(Agent.TempDirectory)/settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER) -DskipTests -DdeployToSonatype'
          ${{ else }}:
            options: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER) -DskipTests'
          mavenOptions: '-Xmx3072m'
          javaHomeOption: 'JDKVersion'
          jdkVersionOption: '1.11'
          jdkArchitectureOption: 'x64'
          publishJUnitResults: false
          goals: 'install'