Sha256: 6397dd1c838dcfb99abd00173da0b8764ced60ad107b271395733c28ffa8628b
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
require 'json' module LicenseFinder class GoWorkspace < PackageManager Submodule = Struct.new :path, :revision def current_packages submodules.map do |submodule| import_path = Pathname.new(submodule.path).relative_path_from(project_src) GoPackage.from_dependency({'ImportPath' => import_path.to_s, 'Rev' => submodule.revision}, project_src) end end def package_path project_path.join('.envrc') end def active? active = package_path.exist? && IO.read(package_path).include?('GOPATH') active.tap { |is_active| logger.active self.class, is_active } end private def project_src project_path.join('src') end def submodules output = Dir.chdir(project_path) do |d| result = capture('git submodule status') raise 'git submodule status failed' unless result[1] result.first end output.lines.map do |gitmodule| columns = gitmodule.split.map(&:strip) Submodule.new File.join(project_path,columns[1]), columns[0] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
license_finder-2.1.0.rc2 | lib/license_finder/package_managers/go_workspace.rb |