Skip to content

Conversation

raych1
Copy link
Member

@raych1 raych1 commented Oct 9, 2025

Enable the artifact discovery based on the groupId and artifactName from the packageInfo.

Parent issue is at Azure/azure-sdk-tools#10219

@raych1 raych1 requested a review from weshaggard as a code owner October 9, 2025 22:52
@Copilot Copilot AI review requested due to automatic review settings October 9, 2025 22:52
@raych1 raych1 requested a review from benbp as a code owner October 9, 2025 22:52
@raych1 raych1 self-assigned this Oct 9, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR enhances the Find-java-Artifacts-For-Apireview function to support artifact discovery using package metadata. The enhancement allows the function to locate artifacts based on groupId and artifactName from a packageInfo parameter, providing more precise artifact location capabilities.

Key changes:

  • Added optional $packageInfo parameter to enable metadata-driven artifact discovery
  • Implemented conditional logic to use package metadata when available, falling back to existing discovery methods
  • Added function pointer documentation comments for better code organization

$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 $packageInfo.ArtifactName
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 property access uses $packageInfo.Group but based on the context and typical Java artifact structure, this should likely be $packageInfo.GroupId to match Maven/Gradle conventions for group identifiers.

Suggested change
$artifactPath = Join-Path $artifactDir $packageInfo.Group $packageInfo.ArtifactName
$artifactPath = Join-Path $artifactDir $packageInfo.GroupId $packageInfo.ArtifactName

Copilot uses AI. Check for mistakes.

$files += @(Get-ChildItem -Recurse "${artifactPath}" | Where-Object -FilterScript {$_.Name.EndsWith("sources.jar")})
if ($packageInfo) {
$artifactPath = Join-Path $artifactDir $packageInfo.Group $packageInfo.ArtifactName
$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.

# 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, $pkgName, $packageInfo = $null)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
function Find-java-Artifacts-For-Apireview($artifactDir, $pkgName, $packageInfo = $null)
function Find-java-Artifacts-For-Apireview($artifactDir, $packageInfo)

I thought that is what you would have based on your common changes.

Copy link
Member Author

Choose a reason for hiding this comment

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

To avoid breaking change and down time, my roll out plan includes three steps:

  1. merge this PR by just adding packageInfo parameter.
  2. merge the PR of apiview pipeline&script changes which take packageInfo parameter
  3. remove the redundant pkgName from this function Find-java-Artifacts-For-Apireview

What do you think?

Copy link
Member

Choose a reason for hiding this comment

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

I'm fine with that but I though your change in eng/common already accounted for this by looking at the parameters and calling the correct function.

Copy link
Member Author

Choose a reason for hiding this comment

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

#2 is another PR I haven't created yet.

Copy link
Member Author

Choose a reason for hiding this comment

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

Created Azure/azure-sdk-tools#12467 for step#2. I can update this PR after merge the former PR for the changes in API-review templates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants