|
68 | 68 | :project/manifest (:deps/manifest project)))) |
69 | 69 | analysis)) |
70 | 70 |
|
71 | | -(defn analysis->libraries |
| 71 | +(defn analysis->namespaces |
72 | 72 | [analysis] |
73 | 73 | (reduce |
74 | | - (fn [accum {:keys [project libraries]}] |
| 74 | + (fn [accum {:keys [project namespaces]}] |
75 | 75 | (into accum |
76 | 76 | (let [{:git/keys [url tag] :deps/keys [root]} project |
77 | 77 | [group artifact] (-> project :project-name (str/split #"/"))] |
78 | | - (->> libraries |
| 78 | + (->> namespaces |
79 | 79 | group-multi-langs |
80 | 80 | (mapv (fn [{:keys [end-row meta name-end-col name-end-row name-row added |
81 | 81 | name author filename col name-col end-col doc row]}] |
82 | 82 | (let [trim-filename (str/replace filename root "")] |
83 | 83 | (assoc-some |
84 | | - {:library/id (str/join "/" [group artifact name]) |
85 | | - :library/project {:project/id (:project-name project)} |
86 | | - :library/group group |
87 | | - :library/artifact artifact |
88 | | - :library/name (str name)} |
89 | | - :library/end-row end-row |
90 | | - :library/meta meta |
91 | | - :library/name-end-col name-end-col |
92 | | - :library/name-end-row name-end-row |
93 | | - :library/name-row name-row |
94 | | - :library/added added |
95 | | - :library/author author |
96 | | - :library/filename trim-filename |
97 | | - :library/git-source (str url "/blob/" tag trim-filename "#L" row) |
98 | | - :library/col col |
99 | | - :library/name-col name-col |
100 | | - :library/end-col end-col |
101 | | - :library/doc doc |
102 | | - :library/row row)))))))) |
| 84 | + {:namespace/id (str/join "/" [group artifact name]) |
| 85 | + :namespace/project {:project/id (:project-name project)} |
| 86 | + :namespace/group group |
| 87 | + :namespace/artifact artifact |
| 88 | + :namespace/name (str name)} |
| 89 | + :namespace/end-row end-row |
| 90 | + :namespace/meta meta |
| 91 | + :namespace/name-end-col name-end-col |
| 92 | + :namespace/name-end-row name-end-row |
| 93 | + :namespace/name-row name-row |
| 94 | + :namespace/added added |
| 95 | + :namespace/author author |
| 96 | + :namespace/filename trim-filename |
| 97 | + :namespace/git-source (str url "/blob/" tag trim-filename "#L" row) |
| 98 | + :namespace/col col |
| 99 | + :namespace/name-col name-col |
| 100 | + :namespace/end-col end-col |
| 101 | + :namespace/doc doc |
| 102 | + :namespace/row row)))))))) |
103 | 103 | [] |
104 | 104 | analysis)) |
105 | 105 |
|
|
127 | 127 | :definition/artifact artifact |
128 | 128 | :definition/name (str name)} |
129 | 129 | :definition/defined-by (some-> defined-by str) |
130 | | - :definition/namespace (some-> ns str) |
131 | | - :definition/library (when ns {:library/id (str/join "/" [group artifact ns])}) |
| 130 | + :definition/namespace (when ns {:namespace/id (str/join "/" [group artifact ns]) |
| 131 | + :namespace/name (str ns)}) |
132 | 132 | :definition/fixed-arities fixed-arities |
133 | 133 | :definition/arglist-strs arglist-strs |
134 | 134 | :definition/end-row end-row |
|
153 | 153 | []) |
154 | 154 | (id-by (juxt :definition/group |
155 | 155 | :definition/artifact |
156 | | - :definition/namespace |
| 156 | + #(get-in % [:definition/namespace :namespace/name]) |
157 | 157 | :definition/name) |
158 | 158 | :definition/id) |
159 | 159 | (remove inrelevant-definitions))) |
160 | 160 |
|
161 | 161 | (defn analysis->datoms |
162 | 162 | [analysis] |
163 | 163 | (concat (analysis->projects analysis) |
164 | | - (analysis->libraries analysis) |
| 164 | + (analysis->namespaces analysis) |
165 | 165 | (analysis->definitions analysis))) |
0 commit comments