kennel 1.89.1 → 1.90.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kennel.rb +19 -3
- data/lib/kennel/syncer.rb +0 -12
- data/lib/kennel/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 861edba684922b252c0af4cbbdecbe258e28fc0dcba9a31f8c77e14ea3391110
|
4
|
+
data.tar.gz: fc11becb68eb696db030e517d99e12191eae10024c74ca852c7c308646517ef4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 660e66d7a1ae02a0f67d723ddd1beccddea63d9bf62658b4327ec2622ba32f161a6c9336b86a1295b8037195ed513c4514c0c1759e6eb71764665d11feeb19fe
|
7
|
+
data.tar.gz: a2f479c8579e94a7a796e59ea6be3433c795f1db35892a5ce57a345ac7449c87a344632ad8c35fd27256da70d5c49eb227dd70f89c7566ea4084085277f25e94
|
data/lib/kennel.rb
CHANGED
@@ -55,7 +55,7 @@ module Kennel
|
|
55
55
|
|
56
56
|
def store(parts)
|
57
57
|
Progress.progress "Storing" do
|
58
|
-
old = Dir["generated
|
58
|
+
old = Dir["generated/#{project_filter || "**"}/*"]
|
59
59
|
used = []
|
60
60
|
|
61
61
|
Utils.parallel(parts, max: 2) do |part|
|
@@ -83,7 +83,7 @@ module Kennel
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def syncer
|
86
|
-
@syncer ||= Syncer.new(api, generated, project:
|
86
|
+
@syncer ||= Syncer.new(api, generated, project: project_filter)
|
87
87
|
end
|
88
88
|
|
89
89
|
def api
|
@@ -94,9 +94,21 @@ module Kennel
|
|
94
94
|
@generated ||= begin
|
95
95
|
Progress.progress "Generating" do
|
96
96
|
load_all
|
97
|
+
known = []
|
97
98
|
parts = Models::Project.recursive_subclasses.flat_map do |project_class|
|
98
|
-
project_class.new
|
99
|
+
project = project_class.new
|
100
|
+
kennel_id = project.kennel_id
|
101
|
+
if project_filter
|
102
|
+
known << kennel_id
|
103
|
+
next [] if kennel_id != project_filter
|
104
|
+
end
|
105
|
+
project.validated_parts
|
99
106
|
end
|
107
|
+
|
108
|
+
if project_filter && parts.empty?
|
109
|
+
raise "#{project_filter} does not match any projects, try any of these:\n#{known.uniq.sort.join("\n")}"
|
110
|
+
end
|
111
|
+
|
100
112
|
parts.group_by(&:tracking_id).each do |tracking_id, same|
|
101
113
|
next if same.size == 1
|
102
114
|
raise <<~ERROR
|
@@ -109,6 +121,10 @@ module Kennel
|
|
109
121
|
end
|
110
122
|
end
|
111
123
|
|
124
|
+
def project_filter
|
125
|
+
ENV["PROJECT"]
|
126
|
+
end
|
127
|
+
|
112
128
|
def load_all
|
113
129
|
["teams", "parts", "projects"].each do |folder|
|
114
130
|
Dir["#{folder}/**/*.rb"].sort.each { |f| require "./#{f}" }
|
data/lib/kennel/syncer.rb
CHANGED
@@ -99,7 +99,6 @@ module Kennel
|
|
99
99
|
actual = Progress.progress("Downloading definitions") { download_definitions }
|
100
100
|
|
101
101
|
Progress.progress "Diffing" do
|
102
|
-
filter_expected_by_project! @expected
|
103
102
|
populate_id_map @expected, actual
|
104
103
|
filter_actual_by_project! actual
|
105
104
|
resolve_linked_tracking_ids! @expected # resolve dependencies to avoid diff
|
@@ -244,16 +243,5 @@ module Kennel
|
|
244
243
|
!tracking_id || tracking_id.start_with?("#{@project_filter}:")
|
245
244
|
end
|
246
245
|
end
|
247
|
-
|
248
|
-
def filter_expected_by_project!(expected)
|
249
|
-
return unless @project_filter
|
250
|
-
original = expected.dup
|
251
|
-
expected.select! { |e| e.project.kennel_id == @project_filter }
|
252
|
-
|
253
|
-
if expected.empty?
|
254
|
-
possible = original.map { |e| e.project.kennel_id }.uniq.sort
|
255
|
-
raise "#{@project_filter} does not match any projects, try any of these:\n#{possible.join("\n")}"
|
256
|
-
end
|
257
|
-
end
|
258
246
|
end
|
259
247
|
end
|
data/lib/kennel/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kennel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.90.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Grosser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|