Make EveUnity CultLib dependencies explicit

This commit is contained in:
Meta Vens 2026-07-09 16:38:39 +01:00
commit 5bf4d0f665
8 changed files with 168 additions and 16 deletions

View file

@ -180,6 +180,20 @@ foreach ($dependency in @(
if ($record.packageId -ne $dependency.packageId -or $record.packageManager -ne "nuget" -or $record.ownerRepo -ne "CultLib") {
throw "EveUnity test contract has unexpected managed dependency record for $($dependency.assemblyName)"
}
if ($null -eq $record.dependencyContract) {
throw "EveUnity test contract missing dependency contract for $($dependency.assemblyName)"
}
if ($record.dependencyContract.sourceAuthority -ne "CultLib" -or $record.dependencyContract.packageSource -ne "nuget") {
throw "EveUnity test contract has unexpected dependency source for $($dependency.assemblyName): $($record.dependencyContract.sourceAuthority)/$($record.dependencyContract.packageSource)"
}
if ($record.dependencyContract.packageId -ne $dependency.packageId -or $record.dependencyContract.assemblyName -ne $dependency.assemblyName) {
throw "EveUnity test contract dependency contract does not match managed dependency identity for $($dependency.assemblyName)"
}
foreach ($field in @("versionPolicy", "unityResolution", "handoffRequirement")) {
if (-not $record.dependencyContract.$field) {
throw "EveUnity test contract dependency contract missing $field for $($dependency.assemblyName)"
}
}
if (-not (@($testAssemblyDefinition.precompiledReferences) -contains $dependency.assemblyName)) {
throw "EveUnity test asmdef missing managed dependency precompiled reference: $($dependency.assemblyName)"
}

View file

@ -179,7 +179,13 @@ node $consumerScript $consumerExport `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.testPlatform:EditMode" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.0.ownerRepo:CultLib" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.0.packageManager:nuget" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.0.dependencyContract.sourceAuthority:CultLib" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.0.dependencyContract.packageSource:nuget" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.0.dependencyContract.packageId:GameCult.Caching" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.1.packageId:GameCult.Mesh" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.1.dependencyContract.sourceAuthority:CultLib" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.1.dependencyContract.packageSource:nuget" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.managedAssemblyDependencies.1.dependencyContract.packageId:GameCult.Mesh" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.captureKind:unity-editor-or-batchmode-png" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.artifactKind:png" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.targetId:unity-uitoolkit" `