Switch to using data/ for submodule information

Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
2024-05-16 15:38:59 -07:00
parent 60d3b3025a
commit a29bca499f
4 changed files with 14 additions and 25 deletions

View File

@@ -1,12 +1,10 @@
puts "[params]"
puts " [params.submoduleLinks]"
require "json"
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}"
@@ -14,14 +12,15 @@ def each_submodule(base_path)
raise "Submodule URL #{url.dump} not in a known format!"
end
yield ({ :path => full_path, :url => file_url, :name => safe_name })
yield ({ :path => full_path, :url => file_url })
each_submodule(full_path) { |m| yield m }
end
end
hash = {}
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}"
hash[m[:path].delete_prefix("./code/")] = m[:url]
end
puts JSON.pretty_generate(hash)