GiantCroissant.Lunar.Build
0.1.1-ci.40
See the version list below for details.
dotnet add package GiantCroissant.Lunar.Build --version 0.1.1-ci.40
NuGet\Install-Package GiantCroissant.Lunar.Build -Version 0.1.1-ci.40
<PackageReference Include="GiantCroissant.Lunar.Build" Version="0.1.1-ci.40" />
<PackageVersion Include="GiantCroissant.Lunar.Build" Version="0.1.1-ci.40" />
<PackageReference Include="GiantCroissant.Lunar.Build" />
paket add GiantCroissant.Lunar.Build --version 0.1.1-ci.40
#r "nuget: GiantCroissant.Lunar.Build, 0.1.1-ci.40"
#:package GiantCroissant.Lunar.Build@0.1.1-ci.40
#addin nuget:?package=GiantCroissant.Lunar.Build&version=0.1.1-ci.40&prerelease
#tool nuget:?package=GiantCroissant.Lunar.Build&version=0.1.1-ci.40&prerelease
GiantCroissant Lunar Build System
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
- .NET 6.0+ SDK
- Unity 2020.3+ (for Unity projects)
- Git
Installation
Clone the repository:
git clone https://github.com/your-org/giantcroissant-lunar-build.git cd giantcroissant-lunar-build
Restore dependencies:
dotnet restore build/nuke/Lunar.Build.sln
Run the build:
cd build/nuke ./build.ps1
Documentation
- Docs Index – Overview and navigation
- Quick Start Guide – How to use the build system
- Getting Started – Onboarding and platform setup
- Reference – CLI/targets, performance, inventory
Project Discovery
- Source of truth:
projects.discovery
inbuild/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 consumesprojects.discovery
viaIProjectDiscoveryComponent
.
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>
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- GiantCroissant.Lunar.Build.CodeQuality (>= 0.1.1-ci.40)
- GiantCroissant.Lunar.Build.Configuration (>= 0.1.1-ci.40)
- GiantCroissant.Lunar.Build.CoreAbstractions (>= 0.1.1-ci.40)
- GiantCroissant.Lunar.Build.Mobile (>= 0.1.1-ci.40)
- GiantCroissant.Lunar.Build.Mobile.Android (>= 0.1.1-ci.40)
- GiantCroissant.Lunar.Build.Mobile.iOS (>= 0.1.1-ci.40)
- GiantCroissant.Lunar.Build.NuGet (>= 0.1.1-ci.40)
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 |