chiark / gitweb /
nailing-cargo: Break out get_dependency_tables
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 25 Jul 2020 16:25:47 +0000 (17:25 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 25 Jul 2020 16:26:24 +0000 (17:26 +0100)
NFC.  This function needs enhancing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nailing-cargo

index f015b894ce70ebf9ecb98bd4aafdea58866f8e5d..512e55916ee2da7af03b872560565ebc4dad2a99 100755 (executable)
@@ -239,6 +239,17 @@ sub readnail () {
   unshift @configs, $nail;
 }
 
+sub get_dependency_tables ($) {
+  my ($toml) = @_;
+  my @keys = qw(dependencies build-dependencies dev-dependencies);
+  my @r;
+  foreach my $k (@keys) {
+    my $deps = $toml->{$k};
+    push @r, $deps if $deps;
+  }
+  @r;
+}
+
 our @alt_cargo_lock_stat;
 
 sub consider_alt_cargo_lock () {
@@ -423,8 +434,7 @@ sub calculate () {
   }
   foreach my $mf (keys %manifests) {
     my $toml = $manifests{$mf};
-    foreach my $k (qw(dependencies build-dependencies dev-dependencies)) {
-      my $deps = $toml->{$k};
+    foreach my $deps (get_dependency_tables $toml) {
       next unless $deps;
       foreach my $p (keys %packagemap) {
        my $info = $deps->{$p};