Sync eng/common directory with azure-sdk-tools for PR 6293 (#4703)
* Use local HEAD commit to create tsp-location.yaml * Set default repo value in tsp-location * Update eng/common/scripts/TypeSpec-Project-Process.ps1 Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com> * Update eng/common/scripts/TypeSpec-Project-Process.ps1 Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com> * Resolve feedback * Fixed git remote repo parsing --------- Co-authored-by: raychen <raychen@microsoft.com> Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com> Co-authored-by: Konrad Jamrozik <kojamroz@microsoft.com>
This commit is contained in:
parent
9bc784050e
commit
4727da95f4
@ -165,15 +165,38 @@ if (Test-Path $tmpTspConfigPath) {
|
||||
|
||||
$sdkProjectFolder = ""
|
||||
if ($generateFromLocalTypeSpec) {
|
||||
Write-Host "Generating sdk code based on local type specs at specRepoRoot: $specRepoRoot."
|
||||
$sdkProjectFolder = Get-TspLocationFolder $tspConfigYaml $sdkRepoRootPath
|
||||
$tspLocationYamlPath = Join-Path $sdkProjectFolder "tsp-location.yaml"
|
||||
if (!(Test-Path -Path $tspLocationYamlPath)) {
|
||||
Write-Error "Failed to find tsp-location.yaml in '$sdkProjectFolder', please make sure to provide CommitHash and RepoUrl parameters along with the local path of tspconfig.yaml in order to create tsp-location.yaml."
|
||||
exit 1
|
||||
# try to create tsp-location.yaml using HEAD commit of the local spec repo
|
||||
Write-Warning "Failed to find tsp-location.yaml in '$sdkProjectFolder'. Trying to create tsp-location.yaml using HEAD commit of the local spec repo then proceed the sdk generation based upon local typespecs at $specRepoRoot. Alternatively, please make sure to provide CommitHash and RepoUrl parameters when running this script."
|
||||
# set default repo to Azure/azure-rest-api-specs
|
||||
$repo = "Azure/azure-rest-api-specs"
|
||||
try {
|
||||
Push-Location $specRepoRoot
|
||||
$CommitHash = $(git rev-parse HEAD)
|
||||
$gitOriginUrl = (git remote get-url origin)
|
||||
if ($gitOriginUrl -and $gitOriginUrl -match '(.*)?github.com:(?<repo>[^/]*/azure-rest-api-specs(-pr)?)(.git)?') {
|
||||
$repo = $Matches["repo"]
|
||||
Write-Host "Found git origin repo: $repo"
|
||||
}
|
||||
else {
|
||||
Write-Warning "Failed to find git origin repo of the local spec repo at specRepoRoot: $specRepoRoot. Using default repo: $repo"
|
||||
}
|
||||
}
|
||||
catch {
|
||||
Write-Error "Failed to get HEAD commit or remote origin of the local spec repo at specRepoRoot: $specRepoRoot."
|
||||
exit 1
|
||||
}
|
||||
finally {
|
||||
Pop-Location
|
||||
}
|
||||
$sdkProjectFolder = CreateUpdate-TspLocation $tspConfigYaml $TypeSpecProjectDirectory $CommitHash $repo $sdkRepoRootPath
|
||||
}
|
||||
} else {
|
||||
# call CreateUpdate-TspLocation function
|
||||
$sdkProjectFolder = CreateUpdate-TspLocation $tspConfigYaml $TypeSpecProjectDirectory $CommitHash $repo $sdkRepoRootPath
|
||||
$sdkProjectFolder = CreateUpdate-TspLocation $tspConfigYaml $TypeSpecProjectDirectory $CommitHash $repo $sdkRepoRootPath
|
||||
}
|
||||
|
||||
# call TypeSpec-Project-Sync.ps1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user