Sha256: 5eaaca96e454362ed5f4b6eaf892b705569160ff376540bb3a35fe01970a5edf
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
module Licensed module Command class Cache attr_reader :config def initialize(config) @config = config end def run(force: false) @config.sources.each do |source| @config.ui.info "Caching licenses for #{source.type} dependencies:" source.dependencies.each do |dependency| next if @config.ignored?(dependency) filename = @config.path.join("#{source.type}/#{dependency["name"]}.txt") if File.exist?(filename) license = Licensed::License.read(filename) # Version did not change, no need to re-cache if !force && dependency["version"] == license["version"] @config.ui.info " Using #{dependency["name"]} (#{dependency["version"]})" next end end @config.ui.info " Caching #{dependency["name"]} (#{dependency["version"]})" dependency.detect_license! dependency.save(filename) end # Clean up dependencies that have been removed names = source.dependencies.map do |dependency| dependency["name"] unless @config.ignored?(dependency) end.compact Dir.glob(@config.path.join("#{source.type}/*.txt")).each do |file| FileUtils.rm(file) unless names.include?(File.basename(file, ".txt")) end end @config.ui.confirm "License caching complete!" @config.sources.each do |source| @config.ui.confirm "* #{source.type} dependencies: #{source.dependencies.size}" end end def success? true end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
licensed-0.6.0 | lib/licensed/command/cache.rb |