Sha256: 8b292734eb2b67c36a242e2ffe90ca81fce4dc2ba970f950d06ecce9137ad3bb
Contents?: true
Size: 935 Bytes
Versions: 1
Compression:
Stored size: 935 Bytes
Contents
# encoding: UTF-8 module Expert class Jarfile attr_reader :dependencies class << self def from_path(jarfile_path) new(load(jarfile_path)) end protected def load(jarfile_path) jar_deps = parse(jar_requirements_from_gems.join("\n")) jarfile_deps = parse(File.read(jarfile_path)) (jar_deps + jarfile_deps).uniq(&:classifier) end def parse(contents) tokens = JarfileTokenizer.tokenize(contents) JarfileParser.new(tokens).dependencies end def jar_requirements_from_gems requirements_from_gems.select do |requirement| requirement.respond_to?(:start_with?) && requirement.start_with?('jar ') end end def requirements_from_gems Bundler.environment.specs.flat_map(&:requirements) end end def initialize(dependencies) @dependencies = dependencies end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
expert-1.0.0 | lib/expert/jarfile.rb |