##// END OF EJS Templates
Refine variant artifacts publication lifecycle- Remove assembly task access from outgoing slot publication spec- Keep whenOutgoingSlot focused on publication attributes only- Decouple materialization policy handler from artifact assemblies- Drop eager afterEvaluate outgoing configuration realization- Add reference coverage for lazy Gradle outgoing variants- Exercise primary and secondary artifact resolution without forced realization- Keep slot body customization in ArtifactAssemblySpec
Refine variant artifacts publication lifecycle- Remove assembly task access from outgoing slot publication spec- Keep whenOutgoingSlot focused on publication attributes only- Decouple materialization policy handler from artifact assemblies- Drop eager afterEvaluate outgoing configuration realization- Add reference coverage for lazy Gradle outgoing variants- Exercise primary and secondary artifact resolution without forced realization- Keep slot body customization in ArtifactAssemblySpec

File last commit:

r51:9db7822cd26c default
r52:3939ecb6e9a4 default
Show More
design_notes.md
37 lines | 1.2 KiB | text/x-minidsrc | MarkdownLexer

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
  • when, all - replayable hooks для получения содержимого сборки

extension

  • adapter
  • whenFinalized
  • dsl
  • variant(name)
    • slot(name)
    • from***
  • whenFinalized
  • whenOutgoingConfiguration
  • whenOutgoingSlot

  • ArtifactAssemblyBridge связывает содержимое ArtifactAssembly и исходящей конфигурации OutgoingVariant

  • VariantArtifactsHandler управляет состоянием ArtifactAssembly, используется для DSL сборки
  • configureVariant конфигурирует VariantArtifactsSpec