1. 31 Mar, 2021 2 commits
    • Darko Poljak's avatar
      Implement "onchange" support · 7f32e585
      Darko Poljak authored
      "onchange" specifies execution prerequisites. It is specified in the same way
      as "require", it implies "require", but it specifies that object is executed
      only if any of specified prerequisites has changed target's state. This means
      that any of specified prerequisites has generated code to be executed, either
      local or remote or both.
      
      Object has generated code if it itself has generated code or if any of its
      children object has generated code.
      
      Resolve #843.
      7f32e585
    • Darko Poljak's avatar
      Unify string formatting · 4c2d273f
      Darko Poljak authored
      Use one way of string formatting: replace old `%` style with new `str.format`.
      
      Resolve #855.
      4c2d273f
  2. 30 Mar, 2021 1 commit
    • Darko Poljak's avatar
      Implement maintaining object relationship graph · 7a0b697f
      Darko Poljak authored
      For each object maintain parent-child relationship graph, i.e. list of
      parent objects ('parents' property) and list of children objects ('children'
      property).
      
      Objects without parent(s) are objects specified in init manifest.
      Objects without children are object of types that do not reuse other types.
      7a0b697f
  3. 21 Jun, 2020 1 commit
  4. 27 Nov, 2019 1 commit
    • Darko Poljak's avatar
      Redefine/reimplement CDIST_ORDER_DEPENDENCY · da274e5e
      Darko Poljak authored
      CDIST_ORDER_DEPENDENCY now defines type order dependency context.
      cdist (emulator) maintains global state variables, as files,
      order_dep_state and typeorder_dep, and per object state variable,
      as file, typeorder_dep.
      
      If order_dep_state exists then this defines that order dependency is
      turned on.
      If order_dep_state does not exist then order dependency is turned off.
      
      If order dependency is on then objects created after it is turned on are
      recorded into:
          * global typeorder_dep, in case of init manifest
          * object's typeorder_dep, in case of type's manifest.
      
      If order dependency is on then requirement is injected, where object
      created before current, is read from:
          * global typeorder_dep, in case of init manifest
          * object's typeorder_dep, in case of type's manifest.
      
      Every time order dependency is turned off, typeorder_dep files are
      removed, which means that type order list is cleared, context is
      cleaned.
      
      In the end cdist cleans after itself, i.e. mentioned files are removed.
      
      When running type manifest is finished typeorder_dep file is removed.
      When running config finishes global typeorder_dep and order_dep_state
      files are removed.
      
      Global type order recording is untouched.
      Furthermore, for completeness, type order is now recorded for each object
      too.
      da274e5e
  5. 15 Feb, 2019 1 commit
  6. 09 Jan, 2018 1 commit
  7. 10 Aug, 2017 1 commit
  8. 06 Jul, 2017 1 commit
  9. 04 Jul, 2017 1 commit
  10. 05 Jul, 2016 1 commit
  11. 05 Mar, 2015 2 commits
  12. 05 May, 2014 1 commit
  13. 09 Feb, 2014 1 commit
  14. 31 Jan, 2014 1 commit
  15. 27 Jan, 2014 1 commit
  16. 04 Dec, 2013 1 commit
  17. 10 Jul, 2013 1 commit
  18. 21 Jun, 2013 1 commit
  19. 15 May, 2013 1 commit
  20. 02 May, 2013 1 commit
  21. 30 Apr, 2013 3 commits
  22. 05 Feb, 2013 1 commit
  23. 19 Dec, 2012 2 commits
  24. 18 Dec, 2012 2 commits
  25. 16 Dec, 2012 1 commit
  26. 14 Dec, 2012 3 commits
  27. 19 Nov, 2012 2 commits
  28. 25 Oct, 2012 1 commit
  29. 03 May, 2012 1 commit
    • Steven Armstrong's avatar
      fix autorequire dependency handling · 7d61b777
      Steven Armstrong authored
      - inherit explicit requirements that the user defined himself
      - but _not_ implicit requirements that cdist added for autorequire
      
      Changes:
      - added new .autorequire property to CdistObject to keep track of implicit autorequire dependencies
      - Emulator appends implicit requirements to this .autorequire property
      - DependencyResolver preprocess these .autorequire properties before resolving normal dependencies
      - refactored and documented DependencyResolver so it's clearer what happens and easier to use from tests
      - update test cases to match new DependencyResolver behaviour
      Signed-off-by: default avatarSteven Armstrong <steven@icarus.ethz.ch>
      7d61b777
  30. 14 Feb, 2012 1 commit
  31. 13 Feb, 2012 1 commit