nitlanguage
/
nit.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
31c2e4d
)
nitweb: move catalog building to Catalog redef
author
Alexandre Terrasa
<alexandre@moz-code.org>
Tue, 15 Aug 2017 20:32:38 +0000
(16:32 -0400)
committer
Alexandre Terrasa
<alexandre@moz-code.org>
Tue, 26 Sep 2017 15:10:05 +0000
(11:10 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
src/web/api_catalog.nit
patch
|
blob
|
history
diff --git
a/src/web/api_catalog.nit
b/src/web/api_catalog.nit
index
d7b8ea9
..
c5b5d62
100644
(file)
--- a/
src/web/api_catalog.nit
+++ b/
src/web/api_catalog.nit
@@
-26,22
+26,8
@@
redef class NitwebConfig
#
# This method should be called at nitweb startup.
fun build_catalog do
#
# This method should be called at nitweb startup.
fun build_catalog do
- var catalog = new Catalog(modelbuilder)
- for mpackage in model.mpackages do
- catalog.deps.add_node(mpackage)
- for mgroup in mpackage.mgroups do
- for mmodule in mgroup.mmodules do
- for imported in mmodule.in_importation.direct_greaters do
- var ip = imported.mpackage
- if ip == null or ip == mpackage then continue
- catalog.deps.add_edge(mpackage, ip)
- end
- end
- end
- catalog.git_info(mpackage)
- catalog.package_page(mpackage)
- end
- self.catalog = catalog
+ self.catalog = new Catalog(modelbuilder)
+ self.catalog.build_catalog(model.mpackages)
end
end
end
end
@@
-139,6
+125,34
@@
class APICatalogContributors
end
end
end
end
+redef class Catalog
+
+ # Build the catalog from `mpackages`
+ fun build_catalog(mpackages: Array[MPackage]) do
+ # Compute the poset
+ for p in mpackages do
+ var g = p.root
+ assert g != null
+ modelbuilder.scan_group(g)
+
+ deps.add_node(p)
+ for gg in p.mgroups do for m in gg.mmodules do
+ for im in m.in_importation.direct_greaters do
+ var ip = im.mpackage
+ if ip == null or ip == p then continue
+ deps.add_edge(p, ip)
+ end
+ end
+ end
+ # Build the catalog
+ for mpackage in mpackages do
+ package_page(mpackage)
+ git_info(mpackage)
+ mpackage_stats(mpackage)
+ end
+ end
+end
+
redef class MPackageMetadata
serialize
redef class MPackageMetadata
serialize