GiantCroissant.Lunar.Build.CoreAbstractions
0.1.1-ci.40
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
<PackageReference Include="GiantCroissant.Lunar.Build.CoreAbstractions" Version="0.1.1-ci.40" />
<PackageVersion Include="GiantCroissant.Lunar.Build.CoreAbstractions" Version="0.1.1-ci.40" />
<PackageReference Include="GiantCroissant.Lunar.Build.CoreAbstractions" />
paket add GiantCroissant.Lunar.Build.CoreAbstractions --version 0.1.1-ci.40
#r "nuget: GiantCroissant.Lunar.Build.CoreAbstractions, 0.1.1-ci.40"
#:package GiantCroissant.Lunar.Build.CoreAbstractions@0.1.1-ci.40
#addin nuget:?package=GiantCroissant.Lunar.Build.CoreAbstractions&version=0.1.1-ci.40&prerelease
#tool nuget:?package=GiantCroissant.Lunar.Build.CoreAbstractions&version=0.1.1-ci.40&prerelease
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)
- IBuildContext - Environment state abstraction
- IBuildTask - Task execution abstraction
- IBuildPipeline - Task orchestration abstraction
- IBuildEnvironment - Environment validation
- 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 | Versions 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. |
-
net9.0
- GiantCroissant.Lunar.Build.Abstractions (>= 0.1.1-ci.40)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.7)
- Microsoft.Extensions.DependencyInjection (>= 9.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.7)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.7)
- Microsoft.Extensions.Logging (>= 9.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.7)
- Microsoft.Extensions.Logging.Console (>= 9.0.7)
- Microsoft.Extensions.Logging.Debug (>= 9.0.7)
- Microsoft.Extensions.Options (>= 9.0.7)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.7)
- Microsoft.Extensions.Options.DataAnnotations (>= 9.0.7)
- Nuke.Common (>= 9.0.4)
- System.Reactive (>= 6.0.0)
- System.Threading.Channels (>= 9.0.7)
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 |