rdkafka 0.22.2 → 0.29.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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +101 -3
  3. data/README.md +21 -14
  4. data/Rakefile +21 -21
  5. data/bin/verify_kafka_warnings +39 -0
  6. data/dist/{librdkafka-2.8.0.tar.gz → librdkafka-2.14.2.tar.gz} +0 -0
  7. data/docker-compose-ssl.yml +35 -0
  8. data/docker-compose.yml +2 -2
  9. data/ext/Rakefile +27 -27
  10. data/lib/rdkafka/abstract_handle.rb +54 -7
  11. data/lib/rdkafka/admin/acl_binding_result.rb +5 -5
  12. data/lib/rdkafka/admin/config_binding_result.rb +2 -2
  13. data/lib/rdkafka/admin/config_resource_binding_result.rb +1 -0
  14. data/lib/rdkafka/admin/create_acl_handle.rb +10 -6
  15. data/lib/rdkafka/admin/create_acl_report.rb +3 -2
  16. data/lib/rdkafka/admin/create_partitions_handle.rb +8 -7
  17. data/lib/rdkafka/admin/create_partitions_report.rb +1 -0
  18. data/lib/rdkafka/admin/create_topic_handle.rb +8 -7
  19. data/lib/rdkafka/admin/create_topic_report.rb +3 -0
  20. data/lib/rdkafka/admin/delete_acl_handle.rb +9 -8
  21. data/lib/rdkafka/admin/delete_acl_report.rb +5 -3
  22. data/lib/rdkafka/admin/delete_groups_handle.rb +10 -7
  23. data/lib/rdkafka/admin/delete_groups_report.rb +3 -0
  24. data/lib/rdkafka/admin/delete_topic_handle.rb +8 -7
  25. data/lib/rdkafka/admin/delete_topic_report.rb +3 -0
  26. data/lib/rdkafka/admin/describe_acl_handle.rb +9 -8
  27. data/lib/rdkafka/admin/describe_acl_report.rb +5 -3
  28. data/lib/rdkafka/admin/describe_configs_handle.rb +7 -10
  29. data/lib/rdkafka/admin/describe_configs_report.rb +8 -6
  30. data/lib/rdkafka/admin/incremental_alter_configs_handle.rb +7 -10
  31. data/lib/rdkafka/admin/incremental_alter_configs_report.rb +8 -6
  32. data/lib/rdkafka/admin/list_offsets_handle.rb +31 -0
  33. data/lib/rdkafka/admin/list_offsets_report.rb +51 -0
  34. data/lib/rdkafka/admin.rb +357 -159
  35. data/lib/rdkafka/bindings.rb +205 -111
  36. data/lib/rdkafka/callbacks/base_handler.rb +62 -0
  37. data/lib/rdkafka/callbacks/create_acl_handler.rb +37 -0
  38. data/lib/rdkafka/callbacks/create_partitions_handler.rb +37 -0
  39. data/lib/rdkafka/callbacks/create_topic_handler.rb +37 -0
  40. data/lib/rdkafka/callbacks/delete_acl_handler.rb +42 -0
  41. data/lib/rdkafka/callbacks/delete_groups_handler.rb +37 -0
  42. data/lib/rdkafka/callbacks/delete_topic_handler.rb +37 -0
  43. data/lib/rdkafka/callbacks/describe_acl_handler.rb +35 -0
  44. data/lib/rdkafka/callbacks/describe_configs_handler.rb +42 -0
  45. data/lib/rdkafka/callbacks/incremental_alter_configs_handler.rb +42 -0
  46. data/lib/rdkafka/callbacks/list_offsets_handler.rb +42 -0
  47. data/lib/rdkafka/callbacks.rb +125 -216
  48. data/lib/rdkafka/config.rb +126 -66
  49. data/lib/rdkafka/consumer/headers.rb +22 -7
  50. data/lib/rdkafka/consumer/message.rb +12 -11
  51. data/lib/rdkafka/consumer/partition.rb +15 -4
  52. data/lib/rdkafka/consumer/topic_partition_list.rb +64 -38
  53. data/lib/rdkafka/consumer.rb +513 -59
  54. data/lib/rdkafka/defaults.rb +125 -0
  55. data/lib/rdkafka/error.rb +40 -14
  56. data/lib/rdkafka/helpers/metadata.rb +29 -0
  57. data/lib/rdkafka/helpers/oauth.rb +45 -13
  58. data/lib/rdkafka/helpers/time.rb +5 -0
  59. data/lib/rdkafka/metadata.rb +128 -37
  60. data/lib/rdkafka/native_kafka.rb +91 -8
  61. data/lib/rdkafka/producer/delivery_handle.rb +6 -6
  62. data/lib/rdkafka/producer/delivery_report.rb +10 -6
  63. data/lib/rdkafka/producer/partitions_count_cache.rb +51 -55
  64. data/lib/rdkafka/producer.rb +193 -95
  65. data/lib/rdkafka/version.rb +6 -3
  66. data/lib/rdkafka.rb +15 -0
  67. data/package-lock.json +331 -0
  68. data/package.json +9 -0
  69. data/rdkafka.gemspec +58 -36
  70. data/renovate.json +39 -23
  71. metadata +39 -125
  72. data/.github/CODEOWNERS +0 -3
  73. data/.github/FUNDING.yml +0 -1
  74. data/.github/workflows/ci_linux_x86_64_gnu.yml +0 -271
  75. data/.github/workflows/ci_linux_x86_64_musl.yml +0 -194
  76. data/.github/workflows/ci_macos_arm64.yml +0 -284
  77. data/.github/workflows/push_linux_x86_64_gnu.yml +0 -65
  78. data/.github/workflows/push_linux_x86_64_musl.yml +0 -79
  79. data/.github/workflows/push_macos_arm64.yml +0 -54
  80. data/.github/workflows/push_ruby.yml +0 -37
  81. data/.github/workflows/verify-action-pins.yml +0 -16
  82. data/.gitignore +0 -14
  83. data/.rspec +0 -2
  84. data/.ruby-gemset +0 -1
  85. data/.ruby-version +0 -1
  86. data/.yardopts +0 -2
  87. data/Gemfile +0 -5
  88. data/ext/README.md +0 -19
  89. data/ext/build_common.sh +0 -361
  90. data/ext/build_linux_x86_64_gnu.sh +0 -306
  91. data/ext/build_linux_x86_64_musl.sh +0 -763
  92. data/ext/build_macos_arm64.sh +0 -550
  93. data/spec/rdkafka/abstract_handle_spec.rb +0 -117
  94. data/spec/rdkafka/admin/create_acl_handle_spec.rb +0 -56
  95. data/spec/rdkafka/admin/create_acl_report_spec.rb +0 -18
  96. data/spec/rdkafka/admin/create_topic_handle_spec.rb +0 -52
  97. data/spec/rdkafka/admin/create_topic_report_spec.rb +0 -16
  98. data/spec/rdkafka/admin/delete_acl_handle_spec.rb +0 -85
  99. data/spec/rdkafka/admin/delete_acl_report_spec.rb +0 -72
  100. data/spec/rdkafka/admin/delete_topic_handle_spec.rb +0 -52
  101. data/spec/rdkafka/admin/delete_topic_report_spec.rb +0 -16
  102. data/spec/rdkafka/admin/describe_acl_handle_spec.rb +0 -85
  103. data/spec/rdkafka/admin/describe_acl_report_spec.rb +0 -73
  104. data/spec/rdkafka/admin_spec.rb +0 -971
  105. data/spec/rdkafka/bindings_spec.rb +0 -199
  106. data/spec/rdkafka/callbacks_spec.rb +0 -20
  107. data/spec/rdkafka/config_spec.rb +0 -258
  108. data/spec/rdkafka/consumer/headers_spec.rb +0 -73
  109. data/spec/rdkafka/consumer/message_spec.rb +0 -139
  110. data/spec/rdkafka/consumer/partition_spec.rb +0 -57
  111. data/spec/rdkafka/consumer/topic_partition_list_spec.rb +0 -248
  112. data/spec/rdkafka/consumer_spec.rb +0 -1274
  113. data/spec/rdkafka/error_spec.rb +0 -89
  114. data/spec/rdkafka/metadata_spec.rb +0 -79
  115. data/spec/rdkafka/native_kafka_spec.rb +0 -130
  116. data/spec/rdkafka/producer/delivery_handle_spec.rb +0 -45
  117. data/spec/rdkafka/producer/delivery_report_spec.rb +0 -25
  118. data/spec/rdkafka/producer/partitions_count_cache_spec.rb +0 -359
  119. data/spec/rdkafka/producer_spec.rb +0 -1345
  120. data/spec/spec_helper.rb +0 -195
