<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 14 December 2016 at 04:57, Kyle Fazzari <span dir="ltr"><<a href="mailto:kyle.fazzari@canonical.com" target="_blank">kyle.fazzari@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey everyone.<br>
<br>
I feel it coming on... this is going to be a tome. tl;dr... snapcraft<br>
could be smarter than it is. But would that lead to its doing more for<br>
you than you want? We'd like to find out.<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
*Option 1*: Error out and make you be specific. This is the current<br>
behavior. <br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
*Option 2*: Automatically take care of everything. If you modify a part<br>
with dependencies, snapcraft will rebuild those dependencies as it sees<br>
fit without your needing to say so. Similarly, if you clean a part with<br>
dependencies, snapcraft will clean those dependencies as it sees fit<br>
without your needing to say so.<br></blockquote><div><br></div><div>I would prefer a reliable Option 2. If it can't be reliable, then Option 1.<br> <br><br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
*Option 3*: Prompt. "You've modified part A, but part B depends upon it.<br>
Would you like to rebuild it as well? (Y/n)" and the like.<br></blockquote><div><br></div><div>No thanks. There seems little purpose to answering 'no', apart from blowing off your foot. And useless if you are driving this from a Makefile or similar (think generating your snapcraft.yaml).<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
*Option 4*: Add the ability to configure this behavior between options<br>
1-3. Perhaps the sensible default would be option 3.<br>
<br>
<br>
Our goal here is to do the least surprising thing, which is why we're<br>
asking for input from our users. Please let your voice be heard!</blockquote><div><br></div><div>I found it annoying that I would need to run three or more commands to build my snap when iterating, and would certainly like it if cleaning and rebuilding happened automatically if I have touched relevant source code. People might need to separate out their parts into different directories to make this reliable. A problematic case I would have tripped over is a slow building autotools project, in which I've added a snapcraft.yaml and some Python wrappers. I would not want to trigger a rebuild of the autotools part because I'm fixing a bug in my wrappers (a second part, but stored in the same tree). Maybe you could handle this by monitoring the files opened by the build process somehow?<br></div></div><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Stuart Bishop <<a href="mailto:stuart.bishop@canonical.com" target="_blank">stuart.bishop@canonical.com</a>></div>
</div></div>