| ("The following features depend on EMF: " + emf_dependents()).println(); |
| ("The following features depend on GMF: " + gmf_dependents()).println(); |
| |
| var plugins = Set{}; |
| for (feature in Feature.all) { |
| for (plugin in feature.plugins) { |
| plugins.add(plugin); |
| } |
| } |
| |
| operation emf_dependents() { |
| var features = Feature.all.select(f|f.depends_on_plugin_whose_name_contains("emc.emf") or f.depends_on_plugin_whose_name_contains("eclipse.emf")); |
| return features.collect(f|f.name); |
| } |
| |
| operation gmf_dependents() { |
| var features = Feature.all.select(f|f.depends_on_plugin_whose_name_contains("eclipse.gmf")); |
| return features.collect(f|f.name); |
| } |
| |
| operation Feature depends_on_plugin_whose_name_contains(pattern : String) : Boolean { |
| return self.pluginDependencies.exists(pd|pd.name.contains(pattern)); |
| } |