#!/usr/bin/env ruby # TODO: push these changes to licensor gem require "bundler/setup" require "licensed/cli" 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 source = Licensed::Source::Filesystem.new("vendor/grammars/*/", type: "grammar") config = Licensed::Configuration.new config.sources << source if ARGV[0] == "verify" Licensed::Command::Verify.new(config).run else Licensed::Command::Cache.new(config).run(force: true) end