squared 0.4.14 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,10 +57,10 @@ module Squared
57
57
  when 'verbose'
58
58
  @verbose = 1
59
59
  if script.is_a?(Array)
60
- script[0] = task_join(script[0], 'verbose')
60
+ script[0] = task_join script[0], 'verbose'
61
61
  script
62
62
  else
63
- task_join(script, 'verbose')
63
+ task_join script, 'verbose'
64
64
  end
65
65
  when 'silent'
66
66
  @verbose = false
@@ -81,8 +81,8 @@ module Squared
81
81
  data[:run] = run
82
82
  end
83
83
  data[:global] = true
84
- data[:dev] = env_match('REPO_DEV', dev)
85
- data[:prod] = env_match('REPO_PROD', prod)
84
+ data[:dev] = env_match 'REPO_DEV', dev
85
+ data[:prod] = env_match 'REPO_PROD', prod
86
86
  if (val = env('REPO_GROUP'))
87
87
  script_set(data, group: val.split(','))
88
88
  found = true
@@ -177,8 +177,7 @@ module Squared
177
177
  parse_opts.call(args)
178
178
  stage = 'init'
179
179
  puts if newline
180
- Common::System.shell("repo init -u #{env('REPO_URL') || manifest_url} -m #{args.manifest || target}.xml",
181
- chdir: root)
180
+ system("repo init -u #{env('REPO_URL') || manifest_url} -m #{args.manifest || target}.xml", chdir: root)
182
181
  repo['all'].invoke
183
182
  end
184
183
 
@@ -202,7 +201,7 @@ module Squared
202
201
  end
203
202
  end
204
203
 
205
- series.sync.push(
204
+ series.sync.append(
206
205
  task_join(name, 'all'),
207
206
  task_join(name, 'init'),
208
207
  task_join(name, 'sync')
@@ -68,7 +68,7 @@ module Squared
68
68
 
69
69
  attr_reader :sync, :multiple, :parallel
70
70
 
71
- def_delegators :@data, :[], :each, :each_key, :keys, :fetch, :to_a, :to_s, :inspect, :merge!, :key?
71
+ def_delegators :@data, :[], :each, :each_key, :keys, :key?, :fetch, :update, :merge!, :to_a, :to_s, :inspect
72
72
  def_delegators :@workspace, :task_desc, :task_name, :task_namespace, :task_join, :format_desc
73
73
 
74
74
  def initialize(workspace, exclude: [])
@@ -112,29 +112,29 @@ module Squared
112
112
 
113
113
  def build(parallel: [], pattern: [], **)
114
114
  subcheck = ->(val) { (ns = task_namespace(val)) && parallel.include?(ns) }
115
- @data.merge!(@session[:parent]) if @session[:id].uniq.size > 1
116
- @data.merge!(@session[:group])
115
+ @data.update(@session[:parent]) if @session[:id].uniq.size > 1
116
+ @data.update(@session[:group])
117
117
  @data.each do |key, items|
118
118
  next if exclude?(key, true) || @workspace.task_exclude?(t = name_get(key))
119
119
 
120
120
  key = task_name t
121
- val = format_desc(key, out: true)
121
+ title = format_desc(key, out: true)
122
122
  if items.size > 1
123
123
  @multiple << key
124
124
  if parallel.include?(t) || pattern.any? { |pat| t.match?(pat) } || subcheck.call(t)
125
- task_desc("#{val} (thread)", name: key)
125
+ task_desc("#{title} (thread)", name: key) if title
126
126
  multitask key => items
127
127
  @parallel << key
128
128
 
129
- s = task_join(key, 'sync')
130
- task_desc("#{val} (sync)", name: s)
129
+ s = task_join key, 'sync'
130
+ task_desc("#{title} (sync)", name: s) if title
131
131
  task s => items
132
132
  @sync << s
133
133
  next
134
134
  end
135
135
  end
136
136
 
137
- task_desc(val, name: key)
137
+ task_desc(title, name: key) if title
138
138
  task key => items
139
139
  end
140
140
  @multiple.concat(sync)
@@ -3,8 +3,9 @@
3
3
  module Squared
4
4
  module Workspace
5
5
  module Support
6
- RunData = Struct.new('RunData', :run, :block)
7
- ChainData = Struct.new('ChainData', :action, :step, :with, :before, :after, :sync)
6
+ RunData = Struct.new(:run, :block)
7
+ ChainData = Struct.new(:action, :step, :with, :before, :after, :sync)
8
+ BannerData = Struct.new(:command, :order, :styles, :border)
8
9
  end
9
10
  end
10
11
  end
@@ -10,7 +10,7 @@ module Squared
10
10
  if id.is_a?(Symbol)
11
11
  project id
12
12
  else
13
- __get__(:project).find { |_, val| File.expand_path(val.path) == File.expand_path(id) }
13
+ __get__(:project).find { |_, val| File.expand_path(val.path) == File.expand_path(id, __dir__) }
14
14
  end
15
15
  end
16
16
  ret.size == 1 ? ret.first : ret
data/squared.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = %q{Rake task generator for managing multi-language workspaces.}
12
12
  spec.description = %q{Rake task generator for managing multi-language workspaces.}
13
13
  spec.homepage = "https://github.com/anpham6/squared"
14
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
14
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
15
15
  spec.licenses = ["BSD-3-Clause"]
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.14
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - An Pham
@@ -80,7 +80,6 @@ files:
80
80
  - lib/squared/app.rb
81
81
  - lib/squared/common.rb
82
82
  - lib/squared/common/base.rb
83
- - lib/squared/common/class.rb
84
83
  - lib/squared/common/format.rb
85
84
  - lib/squared/common/prompt.rb
86
85
  - lib/squared/common/shell.rb
@@ -118,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
117
  requirements:
119
118
  - - ">="
120
119
  - !ruby/object:Gem::Version
121
- version: 2.4.0
120
+ version: 2.5.0
122
121
  required_rubygems_version: !ruby/object:Gem::Requirement
123
122
  requirements:
124
123
  - - ">="
@@ -1,110 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'set'
4
- require 'forwardable'
5
-
6
- module Squared
7
- module Common
8
- class SymSet
9
- extend Forwardable
10
-
11
- def self.to_s
12
- super[/[^:]+\z/, 0]
13
- end
14
-
15
- def_delegators :@data, :+, :each, :each_with_index, :entries, :merge, :include?
16
-
17
- def initialize(data = [])
18
- @data = Set.new(data)
19
- end
20
-
21
- def add(val)
22
- @data.add(val.to_sym)
23
- end
24
-
25
- def to_a
26
- @data.to_a.freeze
27
- end
28
-
29
- def to_s
30
- @data.to_s.sub('Set', SymSet.to_s)
31
- end
32
-
33
- alias inspect to_s
34
- end
35
-
36
- class JoinSet < Set
37
- def self.to_s
38
- super[/[^:]+\z/, 0]
39
- end
40
-
41
- attr_reader :delim
42
-
43
- def initialize(data = [], delim: ' ')
44
- super(data.compact)
45
- @delim = delim
46
- end
47
-
48
- def last(val, pat)
49
- (@last ||= []).push([val, pat, $1]) if val =~ pat
50
- self << val
51
- end
52
-
53
- def pass(&blk)
54
- ret = to_a.map!(&:to_s).reject(&:empty?)
55
- @last&.each do |val, pat, key|
56
- i = []
57
- j = nil
58
- ret.each_with_index do |opt, index|
59
- if opt == val
60
- j = index
61
- elsif j && opt[pat, 1] == key
62
- i << index
63
- end
64
- end
65
- next unless j && !i.empty?
66
-
67
- val = ret[j]
68
- cur = j
69
- i.each do |k|
70
- ret[cur] = ret[k]
71
- cur = k
72
- end
73
- ret[i.last] = val
74
- end
75
- block_given? ? ret.reject(&blk) : ret
76
- end
77
-
78
- def and(*args)
79
- self << '&&'
80
- merge(args)
81
- end
82
-
83
- def or(*args)
84
- self << '||'
85
- merge(args)
86
- end
87
-
88
- def with(*args, &blk)
89
- temp('&&', *args, &blk)
90
- end
91
-
92
- def temp(*args, &blk)
93
- args.compact!
94
- ret = pass(&blk)
95
- ret = Set.new(ret.concat(args)).to_a unless args.empty?
96
- ret.join(@delim)
97
- end
98
-
99
- def done
100
- ret = to_s
101
- clear
102
- ret
103
- end
104
-
105
- def to_s
106
- pass.join(@delim)
107
- end
108
- end
109
- end
110
- end