Merge pull request #2752 from microsoft/dev

knownApps
This commit is contained in:
Freddy Kristiansen 2022-10-25 09:00:02 +02:00 коммит произвёл GitHub
Родитель b453504193 9b5e2ffa1c
Коммит 59ad1fa312
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 16 добавлений и 3 удалений

Просмотреть файл

@ -9,6 +9,8 @@
If specified, all appFolders in the array are subFolders to this folder. If specified, all appFolders in the array are subFolders to this folder.
.Parameter unknownDependencies .Parameter unknownDependencies
If specified, this reference parameter will contain unresolved dependencies after sorting If specified, this reference parameter will contain unresolved dependencies after sorting
.Parameter knownApps
If specified, this reference parameter will contain all known appids
.Example .Example
$folders = Sort-AppFoldersByDependencies -appFolders @($folder1, $folder2) $folders = Sort-AppFoldersByDependencies -appFolders @($folder1, $folder2)
#> #>
@ -19,7 +21,9 @@ function Sort-AppFoldersByDependencies {
[Parameter(Mandatory=$false)] [Parameter(Mandatory=$false)]
[string] $baseFolder = "", [string] $baseFolder = "",
[Parameter(Mandatory=$false)] [Parameter(Mandatory=$false)]
[ref] $unknownDependencies [ref] $unknownDependencies,
[Parameter(Mandatory=$false)]
[ref] $knownApps
) )
$telemetryScope = InitTelemetryScope -name $MyInvocation.InvocationName -parameterValues $PSBoundParameters -includeParameters @() $telemetryScope = InitTelemetryScope -name $MyInvocation.InvocationName -parameterValues $PSBoundParameters -includeParameters @()
@ -49,8 +53,11 @@ try {
if ($appJson.psobject.Members | Where-Object name -eq "dependencies") { if ($appJson.psobject.Members | Where-Object name -eq "dependencies") {
if ($appJson.dependencies) { if ($appJson.dependencies) {
$appJson.dependencies = @($appJson.dependencies | % { $appJson.dependencies = @($appJson.dependencies | % {
if ($_.psobject.Members | where-object membertype -like 'noteproperty' | Where-Object name -eq "id") { $_ | ConvertTo-Json -Compress | Out-Host
New-Object psobject -Property ([ordered]@{ "appId" = $_.id; "publisher" = $_.publisher; "name" = $_.name; "version" = $_.version }) if ($_.PSObject.Properties.Name -eq "id") {
$name = "$(if ($_.PSObject.Properties.Name -eq "name") { $_.Name })"
$publisher = "$(if ($_.PSObject.Properties.Name -eq "publisher") { $_.Publisher })"
New-Object psobject -Property ([ordered]@{ "appId" = $_.id; "publisher" = $publisher; "name" = $name; "version" = $_.version })
} }
else { else {
$_ $_
@ -122,6 +129,11 @@ try {
$script:sortedApps | ForEach-Object { $script:sortedApps | ForEach-Object {
($folders["$($_.id):$($_.version)"]).SubString($baseFolder.Length) ($folders["$($_.id):$($_.version)"]).SubString($baseFolder.Length)
} }
if ($knownApps) {
$knownApps.value += @($script:sortedApps | ForEach-Object {
$_.Id
})
}
if ($unknownDependencies) { if ($unknownDependencies) {
$unknownDependencies.value += @($script:unresolvedDependencies | ForEach-Object { if ($_) { $unknownDependencies.value += @($script:unresolvedDependencies | ForEach-Object { if ($_) {
"$(if ($_.PSObject.Properties.name -eq 'AppId') { $_.AppId } else { $_.Id }):" + $("$($_.publisher)_$($_.name)_$($_.version).app".Split([System.IO.Path]::GetInvalidFileNameChars()) -join '') "$(if ($_.PSObject.Properties.name -eq 'AppId') { $_.AppId } else { $_.Id }):" + $("$($_.publisher)_$($_.name)_$($_.version).app".Split([System.IO.Path]::GetInvalidFileNameChars()) -join '')

Просмотреть файл

@ -7,6 +7,7 @@ Issue #2718 Add setting NoOfSecondsToSleepAfterPublishBcContainerApp to be able
AL-Go issue https://github.com/microsoft/AL-Go/issues/228 AL-Go issue https://github.com/microsoft/AL-Go/issues/228
Issue #2745 Support for Windows 10 22H2 Issue #2745 Support for Windows 10 22H2
Add parameter TreatTestFailuresAsWarnings to Run-AlPipeline Add parameter TreatTestFailuresAsWarnings to Run-AlPipeline
Add parameter knownApps to Sort-AppFoldersByDependencies, to return all known apps in sorted folders
4.0.5 4.0.5
Issue #2697 Run-AlValidation does not fail validation, but validation fails in Partner Center when submitting the app for NextMajor Issue #2697 Run-AlValidation does not fail validation, but validation fails in Partner Center when submitting the app for NextMajor