              boot-config-edn-map (if (instance? boot.tmpdir.TmpFile boot-config-edn-f)
                                    (-> (boot/tmp-file boot-config-edn-f) slurp read-string)
                                    {})]
-         (println "boot-config-edn-map: " boot-config-edn-map)
+         ;; (println "boot-config-edn-map: " boot-config-edn-map)
 
          (if (:appstats boot-config-edn-map)
            fileset

   d dir DIR str "output dir"
   k keep bool "keep intermediate .clj files"
   m module MODULE str "module dirpath"
   s servlet-app SERVLET bool "generate config for servlet-app instead of service component"
   v verbose bool "Print trace messages."]
  ;; boolean hasUppercase = !password.equals(password.toLowerCase());
  (let [tmp-dir (boot/tmp-dir!)
        prev-pre (atom nil)
        dir (if dir dir web-inf-dir)]
    (boot/with-pre-wrap fileset

   m module MODULE str "module pfx"
   n gen-reloader-ns NS sym "ns for gen-reloader"
   r reloader-impl-ns NS sym "ns for reloader"
   s servlet bool "build as servlet"
   w web-inf WEB-INF str "WEB-INF dir, default: WEB-INF"
   v verbose bool "Print trace messages."]
  (let [workspace (boot/tmp-dir!)
        prev-pre (atom nil)
        web-inf (if web-inf web-inf web-inf-dir)

        gen-reloader-ns (if gen-reloader-ns (symbol gen-reloader-ns) (gensym "reloadergen"))
        gen-reloader-path (str gen-reloader-ns ".clj")
        reloader-impl-ns (if reloader-impl-ns (symbol reloader-impl-ns) "reloader")
        reloader-impl-path (str reloader-impl-ns ".clj")]
    (comp
     (boot/with-pre-wrap [fileset]
       (let [boot-config-edn-files (->> (boot/fileset-diff @prev-pre fileset)
                                        boot/input-files
                                        (boot/by-re [(re-pattern (str boot-config-edn "$"))]))
             ;; (boot/by-name [boot-config-edn]))
             boot-config-edn-f (condp = (count boot-config-edn-files)
                                 0 (do (util/info (str "Creating " boot-config-edn "\n"))
                                       (io/file boot-config-edn)) ;; this creates a java.io.File
                                 1 (first boot-config-edn-files)  ;; this is a boot.tmpdir.TmpFile
                                 (throw (Exception.
                                         (str "only one _boot_config.edn file allowed, found "
                                              (count boot-config-edn-files)))))
             boot-config-edn-map (if (instance? boot.tmpdir.TmpFile boot-config-edn-f)
                                   (-> (boot/tmp-file boot-config-edn-f) slurp read-string)
                                   {})

             module (if-let [module (-> boot-config-edn-map :module :name)]
                      module
                      (let [appengine-config-edn-files
                            (->> (boot/fileset-diff @prev-pre fileset)
                                 boot/input-files
                                 (boot/by-re [(re-pattern (str appengine-edn "$"))]))

                            appengine-config-edn-f
                            (condp = (count appengine-config-edn-files)
                              0 (throw (Exception. appengine-edn " file not found"))
                              1 (first appengine-config-edn-files)
                              (throw (Exception.
                                      (str "Only one " appengine-edn " file allowed, found "
                                           (count appengine-config-edn-files)))))

                            appengine-config-edn-map
                            (-> (boot/tmp-file boot-config-edn-f) slurp read-string)]
                        (-> appengine-config-edn-map :module :name)))
             ]
         (println "MODULE: " module)

         (if (:reloader boot-config-edn-map)
           fileset
