@@ -5,6 +5,7 @@ parameters:
55 binariesVersion : ' '
66 testServer : ' '
77 oopWorkerSupportedExtensionVersion : ' '
8+ sourcesSubdirectory : ' '
89
910steps :
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
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