trigger:
  branches:
    include:
      - dev
      - main
      - master
  paths:
    include:
      - src/*
    exclude:
      - .gitignore
      - CONTRIBUTING.md
      - LICENSE
      - THIRD PARTY NOTICES
      - build.gradle
      - gradle.properties
      - gradlew
      - gradlew.bat
      - readme.md
      - settings.gradle

pr: none

pool:
  vmImage: 'windows-latest'

steps:
- checkout: self
  clean: true
  fetchDepth: 1

- task: DownloadSecureFile@1
  inputs:
    secureFile: 'local.properties'

- task: DownloadSecureFile@1
  inputs:
    secureFile: 'secring.gpg'

- task: DownloadSecureFile@1
  inputs:
    secureFile: 'secring.gpg.lock'

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Agent.TempDirectory)'
    Contents: '**'
    TargetFolder: '$(System.DefaultWorkingDirectory)'

- task: Gradle@2
  inputs:
    gradleWrapperFile: 'gradlew'
    tasks: 'build'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    javaHomeOption: 'JDKVersion'
    sonarQubeRunAnalysis: false

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(System.DefaultWorkingDirectory)'
    Contents: |
      **/libs/*
      build.gradle
      gradlew
      gradlew.bat
      settings.gradle
      gradle.properties
      **/gradle/wrapper/*
    TargetFolder: '$(Build.ArtifactStagingDirectory)/'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

- task: YodLabs.O365PostMessage.O365PostMessageBuild.O365PostMessageBuild@0
  displayName: 'Graph Client Tooling pipeline fail notification'
  inputs:
    addressType: serviceEndpoint
    serviceEndpointName: 'microsoftgraph pipeline status'
    title: '$(Build.DefinitionName) failure notification'
    text: 'This pipeline has failed. View the build details for further information. This is a blocking failure.'
  condition: and(failed(), ne(variables['Build.Reason'], 'Manual'))
  enabled: true
Set up CI with Azure Pipelines
Set up CI with Azure Pipelines

[skip ci]