kennel 1.89.1 → 1.90.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.
- 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
|