Sha256: a71c6df5ecaada723385d127441392292b2c49cafe391f7f40006ab08b4200f8
Contents?: true
Size: 1.65 KB
Versions: 3
Compression:
Stored size: 1.65 KB
Contents
# encoding: UTF-8 module Tetra # represents a prebuilt package dependency from a Maven local repo # in a kit class MavenKitItem # implement to_spec include SpecGenerator attr_reader :project attr_reader :package_name attr_reader :spec_dir attr_reader :template_spec_name attr_reader :conflicts # implement to_archive include Archiver attr_reader :source_dir attr_reader :source_paths attr_reader :destination_dir # template-specific attributes attr_reader :provides_symbol attr_reader :provides_version attr_reader :install_dir def initialize(project, pom, source_paths) path, _ = path_split(pom) rest, version = path_split(path) group_directory, artifact_id = path_split(rest) group_id = path_to_group(group_directory) @project = project @package_name = "kit-item-#{group_id.gsub(".", "-")}-#{artifact_id}-#{version}" @spec_dir = "kit" @template_spec_name = "kit_item.spec" @conflicts = false @provides_symbol = "tetra-mvn(#{group_id}:#{artifact_id})" @provides_version = version @install_dir = "m2" @source_dir = File.join("kit", "m2") @source_paths = source_paths @destination_dir = @package_name end private # splits a path string into a [head, tail] string couple def path_split(path) Pathname.new(path).split.map { |e| e.to_s } end # transforms a path into a Maven group def path_to_group(path) splits = path_split(path) if splits[0] == "." return splits[1] else return "#{path_to_group(splits[0])}.#{splits[1]}" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tetra-0.43.0 | lib/tetra/maven_kit_item.rb |
tetra-0.42.0 | lib/tetra/maven_kit_item.rb |
tetra-0.41.0 | lib/tetra/maven_kit_item.rb |