mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env ruby
 | 
						|
 | 
						|
# TODO: push these changes to licensor gem
 | 
						|
 | 
						|
require "bundler/setup"
 | 
						|
require "licensed/cli"
 | 
						|
require "optparse"
 | 
						|
 | 
						|
module Licensed
 | 
						|
  module Source
 | 
						|
    class Filesystem
 | 
						|
      attr_reader :type
 | 
						|
 | 
						|
      def initialize(glob, type: "directory")
 | 
						|
        @glob = glob
 | 
						|
        @type = type
 | 
						|
      end
 | 
						|
 | 
						|
      def enabled?
 | 
						|
        !Dir.glob(@glob).empty?
 | 
						|
      end
 | 
						|
 | 
						|
      def dependencies
 | 
						|
        Dir.glob(@glob).map do |directory|
 | 
						|
          puts "caching #{directory}"
 | 
						|
          Licensed::Dependency.new(directory, {
 | 
						|
            "type" => type,
 | 
						|
            "name" => File.basename(directory)
 | 
						|
          })
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
module_path = nil
 | 
						|
OptionParser.new do |opts|
 | 
						|
  opts.on("-mPATH", "--module=PATH", "Cache license file for specific grammar") do |p|
 | 
						|
    module_path = p
 | 
						|
  end
 | 
						|
end.parse!
 | 
						|
 | 
						|
source = Licensed::Source::Filesystem.new(module_path || "vendor/grammars/*/", type: "grammar")
 | 
						|
config = Licensed::Configuration.new
 | 
						|
config.sources << source
 | 
						|
 | 
						|
command = if ARGV[0] == "verify"
 | 
						|
  Licensed::Command::Verify.new(config)
 | 
						|
else
 | 
						|
  Licensed::Command::Cache.new(config)
 | 
						|
end
 | 
						|
 | 
						|
command.run
 | 
						|
`git checkout -- vendor/licenses/grammar/` if module_path
 | 
						|
exit command.success?
 |