elasticgraph-local 0.19.0.0 → 0.19.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c85b4d13cc9ca5cf2d2a6c3f84b4a699566db9e3b8ff22583285191953e2b42
4
- data.tar.gz: e20d35290b2b38c240aa9d085ee45967b5ba2cbc63914c1b90950b6e3d690d50
3
+ metadata.gz: f68e9a53b03951e4b7841a3db1c5d1d117c8d51fc9d44f45a65c0cd6ab7342ae
4
+ data.tar.gz: d4e4756d93bd870266254f258d76a6a4dec7d9461d7f6371750e083caca92b0d
5
5
  SHA512:
6
- metadata.gz: ced4370117c1a8befcc0887930d4313861f920a526361dcd417de0c184350e7c442ac66fea2c8c72b7137f54ef8dc6d3397ee23beb2067797374be8e530ce683
7
- data.tar.gz: 234b0969ab5afb9cb48e51afaf31feaad202f280b688d2d5f8732c9602c61403e6ae0e033d822964b05dbe7d0515d35730261f4387cae31269402a7430f55df2
6
+ metadata.gz: 58d80993632e4b40640bd1d346aca58ef7a11c65c816516254c8e499d86b8513f8ee814d2dcd6f94c771f10ab19730e78aa8558d9053b32b3de83a49fb9c73c8
7
+ data.tar.gz: ba83f4dfcbe12be09c170b5290f6873395f1f6b3c791863f43da29d8929474234aa5d2b9b5ff43b6e843a2a97ff5ac81b4a3906138c8e7b72d136d6269e2f6b8
@@ -29,8 +29,7 @@ module ElasticGraph
29
29
  publishing_threads = Array.new(PARALLELISM) { new_publishing_thread(batch_queue) }
30
30
 
31
31
  num_batches.times do
32
- batch = [] # : ::Array[::Hash[::String, untyped]]
33
- @fake_data_batch_generator.call(batch)
32
+ batch = @fake_data_batch_generator.call
34
33
  @output.puts "Generated batch of #{batch.size} documents..."
35
34
  batch_queue << batch
36
35
  end
@@ -102,7 +102,7 @@ module ElasticGraph
102
102
  # local_config_yaml: "config/settings/local.yaml",
103
103
  # path_to_schema: "config/schema.rb"
104
104
  # ) do |tasks|
105
- # tasks.derived_type_name_formats = {AggregatedValues: "Metrics"}
105
+ # tasks.derived_type_name_formats = {AggregatedValues: "%{base}Metrics"}
106
106
  # end
107
107
  #
108
108
  # @dynamic derived_type_name_formats, derived_type_name_formats=
@@ -239,7 +239,8 @@ module ElasticGraph
239
239
  attr_accessor :enforce_json_schema_version
240
240
 
241
241
  # List of Elasticsearch versions you want to be able to boot. Rake tasks will be defined for each version to support booting and
242
- # halting Elasticsearch locally. Defaults to the versions of Elasticsearch that are exercised by the ElasticGraph test suite, as
242
+ # halting Elasticsearch locally. If the configuration of `local_config_yaml` only configures `opensearch` as a cluster backend,
243
+ # will default to an empty array. Otherwise, defaults to the versions of Elasticsearch that are exercised by the ElasticGraph test suite, as
243
244
  # defined by `lib/elastic_graph/local/tested_datastore_versions.yaml`:
244
245
  #
245
246
  # {include:file:elasticgraph-local/lib/elastic_graph/local/tested_datastore_versions.yaml}
@@ -247,19 +248,20 @@ module ElasticGraph
247
248
  # @return [Array<String>] list of Elasticsearch versions
248
249
  # @see #opensearch_versions
249
250
  #
250
- # @example Disable Elasticsearch tasks for a project that uses OpenSearch
251
+ # @example Configure the Elasticsearch versions available to boot locally
251
252
  # ElasticGraph::Local::RakeTasks.new(
252
253
  # local_config_yaml: "config/settings/local.yaml",
253
254
  # path_to_schema: "config/schema.rb"
254
255
  # ) do |tasks|
255
- # tasks.elasticsearch_versions = []
256
+ # tasks.elasticsearch_versions = ["8.16.1"]
256
257
  # end
257
258
  #
258
259
  # @dynamic elasticsearch_versions, elasticsearch_versions=
259
260
  attr_accessor :elasticsearch_versions
260
261
 
261
262
  # List of OpenSearch versions you want to be able to boot. Rake tasks will be defined for each version to support booting and
262
- # halting OpenSearch locally. Defaults to the versions of OpenSearch that are exercised by the ElasticGraph test suite, as
263
+ # halting OpenSearch locally. If the configuration of `local_config_yaml` only configures `elasticsearch` as a cluster backend,
264
+ # will default to an empty array. Otherwise, defaults to the versions of OpenSearch that are exercised by the ElasticGraph test suite, as
263
265
  # defined by `lib/elastic_graph/local/tested_datastore_versions.yaml`:
264
266
  #
265
267
  # {include:file:elasticgraph-local/lib/elastic_graph/local/tested_datastore_versions.yaml}
@@ -267,12 +269,12 @@ module ElasticGraph
267
269
  # @return [Array<String>] list of OpenSearch versions
268
270
  # @see #elasticsearch_versions
269
271
  #
270
- # @example Disable OpenSearch tasks for a project that uses Elasticsearch
272
+ # @example Configure the OpenSearch versions available to boot locally
271
273
  # ElasticGraph::Local::RakeTasks.new(
272
274
  # local_config_yaml: "config/settings/local.yaml",
273
275
  # path_to_schema: "config/schema.rb"
274
276
  # ) do |tasks|
275
- # tasks.opensearch_versions = []
277
+ # tasks.opensearch_versions = ["2.18.0"]
276
278
  # end
277
279
  #
278
280
  # @dynamic opensearch_versions, opensearch_versions=
@@ -334,8 +336,8 @@ module ElasticGraph
334
336
  # local_config_yaml: "config/settings/local.yaml",
335
337
  # path_to_schema: "config/schema.rb"
336
338
  # ) do |tasks|
337
- # tasks.define_fake_data_batch_for :campaigns do |batch|
338
- # batch.concat(FactoryBot.build_list(:campaigns))
339
+ # tasks.define_fake_data_batch_for :campaigns do
340
+ # FactoryBot.build_list(:campaigns)
339
341
  # end
340
342
  # end
341
343
  def define_fake_data_batch_for(type, &block)
@@ -365,8 +367,8 @@ module ElasticGraph
365
367
  self.daemon_timeout = 300
366
368
 
367
369
  datastore_versions = ::YAML.load_file("#{__dir__}/tested_datastore_versions.yaml")
368
- self.elasticsearch_versions = datastore_versions.fetch("elasticsearch")
369
- self.opensearch_versions = datastore_versions.fetch("opensearch")
370
+ self.elasticsearch_versions = local_cluster_backends.include?("elasticsearch") ? datastore_versions.fetch("elasticsearch") : []
371
+ self.opensearch_versions = local_cluster_backends.include?("opensearch") ? datastore_versions.fetch("opensearch") : []
370
372
 
371
373
  @fake_data_batch_generator_by_type = {}
372
374
 
@@ -540,6 +542,15 @@ module ElasticGraph
540
542
  .then { |port_str| Integer(port_str) }
541
543
  end
542
544
 
545
+ def local_cluster_backends
546
+ @local_cluster_backends ||= local_config
547
+ .fetch("datastore")
548
+ .fetch("clusters")
549
+ .values
550
+ .map { |v| v.fetch("backend") }
551
+ .to_set
552
+ end
553
+
543
554
  def local_config
544
555
  @local_config ||= ::YAML.safe_load_file(@local_config_yaml, aliases: true)
545
556
  end
@@ -0,0 +1,148 @@
1
+ # Copyright 2024 Block, Inc.
2
+ #
3
+ # Use of this source code is governed by an MIT-style
4
+ # license that can be found in the LICENSE file or at
5
+ # https://opensource.org/licenses/MIT.
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require "elastic_graph/admin"
10
+ require "elastic_graph/graphql"
11
+ require "elastic_graph/indexer"
12
+ require "elastic_graph/indexer/test_support/converters"
13
+ require "elastic_graph/indexer/spec_support/event_matcher"
14
+ require "factory_bot"
15
+
16
+ RSpec.shared_examples "an ElasticGraph project" do |repo_root: Dir.pwd,
17
+ settings_dir: "config/settings",
18
+ use_settings_yaml: "local.yaml",
19
+ ignored_factories: [],
20
+ factory_iterations: 100|
21
+
22
+ settings_yaml_file_to_use = ::File.join(settings_dir, use_settings_yaml)
23
+
24
+ # Our settings files reference some files relative to the repo root, but we want to support
25
+ # running this spec file from both the repo root and from each gem dir. To avoid problems,
26
+ # here we force the examples (and all hooks, including :context hooks) to run with the current
27
+ # directory set to the repo root.
28
+ before(:context) do |ex|
29
+ @original_current_dir = ::Dir.pwd
30
+ ::Dir.chdir(repo_root)
31
+ end
32
+
33
+ after(:context) do
34
+ ::Dir.chdir(@original_current_dir)
35
+ end
36
+
37
+ if settings_dir
38
+ describe "a fully configured lambda settings file" do
39
+ settings_files = Dir[File.join(repo_root, settings_dir, "*.{yml,yaml}")]
40
+
41
+ specify "this test file is looking for settings files in the right place" do
42
+ expect(settings_files).not_to be_empty
43
+ end
44
+
45
+ settings_files.each do |file_name|
46
+ describe "the `#{file_name}` settings file" do
47
+ it "can boot each part of ElasticGraph and has `number_of_shards` configured on every index definition" do
48
+ all_components = [::ElasticGraph::Admin, ::ElasticGraph::GraphQL, ::ElasticGraph::Indexer].map do |klass|
49
+ klass.from_yaml_file(file_name)
50
+ end
51
+
52
+ graphql = all_components.grep(::ElasticGraph::GraphQL).first
53
+
54
+ all_components.each do |comp|
55
+ # this will raise an error if any indices are not configured.
56
+ comp.datastore_core.index_definitions_by_name
57
+
58
+ # Verify that every index definition has an explicit `number_of_shards` configured. It's easy to forget
59
+ # and can't be changed once the index is created so we want to force it to be chosen. The default of `1`
60
+ # is probably never appropriate.
61
+ index_def_names_without_number_of_shards =
62
+ comp.datastore_core.index_definitions_by_name.values.filter_map do |index_def|
63
+ # :nocov: -- currently not executed during this gem's own test suite run
64
+ index_def.name unless index_def.env_index_config.setting_overrides.key?("number_of_shards")
65
+ # :nocov:
66
+ end
67
+ expect(index_def_names_without_number_of_shards).to be_empty,
68
+ "Expected all index definitions to configure the `number_of_shards` in #{file_name}, but the following did not:\n" \
69
+ " - #{index_def_names_without_number_of_shards.join("\n - ")}"
70
+ end
71
+
72
+ # This will raise an error if health check settings are invalid.
73
+ graphql.graphql_http_endpoint
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+
80
+ ignored_factories_set = ignored_factories.to_set
81
+ typenames_by_factory_name = ::FactoryBot.factories.filter_map do |factory|
82
+ typename_attr = factory.send(:attributes).find { |a| a.name == :__typename }
83
+ next if typename_attr.nil? || ignored_factories_set.include?(factory.name)
84
+
85
+ begin
86
+ [factory.name, typename_attr.to_proc.call]
87
+ rescue StandardError, NotImplementedError
88
+ # Don't consider factories that raise an error from `__typename`.
89
+ end
90
+ end.to_h
91
+
92
+ indexer, all_type_names, event_types = Dir.chdir(repo_root) do
93
+ indexer = ::ElasticGraph::Indexer.from_yaml_file(settings_yaml_file_to_use)
94
+ all_defs = indexer.schema_artifacts
95
+ .json_schemas_for(indexer.schema_artifacts.latest_json_schema_version)
96
+ .fetch("$defs")
97
+
98
+ event_types = all_defs
99
+ .fetch("ElasticGraphEventEnvelope")
100
+ .fetch("properties")
101
+ .fetch("type")
102
+ .fetch("enum")
103
+ .to_set
104
+
105
+ [indexer, all_defs.keys.to_set, event_types]
106
+ end
107
+
108
+ describe "Factories" do
109
+ specify "all factories have valid `__typename` values" do
110
+ unknown_type_names_by_factory_name = typenames_by_factory_name.reject { |k, v| all_type_names.include?(v) }
111
+
112
+ expect(unknown_type_names_by_factory_name).to be_empty,
113
+ "Expected all factory `__typename` values to be valid, but the following did not match any defined indexed types: #{unknown_type_names_by_factory_name.values.sort}. " \
114
+ "If any `__typename` values are invalid, fix them; otherwise, pass `ignored_factories: #{unknown_type_names_by_factory_name.keys.sort.inspect}` to ignore them " \
115
+ "or make sure that they are defined as indexed types (by defining `t.index_name \"...\"` on them)."
116
+ end
117
+
118
+ typenames_by_factory_name.each do |factory_name, typename|
119
+ next unless event_types.include?(typename)
120
+
121
+ describe "the :#{factory_name} factory" do
122
+ # We use `aggregate_failures: false` so that we stop on the first failure. Getting all of them can be overwhelming.
123
+ it "builds a record that passes ElasticGraph validation", aggregate_failures: false do
124
+ # The factory generates random data. To give us confidence that it doesn't generate
125
+ # good data usually and bad data rarely, we generate 100 events and verify that they
126
+ # are all valid.
127
+ factory_iterations.times do
128
+ record = ::FactoryBot.build(factory_name)
129
+ event = ::ElasticGraph::Indexer::TestSupport::Converters.upsert_events_for_records([record]).first
130
+
131
+ expect(event).to be_a_valid_elastic_graph_event(for_indexer: indexer) { |v| v.with_unknown_properties_disallowed }
132
+
133
+ # Also try building a datastore bulk operation for each event. Occasionally we've seen bugs in
134
+ # elasticgraph-indexer that only manifest in specific schema situations that our main ElasticGraph
135
+ # test suite may not cover, so this'll surface whether elasticgraph-indexer produces exceptions from
136
+ # the Ruby code while processing events for the current schema.
137
+ #
138
+ # Note: we could attempt to _actually_ index it into the datastore here (which would provide even
139
+ # greater confidence), but we don't expect the datastore to be booted and available when these tests
140
+ # are running, and we don't want to have to manage cleaning up datastore state as part of these
141
+ # tests. Still, it's a potential further step we could take with this in the future.
142
+ indexer.operation_factory.build(event).operations.each(&:to_datastore_bulk)
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
metadata CHANGED
@@ -1,275 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticgraph-local
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0.0
4
+ version: 0.19.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myron Marston
8
8
  - Ben VandenBos
