#####################
# README: Defines a template to be used as a starting point for defining a service pipeline
#####################

trigger:
  batch: true
  branches:
    include:
      - master
  paths:
    exclude:
      - /**/*.md
      - .gitignore
      - images/

pr:
  autoCancel: true
  branches:
    include:
      - '*'
  paths:
    exclude:
      - /**/*.md
      - .gitignore
      - images/

resources:
  repositories:
    - repository: infrastructure-templates
      type: git
      name: open-data-ecosystem/infrastructure-templates

variables:
  - group: 'Azure Common Secrets'
  - group: 'Azure - Common'

  - name: serviceName
    value: 'legal'

stages:
  - template: devops/service-pipelines/build-stage.yml@infrastructure-templates
    parameters:
      mavenGoal: 'package'
      mavenPublishJUnitResults: true
      serviceCoreMavenOptions: '--settings ./maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -P legal-core'
      mavenOptions: '--settings ./maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -P legal-azure'
      copyFileContents: |
        pom.xml
        provider/legal-azure/maven/settings.xml
        provider/legal-azure/pom.xml
        provider/legal-azure/target/*-spring-boot.jar
      copyFileContentsToFlatten: ''
      mavenSettingsFile: './maven/settings.xml'
      serviceBase: ${{ variables.serviceName }}
      testingRootFolder: 'testing'
  - template: devops/service-pipelines/deploy-stages.yml@infrastructure-templates
    parameters:
      serviceName: ${{ variables.serviceName }}
      testCoreMavenPomFile: 'testing/legal-test-core/pom.xml'
      testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/deploy/testing/maven/settings.xml'
      providers:
        -  name: Azure
           # Merges into Master
           ${{ if eq(variables['Build.SourceBranchName'], 'master') }}:
             environments: ['devint', 'qa', 'prod']
           # PR updates / creations
           ${{ if ne(variables['Build.SourceBranchName'], 'master') }}:
             environments: ['devint']