GiantCroissant.Lunar.Build 0.1.1-ci.90

This is a prerelease version of GiantCroissant.Lunar.Build.
dotnet add package GiantCroissant.Lunar.Build --version 0.1.1-ci.90
                    
NuGet\Install-Package GiantCroissant.Lunar.Build -Version 0.1.1-ci.90
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GiantCroissant.Lunar.Build" Version="0.1.1-ci.90" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GiantCroissant.Lunar.Build" Version="0.1.1-ci.90" />
                    
Directory.Packages.props
<PackageReference Include="GiantCroissant.Lunar.Build" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GiantCroissant.Lunar.Build --version 0.1.1-ci.90
                    
#r "nuget: GiantCroissant.Lunar.Build, 0.1.1-ci.90"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GiantCroissant.Lunar.Build@0.1.1-ci.90
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GiantCroissant.Lunar.Build&version=0.1.1-ci.90&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=GiantCroissant.Lunar.Build&version=0.1.1-ci.90&prerelease
                    
Install as a Cake Tool

GiantCroissant Lunar Build System

License Build Status

A powerful, configuration-driven build infrastructure for Unity projects with .NET solutions, designed to streamline development workflows and CI/CD pipelines.

Features

  • Unified Build System: Single build configuration for all project types
  • Cross-Platform: Windows, Linux, and macOS
  • Extensible Architecture: Modular components for custom scenarios
  • CI/CD Ready: Seamless integration with GitHub Actions
  • Mobile Support: Android and iOS components and validation

Supported Project Types

  • .NET Libraries: Create and publish NuGet packages
  • .NET Executables: Build and package CLI tools
  • Unity Packages: Manage and deploy Unity packages
  • Unity Player Builds: Multi-platform builds (Android, iOS, Windows)

Quick Start

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-org/giantcroissant-lunar-build.git
    cd giantcroissant-lunar-build
    
  2. Restore dependencies:

    dotnet restore build/nuke/Lunar.Build.sln
    
  3. Run the build:

    cd build/nuke
    ./build.ps1
    

Documentation

Project Discovery

  • Source of truth: projects.discovery in build/nuke/build-config.json.
  • Precedence: parameter overrides → config values → defaults.
  • Resolution: entries are resolved against both EffectiveRootDirectory and the config file directory; supports files, directories (expanded to **/*.csproj), and wildcard patterns.
  • Example:
{
  "projects": {
    "discovery": {
      "sourceDirectory": "build/nuke",
      "entries": [
        "components/Configuration/Lunar.Build.Configuration.csproj",
        "components/NuGet/Lunar.Build.NuGet.csproj",
        "components/CodeQuality/Lunar.Build.CodeQuality.csproj",
        "components/CoreAbstractions/Lunar.Build.CoreAbstractions.csproj",
        "components/Mobile/Lunar.Build.Mobile.csproj",
        "components/Mobile/iOS/Lunar.Build.Mobile.iOS.csproj",
        "components/Mobile/Android/Lunar.Build.Mobile.Android.csproj"
      ],
      "excludePatterns": ["Tests.csproj", ".Tests.csproj"]
    }
  }
}
  • Schema: build/nuke/components/Configuration/schemas/project-discovery.schema.json (referenced by the root schema).
  • Note: legacy projectGroups[*].explicitProjects are no longer used for discovery; the build now consumes projects.discovery via IProjectDiscoveryComponent.

Project Structure

giantcroissant-lunar-build/
├─ build/                 # Build system components and configurations
├─ docs/                  # Documentation
├─ projects/              # Example and test projects
├─ scripts/               # Utility scripts
└─ .github/               # GitHub workflows and templates

Contributing

We welcome contributions! Contributing guidelines will be added soon.

License

This project is licensed under the MIT License. A LICENSE file will be added to the repository.

Support

For support, please open an issue in the repository issue tracker.

Changelog

Changelog will be provided once releases are stabilized.


<div align="center"> Made with care by the GiantCroissant Team </div>

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1-ci.90 112 9/8/2025
0.1.1-ci.40 58 9/6/2025