data/package-lock.json ADDED
@@ -0,0 +1,331 @@
1
+ {
2
+ "name": "rdkafka-ruby",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "rdkafka-ruby",
9
+ "version": "1.0.0",
10
+ "devDependencies": {
11
+ "lostconf": "0.4.0"
12
+ }
13
+ },
14
+ "node_modules/@nodelib/fs.scandir": {
15
+ "version": "2.1.5",
16
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
17
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
18
+ "dev": true,
19
+ "license": "MIT",
20
+ "dependencies": {
21
+ "@nodelib/fs.stat": "2.0.5",
22
+ "run-parallel": "^1.1.9"
23
+ },
24
+ "engines": {
25
+ "node": ">= 8"
26
+ }
27
+ },
28
+ "node_modules/@nodelib/fs.stat": {
29
+ "version": "2.0.5",
30
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
31
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
32
+ "dev": true,
33
+ "license": "MIT",
34
+ "engines": {
35
+ "node": ">= 8"
36
+ }
37
+ },
38
+ "node_modules/@nodelib/fs.walk": {
39
+ "version": "1.2.8",
40
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
41
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
42
+ "dev": true,
43
+ "license": "MIT",
44
+ "dependencies": {
45
+ "@nodelib/fs.scandir": "2.1.5",
46
+ "fastq": "^1.6.0"
47
+ },
48
+ "engines": {
49
+ "node": ">= 8"
50
+ }
51
+ },
52
+ "node_modules/braces": {
53
+ "version": "3.0.3",
54
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
55
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
56
+ "dev": true,
57
+ "license": "MIT",
58
+ "dependencies": {
59
+ "fill-range": "^7.1.1"
60
+ },
61
+ "engines": {
62
+ "node": ">=8"
63
+ }
64
+ },
65
+ "node_modules/chalk": {
66
+ "version": "5.6.2",
67
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
68
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
69
+ "dev": true,
70
+ "license": "MIT",
71
+ "engines": {
72
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
73
+ },
74
+ "funding": {
75
+ "url": "https://github.com/chalk/chalk?sponsor=1"
76
+ }
77
+ },
78
+ "node_modules/commander": {
79
+ "version": "12.1.0",
80
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
81
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
82
+ "dev": true,
83
+ "license": "MIT",
84
+ "engines": {
85
+ "node": ">=18"
86
+ }
87
+ },
88
+ "node_modules/fast-glob": {
89
+ "version": "3.3.3",
90
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
91
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
92
+ "dev": true,
93
+ "license": "MIT",
94
+ "dependencies": {
95
+ "@nodelib/fs.stat": "^2.0.2",
96
+ "@nodelib/fs.walk": "^1.2.3",
97
+ "glob-parent": "^5.1.2",
98
+ "merge2": "^1.3.0",
99
+ "micromatch": "^4.0.8"
100
+ },
101
+ "engines": {
102
+ "node": ">=8.6.0"
103
+ }
104
+ },
105
+ "node_modules/fastq": {
106
+ "version": "1.20.1",
107
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
108
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
109
+ "dev": true,
110
+ "license": "ISC",
111
+ "dependencies": {
112
+ "reusify": "^1.0.4"
113
+ }
114
+ },
115
+ "node_modules/fill-range": {
116
+ "version": "7.1.1",
117
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
118
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
119
+ "dev": true,
120
+ "license": "MIT",
121
+ "dependencies": {
122
+ "to-regex-range": "^5.0.1"
123
+ },
124
+ "engines": {
125
+ "node": ">=8"
126
+ }
127
+ },
128
+ "node_modules/glob-parent": {
129
+ "version": "5.1.2",
130
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
131
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
132
+ "dev": true,
133
+ "license": "ISC",
134
+ "dependencies": {
135
+ "is-glob": "^4.0.1"
136
+ },
137
+ "engines": {
138
+ "node": ">= 6"
139
+ }
140
+ },
141
+ "node_modules/is-extglob": {
142
+ "version": "2.1.1",
143
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
144
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
145
+ "dev": true,
146
+ "license": "MIT",
147
+ "engines": {
148
+ "node": ">=0.10.0"
149
+ }
150
+ },
151
+ "node_modules/is-glob": {
152
+ "version": "4.0.3",
153
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
154
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
155
+ "dev": true,
156
+ "license": "MIT",
157
+ "dependencies": {
158
+ "is-extglob": "^2.1.1"
159
+ },
160
+ "engines": {
161
+ "node": ">=0.10.0"
162
+ }
163
+ },
164
+ "node_modules/is-number": {
165
+ "version": "7.0.0",
166
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
167
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
168
+ "dev": true,
169
+ "license": "MIT",
170
+ "engines": {
171
+ "node": ">=0.12.0"
172
+ }
173
+ },
174
+ "node_modules/lostconf": {
175
+ "version": "0.4.0",
176
+ "resolved": "https://registry.npmjs.org/lostconf/-/lostconf-0.4.0.tgz",
177
+ "integrity": "sha512-VNbUnirRU7uESqMHslIRHTcuyx/rr4OZK+L7EQXtYUe5PorBgqBYvPu+6xOr0CoUy4n34NNUKO6BBH6TgwwGTA==",
178
+ "dev": true,
179
+ "license": "MIT",
180
+ "dependencies": {
181
+ "chalk": "^5.3.0",
182
+ "commander": "^12.1.0",
183
+ "fast-glob": "^3.3.2",
184
+ "micromatch": "^4.0.8",
185
+ "smol-toml": "^1.3.0",
186
+ "yaml": "^2.5.0"
187
+ },
188
+ "bin": {
189
+ "lostconf": "dist/cli.js"
190
+ },
191
+ "engines": {
192
+ "node": ">=18.0.0"
193
+ }
194
+ },
195
+ "node_modules/merge2": {
196
+ "version": "1.4.1",
197
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
198
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
199
+ "dev": true,
200
+ "license": "MIT",
201
+ "engines": {
202
+ "node": ">= 8"
203
+ }
204
+ },
205
+ "node_modules/micromatch": {
206
+ "version": "4.0.8",
207
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
208
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
209
+ "dev": true,
210
+ "license": "MIT",
211
+ "dependencies": {
212
+ "braces": "^3.0.3",
213
+ "picomatch": "^2.3.1"
214
+ },
215
+ "engines": {
216
+ "node": ">=8.6"
217
+ }
218
+ },
219
+ "node_modules/picomatch": {
220
+ "version": "2.3.2",
221
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
222
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
223
+ "dev": true,
224
+ "license": "MIT",
225
+ "engines": {
226
+ "node": ">=8.6"
227
+ },
228
+ "funding": {
229
+ "url": "https://github.com/sponsors/jonschlinkert"
230
+ }
231
+ },
232
+ "node_modules/queue-microtask": {
233
+ "version": "1.2.3",
234
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
235
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
236
+ "dev": true,
237
+ "funding": [
238
+ {
239
+ "type": "github",
240
+ "url": "https://github.com/sponsors/feross"
241
+ },
242
+ {
243
+ "type": "patreon",
244
+ "url": "https://www.patreon.com/feross"
245
+ },
246
+ {
247
+ "type": "consulting",
248
+ "url": "https://feross.org/support"
249
+ }
250
+ ],
251
+ "license": "MIT"
252
+ },
253
+ "node_modules/reusify": {
254
+ "version": "1.1.0",
255
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
256
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
257
+ "dev": true,
258
+ "license": "MIT",
259
+ "engines": {
260
+ "iojs": ">=1.0.0",
261
+ "node": ">=0.10.0"
262
+ }
263
+ },
264
+ "node_modules/run-parallel": {
265
+ "version": "1.2.0",
266
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
267
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
268
+ "dev": true,
269
+ "funding": [
270
+ {
271
+ "type": "github",
272
+ "url": "https://github.com/sponsors/feross"
273
+ },
274
+ {
275
+ "type": "patreon",
276
+ "url": "https://www.patreon.com/feross"
277
+ },
278
+ {
279
+ "type": "consulting",
280
+ "url": "https://feross.org/support"
281
+ }
282
+ ],
283
+ "license": "MIT",
284
+ "dependencies": {
285
+ "queue-microtask": "^1.2.2"
286
+ }
287
+ },
288
+ "node_modules/smol-toml": {
289
+ "version": "1.7.0",
290
+ "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
291
+ "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
292
+ "dev": true,
293
+ "license": "BSD-3-Clause",
294
+ "engines": {
295
+ "node": ">= 18"
296
+ },
297
+ "funding": {
298
+ "url": "https://github.com/sponsors/cyyynthia"
299
+ }
300
+ },
301
+ "node_modules/to-regex-range": {
302
+ "version": "5.0.1",
303
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
304
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
305
+ "dev": true,
306
+ "license": "MIT",
307
+ "dependencies": {
308
+ "is-number": "^7.0.0"
309
+ },
310
+ "engines": {
311
+ "node": ">=8.0"
312
+ }
313
+ },
314
+ "node_modules/yaml": {
315
+ "version": "2.9.0",
316
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
317
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
318
+ "dev": true,
319
+ "license": "ISC",
320
+ "bin": {
321
+ "yaml": "bin.mjs"
322
+ },
323
+ "engines": {
324
+ "node": ">= 14.6"
325
+ },
326
+ "funding": {
327
+ "url": "https://github.com/sponsors/eemeli"
328
+ }
329
+ }
330
+ }
331
+ }
data/package.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "rdkafka-ruby",
3
+ "version": "1.0.0",
4
+ "description": "CI dependencies for rdkafka-ruby",
5
+ "private": true,
6
+ "devDependencies": {
7
+ "lostconf": "0.4.0"
8
+ }
9
+ }
data/rdkafka.gemspec CHANGED
@@ -1,63 +1,85 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require File.expand_path('lib/rdkafka/version', __dir__)
3
+ require File.expand_path("lib/rdkafka/version", __dir__)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
- gem.authors = ['Thijs Cadier', 'Maciej Mensfeld']
6
+ gem.authors = ["Thijs Cadier", "Maciej Mensfeld"]
7
7
  gem.email = ["contact@karafka.io"]
