GiantCroissant.Lunar.Build.CoreAbstractions 0.1.1-ci.40

This is a prerelease version of GiantCroissant.Lunar.Build.CoreAbstractions.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package GiantCroissant.Lunar.Build.CoreAbstractions --version 0.1.1-ci.40
                    
NuGet\Install-Package GiantCroissant.Lunar.Build.CoreAbstractions -Version 0.1.1-ci.40
                    
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.CoreAbstractions" Version="0.1.1-ci.40" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GiantCroissant.Lunar.Build.CoreAbstractions" Version="0.1.1-ci.40" />
                    
Directory.Packages.props
<PackageReference Include="GiantCroissant.Lunar.Build.CoreAbstractions" />
                    
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.CoreAbstractions --version 0.1.1-ci.40
                    
#r "nuget: GiantCroissant.Lunar.Build.CoreAbstractions, 0.1.1-ci.40"
                    
#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.CoreAbstractions@0.1.1-ci.40
                    
#: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.CoreAbstractions&version=0.1.1-ci.40&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=GiantCroissant.Lunar.Build.CoreAbstractions&version=0.1.1-ci.40&prerelease
                    
Install as a Cake Tool

RFC023: Core Abstractions & Service Layer

Implementation Status: 🔄 IN PROGRESS (Week 1 of 4)
Current Phase: Phase 1.1 - IBuildContext abstraction

Component Overview

This component implements the core abstractions and service layer for the advanced build system, providing:

  • IBuildContext: Centralized build environment and state management
  • IBuildTask: Executable units of work with dependency management
  • IBuildPipeline: Task orchestration and execution coordination
  • IBuildEnvironment: Environment validation and configuration
  • Service Layer: Dependency injection and configuration management

Architecture

Core Interfaces

IBuildContext

Provides unified access to build environment, configuration, and services:

  • Environment state and metadata
  • Configuration management
  • Service provider access
  • Cancellation token support
IBuildTask

Represents executable build operations with:

  • Dependency declaration and resolution
  • Priority-based execution ordering
  • Structured result reporting
  • Error handling and recovery
IBuildPipeline

Orchestrates task execution with:

  • Dependency graph resolution
  • Parallel execution where possible
  • Progress monitoring and reporting
  • Failure recovery strategies

Implementation Plan

Phase 1: Foundation (Week 1)

  1. IBuildContext - Environment state abstraction
  2. IBuildTask - Task execution abstraction
  3. IBuildPipeline - Task orchestration abstraction
  4. IBuildEnvironment - Environment validation
  5. Service Layer - Core service foundation

Phase 2: Execution Engine (Week 2)

  • Task execution engine implementation
  • Pipeline orchestration service
  • Error handling and recovery mechanisms
  • Progress tracking and reporting
  • Performance monitoring integration

Phase 3: RFC018 Integration (Week 3)

  • Hybrid architecture with existing components
  • Component adapter layer for backward compatibility
  • Migration utilities and comprehensive testing
  • Documentation and usage examples

Phase 4: Advanced Features (Week 4)

  • Advanced pipeline capabilities
  • Performance optimization and caching
  • Production readiness validation
  • Final integration and documentation

Integration with Existing System

This implementation maintains 100% backward compatibility with RFC018 components while providing enhanced capabilities:

  • Hybrid Operation: RFC018 components work unchanged alongside new abstractions
  • Migration Path: Optional migration to new abstractions with clear benefits
  • Performance: Enhanced execution with better resource management
  • Observability: Comprehensive monitoring and reporting capabilities

Usage Example

// Build context setup
var context = BuildContextFactory.Create(environment, configuration, services);

// Task definition
var compileTask = new CompileBuildTask("compile-components", dependencies: new[] { "restore-packages" });
var testTask = new TestBuildTask("run-tests", dependencies: new[] { "compile-components" });

// Pipeline execution
var pipeline = new BuildPipeline("main-build", tasks: new[] { compileTask, testTask });
var result = await pipeline.ExecuteAsync(context);

Testing Strategy

  • Unit Tests: Comprehensive coverage for all abstractions
  • Integration Tests: Validation with existing RFC018 components
  • Performance Tests: Benchmarking against current implementation
  • End-to-End Tests: Full build pipeline validation

Status: Ready for Phase 1.1 implementation - IBuildContext abstraction

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on GiantCroissant.Lunar.Build.CoreAbstractions:

Package Downloads
GiantCroissant.Lunar.Build.Configuration

RFC029: Massively simplified NUKE-native configuration interfaces. Replaces 500+ lines of over-engineered ComponentDiscoveryService infrastructure with simple NUKE interface composition.

GiantCroissant.Lunar.Build

Meta-package that depends on the Lunar Build component packages for one-line install.

GiantCroissant.Lunar.Build.Documentation

Documentation build component for Lunar Build (DocFX + Docusaurus integration)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1-ci.111 204 9/15/2025
0.1.1-ci.110 196 9/15/2025
0.1.1-ci.109 191 9/15/2025
0.1.1-ci.108 194 9/15/2025
0.1.1-ci.107 193 9/15/2025
0.1.1-ci.104 167 9/15/2025
0.1.1-ci.90 122 9/8/2025
0.1.1-ci.40 108 9/6/2025
0.1.1-ci.21 146 9/4/2025
0.1.1-ci.20 136 9/3/2025
0.1.1-chore-ci-pack-mobile-... 28 9/4/2025