using System.Collections.Generic;
using UnityEngine;
namespace Unity.Pipeline.Config
{
///
/// Build-only, generated companion to : holds the absolute,
/// machine-specific code-reload roots baked in by PipelineRuntimeBuildProcessor. Created fresh
/// before each build and deleted immediately after — never checked into source control, since
/// its contents are meaningless outside the machine that produced them. Absent outside of a
/// real build (e.g. Editor Play Mode without ever having built) is not an error;
/// RuntimePipelineBootstrap simply has no roots to allow in that case.
///
public class RuntimePipelineBuildInfo : ScriptableObject
{
/// Resource name this asset must be saved under inside a Resources folder for to find it.
public const string ResourceName = "RuntimePipelineBuildInfo";
/// Absolute paths of the project's Assets folder and every loaded package, baked in at build time.
public List allowedReloadRoots = new List();
/// Public half of the project's push-signing key (from Library/Pipeline/signing.key).
/// A player build rejects every code-reload push not signed by the matching private key; empty
/// means reject all pushes (strict policy — there is deliberately no unsigned fallback).
public string pushPublicKey = "";
/// Load the asset from Resources, or null if this is not a real build.
/// The build-time-baked info, or null if this is not a real build.
public static RuntimePipelineBuildInfo Load() => Resources.Load(ResourceName);
}
}