@@ -11,19 +11,41 @@ param (
11
11
12
12
$utilFilePath = Join-Path $RepoRoot ' .azure-pipelines' ' PipelineSteps' ' BatchGeneration' ' util.psm1'
13
13
Import-Module $utilFilePath - Force
14
+ $artifactsDir = Join-Path $RepoRoot ' artifacts'
14
15
15
16
$changedModulesDict = @ {}
16
17
$changedSubModulesDict = @ {}
17
- for ($i = 0 ; $i -lt $ChangedFiles.Count ; $i ++ ) {
18
- if ($ChangedFiles [$i ] -match ' ^(src|generated)/([^/]+)/([^/]+\.autorest)/' ) {
19
- $parent = $Matches [2 ]
20
- $child = $Matches [3 ]
21
- $key = " $parent /$child "
22
-
23
- $changedModulesDict [$parent ] = $true
24
- $changedSubModulesDict [$key ] = $true
18
+ if ($env: RUN_TEST_ON_ALL_MODULES -eq " True" ) {
19
+ Write-Host " Run test on all modules"
20
+ $V4ModulesFile = Join-Path $artifactsDir " generationTargets.json"
21
+ $V4ModuleMaps = Get-Content - Raw - Path $V4ModulesFile | ConvertFrom-Json
22
+
23
+ foreach ($matrixKey in $V4ModuleMaps.PSObject.Properties.Name ) {
24
+ Write-Host " ##[group]Matrix key: $matrixKey "
25
+ $moduleMap = $V4ModuleMaps .$matrixKey
26
+ foreach ($moduleName in $moduleMap.PSObject.Properties.Name ) {
27
+ foreach ($subModuleName in $moduleMap .$moduleName ) {
28
+ $subModule = " $moduleName /$subModuleName "
29
+ $changedModulesDict [$moduleName ] = $true
30
+ $changedSubModulesDict [$subModule ] = $true
31
+ }
32
+ }
33
+ }
34
+ }
35
+ else {
36
+ Write-Host " Run test on changed modules"
37
+ for ($i = 0 ; $i -lt $ChangedFiles.Count ; $i ++ ) {
38
+ if ($ChangedFiles [$i ] -match ' ^(src|generated)/([^/]+)/([^/]+\.autorest)/' ) {
39
+ $moduleName = $Matches [2 ]
40
+ $subModuleName = $Matches [3 ]
41
+ $subModule = " $moduleName /$subModuleName "
42
+
43
+ $changedModulesDict [$moduleName ] = $true
44
+ $changedSubModulesDict [$subModule ] = $true
45
+ }
25
46
}
26
47
}
48
+
27
49
$changedModules = $changedModulesDict.Keys | Sort-Object
28
50
$changedSubModules = $changedSubModulesDict.Keys | Sort-Object
29
51
0 commit comments