8
8
  gem.description = "Modern Kafka client library for Ruby based on librdkafka"
9
9
  gem.summary = "The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka. It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+ and Ruby 2.7+."
10
- gem.license = 'MIT'
10
+ gem.license = "MIT"
11
11
 
12
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
- gem.name = 'rdkafka'
14
- gem.require_paths = ['lib']
12
+ gem.name = "rdkafka"
13
+ gem.require_paths = ["lib"]
15
14
  gem.version = Rdkafka::VERSION
16
- gem.required_ruby_version = '>= 3.1'
15
+ gem.required_ruby_version = ">= 3.2"
17
16
 
18
- if ENV['RUBY_PLATFORM']
19
- gem.platform = ENV['RUBY_PLATFORM']
20
- gem.files = `git ls-files`.split($\)
17
+ files = `git ls-files`.split($\)
18
+ files = files.reject do |file|
19
+ next true if file.start_with?(".")
20
+ next true if file.start_with?("spec/")
21
+ next true if file.start_with?("ext/README.md")
22
+ next true if file.start_with?("Gemfile")
23
+
24
+ false
25
+ end
26
+
27
+ if ENV["RUBY_PLATFORM"]
28
+ gem.platform = ENV["RUBY_PLATFORM"]
21
29
 
22
30
  # Do not include the source code for librdkafka as it should be precompiled already per
