##// END OF EJS Templates
variants: expose compile unit source set specs...
variants: expose compile unit source set specs Route variantSources selectors through CompileUnitSourceSetSpec so source set materialization keeps compile unit identity available. Add configureEach hooks and keep GenericSourceSet as a plain source set model.

File last commit:

r51:9db7822cd26c default
r58:a4138749793f 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