summaryrefslogtreecommitdiff
path: root/tools/update-deps-releases.pl
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2017-06-27 14:56:00 +0200
committerPaweł Chmielowski <pchmielowski@process-one.net>2017-06-27 14:56:00 +0200
commit85a08a087b696507e95c0aff1d1759d32418ed03 (patch)
tree920a0140ea9237bdb6bf8c8fa9ea7c009c54287d /tools/update-deps-releases.pl
parentFix username in mam export (#1510)(thanks to themaverik) (diff)
Improve update-deps-releases deps parsing
Diffstat (limited to 'tools/update-deps-releases.pl')
-rwxr-xr-xtools/update-deps-releases.pl10
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/update-deps-releases.pl b/tools/update-deps-releases.pl
index 5395f1d5..e1de817e 100755
--- a/tools/update-deps-releases.pl
+++ b/tools/update-deps-releases.pl
@@ -22,7 +22,11 @@ sub get_deps {
return { } unless $config =~ /\{\s*deps\s*,\s*\[(.*?)\]/s;
my $sdeps = $1;
- while ($sdeps =~ /\{\s*(\w+)\s*,\s*".*?"\s*,\s*\{\s*git\s*,\s*"(.*?)"\s*,\s*(?:{\s*tag\s*,\s*"(.*?)"|"(.*?)" )/sg) {
+ while ($sdeps =~ /\{\s* (\w+) \s*,\s* ".*?" \s*,\s* \{\s*git \s*,\s* "(.*?)" \s*,\s*
+ (?:
+ (?:{\s*tag \s*,\s* "(.*?)") |
+ "(.*?)" |
+ ( \{ (?: (?-1) | [^{}]+ )+ \} ) )/sgx) {
next unless not %fdeps or exists $fdeps{$1};
$deps{$1} = { repo => $2, commit => $3 || $4 };
}
@@ -359,7 +363,9 @@ while (1) {
for my $dep (keys %$top_deps) {
for my $sdep (keys %{$sub_deps->{$dep}}) {
- next if $sub_deps->{$dep}->{$sdep}->{commit} eq $top_deps->{$sdep}->{commit};
+ next if not defined $top_deps->{$sdep} or
+ $sub_deps->{$dep}->{$sdep}->{commit} eq $top_deps->{$sdep}->{commit};
+ say "$dep $sdep ",$sub_deps->{$dep}->{$sdep}->{commit}," <=> $sdep ",$top_deps->{$sdep}->{commit};
schedule_operation("update", $dep, $git_info->{$dep}->{new_tag},
"Updating $sdep to version $top_deps->{$sdep}->{commit}.", [$sdep, $top_deps->{$sdep}->{commit}]);
}