9
9
  - Block Engineering
10
10
  autorequire:
11
- bindir: exe
11
+ bindir: bin
12
12
  cert_chain: []
13
- date: 2024-12-10 00:00:00.000000000 Z
13
+ date: 2025-02-06 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rubocop-factory_bot
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - "~>"
20
- - !ruby/object:Gem::Version
21
- version: '2.26'
22
- type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - "~>"
27
- - !ruby/object:Gem::Version
28
- version: '2.26'
29
- - !ruby/object:Gem::Dependency
30
- name: rubocop-rake
31
- requirement: !ruby/object:Gem::Requirement
32
- requirements:
33
- - - "~>"
34
- - !ruby/object:Gem::Version
35
- version: '0.6'
36
- type: :development
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - "~>"
41
- - !ruby/object:Gem::Version
42
- version: '0.6'
43
- - !ruby/object:Gem::Dependency
44
- name: rubocop-rspec
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '3.1'
50
- type: :development
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '3.1'
57
- - !ruby/object:Gem::Dependency
58
- name: standard
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: 1.41.0
64
- type: :development
65
- prerelease: false
66
- version_requirements: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - "~>"
69
- - !ruby/object:Gem::Version
70
- version: 1.41.0
71
- - !ruby/object:Gem::Dependency
72
- name: steep
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: 1.9.0
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - "~>"
83
- - !ruby/object:Gem::Version
84
- version: 1.9.0
85
- - !ruby/object:Gem::Dependency
86
- name: coderay
87
- requirement: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '1.1'
92
- type: :development
93
- prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - "~>"
97
- - !ruby/object:Gem::Version
98
- version: '1.1'
99
- - !ruby/object:Gem::Dependency
100
- name: flatware-rspec
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '2.3'
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: 2.3.3
109
- type: :development
110
- prerelease: false
111
- version_requirements: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: '2.3'
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: 2.3.3
119
- - !ruby/object:Gem::Dependency
120
- name: rspec
121
- requirement: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: '3.13'
126
- type: :development
127
- prerelease: false
128
- version_requirements: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: '3.13'
133
- - !ruby/object:Gem::Dependency
134
- name: super_diff
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: '0.13'
140
- type: :development
141
- prerelease: false
142
- version_requirements: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - "~>"
145
- - !ruby/object:Gem::Version
146
- version: '0.13'
147
- - !ruby/object:Gem::Dependency
148
- name: simplecov
149
- requirement: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - "~>"
152
- - !ruby/object:Gem::Version
153
- version: '0.22'
154
- type: :development
155
- prerelease: false
156
- version_requirements: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - "~>"
159
- - !ruby/object:Gem::Version
160
- version: '0.22'
161
- - !ruby/object:Gem::Dependency
162
- name: simplecov-console
163
- requirement: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - "~>"
166
- - !ruby/object:Gem::Version
167
- version: '0.9'
168
- type: :development
169
- prerelease: false
170
- version_requirements: !ruby/object:Gem::Requirement
171
- requirements:
172
- - - "~>"
173
- - !ruby/object:Gem::Version
174
- version: '0.9'
175
- - !ruby/object:Gem::Dependency
176
- name: factory_bot
177
- requirement: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - "~>"
180
- - !ruby/object:Gem::Version
181
- version: '6.4'
182
- type: :development
183
- prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - "~>"
187
- - !ruby/object:Gem::Version
188
- version: '6.4'
189
- - !ruby/object:Gem::Dependency
190
- name: faker
191
- requirement: !ruby/object:Gem::Requirement
192
- requirements:
193
- - - "~>"
194
- - !ruby/object:Gem::Version
195
- version: '3.5'
196
- type: :development
197
- prerelease: false
198
- version_requirements: !ruby/object:Gem::Requirement
199
- requirements:
200
- - - "~>"
201
- - !ruby/object:Gem::Version
202
- version: '3.5'
203
15
  - !ruby/object:Gem::Dependency
