diff --git a/eng/common/scripts/Cadl-Project-Generate.ps1 b/eng/common/scripts/Cadl-Project-Generate.ps1 deleted file mode 100644 index e989042e56..0000000000 --- a/eng/common/scripts/Cadl-Project-Generate.ps1 +++ /dev/null @@ -1,101 +0,0 @@ -# For details see https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/Cadl-Project-Scripts.md - -[CmdletBinding()] -param ( - [Parameter(Position=0)] - [ValidateNotNullOrEmpty()] - [string] $ProjectDirectory, - [Parameter(Position=1)] - [string] $CadlAdditionalOptions ## additional cadl emitter options, separated by semicolon if more than one, e.g. option1=value1;option2=value2 -) - -$ErrorActionPreference = "Stop" -. $PSScriptRoot/Helpers/PSModule-Helpers.ps1 -. $PSScriptRoot/common.ps1 -Install-ModuleIfNotInstalled "powershell-yaml" "0.4.7" | Import-Module - -function NpmInstallForProject([string]$workingDirectory) { - Push-Location $workingDirectory - try { - $currentDur = Resolve-Path "." - Write-Host "Generating from $currentDur" - - if (Test-Path "package.json") { - Remove-Item -Path "package.json" -Force - } - - if (Test-Path ".npmrc") { - Remove-Item -Path ".npmrc" -Force - } - - if (Test-Path "node_modules") { - Remove-Item -Path "node_modules" -Force -Recurse - } - - if (Test-Path "package-lock.json") { - Remove-Item -Path "package-lock.json" -Force - } - - #default to root/eng/emitter-package.json but you can override by writing - #Get-${Language}-EmitterPackageJsonPath in your Language-Settings.ps1 - $replacementPackageJson = "$PSScriptRoot/../../emitter-package.json" - if (Test-Path "Function:$GetEmitterPackageJsonPathFn") { - $replacementPackageJson = &$GetEmitterPackageJsonPathFn - } - - Write-Host("Copying package.json from $replacementPackageJson") - Copy-Item -Path $replacementPackageJson -Destination "package.json" -Force - npm install --no-lock-file - if ($LASTEXITCODE) { exit $LASTEXITCODE } - } - finally { - Pop-Location - } -} - -$resolvedProjectDirectory = Resolve-Path $ProjectDirectory -$emitterName = &$GetEmitterNameFn -$cadlConfigurationFile = Resolve-Path "$ProjectDirectory/cadl-location.yaml" - -Write-Host "Reading configuration from $cadlConfigurationFile" -$configuration = Get-Content -Path $cadlConfigurationFile -Raw | ConvertFrom-Yaml - -$specSubDirectory = $configuration["directory"] -$innerFolder = Split-Path $specSubDirectory -Leaf - -$tempFolder = "$ProjectDirectory/TempCadlFiles" -$npmWorkingDir = Resolve-Path $tempFolder/$innerFolder -$mainCadlFile = If (Test-Path "$npmWorkingDir/client.cadl") { Resolve-Path "$npmWorkingDir/client.cadl" } Else { Resolve-Path "$npmWorkingDir/main.cadl"} - -try { - Push-Location $npmWorkingDir - NpmInstallForProject $npmWorkingDir - - if ($LASTEXITCODE) { exit $LASTEXITCODE } - - if (Test-Path "Function:$GetEmitterAdditionalOptionsFn") { - $emitterAdditionalOptions = &$GetEmitterAdditionalOptionsFn $resolvedProjectDirectory - if ($emitterAdditionalOptions.Length -gt 0) { - $emitterAdditionalOptions = " $emitterAdditionalOptions" - } - } - $cadlCompileCommand = "npx cadl compile $mainCadlFile --emit $emitterName$emitterAdditionalOptions" - if ($CadlAdditionalOptions) { - $options = $CadlAdditionalOptions.Split(";"); - foreach ($option in $options) { - $cadlCompileCommand += " --option $emitterName.$option" - } - } - Write-Host($cadlCompileCommand) - Invoke-Expression $cadlCompileCommand - - if ($LASTEXITCODE) { exit $LASTEXITCODE } -} -finally { - Pop-Location -} - -$shouldCleanUp = $configuration["cleanup"] ?? $true -if ($shouldCleanUp) { - Remove-Item $tempFolder -Recurse -Force -} diff --git a/eng/common/scripts/Cadl-Project-Sync.ps1 b/eng/common/scripts/Cadl-Project-Sync.ps1 deleted file mode 100644 index 5d661e90ee..0000000000 --- a/eng/common/scripts/Cadl-Project-Sync.ps1 +++ /dev/null @@ -1,127 +0,0 @@ -# For details see https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/Cadl-Project-Scripts.md - -[CmdletBinding()] -param ( - [Parameter(Position=0)] - [ValidateNotNullOrEmpty()] - [string] $ProjectDirectory -) - -$ErrorActionPreference = "Stop" -. $PSScriptRoot/Helpers/PSModule-Helpers.ps1 -Install-ModuleIfNotInstalled "powershell-yaml" "0.4.7" | Import-Module -$sparseCheckoutFile = ".git/info/sparse-checkout" - -function AddSparseCheckoutPath([string]$subDirectory) { - if (!(Test-Path $sparseCheckoutFile) -or !((Get-Content $sparseCheckoutFile).Contains($subDirectory))) { - Write-Output $subDirectory >> .git/info/sparse-checkout - } -} - -function CopySpecToProjectIfNeeded([string]$specCloneRoot, [string]$mainSpecDir, [string]$dest, [string[]]$specAdditionalSubDirectories) { - $source = "$specCloneRoot/$mainSpecDir" - Copy-Item -Path $source -Destination $dest -Recurse -Force - Write-Host "Copying spec from $source to $dest" - - foreach ($additionalDir in $specAdditionalSubDirectories) { - $source = "$specCloneRoot/$additionalDir" - Write-Host "Copying spec from $source to $dest" - Copy-Item -Path $source -Destination $dest -Recurse -Force - } -} - -function UpdateSparseCheckoutFile([string]$mainSpecDir, [string[]]$specAdditionalSubDirectories) { - AddSparseCheckoutPath $mainSpecDir - foreach ($subDir in $specAdditionalSubDirectories) { - AddSparseCheckoutPath $subDir - } -} - -function GetGitRemoteValue([string]$repo) { - Push-Location $ProjectDirectory - $result = "" - try { - $gitRemotes = (git remote -v) - foreach ($remote in $gitRemotes) { - if ($remote.StartsWith("origin")) { - if ($remote -match 'https://github.com/\S+') { - $result = "https://github.com/$repo.git" - break - } elseif ($remote -match "git@github.com:\S+"){ - $result = "git@github.com:$repo.git" - break - } else { - throw "Unknown git remote format found: $remote" - } - } - } - } - finally { - Pop-Location - } - - return $result -} - -function InitializeSparseGitClone([string]$repo) { - git clone --no-checkout --filter=tree:0 $repo . - if ($LASTEXITCODE) { exit $LASTEXITCODE } - git sparse-checkout init - if ($LASTEXITCODE) { exit $LASTEXITCODE } - Remove-Item $sparseCheckoutFile -Force -} - -function GetSpecCloneDir([string]$projectName) { - Push-Location $ProjectDirectory - try { - $root = git rev-parse --show-toplevel - } - finally { - Pop-Location - } - - $sparseSpecCloneDir = "$root/../sparse-spec/$projectName" - New-Item $sparseSpecCloneDir -Type Directory -Force | Out-Null - $createResult = Resolve-Path $sparseSpecCloneDir - return $createResult -} - -$cadlConfigurationFile = Resolve-Path "$ProjectDirectory/cadl-location.yaml" -Write-Host "Reading configuration from $cadlConfigurationFile" -$configuration = Get-Content -Path $cadlConfigurationFile -Raw | ConvertFrom-Yaml - -$pieces = $cadlConfigurationFile.Path.Replace("\","/").Split("/") -$projectName = $pieces[$pieces.Count - 2] - -$specSubDirectory = $configuration["directory"] - -if ( $configuration["repo"] -and $configuration["commit"]) { - $specCloneDir = GetSpecCloneDir $projectName - $gitRemoteValue = GetGitRemoteValue $configuration["repo"] - - Write-Host "Setting up sparse clone for $projectName at $specCloneDir" - - Push-Location $specCloneDir.Path - try { - if (!(Test-Path ".git")) { - InitializeSparseGitClone $gitRemoteValue - UpdateSparseCheckoutFile $specSubDirectory $configuration["additionalDirectories"] - } - git checkout $configuration["commit"] - if ($LASTEXITCODE) { exit $LASTEXITCODE } - } - finally { - Pop-Location - } -} elseif ( $configuration["spec-root-dir"] ) { - $specCloneDir = $configuration["spec-root-dir"] -} - - -$tempCadlDir = "$ProjectDirectory/TempCadlFiles" -New-Item $tempCadlDir -Type Directory -Force | Out-Null -CopySpecToProjectIfNeeded ` - -specCloneRoot $specCloneDir ` - -mainSpecDir $specSubDirectory ` - -dest $tempCadlDir ` - -specAdditionalSubDirectories $configuration["additionalDirectories"]