23
31
  # platform. Same applies to any possible patches.
24
- gem.files = gem.files.reject do |file|
25
- file.match?(%r{^dist/librdkafka-.*\.tar\.gz$}) ||
26
- file.match?(%r{^dist/patches/})
32
+ # Do not include github actions details in RubyGems releases
33
+ gem.files = files.reject do |file|
34
+ next true if file.start_with?("dist/")
35
+ next true if file.start_with?("ext/build_")
36
+ next true if file.start_with?("ext/ci_")
37
+ next true if file.start_with?("ext/Rakefile")
38
+ next true if file.start_with?("ext/generate-")
39
+
40
+ false
27
41
  end
28
42
 
29
43
  # Add the compiled extensions that exist (not in git)
30
- if File.exist?('ext/librdkafka.so')
31
- gem.files << 'ext/librdkafka.so'
44
+ if File.exist?("ext/librdkafka.so")
45
+ gem.files << "ext/librdkafka.so"
32
46
  end
33
47
 
34
- if File.exist?('ext/librdkafka.dylib')
35
- gem.files << 'ext/librdkafka.dylib'
48
+ if File.exist?("ext/librdkafka.dylib")
49
+ gem.files << "ext/librdkafka.dylib"
36
50
  end
37
51
  else
38
52
  gem.platform = Gem::Platform::RUBY
