anchor.diff:  [[watch]]
   === watch
   
  -[[config-webapp]]
  +[[webxml]]
   ==== webxml
   
  -Generates `WEB-INF/web.xml` from `web.xml.edn`
  +Generates `WEB-INF/web.xml` from `web.xml.edn`.  Run this task *after*
  +you run `servlets`, `filters`, `reloader`, and `appstats`.
   
   
   [[repl]]
  
positive.code: * `<<servlets>>`	   generate a "meta-servlet" file with gen-class directives and aot-compile it to produce servlets
  * `<<watch>>`		   watch input, write to output on change
  
  [[configs]]
  === configuration
  
  Both the `WEB-INF/appengine-web.xml` and `WEB-INF/web.xml`
  configuration files required by the GAE servlet container are
  automatically generated from your configuration map.  The dev server
  will automatically reload `appengine-web.xml` if it changes, but
  unfortunately the same cannot be said for `web.xml`. If you change it
  - that is, if you change your configuration map and re-run
  `gae/config` -- you need to restart the dev server.  For example:
  
  [source,shell]
  ----
  $ boot gae/config target -C -d "build"
  $ boot gae/run
  ----
  
  [NOTE]
  ====
  For the moment you need to run gae/run as a separate step as shown here.  If you
  tack it on the end of the first boot command shown here, boot seems to
  launch the dev server before the gae/config task has completed.
  ====
  
  ==== aot
  
  
negative.code: 
  Currently, `boot-gae` is not on clojars.  You'll have to fork/clone
  the repo.  It contains `tasklib`, the task lib itself, and
  `greetings-gae`, a test/demo program that uses the tasklib.
  
  [source,clojure]
  .build.boot
  