Class SerenityRequiredPackagesContractTests
The contract between what the shipped package needs and what a fresh install receives: every package a
shipped Serenity assembly is compiled against, and every package whose scripts shipped content
serializes, must be in RequiredPackageIds — the one list
both the manifest embedded in the exported .unitypackage and the startup installer derive from.
The need is derived from the project, never restated. An assembly needs what its compiled image
actually references (an asmdef reference no code uses costs a fresh install nothing). An asset needs
the package scripts it directly depends on — a Timeline .playable depends on the Timeline
package's TimelineAsset script even though no Serenity code names that type at compile time,
which is exactly how a missing Timeline dependency went unnoticed.
Inherited Members
Namespace: Serenity.PackageBootstrapper.Tests.Editor
Assembly: Tests.Editor.dll
Syntax
public class SerenityRequiredPackagesContractTests
Constructors
SerenityRequiredPackagesContractTests()
Declaration
public SerenityRequiredPackagesContractTests()
Methods
EmbeddablePackageIds_AllResolveInTheDevelopmentProject_TimelineAtItsPinnedVersion()
Declaration
public void EmbeddablePackageIds_AllResolveInTheDevelopmentProject_TimelineAtItsPinnedVersion()
RequiredPackageIds_CoverEveryPackageTheShippedAssembliesAreCompiledAgainst()
Declaration
public void RequiredPackageIds_CoverEveryPackageTheShippedAssembliesAreCompiledAgainst()
RequiredPackageIds_CoverEveryPackageWhoseScriptsTheShippedAssetsSerialize()
Declaration
public void RequiredPackageIds_CoverEveryPackageWhoseScriptsTheShippedAssetsSerialize()