##// END OF EJS Templates
WIP variant artifacts DSL, FilePaths traits
WIP variant artifacts DSL, FilePaths traits

File last commit:

r49:e7554f6ac360 default
r50:ca3982e55d9e default
Show More
design_notes.md
44 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

extension

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

outgoing = outgoings.maybeCreate(variant)

slot = outgoings.slots.maybeCreate(slotName) assembly = assemblies.register(variantSlot, task, mapOutput) outgoing.configure(configuration -> { slots.all(slot -> { assemblies.when(variant, slot) { assembly -> configuration.variants.create(slot.name) { artifact(assembly.artifact) } } }); });