   (when *config*
     (*config* (str "subproject." (name dep)))))
 
-(defn subproject? [[dep version & opts]]
-  (not (nil? (subproject-path dep))))
-
 (defn add-jarset [task path exclusions]
   (let [exclusions (map #(re-pattern (str % "-\\d.*")) exclusions)]
     (doseq [jar (fileset-seq {:dir path :includes "*.jar"}) :let [name (.getName jar)]]

         (add-zipfileset {:src jar :includes (format "native/%s/%s/*" (os-name) (os-arch))}))))

(defn fetch [deps dest]
  (fetch-subprojects deps dest)
  (when-let [deps (seq (remove subproject? deps))]
    (let [ref-id (str "cake.deps.fileset." (.getName dest))]
      (ant DependenciesTask {:fileset-id ref-id :path-id (:name *project*)}
           (add-repositories (into repositories (:repositories *project*)))

        match?  #(re-matches pattern (.getName %))]
    (filter match? (.listFiles (File. dir)))))

(defn install-subprojects []
  (seq (doall
    (for [type [:dependencies :dev-dependencies]
          [dep _ & opts] (*project* type)
          :let [opts (apply array-map opts), path (subproject-path dep)] :when path]
      (binding [cake/*root* path]
        (cake-exec "install" "--clean"))))))

(defn extract-native [jars dest]
  (doseq [jar jars]
