Skip to content

Commit 1d157c5

Browse files
Add sources subdirectory parameter to template (#1154)
* Add root directory parameter * use subdirectory * Fully qualify pom.xml
1 parent 87015ed commit 1d157c5

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

builds/azure-pipelines/template-steps-build-test.yml

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ parameters:
55
binariesVersion: ''
66
testServer: ''
77
oopWorkerSupportedExtensionVersion: ''
8+
sourcesSubdirectory: ''
89

910
steps:
1011
- task: UseDotNet@2
@@ -22,21 +23,21 @@ steps:
2223
- task: npmAuthenticate@0
2324
displayName: 'npm Authenticate for project'
2425
inputs:
25-
workingFile: $(Build.SourcesDirectory)/.npmrc
26+
workingFile: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/.npmrc
2627

2728
- task: Npm@1
2829
displayName: 'Install Azure Functions Core Tools'
2930
inputs:
3031
command: 'custom'
31-
customCommand: 'install azure-functions-core-tools --global --globalconfig $(Build.SourcesDirectory)/.npmrc --loglevel verbose'
32-
workingDir: '$(Build.SourcesDirectory)'
32+
customCommand: 'install azure-functions-core-tools --global --globalconfig $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/.npmrc --loglevel verbose'
33+
workingDir: '$(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}'
3334

3435
- task: Npm@1
3536
displayName: 'Install Azurite Local Storage Emulator'
3637
inputs:
3738
command: 'custom'
38-
customCommand: 'install azurite --global --globalconfig $(Build.SourcesDirectory)/.npmrc --loglevel verbose'
39-
workingDir: '$(Build.SourcesDirectory)'
39+
customCommand: 'install azurite --global --globalconfig $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/.npmrc --loglevel verbose'
40+
workingDir: '$(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}'
4041

4142
# This step is necessary because npm installs to a non-traditional location on Windows hosted agents
4243
# For non-Windows agents we still want to ensure that we always get the correct location where the tools are installed
@@ -46,7 +47,7 @@ steps:
4647

4748
- bash: echo "##vso[task.setvariable variable=azureFunctionsExtensionBundlePath]$(func GetExtensionBundlePath)"
4849
displayName: 'Set Azure Functions extension bundle path'
49-
workingDirectory: $(Build.SourcesDirectory)/samples/samples-js
50+
workingDirectory: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/samples/samples-js
5051

5152
- task: DockerInstaller@0
5253
displayName: Docker Installer
@@ -73,17 +74,17 @@ steps:
7374
displayName: Set logging level
7475
condition: and(succeeded(), ne(variables['AFSQLEXT_TEST_LOGLEVEL'], ''))
7576

76-
77+
7778
- script: |
78-
npm install --userconfig $(Build.SourcesDirectory)/.npmrc --loglevel verbose
79+
npm install --userconfig $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/.npmrc --loglevel verbose
7980
npm run lint
80-
workingDirectory: $(Build.SourcesDirectory)/samples/samples-js
81+
workingDirectory: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/samples/samples-js
8182
displayName: Lint samples-js
8283

8384
- script: |
84-
npm install --userconfig $(Build.SourcesDirectory)/.npmrc --loglevel verbose
85+
npm install --userconfig $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/.npmrc --loglevel verbose
8586
npm run lint
86-
workingDirectory: $(Build.SourcesDirectory)/test/Integration/test-js
87+
workingDirectory: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/test/Integration/test-js
8788
displayName: Lint test-js
8889

8990
- task: UsePythonVersion@0
@@ -96,18 +97,18 @@ steps:
9697
pip3 install "pylint<3.0"
9798
pip3 install pylintfileheader
9899
pylint --recursive=yes .
99-
workingDirectory: $(Build.SourcesDirectory)/samples/samples-python
100+
workingDirectory: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/samples/samples-python
100101
displayName: Lint samples-python
101102

102103
- script: |
103104
pip3 install -r requirements.txt
104-
workingDirectory: $(Build.SourcesDirectory)/samples/samples-python
105+
workingDirectory: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/samples/samples-python
105106
displayName: Install samples-python dependencies
106107

107108
- task: Maven@4
108109
displayName: Build Java Samples
109110
inputs:
110-
mavenPomFile: samples/samples-java/pom.xml
111+
mavenPomFile: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/samples/samples-java/pom.xml
111112
# batch-mode and Slf4jMavenTransferListener definition are used to make the build logging verbose
112113
# update-snapshot forces a check for updated library dependencies
113114
options: --batch-mode --define=org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn --update-snapshots
@@ -116,7 +117,7 @@ steps:
116117
- task: Maven@4
117118
displayName: Build Java Tests
118119
inputs:
119-
mavenPomFile: test/Integration/test-java/pom.xml
120+
mavenPomFile: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/test/Integration/test-java/pom.xml
120121
# batch-mode and Slf4jMavenTransferListener definition are used to make the build logging verbose
121122
# update-snapshot forces a check for updated library dependencies
122123
options: --batch-mode --define=org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn --update-snapshots
@@ -130,7 +131,7 @@ steps:
130131
inputs:
131132
command: custom
132133
custom: nuget
133-
arguments: add source -n afsqlext.local $(Build.SourcesDirectory)/local-packages
134+
arguments: add source -n afsqlext.local $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/local-packages
134135
workingDirectory: $(Agent.WorkFolder)
135136

136137
- task: DotNetCoreCLI@2
@@ -144,15 +145,15 @@ steps:
144145
- task: CopyFiles@2
145146
displayName: 'Copy local Sql package to local-packages folder'
146147
inputs:
147-
sourceFolder: $(Build.SourcesDirectory)/src/bin/${{ parameters.configuration }}
148+
sourceFolder: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/src/bin/${{ parameters.configuration }}
148149
contents: '*.nupkg'
149-
targetFolder: $(Build.SourcesDirectory)/local-packages
150+
targetFolder: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/local-packages
150151
overWrite: true
151152

152153
- task: CopyFiles@2
153154
displayName: 'Copy Sql extension dll to Azure Functions extension bundle'
154155
inputs:
155-
sourceFolder: $(Build.SourcesDirectory)/src/bin/${{ parameters.configuration }}/netstandard2.0
156+
sourceFolder: $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/src/bin/${{ parameters.configuration }}/netstandard2.0
156157
contents: Microsoft.Azure.WebJobs.Extensions.Sql.dll
157158
targetFolder: $(azureFunctionsExtensionBundlePath)/bin
158159
overWrite: true
@@ -182,7 +183,7 @@ steps:
182183
projects: '${{ parameters.solution }}'
183184
# Skip any non .NET In-Proc integration tests. Otherwise, the following error will be thrown:
184185
# System.InvalidOperationException : No data found for Microsoft.Azure.WebJobs.Extensions.Sql.Tests.Integration.SqlOutputBindingIntegrationTests.NoPropertiesThrows
185-
arguments: --configuration ${{ parameters.configuration }} --filter "FullyQualifiedName!~NoPropertiesThrows & FullyQualifiedName!~AddProductWithSlashInColumnName" --collect "Code Coverage" -s $(Build.SourcesDirectory)/test/coverage.runsettings --no-build
186+
arguments: --configuration ${{ parameters.configuration }} --filter "FullyQualifiedName!~NoPropertiesThrows & FullyQualifiedName!~AddProductWithSlashInColumnName" --collect "Code Coverage" -s $(Build.SourcesDirectory)/${{ parameters.sourcesSubdirectory }}/test/coverage.runsettings --no-build
186187
condition: and(succeededOrFailed(), eq(variables['Agent.OS'], 'Windows_NT'))
187188

188189
- task: DotNetCoreCLI@2

0 commit comments

Comments
 (0)