diff --git a/.azure-pipelines/buildAndPackage.yml b/.azure-pipelines/buildAndPackage.yml new file mode 100644 index 000000000..ad8e81eea --- /dev/null +++ b/.azure-pipelines/buildAndPackage.yml @@ -0,0 +1,101 @@ +#Copyright (c) Microsoft Corporation. All rights reserved. +#Licensed under the MIT License. +#Building and packaging the artifacts of the Java-Core libraries using the build.gradle file. +#Ready the package for deployment and release. + +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: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@2 + displayName: 'Run CredScan' + inputs: + debugMode: false + +- 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