title: How to alias a sequence of tasks?
body: <p>I have custom tasks in my SBT (0.12.2) project. Let's call them <code>a</code>, <code>b</code> and <code>c</code>. So when I'm in the interactive mode of SBT I can just type <code>a</code> and the task associated with <code>a</code> is executed. I also can type <code>;a;b;c</code> and the three tasks are executed in sequence; the same way something like <code>;clean;compile</code> would do. What I also can do from the interactive shell is create an alias to run them all: <code>alias all=;a;b;c</code>. Now when I type <code>all</code> the tasks are executed in an obvious manner. What I'm trying to achieve is creating this alias inside of the SBT configuration for my project.</p>
  
  <p><a href="http://www.scala-sbt.org/0.12.2/docs/Detailed-Topics/TaskInputs" rel="noreferrer">This section</a> of SBT documentation deals with tasks, but all I could achieve was something like this:</p>
  
  <pre><code>lazy val a = TaskKey[Unit]("a", "does a")
  lazy val b = TaskKey[Unit]("b", "does b")
  lazy val c = TaskKey[Unit]("c", "does c")
  lazy val all = TaskKey[Unit]("all", ";a;b;c")
  
  lazy val taskSettings = Seq(
      all &lt;&lt;= Seq(a,b,c).dependOn
  )
  </code></pre>
  
  <p>The problem I have with this approach is that the tasks are <strong>combined</strong> and thus their execution happens in parallel in contrast to sequential, which is what I'm trying to achieve. So how can I create an alias like <code>alias all=;a;b;c</code> inside of the SBT configuration file?</p>