Skip to content

Commit

Permalink
Update dep.pom to handle repositories #10
Browse files Browse the repository at this point in the history
  • Loading branch information
liquidz committed Jul 18, 2020
1 parent e94c2a7 commit fb80606
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 11 deletions.
29 changes: 19 additions & 10 deletions src/antq/dep/pom.clj
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,27 @@

(def ^:private project-file "pom.xml")

(defn extract-repos
[xml]
(->> xml
(u.xml/get-tags :repository)
(map #(u.xml/get-values [:id :url] (:content %)))
(reduce #(assoc %1 (first %2) {:url (second %2)}) {})))

(defn extract-deps
[pom-xml-content-str]
(->> pom-xml-content-str
xml/parse-str
xml-seq
(u.xml/get-tags :dependency)
(map #(u.xml/get-values [:groupId :artifactId :version] (:content %)))
(map (fn [[group-id artifact-id version]]
(r/map->Dependency {:type :java
:file project-file
:name (str group-id "/" artifact-id)
:version version})))))
(let [xml (->> pom-xml-content-str
xml/parse-str
xml-seq)
repos (extract-repos xml)]
(->> (u.xml/get-tags :dependency xml)
(map #(u.xml/get-values [:groupId :artifactId :version] (:content %)))
(map (fn [[group-id artifact-id version]]
(r/map->Dependency {:type :java
:file project-file
:name (str group-id "/" artifact-id)
:version version
:repositories repos}))))))

(defn load-deps
([] (load-deps "."))
Expand Down
5 changes: 4 additions & 1 deletion test/antq/dep/pom_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@

(defn- dependency
[m]
(r/map->Dependency (merge {:type :java :file "pom.xml"} m)))
(r/map->Dependency (merge {:type :java
:file "pom.xml"
:repositories {"antq-test" {:url "s3://antq-repo/"}}}
m)))

(t/deftest extract-deps-test
(let [deps (sut/extract-deps
Expand Down
6 changes: 6 additions & 0 deletions test/resources/dep/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,10 @@
<version>3.0.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>antq-test</id>
<url>s3://antq-repo/</url>
</repository>
</repositories>
</project>

0 comments on commit fb80606

Please sign in to comment.