Class: LockJar::Domain::Dsl
- Inherits:
-
Object
- Object
- LockJar::Domain::Dsl
- Defined in:
- lib/lock_jar/domain/dsl.rb
Direct Known Subclasses
Constant Summary collapse
- DEFAULT_GROUP =
['default'].freeze
Instance Attribute Summary collapse
-
#artifacts ⇒ Object
Returns the value of attribute artifacts.
-
#clear_repositories ⇒ Object
Returns the value of attribute clear_repositories.
-
#excludes ⇒ Object
Returns the value of attribute excludes.
-
#file_path ⇒ Object
readonly
Returns the value of attribute file_path.
-
#groups ⇒ Object
Returns the value of attribute groups.
-
#local_repository ⇒ Object
(also: #name)
Returns the value of attribute local_repository.
-
#maps ⇒ Object
Returns the value of attribute maps.
-
#merged ⇒ Object
Returns the value of attribute merged.
-
#remote_repositories ⇒ Object
Returns the value of attribute remote_repositories.
Class Method Summary collapse
Instance Method Summary collapse
- #exclude(*notations) ⇒ Object
- #group(*groups, &_blk) ⇒ Object
-
#initialize ⇒ Dsl
constructor
A new instance of Dsl.
- #jar(notation, *args) ⇒ Object
- #local(*args) ⇒ Object
- #local_repo(path) ⇒ Object
-
#map(notation, *args) ⇒ Object
Map a dependency to another dependency or local directory.
- #pom(path, *args) ⇒ Object
- #remote_repo(url, _opts = {}) ⇒ Object (also: #remote_repository, #repository)
-
#scope(*scopes, &blk) ⇒ Object
deprecated
Deprecated.
Please use #group instead
- #without_default_maven_repo ⇒ Object
Constructor Details
#initialize ⇒ Dsl
Returns a new instance of Dsl.
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/lock_jar/domain/dsl.rb', line 48 def initialize @remote_repositories = [] @artifacts = { 'default' => [] } @group_changed = false @present_group = 'default' @local_repository = nil @maps = {} @excludes = [] @merged = [] @clear_repositories = false end |
Instance Attribute Details
#artifacts ⇒ Object
Returns the value of attribute artifacts.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def artifacts @artifacts end |
#clear_repositories ⇒ Object
Returns the value of attribute clear_repositories.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def clear_repositories @clear_repositories end |
#excludes ⇒ Object
Returns the value of attribute excludes.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def excludes @excludes end |
#file_path ⇒ Object (readonly)
Returns the value of attribute file_path.
29 30 31 |
# File 'lib/lock_jar/domain/dsl.rb', line 29 def file_path @file_path end |
#groups ⇒ Object
Returns the value of attribute groups.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def groups @groups end |
#local_repository ⇒ Object Also known as: name
Returns the value of attribute local_repository.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def local_repository @local_repository end |
#maps ⇒ Object
Returns the value of attribute maps.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def maps @maps end |
#merged ⇒ Object
Returns the value of attribute merged.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def merged @merged end |
#remote_repositories ⇒ Object
Returns the value of attribute remote_repositories.
26 27 28 |
# File 'lib/lock_jar/domain/dsl.rb', line 26 def remote_repositories @remote_repositories end |
Class Method Details
.create(jarfile = nil, &blk) ⇒ Object
32 33 34 35 |
# File 'lib/lock_jar/domain/dsl.rb', line 32 def create(jarfile = nil, &blk) builder = new evaluate(builder, jarfile, &blk) end |
.evaluate(builder, jarfile = nil, &blk) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/lock_jar/domain/dsl.rb', line 37 def evaluate(builder, jarfile = nil, &blk) fail 'jarfile or block must be set' if jarfile.nil? && blk.nil? builder.instance_eval(IO.read(jarfile.to_s), jarfile.to_s, 1) if jarfile builder.instance_eval(&blk) if blk builder end |
Instance Method Details
#exclude(*notations) ⇒ Object
60 61 62 |
# File 'lib/lock_jar/domain/dsl.rb', line 60 def exclude(*notations) @excludes += notations end |
#group(*groups, &_blk) ⇒ Object
124 125 126 127 128 129 130 131 132 |
# File 'lib/lock_jar/domain/dsl.rb', line 124 def group(*groups, &_blk) @group_changed = true groups.each do |group| @present_group = group.to_s yield end @group_changed = false @present_group = 'default' end |
#jar(notation, *args) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'lib/lock_jar/domain/dsl.rb', line 64 def jar(notation, *args) opts = {} opts.merge!(args.last) if args.last.is_a? Hash artifact = Jar.new(notation) assign_groups(artifact, opts[:group]) end |
#local(*args) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/lock_jar/domain/dsl.rb', line 74 def local(*args) return if args.empty? if File.directory?(File.(args.first)) warn( '[DEPRECATED] `local` to set local_repository is deprecated. '\ 'Please use `local_repo` instead' ) local_repo(args.first) else path = args.shift opts = {} opts.merge!(args.last) if args.last.is_a? Hash artifact = Local.new(path) assign_groups(artifact, opts[:group]) end end |
#local_repo(path) ⇒ Object
96 97 98 |
# File 'lib/lock_jar/domain/dsl.rb', line 96 def local_repo(path) @local_repository = path end |
#map(notation, *args) ⇒ Object
Map a dependency to another dependency or local directory.
103 104 105 |
# File 'lib/lock_jar/domain/dsl.rb', line 103 def map(notation, *args) @maps[notation] = args end |
#pom(path, *args) ⇒ Object
108 109 110 111 112 113 114 115 116 |
# File 'lib/lock_jar/domain/dsl.rb', line 108 def pom(path, *args) fail "#{path} is an invalid pom path" unless path =~ /\.xml$/i opts = { scopes: %w(runtime compile) } opts.merge!(args.last) if args.last.is_a? Hash assign_groups(Pom.new(path, opts[:scopes]), opts[:groups]) end |
#remote_repo(url, _opts = {}) ⇒ Object Also known as: remote_repository, repository
118 119 120 |
# File 'lib/lock_jar/domain/dsl.rb', line 118 def remote_repo(url, _opts = {}) @remote_repositories << url end |
#scope(*scopes, &blk) ⇒ Object
Please use #group instead
135 136 137 138 |
# File 'lib/lock_jar/domain/dsl.rb', line 135 def scope(*scopes, &blk) warn '[DEPRECATED] `scope` is deprecated. Please use `group` instead.' group(*scopes, &blk) end |
#without_default_maven_repo ⇒ Object
140 141 142 |
# File 'lib/lock_jar/domain/dsl.rb', line 140 def without_default_maven_repo @clear_repositories = true end |