Details

    • Technical task
    • Resolution: Invalid
    • Not Evaluated
    • None
    • None

    Description

      Dependency relation between products (A, B) can have two meanings:

      • causality relation that states the product B should be built after product A is built;
      • pipe relation that states the product A should be used as input to the product B.

      Should be noted that pipe relation implies causality relation.

      Let's see example.

      Project {
        Product {
          name: "A"
        }
        Product {
          Depends { name: "A"}
          name: "B"
        }
      }
      

      Causality relation (A, B) is defined here unless product B use rule to build itself . In the last case, if type of product "A" matches tag in "usings" property of the rule of product B, product A will be used as input to product B.

      So, if one wants to define pipe relation (A, B), he should modify "usings" property of rule, used by product B. This approach may be unacceptable. And what should one to do if product B use only transformers?

      So there should be alternative mechanism. I suggest boolean "useAsInput" property for Depends item.

      Project {
        Product {
          name: "A"
        }
        Product {
          Depends { 
            name: "A",
            useAsInput: true
        }
          name: "B"
        }
      }
      

      Pipe relation (A, B) is defined here, so product A will be added to product B inputs. By default, "useAsInput" will have false value, so language changes will be backward compatible.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              jbornema Joerg Bornemann
              brerrabbit Max Tim
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes