@@ -80,22 +80,13 @@ function Submit-Request($filePath, $packageName)
8080 return $StatusCode
8181}
8282
83- function Should-Process-Package ($pkgPath , $packageName )
83+ function Should-Process-Package ($packageInfo )
8484{
85- $pkg = Split-Path - Leaf $pkgPath
86- $pkgPropPath = Join-Path - Path $configFileDir " $packageName .json"
87- if (! (Test-Path $pkgPropPath ))
88- {
89- LogWarning " Package property file path $ ( $pkgPropPath ) is invalid."
90- return $False
91- }
92- # Get package info from json file created before updating version to daily dev
93- $pkgInfo = Get-Content $pkgPropPath | ConvertFrom-Json
94- $packagePath = $pkgInfo.DirectoryPath
85+ $packagePath = $packageInfo.DirectoryPath
9586 $modifiedFiles = @ (Get-ChangedFiles - DiffPath " $packagePath /*" - DiffFilterType ' ' )
9687 $filteredFileCount = $modifiedFiles.Count
9788 LogInfo " Number of modified files for package: $filteredFileCount "
98- return ($filteredFileCount -gt 0 -and $pkgInfo .IsNewSdk )
89+ return ($filteredFileCount -gt 0 -and $packageInfo .IsNewSdk )
9990}
10091
10192function Log-Input-Params ()
@@ -126,24 +117,42 @@ $responses = @{}
126117
127118LogInfo " Processing PackageInfo at $configFileDir "
128119
129- $packageProperties = Get-ChildItem - Recurse - Force " $configFileDir " `
130- | Where-Object {
120+ $packageInfoFiles = Get-ChildItem - Recurse - Force " $configFileDir " `
121+ | Where-Object {
131122 $_.Extension -eq ' .json' -and ($_.FullName.Substring ($configFileDir.Length + 1 ) -notmatch ' ^_.*?[\\\/]' )
132123 }
133124
134- foreach ($packagePropFile in $packageProperties )
125+ foreach ($packageInfoFile in $packageInfoFiles )
135126{
136- $packageMetadata = Get-Content $packagePropFile | ConvertFrom-Json
137- $pkgArtifactName = $packageMetadata .ArtifactName ?? $packageMetadata .Name
127+ $packageInfo = Get-Content $packageInfoFile | ConvertFrom-Json
128+ $pkgArtifactName = $packageInfo .ArtifactName ?? $packageInfo .Name
138129
139130 LogInfo " Processing $ ( $pkgArtifactName ) "
140131
141- $packages = & $FindArtifactForApiReviewFn $ArtifactPath $pkgArtifactName
132+ # Check if the function supports the packageInfo parameter
133+ $functionInfo = Get-Command $FindArtifactForApiReviewFn - ErrorAction SilentlyContinue
134+ $supportsPackageInfoParam = $false
135+
136+ if ($functionInfo -and $functionInfo.Parameters ) {
137+ # Check if function specifically supports packageInfo parameter
138+ $parameterNames = $functionInfo.Parameters.Keys
139+ $supportsPackageInfoParam = $parameterNames -contains ' packageInfo'
140+ }
141+
142+ # Call function with appropriate parameters
143+ if ($supportsPackageInfoParam ) {
144+ LogInfo " Calling $FindArtifactForApiReviewFn with packageInfo parameter"
145+ $packages = & $FindArtifactForApiReviewFn $ArtifactPath $pkgArtifactName $packageInfo
146+ }
147+ else {
148+ LogInfo " Calling $FindArtifactForApiReviewFn with legacy parameters"
149+ $packages = & $FindArtifactForApiReviewFn $ArtifactPath $pkgArtifactName
150+ }
142151
143152 if ($packages )
144153 {
145154 $pkgPath = $packages.Values [0 ]
146- $isRequired = Should- Process- Package - pkgPath $pkgPath - packageName $pkgArtifactName
155+ $isRequired = Should- Process- Package $packageInfo
147156 LogInfo " Is API change detect required for $ ( $pkgArtifactName ) :$ ( $isRequired ) "
148157 if ($isRequired -eq $True )
149158 {
@@ -156,7 +165,7 @@ foreach ($packagePropFile in $packageProperties)
156165 }
157166 else
158167 {
159- LogInfo " Pull request does not have any change for $ ( $pkgArtifactName ) ) . Skipping API change detect."
168+ LogInfo " Pull request does not have any change for $ ( $pkgArtifactName ) . Skipping API change detect."
160169 }
161170 }
162171 else
0 commit comments