<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Today, declaring a source for a part takes these options:<br><br>    - source:<br>      (string)<br>      A path to some source tree to build. It can be either remote or local,<br>      and either a directory tree or a tarball.<br>    - source-type:<br>      (string)<br>      In some cases the source is not enough to identify the version control<br>      system or compression algorithim. This hints the system into what to<br>      do, the valid values are:<br><br>                   - bzr<br>                   - mercurial<br>                   - hg<br>                   - git<br>                   - tar<br><br>    - source-branch:<br>      (string)<br>      A specific branch from the source tree. This will result in an error<br>      if used with a bazaar source type.<br>    - source-tag:<br>      (string)<br>      A specific tag from the source tree.<br><br><br></div>We would like to (appropriately deprecate this) and change that to a source object, in that sense it would look like:<br><br></div>source:<br></div><div>(yaml object)<br></div><br>   - type<br></div>     (string)<br></div>     Determines a source implementation to use, similar to plugins.<br><br><br></div>So then, type: launchpad can have some launchpad specific keywords like<br><br></div>- project<br></div>  (string)<br></div>  launchpad project to use<br><br></div>- series<br></div>  (string)<br></div>  series to branch<br><br></div>and other relvant to bzr.<br><br><br></div>As a git type would have: repo, branch, tag etc..<br><br></div>The advantage of this is we don't contaminate the part with source-.* keywords and each source type can have its specific keywords.<br><br></div>We also plan to support/autodetect plain source entries.<br><br></div>Thoughts?<br></div>