class Licensed::Sources::GitSubmodule
Constants
- GIT_SUBMODULES_ARGUMENTS
- REMOTE_URL_ARGUMENT
Public Instance Methods
enabled?()
click to toggle source
# File lib/licensed/sources/git_submodule.rb, line 14 def enabled? return false unless Licensed::Shell.tool_available?("git") && Licensed::Git.git_repo? gitmodules_path.exist? end
enumerate_dependencies()
click to toggle source
# File lib/licensed/sources/git_submodule.rb, line 19 def enumerate_dependencies git_submodules_command.lines.map do |line| displaypath, toplevel, version, homepage = line.strip.split name = File.basename(displaypath) submodule_path = if toplevel == config.pwd.to_s name else parent = File.basename(toplevel) "#{submodule_paths[parent]}/#{name}" end submodule_paths[name] = submodule_path Licensed::Dependency.new( name: submodule_path, version: version, path: config.pwd.join(displaypath), metadata: { "type" => self.class.type, "name" => name, "homepage" => homepage } ) end end
git_submodules_command()
click to toggle source
# File lib/licensed/sources/git_submodule.rb, line 49 def git_submodules_command Licensed::Shell.execute("git", "submodule", "foreach", "-q", "--recursive", "echo #{GIT_SUBMODULES_ARGUMENTS.join(" ")}") end
gitmodules_path()
click to toggle source
# File lib/licensed/sources/git_submodule.rb, line 53 def gitmodules_path config.pwd.join(".gitmodules") end
submodule_paths()
click to toggle source
# File lib/licensed/sources/git_submodule.rb, line 45 def submodule_paths @submodule_paths ||= {} end