Vixen
02b45cc4
csharp
public static class ProjectScaffold

Writes a new project from a template.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The half of vixen new that is not a console. Which template, whether the name can be a namespace, what would be overwritten and what to write: all four are decisions, and the CLI's copy of them was the only copy — which is why the editor's New Project made two directories instead. The same split ContentPipeline made from ImportRunner, for the same reason and with the same shape: a result somebody formats rather than lines somebody prints.

⚠ Nothing is overwritten, and every collision is found before anything is written. A scaffolder that clobbers is one nobody runs twice, and "I pointed it at the wrong directory" is the ordinary mistake rather than the exotic one — so a half-scaffolded directory must not be a state this can leave behind.

Fields and properties (1)

  • public static string SdkVersion

    The version a new project pins, for the SDK and for every package it references.

Methods (3)

  • public static bool IsUsableName(string name)

    Whether a name can be both an assembly name and a namespace.

  • public static string NameFrom(string directoryName)

    The nearest usable project name to a directory's own.

  • public static ScaffoldResult Write(string template, string name, string directory)

    Writes a template into a directory.

Used by (6)

  • EditorApplicationVixen.Editor.App
  • PlayerBuildTestsVixen.Editor.Assets.Tests
  • ProjectMarkerVixen.Editor.Core
  • ProjectMarkerTestsVixen.Editor.Core.Tests
  • ProjectScaffoldTestsVixen.Editor.Core.Tests
  • ScaffoldRunnerVixen.Cli