39
- gem.files = `git ls-files`.split($\)
40
- gem.extensions = %w(ext/Rakefile)
41
- end
42
53
 
43
- gem.add_dependency 'ffi', '~> 1.15'
44
- gem.add_dependency 'logger'
45
- gem.add_dependency 'mini_portile2', '~> 2.6'
46
- gem.add_dependency 'rake', '> 12'
54
+ # Do not include code used for building native extensions
55
+ # Do not include github actions details in RubyGems releases
56
+ gem.files = files.reject do |file|
57
+ next true if file.start_with?("ext/build_")
58
+ next true if file.start_with?("ext/ci_")
59
+ next true if file.start_with?("ext/generate-")
60
+ next false unless file.start_with?("dist/")
61
+ next false if file.start_with?("dist/patches")
62
+ next false if file.start_with?("dist/librdkafka-")
63
+
64
+ true
65
+ end
66
+
67
+ gem.extensions = %w[ext/Rakefile]
68
+ end
47
69
 
48
- gem.add_development_dependency 'ostruct'
49
- gem.add_development_dependency 'pry'
50
- gem.add_development_dependency 'rspec', '~> 3.5'
51
- gem.add_development_dependency 'rake'
52
- gem.add_development_dependency 'simplecov'
70
+ gem.add_dependency "ffi", "~> 1.17.1"
71
+ gem.add_dependency "json", "> 2.0"
72
+ gem.add_dependency "logger"
73
+ gem.add_dependency "mini_portile2", "~> 2.6"
74
+ gem.add_dependency "rake", "> 12"
53
75
 
