Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions eng/pipelines/templates/jobs/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
Codeql.BuildIdentifier: ${{ parameters.ServiceDirectory }}
Codeql.SkipTaskAutoInjection: false
SDKType: ${{ parameters.SDKType }}

# Only run CG and codeql on internal build job
${{ if eq(variables['System.TeamProject'], 'internal') }}:
templateContext:
Expand Down Expand Up @@ -260,7 +260,9 @@ jobs:

- template: /eng/common/pipelines/templates/steps/create-apireview.yml
parameters:
Artifacts: ${{parameters.ReleaseArtifacts}}
PackageInfoFiles:
- ${{ each artifact in parameters.ReleaseArtifacts }}:
- $(Build.ArtifactStagingDirectory)/PackageInfo/${{artifact.name}}.json

- template: /eng/common/pipelines/templates/steps/detect-api-changes.yml

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,10 @@ stages:

- template: /eng/common/pipelines/templates/steps/create-apireview.yml
parameters:
PackageInfoFiles:
- ${{ each artifact in parameters.Artifacts }}:
- $(Pipeline.Workspace)/packages-signed/PackageInfo/${{artifact.name}}.json
ArtifactPath: $(Pipeline.Workspace)/packages-signed
Artifacts: ${{parameters.Artifacts}}
ConfigFileDir: $(Pipeline.Workspace)/packages-signed/PackageInfo
MarkPackageAsShipped: true
ArtifactName: packages-signed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,10 @@ stages:
ArtifactPath: $(Pipeline.Workspace)/packages-signed
- template: /eng/common/pipelines/templates/steps/create-apireview.yml
parameters:
PackageInfoFiles:
- ${{ each artifact in parameters.Artifacts }}:
- $(Pipeline.Workspace)/packages-signed/PackageInfo/${{artifact.name}}.json
ArtifactPath: $(Pipeline.Workspace)/packages-signed
Artifacts: ${{parameters.Artifacts}}
ConfigFileDir: $(Pipeline.Workspace)/packages-signed/PackageInfo
MarkPackageAsShipped: true
ArtifactName: packages-signed
Expand Down
36 changes: 26 additions & 10 deletions eng/scripts/Language-Settings.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -484,8 +484,17 @@ function Get-java-GithubIoDocIndex()
}

# function is used to filter packages to submit to API view tool
function Find-java-Artifacts-For-Apireview($artifactDir, $pkgName)
# Function pointer name: FindArtifactForApiReviewFn
function Find-java-Artifacts-For-Apireview($artifactDir, $packageInfo)
{
# Check if packageInfo is null first
if (!$packageInfo) {
Write-Host "Package info is null, skipping API review artifact search"
return $null
}

$pkgName = $packageInfo.ArtifactName ?? $packageInfo.Name

# skip spark packages
if ($pkgName.Contains("-spark")) {
return $null
Expand All @@ -495,15 +504,21 @@ function Find-java-Artifacts-For-Apireview($artifactDir, $pkgName)
return $null
}

# Find all source jar files in given artifact directory
# Filter for package in "com.azure*" groupId.
$artifactPath = Join-Path $artifactDir "com.azure*" $pkgName
Write-Host "Checking for source jar in artifact path $($artifactPath)"
$files = @(Get-ChildItem -Recurse "${artifactPath}" | Where-Object -FilterScript {$_.Name.EndsWith("sources.jar")})
# And filter for packages in "io.clientcore*" groupId.
# (Is there a way to pass more information here to know the explicit groupId?)
$artifactPath = Join-Path $artifactDir "io.clientcore*" $pkgName
$files += @(Get-ChildItem -Recurse "${artifactPath}" | Where-Object -FilterScript {$_.Name.EndsWith("sources.jar")})
if ($packageInfo) {
$artifactPath = Join-Path $artifactDir $packageInfo.Group $pkgName
$files = @(Get-ChildItem "${artifactPath}" | Where-Object -FilterScript {$_.Name.EndsWith("sources.jar")})
Copy link

Copilot AI Oct 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Get-ChildItem command may fail if the $artifactPath directory doesn't exist, but there's no error handling. Consider adding -ErrorAction SilentlyContinue or checking if the path exists before attempting to access it.

Copilot uses AI. Check for mistakes.

} else {
# Find all source jar files in given artifact directory
# Filter for package in "com.azure*" groupId.
$artifactPath = Join-Path $artifactDir "com.azure*" $pkgName
Write-Host "Checking for source jar in artifact path $($artifactPath)"
$files = @(Get-ChildItem -Recurse "${artifactPath}" | Where-Object -FilterScript {$_.Name.EndsWith("sources.jar")})
# And filter for packages in "io.clientcore*" groupId.
# (Is there a way to pass more information here to know the explicit groupId?)
$artifactPath = Join-Path $artifactDir "io.clientcore*" $pkgName
$files += @(Get-ChildItem -Recurse "${artifactPath}" | Where-Object -FilterScript {$_.Name.EndsWith("sources.jar")})
}

if (!$files)
{
Write-Host "$($artifactPath) does not have any package"
Expand Down Expand Up @@ -643,6 +658,7 @@ function Update-java-GeneratedSdks([string]$PackageDirectoriesFile) {
}
}

# Function pointer: IsApiviewStatusCheckRequiredFn
function Get-java-ApiviewStatusCheckRequirement($packageInfo) {
if ($packageInfo.IsNewSdk -and ($packageInfo.SdkType -eq "client" -or $packageInfo.SdkType -eq "spring")) {
return $true
Expand Down
Loading