diff options
author | Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> | 2012-04-16 19:12:23 +0100 |
---|---|---|
committer | Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> | 2012-04-16 19:12:23 +0100 |
commit | 43fe89a63bb797129452fb690fd442c78d61805b (patch) | |
tree | 1411bfdbae91e047b3f2788c45206d5fa14c77ea | |
parent | 84e51a23a2ed2b9aeac03fc8f08050ecfc56ab4d (diff) | |
download | morph-43fe89a63bb797129452fb690fd442c78d61805b.tar.gz |
Re-implement show-dependencies using ArtifactResolver and BuildOrder.
-rwxr-xr-x | morph | 23 | ||||
-rw-r--r-- | tests/show-dependencies.stdout | 246 |
2 files changed, 137 insertions, 132 deletions
@@ -189,7 +189,6 @@ class Morph(cliapp.Application): def cmd_show_dependencies(self, args): '''Dumps the dependency tree of all input morphologies.''' - graph = morphlib.buildgraph.BuildGraph() pool = morphlib.sourcepool.SourcePool() if not os.path.exists(self.settings['cachedir']): @@ -226,17 +225,23 @@ class Morph(cliapp.Application): morphology, filename) pool.add(source) - order = graph.compute_build_order(pool) - self.output.write('dependency tree:\n') - for source in sorted(pool, key=str): - self.output.write(' %s\n' % source) - for dependency in sorted(source.dependencies, key=str): + env = morphlib.buildenvironment.BuildEnvironment(self.settings) + computer = morphlib.cachekeycomputer.CacheKeyComputer(env) + resolver = morphlib.artifactresolver.ArtifactResolver(computer) + artifacts = resolver.resolve_artifacts(pool) + + self.output.write('dependency graph:\n') + for artifact in sorted(artifacts, key=str): + self.output.write(' %s\n' % artifact) + for dependency in sorted(artifact.dependencies, key=str): self.output.write(' -> %s\n' % dependency) + + order = morphlib.buildorder.BuildOrder(artifacts) self.output.write('build order:\n') - for group in order: + for group in order.groups: self.output.write(' group:\n') - for source in group: - self.output.write(' %s\n' % source) + for artifact in group: + self.output.write(' %s\n' % artifact) def cmd_update_gits(self, args): '''Update cached git repositories. diff --git a/tests/show-dependencies.stdout b/tests/show-dependencies.stdout index 095e8e63..7931ae71 100644 --- a/tests/show-dependencies.stdout +++ b/tests/show-dependencies.stdout @@ -1,133 +1,133 @@ -dependency tree: - test-repo|master|cairo.morph - test-repo|master|dbus-glib.morph - -> test-repo|master|dbus.morph - -> test-repo|master|glib.morph - test-repo|master|dbus.morph - test-repo|master|exo.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4util.morph - test-repo|master|fontconfig.morph - test-repo|master|freetype.morph - test-repo|master|garcon.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4util.morph - test-repo|master|gdk-pixbuf.morph - -> test-repo|master|glib.morph - test-repo|master|glib.morph - test-repo|master|gtk-stack.morph - -> test-repo|master|cairo.morph - -> test-repo|master|dbus-glib.morph - -> test-repo|master|dbus.morph - -> test-repo|master|fontconfig.morph - -> test-repo|master|freetype.morph - -> test-repo|master|gdk-pixbuf.morph - -> test-repo|master|glib.morph - -> test-repo|master|gtk.morph - -> test-repo|master|pango.morph - test-repo|master|gtk-xfce-engine.morph - -> test-repo|master|garcon.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|xfconf.morph - test-repo|master|gtk.morph - -> test-repo|master|cairo.morph - -> test-repo|master|gdk-pixbuf.morph - -> test-repo|master|glib.morph - -> test-repo|master|pango.morph - test-repo|master|libxfce4ui.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|xfconf.morph - test-repo|master|libxfce4util.morph - -> test-repo|master|gtk-stack.morph - test-repo|master|pango.morph - -> test-repo|master|fontconfig.morph - -> test-repo|master|freetype.morph - test-repo|master|thunar.morph - -> test-repo|master|exo.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - test-repo|master|tumbler.morph - -> test-repo|master|gtk-stack.morph - test-repo|master|xfce-core.morph - -> test-repo|master|exo.morph - -> test-repo|master|garcon.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|gtk-xfce-engine.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|libxfce4util.morph - -> test-repo|master|thunar.morph - -> test-repo|master|tumbler.morph - -> test-repo|master|xfce4-appfinder.morph - -> test-repo|master|xfce4-panel.morph - -> test-repo|master|xfce4-session.morph - -> test-repo|master|xfce4-settings.morph - -> test-repo|master|xfconf.morph - -> test-repo|master|xfdesktop.morph - -> test-repo|master|xfwm4.morph - test-repo|master|xfce4-appfinder.morph - -> test-repo|master|garcon.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|xfconf.morph - test-repo|master|xfce4-panel.morph - -> test-repo|master|exo.morph - -> test-repo|master|garcon.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - test-repo|master|xfce4-session.morph - -> test-repo|master|exo.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|xfconf.morph - test-repo|master|xfce4-settings.morph - -> test-repo|master|exo.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|xfconf.morph - test-repo|master|xfconf.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4util.morph - test-repo|master|xfdesktop.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|xfconf.morph - test-repo|master|xfwm4.morph - -> test-repo|master|gtk-stack.morph - -> test-repo|master|libxfce4ui.morph - -> test-repo|master|xfconf.morph +dependency graph: + test-repo|master|cairo.morph|cairo + test-repo|master|dbus-glib.morph|dbus-glib + -> test-repo|master|dbus.morph|dbus + -> test-repo|master|glib.morph|glib + test-repo|master|dbus.morph|dbus + test-repo|master|exo.morph|exo + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4util.morph|libxfce4util + test-repo|master|fontconfig.morph|fontconfig + test-repo|master|freetype.morph|freetype + test-repo|master|garcon.morph|garcon + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4util.morph|libxfce4util + test-repo|master|gdk-pixbuf.morph|gdk-pixbuf + -> test-repo|master|glib.morph|glib + test-repo|master|glib.morph|glib + test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|cairo.morph|cairo + -> test-repo|master|dbus-glib.morph|dbus-glib + -> test-repo|master|dbus.morph|dbus + -> test-repo|master|fontconfig.morph|fontconfig + -> test-repo|master|freetype.morph|freetype + -> test-repo|master|gdk-pixbuf.morph|gdk-pixbuf + -> test-repo|master|glib.morph|glib + -> test-repo|master|gtk.morph|gtk + -> test-repo|master|pango.morph|pango + test-repo|master|gtk-xfce-engine.morph|gtk-xfce-engine + -> test-repo|master|garcon.morph|garcon + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|xfconf.morph|xfconf + test-repo|master|gtk.morph|gtk + -> test-repo|master|cairo.morph|cairo + -> test-repo|master|gdk-pixbuf.morph|gdk-pixbuf + -> test-repo|master|glib.morph|glib + -> test-repo|master|pango.morph|pango + test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|xfconf.morph|xfconf + test-repo|master|libxfce4util.morph|libxfce4util + -> test-repo|master|gtk-stack.morph|gtk-stack + test-repo|master|pango.morph|pango + -> test-repo|master|fontconfig.morph|fontconfig + -> test-repo|master|freetype.morph|freetype + test-repo|master|thunar.morph|thunar + -> test-repo|master|exo.morph|exo + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + test-repo|master|tumbler.morph|tumbler + -> test-repo|master|gtk-stack.morph|gtk-stack + test-repo|master|xfce-core.morph|xfce-core + -> test-repo|master|exo.morph|exo + -> test-repo|master|garcon.morph|garcon + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|gtk-xfce-engine.morph|gtk-xfce-engine + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|libxfce4util.morph|libxfce4util + -> test-repo|master|thunar.morph|thunar + -> test-repo|master|tumbler.morph|tumbler + -> test-repo|master|xfce4-appfinder.morph|xfce4-appfinder + -> test-repo|master|xfce4-panel.morph|xfce4-panel + -> test-repo|master|xfce4-session.morph|xfce4-session + -> test-repo|master|xfce4-settings.morph|xfce4-settings + -> test-repo|master|xfconf.morph|xfconf + -> test-repo|master|xfdesktop.morph|xfdesktop + -> test-repo|master|xfwm4.morph|xfwm4 + test-repo|master|xfce4-appfinder.morph|xfce4-appfinder + -> test-repo|master|garcon.morph|garcon + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|xfconf.morph|xfconf + test-repo|master|xfce4-panel.morph|xfce4-panel + -> test-repo|master|exo.morph|exo + -> test-repo|master|garcon.morph|garcon + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + test-repo|master|xfce4-session.morph|xfce4-session + -> test-repo|master|exo.morph|exo + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|xfconf.morph|xfconf + test-repo|master|xfce4-settings.morph|xfce4-settings + -> test-repo|master|exo.morph|exo + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|xfconf.morph|xfconf + test-repo|master|xfconf.morph|xfconf + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4util.morph|libxfce4util + test-repo|master|xfdesktop.morph|xfdesktop + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|xfconf.morph|xfconf + test-repo|master|xfwm4.morph|xfwm4 + -> test-repo|master|gtk-stack.morph|gtk-stack + -> test-repo|master|libxfce4ui.morph|libxfce4ui + -> test-repo|master|xfconf.morph|xfconf build order: group: - test-repo|master|freetype.morph - test-repo|master|fontconfig.morph - test-repo|master|cairo.morph - test-repo|master|glib.morph - test-repo|master|dbus.morph + test-repo|master|freetype.morph|freetype + test-repo|master|fontconfig.morph|fontconfig + test-repo|master|cairo.morph|cairo + test-repo|master|glib.morph|glib + test-repo|master|dbus.morph|dbus group: - test-repo|master|pango.morph - test-repo|master|gdk-pixbuf.morph - test-repo|master|dbus-glib.morph + test-repo|master|pango.morph|pango + test-repo|master|gdk-pixbuf.morph|gdk-pixbuf + test-repo|master|dbus-glib.morph|dbus-glib group: - test-repo|master|gtk.morph + test-repo|master|gtk.morph|gtk group: - test-repo|master|gtk-stack.morph + test-repo|master|gtk-stack.morph|gtk-stack group: - test-repo|master|libxfce4util.morph - test-repo|master|tumbler.morph + test-repo|master|libxfce4util.morph|libxfce4util + test-repo|master|tumbler.morph|tumbler group: - test-repo|master|xfconf.morph - test-repo|master|exo.morph - test-repo|master|garcon.morph + test-repo|master|xfconf.morph|xfconf + test-repo|master|exo.morph|exo + test-repo|master|garcon.morph|garcon group: - test-repo|master|libxfce4ui.morph + test-repo|master|libxfce4ui.morph|libxfce4ui group: - test-repo|master|thunar.morph - test-repo|master|xfce4-panel.morph - test-repo|master|xfce4-settings.morph - test-repo|master|xfce4-session.morph - test-repo|master|xfwm4.morph - test-repo|master|xfdesktop.morph - test-repo|master|xfce4-appfinder.morph - test-repo|master|gtk-xfce-engine.morph + test-repo|master|thunar.morph|thunar + test-repo|master|xfce4-panel.morph|xfce4-panel + test-repo|master|xfce4-settings.morph|xfce4-settings + test-repo|master|xfce4-session.morph|xfce4-session + test-repo|master|xfwm4.morph|xfwm4 + test-repo|master|xfdesktop.morph|xfdesktop + test-repo|master|xfce4-appfinder.morph|xfce4-appfinder + test-repo|master|gtk-xfce-engine.morph|gtk-xfce-engine group: - test-repo|master|xfce-core.morph + test-repo|master|xfce-core.morph|xfce-core |