54
76
  gem.metadata = {
55
- 'funding_uri' => 'https://karafka.io/#become-pro',
56
- 'homepage_uri' => 'https://karafka.io',
57
- 'changelog_uri' => 'https://karafka.io/docs/Changelog-Rdkafka',
58
- 'bug_tracker_uri' => 'https://github.com/karafka/rdkafka-ruby/issues',
59
- 'source_code_uri' => 'https://github.com/karafka/rdkafka-ruby',
60
- 'documentation_uri' => 'https://karafka.io/docs',
61
- 'rubygems_mfa_required' => 'true'
77
+ "funding_uri" => "https://karafka.io/#become-pro",
78
+ "homepage_uri" => "https://karafka.io",
79
+ "changelog_uri" => "https://karafka.io/docs/Changelog-Rdkafka",
80
+ "bug_tracker_uri" => "https://github.com/karafka/rdkafka-ruby/issues",
81
+ "source_code_uri" => "https://github.com/karafka/rdkafka-ruby",
82
+ "documentation_uri" => "https://karafka.io/docs",
83
+ "rubygems_mfa_required" => "true"
62
84
  }
63
85
  end
data/renovate.json CHANGED
@@ -3,23 +3,24 @@
3
3
  "extends": [
4
4
  "config:recommended"
5
5
  ],