204
16
  name: elasticgraph-admin
205
17
  requirement: !ruby/object:Gem::Requirement
206
18
  requirements:
207
19
  - - '='
208
20
  - !ruby/object:Gem::Version
209
- version: 0.19.0.0
21
+ version: 0.19.1.0
210
22
  type: :runtime
211
23
  prerelease: false
212
24
  version_requirements: !ruby/object:Gem::Requirement
213
25
  requirements:
214
26
  - - '='
215
27
  - !ruby/object:Gem::Version
216
- version: 0.19.0.0
28
+ version: 0.19.1.0
217
29
  - !ruby/object:Gem::Dependency
218
30
  name: elasticgraph-graphql
219
31
  requirement: !ruby/object:Gem::Requirement
220
32
  requirements:
221
33
  - - '='
222
34
  - !ruby/object:Gem::Version
223
- version: 0.19.0.0
35
+ version: 0.19.1.0
224
36
  type: :runtime
225
37
  prerelease: false
226
38
  version_requirements: !ruby/object:Gem::Requirement
227
39
  requirements:
228
40
  - - '='
229
41
  - !ruby/object:Gem::Version
230
- version: 0.19.0.0
42
+ version: 0.19.1.0
231
43
  - !ruby/object:Gem::Dependency
232
44
  name: elasticgraph-indexer
