3 changed files with 25 additions and 13 deletions
@ -1,3 +1,6 @@ |
|||
[submodule "code/aoc-2020"] |
|||
path = code/aoc-2020 |
|||
url = https://dev.danilafe.com/Advent-of-Code/AdventOfCode-2020.git |
|||
[submodule "code/libabacus"] |
|||
path = code/libabacus |
|||
url = https://dev.danilafe.com/Experiments/libabacus |
|||
|
@ -1,19 +1,27 @@ |
|||
puts "[params]" |
|||
puts " [params.submoduleLinks]" |
|||
|
|||
`git submodule status --recursive`.lines do |line| |
|||
hash, path = line[1..].split " " |
|||
next unless path.start_with? "code/" |
|||
code_path = path.delete_prefix "code/" |
|||
url = `git config --file .gitmodules --get 'submodule.#{path}.url'`.chomp.delete_suffix(".git") |
|||
safe_name = code_path.gsub(/\/|-|_/, "") |
|||
def each_submodule(base_path) |
|||
`cd #{base_path} && git submodule status`.lines do |line| |
|||
hash, path = line[1..].split " " |
|||
full_path = "#{base_path}/#{path}" |
|||
url = `git config --file #{base_path}/.gitmodules --get 'submodule.#{path}.url'`.chomp.delete_suffix(".git") |
|||
safe_name = full_path.gsub(/\/|-|_\./, "") |
|||
|
|||
if url =~ /dev.danilafe.com/ |
|||
file_url = "#{url}/src/commit/#{hash}" |
|||
else |
|||
raise "Submodule URL not in a known format!" |
|||
if url =~ /dev.danilafe.com/ |
|||
file_url = "#{url}/src/commit/#{hash}" |
|||
else |
|||
raise "Submodule URL #{url.dump} not in a known format!" |
|||
end |
|||
|
|||
yield ({ :path => full_path, :url => file_url, :name => safe_name }) |
|||
each_submodule(full_path) { |m| yield m } |
|||
end |
|||
puts " [params.submoduleLinks.#{safe_name}]" |
|||
puts " path = #{code_path.dump}" |
|||
puts " url = #{file_url.dump}" |
|||
end |
|||
|
|||
each_submodule(".") do |m| |
|||
next unless m[:path].start_with? "./code/" |
|||
puts " [params.submoduleLinks.#{m[:name].delete_prefix(".code")}]" |
|||
puts " url = #{m[:url].dump}" |
|||
puts " path = #{m[:path].delete_prefix("./code/").dump}" |
|||
end |
|||
|
Loading…
Reference in new issue