6
+ "minimumReleaseAge": "7 days",
7
+ "includePaths": [
8
+ ".ruby-version",
9
+ "Gemfile",
10
+ "Gemfile.lint",
11
+ "package.json",
12
+ ".github/workflows/**",
13
+ "docker-compose*.yml"
14
+ ],
6
15
  "github-actions": {
7
16
  "enabled": true,
8
17
  "pinDigests": true
9
18
  },
10
- "packageRules": [
11
- {
12
- "matchManagers": [
13
- "github-actions"
14
- ],
15
- "minimumReleaseAge": "7 days"
16
- }
17
- ],
18
19
  "customManagers": [
19
20
  {
20
21
  "customType": "regex",
21
22
  "managerFilePatterns": [
22
- "/^ext/build_common\\.sh$/"
23
+ "/ext/build_common.sh/"
23
24
  ],
24
25
  "matchStrings": [
25
26
  "readonly OPENSSL_VERSION=\"(?<currentValue>.*)\""
@@ -31,7 +32,7 @@
31
32
  {
32
33
  "customType": "regex",
33
34
  "managerFilePatterns": [
34
- "/^ext/build_common\\.sh$/"
35
+ "/ext/build_common.sh/"
35
36
  ],
36
37
  "matchStrings": [
37
38
  "readonly CYRUS_SASL_VERSION=\"(?<currentValue>.*)\""
@@ -43,7 +44,7 @@
43
44
  {
44
45
  "customType": "regex",
45
46
  "managerFilePatterns": [
46
- "/^ext/build_common\\.sh$/"
47
+ "/ext/build_common.sh/"
47
48
  ],
48
49
  "matchStrings": [
49
50
  "readonly ZLIB_VERSION=\"(?<currentValue>.*)\""
@@ -55,7 +56,7 @@
55
56
  {
56
57
  "customType": "regex",
57
58
  "managerFilePatterns": [
58
- "/^ext/build_common\\.sh$/"
59
+ "/ext/build_common.sh/"
59
60
  ],
60
61
  "matchStrings": [
61
62
  "readonly ZSTD_VERSION=\"(?<currentValue>.*)\""
@@ -67,7 +68,7 @@
67
68
  {
68
69
  "customType": "regex",
69
70
  "managerFilePatterns": [
70
- "/^ext/build_common\\.sh$/"
71
+ "/ext/build_common.sh/"
71
72
  ],
72
73
  "matchStrings": [
73
74
  "readonly KRB5_VERSION=\"(?<currentValue>.*)\""
@@ -75,18 +76,33 @@
75
76
  "depNameTemplate": "krb5/krb5",
76
77
  "datasourceTemplate": "github-releases",
77
78
  "extractVersionTemplate": "^krb5-(?<version>.*)$"
78
- },
79
+ }
80
+ ],
81
+ "packageRules": [
79
82
  {
80
- "customType": "regex",
81
- "managerFilePatterns": [
82
- "/^ext/build_common\\.sh$/"
83
+ "description": "Group ruby/setup-ruby action with ruby version updates",
84
+ "matchPackageNames": [
85
+ "ruby/setup-ruby",
86
+ "ruby"
83
87
  ],
84
- "matchStrings": [
85
- "readonly LIBRDKAFKA_VERSION=\"(?<currentValue>.*)\""
88
+ "groupName": "ruby setup",
89
+ "internalChecksFilter": "strict"
90
+ },
91
+ {
92
+ "description": "Let setup-ruby pass age gate before ruby so it is ready when the group PR is created",
93
+ "matchPackageNames": [
94
+ "ruby/setup-ruby"
86
95
  ],
87
- "depNameTemplate": "confluentinc/librdkafka",
88
- "datasourceTemplate": "github-releases",
89
- "extractVersionTemplate": "^v(?<version>.*)$"
96
+ "minimumReleaseAge": "5 days"
90
97
  }
91
- ]
98
+ ],
99
+ "labels": [
100
+ "dependencies"
101
+ ],
102
+ "lockFileMaintenance": {
103
+ "enabled": true,
104
+ "schedule": [
105
+ "before 4am on the first day of the month"
106
+ ]
107
+ }
92
108
  }