233
45
  requirement: !ruby/object:Gem::Requirement
234
46
  requirements:
235
47
  - - '='
236
48
  - !ruby/object:Gem::Version
237
- version: 0.19.0.0
49
+ version: 0.19.1.0
238
50
  type: :runtime
239
51
  prerelease: false
240
52
  version_requirements: !ruby/object:Gem::Requirement
241
53
  requirements:
242
54
  - - '='
243
55
  - !ruby/object:Gem::Version
244
- version: 0.19.0.0
56
+ version: 0.19.1.0
245
57
  - !ruby/object:Gem::Dependency
246
58
  name: elasticgraph-rack
247
59
  requirement: !ruby/object:Gem::Requirement
248
60
  requirements:
249
61
  - - '='
250
62
  - !ruby/object:Gem::Version
251
- version: 0.19.0.0
63
+ version: 0.19.1.0
252
64
  type: :runtime
253
65
  prerelease: false
254
66
  version_requirements: !ruby/object:Gem::Requirement
255
67
  requirements:
256
68
  - - '='
257
69
  - !ruby/object:Gem::Version
258
- version: 0.19.0.0
70
+ version: 0.19.1.0
259
71
  - !ruby/object:Gem::Dependency
260
72
  name: elasticgraph-schema_definition
261
73
  requirement: !ruby/object:Gem::Requirement
262
74
  requirements:
263
75
  - - '='
264
76
  - !ruby/object:Gem::Version
265
- version: 0.19.0.0
77
+ version: 0.19.1.0
266
78
  type: :runtime
267
79
  prerelease: false
268
80
  version_requirements: !ruby/object:Gem::Requirement
269
81
  requirements:
270
82
  - - '='
271
83
  - !ruby/object:Gem::Version
272
- version: 0.19.0.0
84
+ version: 0.19.1.0
273
85
  - !ruby/object:Gem::Dependency
274
86
  name: rackup
275
87
  requirement: !ruby/object:Gem::Requirement
@@ -313,47 +125,47 @@ dependencies:
313
125
  - !ruby/object:Gem::Version
314
126
  version: '1.9'
315
127
  - !ruby/object:Gem::Dependency
316
- name: elasticgraph-elasticsearch
128
+ name: elasticgraph-apollo
317
129
  requirement: !ruby/object:Gem::Requirement
318
130
  requirements:
319
131
  - - '='
320
132
  - !ruby/object:Gem::Version
321
- version: 0.19.0.0
133
+ version: 0.19.1.0
322
134
  type: :development
323
135
  prerelease: false
324
136
  version_requirements: !ruby/object:Gem::Requirement
325
137
  requirements:
326
138
  - - '='
327
139
  - !ruby/object:Gem::Version
328
- version: 0.19.0.0
140
+ version: 0.19.1.0
329
141
  - !ruby/object:Gem::Dependency
330
- name: elasticgraph-opensearch
142
+ name: elasticgraph-elasticsearch
331
143
  requirement: !ruby/object:Gem::Requirement
332
144
  requirements:
333
145
  - - '='
334
146
  - !ruby/object:Gem::Version
335
- version: 0.19.0.0
147
+ version: 0.19.1.0
336
148
  type: :development
337
149
  prerelease: false
338
150
  version_requirements: !ruby/object:Gem::Requirement
339
151
  requirements:
340
152
  - - '='
341
153
  - !ruby/object:Gem::Version
342
- version: 0.19.0.0
154
+ version: 0.19.1.0
343
155
  - !ruby/object:Gem::Dependency
344
- name: httpx
156
+ name: elasticgraph-opensearch
345
157
  requirement: !ruby/object:Gem::Requirement
346
158
  requirements:
347
- - - "~>"
159
+ - - '='
348
160
  - !ruby/object:Gem::Version
