File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 10861086 :depends-on #{:core }}}))
10871087 )
10881088
1089+ (defn find-entries [sources entry]
1090+ #{(some
1091+ (fn [source]
1092+ (let [matcher
1093+ (into #{}
1094+ [(name entry) (name (comp/munge entry))])]
1095+ (when (some matcher (:provides source))
1096+ source)))
1097+ sources)})
1098+
10891099(defn build-modules
10901100 " Given a list of IJavaScript sources in dependency order and compiler options
10911101 return a dependency sorted list of module name / description tuples. The
10941104 a :foreign-deps vector containing foreign IJavaScript sources in dependency
10951105 order."
10961106 [sources opts]
1097- (let [find-entry (fn [sources entry]
1098- (some
1099- (fn [source]
1100- (let [matcher
1101- (into #{}
1102- [(name entry) (name (comp/munge entry))])]
1103- (when (some matcher (:provides source))
1104- source)))
1105- sources))
1106- used (atom {})
1107+ (let [used (atom {})
11071108 [sources' modules]
11081109 (reduce
11091110 (fn [[sources ret] [name {:keys [entries output-to depends-on] :as module-desc}]]
11171118 ; ; as well as sources difference
11181119 (reduce
11191120 (fn [[sources ret] entry-sym]
1120- (if-let [entry (find-entry sources entry-sym)]
1121+ (if-let [entries (find-entries sources entry-sym)]
11211122 (do
11221123 (swap! used assoc entry-sym name)
1123- [(remove #{entry} sources) (conj ret entry )])
1124+ [(remove entries sources) (into ret entries )])
11241125 (if (contains? @used entry-sym)
11251126 (throw
11261127 (IllegalArgumentException.
You can’t perform that action at this time.
0 commit comments