##// END OF EJS Templates
Rework variant artifacts materialization model...
Rework variant artifacts materialization model Refactor VariantArtifactsPlugin around a live outgoing artifacts context and split artifact publication into explicit internal services: outgoing variant registry, assembly binding, materialization policy hooks, primary-slot convention, and slot assembly handling. Introduce variant artifact slots as identity-first public API and expose materialized assembly handles through ArtifactAssemblies. Add replayable configuration hooks for outgoing configurations, outgoing slots, outgoing variants, and registered assemblies. Create consumable outgoing configurations per variant, bind the primary slot to the root outgoing artifact set, and publish non-primary slots as Gradle outgoing configuration variants. Add deterministic injective task names for slot assembly tasks, use Sync for directory assembly, and configure the default assembly output location under build/variant-assemblies. Make primary-slot selection finalize-on-read and provide a single-slot convention that fails when no unique default can be inferred. Mark artifact internal implementation package as non-public API.

File last commit:

r51:9db7822cd26c default
r51:9db7822cd26c default
Show More
design_notes.md
37 lines | 1.2 KiB | text/x-minidsrc | MarkdownLexer
cin
WIP code cleanup after AI... never again!
r48 # design notes
## core model
- OutgoingRegistry (Variant)
исходящая конфигурация
- [provider] configuration
- [container, live] slots
набор вариантов (слотов)
- [property] primarySlot
- AssemblyRegistry (Varaint, Slot)
содержимое слота может быть добавлено после появления слота в OutgoingRegistry
- assembleTask
- inputs
- compile unit output (CompileUnit, String)
- direct object (task, file collection, etc.)
- artifact: directory
- customTask
- artifact: FileSystemLocation
cin
Rework variant artifacts materialization model...
r51 - when, all - replayable hooks для получения содержимого сборки
cin
WIP code cleanup after AI... never again!
r48
## extension
- adapter
- whenFinalized
- dsl
- variant(name)
- slot(name)
- from***
- whenFinalized
- whenOutgoingConfiguration
- whenOutgoingSlot
cin
WIP Added ArtifactAssemblyBridge to wire variants with slot assemblies
r49
cin
Rework variant artifacts materialization model...
r51 - ArtifactAssemblyBridge
связывает содержимое ArtifactAssembly и исходящей конфигурации OutgoingVariant
- VariantArtifactsHandler
управляет состоянием ArtifactAssembly, используется для DSL сборки
- configureVariant конфигурирует VariantArtifactsSpec