349
- version: '1.3'
161
+ version: 0.19.1.0
350
162
  type: :development
351
163
  prerelease: false
352
164
  version_requirements: !ruby/object:Gem::Requirement
353
165
  requirements:
354
- - - "~>"
166
+ - - '='
355
167
  - !ruby/object:Gem::Version
356
- version: '1.3'
168
+ version: 0.19.1.0
357
169
  description:
358
170
  email:
359
171
  - myron@squareup.com
@@ -363,7 +175,6 @@ extra_rdoc_files: []
363
175
  files:
364
176
  - LICENSE.txt
365
177
  - README.md
366
- - elasticgraph-local.gemspec
367
178
  - lib/elastic_graph/local/config.ru
368
179
  - lib/elastic_graph/local/docker_runner.rb
369
180
  - lib/elastic_graph/local/elasticsearch/Dockerfile
@@ -375,16 +186,17 @@ files:
375
186
  - lib/elastic_graph/local/opensearch/UI-Dockerfile
376
187
  - lib/elastic_graph/local/opensearch/docker-compose.yaml
377
188
  - lib/elastic_graph/local/rake_tasks.rb
189
+ - lib/elastic_graph/local/spec_support/common_project_specs.rb
378
190
  - lib/elastic_graph/local/tested_datastore_versions.yaml
379
191
  homepage: https://block.github.io/elasticgraph/
380
192
  licenses:
381
193
  - MIT
382
194
  metadata:
383
195
  bug_tracker_uri: https://github.com/block/elasticgraph/issues
384
- changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.0.0
196
+ changelog_uri: https://github.com/block/elasticgraph/releases/tag/v0.19.1.0
385
197
  documentation_uri: https://block.github.io/elasticgraph/docs/main/
386
198
  homepage_uri: https://block.github.io/elasticgraph/
387
- source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.0.0/elasticgraph-local
199
+ source_code_uri: https://github.com/block/elasticgraph/tree/v0.19.1.0/elasticgraph-local
388
200
  gem_category: local
389
201
  post_install_message:
390
202
  rdoc_options: []
@@ -392,9 +204,12 @@ require_paths:
392
204
  - lib
393
205
  required_ruby_version: !ruby/object:Gem::Requirement
394
206
  requirements:
395
- - - "~>"
207
+ - - ">="
396
208
  - !ruby/object:Gem::Version
397
209
  version: '3.2'
210
+ - - "<"
211
+ - !ruby/object:Gem::Version
212
+ version: '3.5'
398
213
  required_rubygems_version: !ruby/object:Gem::Requirement
399
214
  requirements:
400
215
  - - ">="
@@ -1,26 +0,0 @@
1
- # Copyright 2024 Block, Inc.
2
- #
3
- # Use of this source code is governed by an MIT-style
4
- # license that can be found in the LICENSE file or at
5
- # https://opensource.org/licenses/MIT.
6
- #
7
- # frozen_string_literal: true
8
-
9
- require_relative "../gemspec_helper"
10
-
11
- ElasticGraphGemspecHelper.define_elasticgraph_gem(gemspec_file: __FILE__, category: :local) do |spec, eg_version|
12
- spec.summary = "Provides support for developing and running ElasticGraph applications locally."
13
-
14
- spec.add_dependency "elasticgraph-admin", eg_version
15
- spec.add_dependency "elasticgraph-graphql", eg_version
16
- spec.add_dependency "elasticgraph-indexer", eg_version
17
- spec.add_dependency "elasticgraph-rack", eg_version
18
- spec.add_dependency "elasticgraph-schema_definition", eg_version
19
- spec.add_dependency "rackup", "~> 2.2"
20
- spec.add_dependency "rake", "~> 13.2"
21
- spec.add_dependency "webrick", "~> 1.9"
22
-
23
- spec.add_development_dependency "elasticgraph-elasticsearch", eg_version
24
- spec.add_development_dependency "elasticgraph-opensearch", eg_version
25
- spec.add_development_dependency "httpx", "~> 1.3"
26
- end