-redef class Int
- # Returns `log(self+1)`. Used to compute score of packages
- fun score: Float do return (self+1).to_f.log
-end
-
-# The main class of the calatog generator that has the knowledge
-class Catalog
-
- # The modelbuilder
- # used to access the files and count source lines of code
- var modelbuilder: ModelBuilder
-
- # Packages by tag
- var tag2proj = new MultiHashMap[String, MPackage]
-
- # Packages by category
- var cat2proj = new MultiHashMap[String, MPackage]
-
- # Packages by maintainer
- var maint2proj = new MultiHashMap[String, MPackage]
-
- # Packages by contributors
- var contrib2proj = new MultiHashMap[String, MPackage]
-
- # Dependency between packages
- var deps = new POSet[MPackage]
-
- # Number of modules by package
- var mmodules = new Counter[MPackage]
-
- # Number of classes by package
- var mclasses = new Counter[MPackage]
-
- # Number of methods by package
- var mmethods = new Counter[MPackage]
-
- # Number of line of code by package
- var loc = new Counter[MPackage]
-
- # Number of commits by package
- var commits = new Counter[MPackage]
-
- # Score by package
- #
- # The score is loosely computed using other metrics
- var score = new Counter[MPackage]
-