Compare commits
1372 Commits
Author | SHA1 | Date |
---|---|---|
|
1c264fa471 | |
|
cae2b4b038 | |
|
3790fa3707 | |
|
1faae0aed8 | |
|
da10f30f79 | |
|
3dfc390f2f | |
|
3f719d53b2 | |
|
2614ed2a74 | |
|
51309eac3c | |
|
8387d739e0 | |
|
29618a243e | |
|
55f9cfd433 | |
|
6261a7d025 | |
|
7a972e050b | |
|
8ff21c24a6 | |
|
4373543f0d | |
|
4917048397 | |
|
1d1faffdf2 | |
|
69e1703715 | |
|
2714c7f506 | |
|
62daba4126 | |
|
2303570d90 | |
|
4270620cfb | |
|
2ccac4e1bf | |
|
ce86fb989e | |
|
40728af80d | |
|
30259b5ae3 | |
|
a95c3192fc | |
|
f1595ad781 | |
|
c3b064c704 | |
|
270c43fcac | |
|
c9697a6b7a | |
|
2a920a4a32 | |
|
6f71b54aec | |
|
3a342bc00d | |
|
3c4d073405 | |
|
2c1b75276e | |
|
33a6a20017 | |
|
13201b2eb0 | |
|
1158aca30e | |
|
d4ce44319e | |
|
7d8a281b3a | |
|
630da40f5f | |
|
7f1ceb26fd | |
|
367d0b6407 | |
|
99fea41352 | |
|
9f39f60a3e | |
|
a09383d1e5 | |
|
deb64619c3 | |
|
ede10d8978 | |
|
41f2019858 | |
|
d8752471f8 | |
|
149b5e30ad | |
|
976f0cf175 | |
|
f2131c6549 | |
|
3442c91986 | |
|
5fa6f7ef47 | |
|
0587a18227 | |
|
2eb8ce5e0a | |
|
773e754432 | |
|
ed05807380 | |
|
2e75bc6eb5 | |
|
ccd384c974 | |
|
8b4a3f6521 | |
|
7236131f48 | |
|
200127c6a8 | |
|
09c917a8c1 | |
|
ca25a58cfb | |
|
39b1a51b19 | |
|
351ec1b4c7 | |
|
cd8029ef54 | |
|
e50bf704f1 | |
|
3bad41f4f2 | |
|
8ea901b1e5 | |
|
b66dc4017e | |
|
512e6a42df | |
|
1f4e3bbdc1 | |
|
42e99ddf2a | |
|
4b7230b075 | |
|
bf3c378473 | |
|
1001e2b038 | |
|
4a324706a4 | |
|
897260ce3d | |
|
668dbe2e2d | |
|
9a4cb9c881 | |
|
f36385408a | |
|
2e9d6eeaae | |
|
f188d67ba0 | |
|
dea3514e22 | |
|
a7827ba05b | |
|
025280e04c | |
|
9f162dfd01 | |
|
885e89ebbb | |
|
25db081302 | |
|
ca09b7cb1a | |
|
f1b4964dda | |
|
e56e667dca | |
|
1e3e58a29b | |
|
725c2d560f | |
|
ecc77ecc27 | |
|
a4b37d7886 | |
|
b3a58b86ed | |
|
bb5d527d17 | |
|
a66c716d9c | |
|
7d78f0467b | |
|
18e4bf6eaf | |
|
9c90e85e7c | |
|
b819507df1 | |
|
d1533a8fbb | |
|
4258b650df | |
|
d3f6ead253 | |
|
34f00e0362 | |
|
ef7e772013 | |
|
aadc89b050 | |
|
db1291d49b | |
|
e0bbd50322 | |
|
3158d2b99b | |
|
29c084f0c9 | |
|
a93c552a7e | |
|
c85ba2a0d3 | |
|
d29cac3cd5 | |
|
5b9f98ac6a | |
|
0843704dbb | |
|
439ea52158 | |
|
0473f35718 | |
|
72cd7a35c2 | |
|
81117133be | |
|
b83433cc06 | |
|
fa954e0a53 | |
|
3bcc96f045 | |
|
3280bed8ac | |
|
41337bbb1d | |
|
b64d98edce | |
|
9f2ff6c150 | |
|
67ac485e74 | |
|
bd7450342e | |
|
0f6b1dbae0 | |
|
913d91ac24 | |
|
862368471e | |
|
76aa1e6a29 | |
|
96d31ecb3c | |
|
7f36b015ea | |
|
522d8fd4d8 | |
|
60c6cfce96 | |
|
0eb5046094 | |
|
917035e50d | |
|
c502519370 | |
|
41d52835bf | |
|
8a116500e0 | |
|
6e2e19591a | |
|
7f1febe70b | |
|
8cfcd7972b | |
|
c791e518e1 | |
|
232d96840a | |
|
bb7ead235e | |
|
bfa8f72033 | |
|
323ce94fd8 | |
|
9853bdae7f | |
|
fa98e459fc | |
|
0bc0b6171e | |
|
1b4cff21b3 | |
|
def157a105 | |
|
0977ad2dde | |
|
07ad94b269 | |
|
225e3617d9 | |
|
317b12f6fb | |
|
30fb9c1128 | |
|
f25d871d23 | |
|
672b76dd1c | |
|
275c62d46c | |
|
36674f1129 | |
|
4d7a3fed1e | |
|
676698a233 | |
|
9414209d67 | |
|
3b8c590189 | |
|
bbe25c0d40 | |
|
993322f6d7 | |
|
5fb6ca6c39 | |
|
9d7ee9639f | |
|
f754ddde52 | |
|
bfa38d00b0 | |
|
771874ca6c | |
|
4aa666e08a | |
|
fbd83663e3 | |
|
a809c3000e | |
|
4bc4a9ec47 | |
|
5a19efee89 | |
|
1af8fe25eb | |
|
7e0627de71 | |
|
53a129bbdd | |
|
a937c326f3 | |
|
b99aca71fe | |
|
8a4604a83f | |
|
88ea37b290 | |
|
81caabc85e | |
|
e5891e24de | |
|
eef470df37 | |
|
1fc7390fc6 | |
|
dee15f05a1 | |
|
ab71a39fa8 | |
|
68b98bfd3b | |
|
4688150a44 | |
|
34befb6fe4 | |
|
88692efda1 | |
|
1c72316d2e | |
|
0174f59c4e | |
|
bbb9aeaf0e | |
|
c68ea370d2 | |
|
fd1415b087 | |
|
5de3a57af3 | |
|
5a1bd25150 | |
|
e61eb7a45e | |
|
dbff137e4a | |
|
3043dc621f | |
|
e4bc525b5e | |
|
f990f7e271 | |
|
7be4189deb | |
|
307b61f94b | |
|
7a51ce7c88 | |
|
b6d831b115 | |
|
425a9d604b | |
|
42b3caa964 | |
|
87154f9b03 | |
|
c7f6cad331 | |
|
4a2d2964af | |
|
0da03c901e | |
|
ad3fccf5eb | |
|
115623220c | |
|
5bcbfadcd6 | |
|
92c572e887 | |
|
b76e634e07 | |
|
c77751e620 | |
|
173876c982 | |
|
a9f7bf1fbc | |
|
e7634679d1 | |
|
55d6419bcd | |
|
147dfb0e70 | |
|
987f5519e6 | |
|
ba8745ab4b | |
|
ce8fa317cf | |
|
02449bd5d3 | |
|
212ae64c2d | |
|
4d60fc4ab7 | |
|
03b28891d5 | |
|
1d9c156829 | |
|
a1a49ff447 | |
|
d475a0e95f | |
|
4452872042 | |
|
a419ab3708 | |
|
268a16cb68 | |
|
3665ee3a03 | |
|
43f38ce546 | |
|
6bb649a9df | |
|
e3298812c9 | |
|
382fac3e34 | |
|
4f1c6f0bde | |
|
0da2ee8e71 | |
|
3e235a6316 | |
|
3349321c58 | |
|
02fcbc0dc5 | |
|
edf0e3c1ff | |
|
07a085365e | |
|
e9d767b84b | |
|
0b1aefd4ae | |
|
b6dcca0ccb | |
|
0c35f0fec3 | |
|
be05f9d8b8 | |
|
8c53b69b1a | |
|
a87445cda6 | |
|
64e5a6a7e5 | |
|
cf3fd1e7c7 | |
|
23588b665a | |
|
a8bef770a5 | |
|
6d3d297598 | |
|
87c6615ba6 | |
|
97a3df5f29 | |
|
9ae9477010 | |
|
30d78a490b | |
|
c34c803754 | |
|
8c9f79fb36 | |
|
bb5e1d95d9 | |
|
78167f0fb7 | |
|
414da5d146 | |
|
be061cd54b | |
|
a0d42ea31d | |
|
a855146b99 | |
|
30f67e0f7a | |
|
b5a2dac758 | |
|
2e2dc4b2dd | |
|
ae6a36a7b2 | |
|
085c0ccc70 | |
|
c3ec85fafb | |
|
f381993db0 | |
|
a112aa5214 | |
|
860eb6c499 | |
|
c8127ea3ab | |
|
acbd4b465b | |
|
6fce51ddff | |
|
444b5644b2 | |
|
c8840785d9 | |
|
ccd3bde810 | |
|
6e6a33ec0b | |
|
5f69116a64 | |
|
41c25cfa04 | |
|
7413511195 | |
|
2024a4bc77 | |
|
2f49f9da08 | |
|
781c14035e | |
|
fa66b4eb4c | |
|
93cffe72e0 | |
|
2afbc5eeb6 | |
|
8a323b1888 | |
|
87099e8eea | |
|
aad715aeb7 | |
|
18b8f9a02d | |
|
485f2f6748 | |
|
8f0ecb9059 | |
|
febcdbb1b8 | |
|
edfd8ffede | |
|
eaa4adb60f | |
|
22a959331b | |
|
28839628f5 | |
|
0a5024b47e | |
|
5bfb7bc26f | |
|
766ca19ad0 | |
|
350bda1081 | |
|
5f520b8820 | |
|
0e36184a61 | |
|
eb8f631e22 | |
|
0601ef4f0f | |
|
02b1561556 | |
|
5c1456b2d6 | |
|
0a643ef339 | |
|
fda663d6d4 | |
|
5936b3bb95 | |
|
efdec84291 | |
|
bd1978ce9c | |
|
56b59c3d3e | |
|
8bdbb0fc23 | |
|
19ed2493a4 | |
|
73c663eb5d | |
|
ea2689f06a | |
|
832d701f1f | |
|
17feaa158c | |
|
267445680f | |
|
2bc8d117b6 | |
|
ef9f59c58e | |
|
ed1cdb5987 | |
|
53d0b14726 | |
|
fd4c365889 | |
|
8d0f1001af | |
|
4c8835fd5f | |
|
d154e3da9a | |
|
04815c5979 | |
|
fafe3d1374 | |
|
63ffa9ab07 | |
|
ff64e2993d | |
|
80034d91a8 | |
|
c0bd18a245 | |
|
730415d3b7 | |
|
1906650de0 | |
|
19692b8a27 | |
|
4bdec425c3 | |
|
4b823f0571 | |
|
d5b5af5c5e | |
|
93f0b7860e | |
|
8fb36030a5 | |
|
df2dd96edf | |
|
78d70414ee | |
|
018c4b189b | |
|
289acdbf4d | |
|
e2af52f643 | |
|
af65fb9960 | |
|
73af4aa014 | |
|
4c76d6dd8a | |
|
5ddf7954eb | |
|
24100eb785 | |
|
eb6eb953d4 | |
|
4506d8ff15 | |
|
7089af389a | |
|
aba63b0179 | |
|
6413d2d7dd | |
|
a4fffbd7e0 | |
|
d4e06ad8e3 | |
|
392e5f9407 | |
|
94b4a6aafd | |
|
0fb74baaa2 | |
|
a44d541e5f | |
|
83b8a6ba38 | |
|
ffaf919846 | |
|
8307aa6dd2 | |
|
ce1545d51a | |
|
5aab965db4 | |
|
6111c277b6 | |
|
37b7a2a567 | |
|
c6729351b6 | |
|
0bc2d8b282 | |
|
22c09595d5 | |
|
f61374360a | |
|
ab766981ac | |
|
1582ae6cee | |
|
f973932a2d | |
|
bbcd04d931 | |
|
4ac82b6a41 | |
|
eaf4b5d6ed | |
|
5c26be6985 | |
|
224d7f50c0 | |
|
3543f2cffe | |
|
9acbf19e9a | |
|
959be5945a | |
|
d39e18f45c | |
|
2a0401633e | |
|
582e4a3cc8 | |
|
586963a4e6 | |
|
e68a7b433d | |
|
003ffcea3f | |
|
3c9cfe4389 | |
|
21556b57e6 | |
|
84e0478ff7 | |
|
1a06bc01cd | |
|
a5106c6a61 | |
|
5f5bf81e40 | |
|
d0c3b3a079 | |
|
0183885ee9 | |
|
8c8a2e92d2 | |
|
c35533d675 | |
|
36fd79cd9e | |
|
50f2308446 | |
|
36731efbaa | |
|
e35909a7b4 | |
|
e8a3c4db42 | |
|
faca67b5e6 | |
|
04009b8ff2 | |
|
74d34b0de4 | |
|
1afbdca365 | |
|
2387fdc21d | |
|
95746940fb | |
|
6008e032f8 | |
|
86c9ad2b0e | |
|
4dbc2758b9 | |
|
56e76e912f | |
|
2d1c63257b | |
|
3ea83aca18 | |
|
9ffcf0123b | |
|
febb58003d | |
|
3ee82dab54 | |
|
f6e718c599 | |
|
69b97b8a17 | |
|
1e17455463 | |
|
e459859a40 | |
|
bcc062203d | |
|
9b3f66c2ec | |
|
9ab45124e6 | |
|
4a4b8bea60 | |
|
5cfb39d30b | |
|
11e51f58ac | |
|
d9103c9d6e | |
|
8ffc9912cd | |
|
cc5c3c60df | |
|
34d20d92ed | |
|
0cfab72fea | |
|
24c3677e92 | |
|
84d52b51dc | |
|
301f6e9906 | |
|
8fb3ca1abf | |
|
ad15dd39df | |
|
ee100af9eb | |
|
8a05433897 | |
|
ebe3f61ef0 | |
|
3ee8df9310 | |
|
5600138ce9 | |
|
b7b30ce4d1 | |
|
1743881fe1 | |
|
14fc15a0c2 | |
|
b6b766cac7 | |
|
175ba70e8c | |
|
310e8123ec | |
|
a43e2c5201 | |
|
a850505b18 | |
|
4c73edd923 | |
|
bc346c8193 | |
|
31d443a30c | |
|
965691680d | |
|
5bd2eba04f | |
|
642eca60c0 | |
|
833b367e3b | |
|
492575bc29 | |
|
ffc879d958 | |
|
ccdb82b687 | |
|
c5eeced28d | |
|
7da3c64287 | |
|
5949e6fe90 | |
|
885b8d38e8 | |
|
f5ae413659 | |
|
9f7668f6c2 | |
|
b64c0ef5bf | |
|
dbc6321808 | |
|
c34d6206f1 | |
|
da2255d7da | |
|
f8eac1dc92 | |
|
c1fd7c3376 | |
|
80a687f525 | |
|
cf3bbe99a7 | |
|
ce3726c064 | |
|
0d84c8e9a5 | |
|
64fdb25f97 | |
|
bf23a7fb30 | |
|
09f9a77799 | |
|
603466b5d8 | |
|
fb9f048add | |
|
ff98f6fc1e | |
|
cdd9ba1bb6 | |
|
e7c2dc5aff | |
|
43523e86a9 | |
|
a014788271 | |
|
351c457c1a | |
|
50348ab6ed | |
|
5345b647df | |
|
250be2c6fb | |
|
37cb595ea3 | |
|
cc95d37718 | |
|
7d4ecb5e82 | |
|
5c318c8e38 | |
|
10f1ea1bac | |
|
6acc2b15ea | |
|
cedace734b | |
|
6e4058c3ba | |
|
2fb9b691d0 | |
|
d0dad7375a | |
|
d2111d35db | |
|
05b44129c4 | |
|
c35395ecc6 | |
|
966cc05408 | |
|
ab75d84d8e | |
|
cb6ecb7195 | |
|
48f335b0f8 | |
|
e3df8bcd61 | |
|
e99018c25f | |
|
3b453abced | |
|
2808154f39 | |
|
e459b2d14a | |
|
a330269a24 | |
|
3c28315e83 | |
|
610471942d | |
|
f35c7d72c1 | |
|
27a362df3d | |
|
99d34c4198 | |
|
f5bb1ea7c6 | |
|
6ccfe6a450 | |
|
0b3ec492b6 | |
|
ee652cbe6a | |
|
43f1b7289a | |
|
6a49e3e30f | |
|
af8c0af408 | |
|
e44eff228a | |
|
7660bdbe81 | |
|
3e615803be | |
|
8d9c1177d5 | |
|
c50fc90e47 | |
|
f9eb4752a7 | |
|
523c87f28b | |
|
4390bb63bd | |
|
49e6f4c9c8 | |
|
51aba859c6 | |
|
cfcd203167 | |
|
a9b6c34726 | |
|
8b7ebcf9fa | |
|
e2cf972b51 | |
|
716635742e | |
|
d890cf1d36 | |
|
f55377575a | |
|
fae336ab24 | |
|
5cc73d85ec | |
|
23c67304c9 | |
|
3033154717 | |
|
dd6fd0c8e2 | |
|
9099cfb64e | |
|
fd1d037874 | |
|
6def891d42 | |
|
f0705acd19 | |
|
5ea53632f5 | |
|
87dac547ff | |
|
ad0c873c6b | |
|
eb19f87dd9 | |
|
97fb7d5783 | |
|
caa174aac9 | |
|
1f681ba6d7 | |
|
3aa99a9843 | |
|
8273c500c4 | |
|
79e3a946cc | |
|
edd1b6dc6f | |
|
da8f4299b5 | |
|
b6b3b198a5 | |
|
24397a7ad2 | |
|
efc80c1482 | |
|
2f048b4b57 | |
|
57b1ec13fd | |
|
cee62dbc96 | |
|
93db480bc4 | |
|
268ff69556 | |
|
c688169f08 | |
|
d685875166 | |
|
33cb21ee92 | |
|
e1b92e41ea | |
|
00528cb1e8 | |
|
b75fc23770 | |
|
6c27536777 | |
|
7876b2df58 | |
|
74c4ec83df | |
|
7ec370347c | |
|
d370b529fa | |
|
b4a11e61ab | |
|
7810b4e018 | |
|
8ab2bda4eb | |
|
1e04b72f6d | |
|
9bd0731a5a | |
|
03d87b5391 | |
|
71f5babdde | |
|
066145763f | |
|
9e14040456 | |
|
75cd74a2f2 | |
|
754352375c | |
|
2a034d7464 | |
|
4691a16af6 | |
|
ff8ecf1cf7 | |
|
e019a4e41d | |
|
e26fde9086 | |
|
033a87523d | |
|
5d0823bdc9 | |
|
4e7e0f0f1d | |
|
0ca128b80f | |
|
5042d8eefe | |
|
6e7058e488 | |
|
b4f7d46842 | |
|
4bca14a4bb | |
|
417714cf62 | |
|
ae3fbbcb0a | |
|
0801e68c14 | |
|
72df6270b2 | |
|
60be7d8046 | |
|
cfce31ef05 | |
|
0ee99d5169 | |
|
3fe705f73e | |
|
41acc117bd | |
|
58f4e83c22 | |
|
a9cf049030 | |
|
d1aab61566 | |
|
b8a9cf12c5 | |
|
2ca47665be | |
|
90cb5571cf | |
|
13e8564238 | |
|
63f7da23c7 | |
|
c6e2405366 | |
|
a7c21a1b28 | |
|
2b83238e72 | |
|
f13f99303a | |
|
7a34bf8053 | |
|
20f89b2e0b | |
|
fbcb9fea23 | |
|
9a2f702f4f | |
|
2f3bed5a5b | |
|
93025bf05a | |
|
5c5026d977 | |
|
a1205ff778 | |
|
e4db147f34 | |
|
5a83ec98b1 | |
|
1850ff1363 | |
|
1277a4b8b3 | |
|
0942fd8723 | |
|
d304d98ac1 | |
|
d4148cd611 | |
|
fdc5376d4f | |
|
5140c1c81c | |
|
f84828ec62 | |
|
033ab45664 | |
|
50e5fc77bb | |
|
e1d71b185c | |
|
87a1a0208c | |
|
9740accaf3 | |
|
796508f648 | |
|
eccf9fee1e | |
|
724338e632 | |
|
d5cdcd95b1 | |
|
dc276d54ed | |
|
1a4f0ff905 | |
|
ca15fa70f7 | |
|
1014183906 | |
|
71adabc2f3 | |
|
4874ab5355 | |
|
2c7ebd4425 | |
|
0c5b3da55a | |
|
5a29e29909 | |
|
98d6973b01 | |
|
4f35561ed6 | |
|
24464a6c9b | |
|
d8b3288857 | |
|
ae9e1953fc | |
|
69baf91df6 | |
|
bc7a8be85a | |
|
3a086e8e78 | |
|
7b42dd7dae | |
|
74317c76f9 | |
|
607b1fda72 | |
|
21b6088f00 | |
|
2f78318ee3 | |
|
2db48432d9 | |
|
f293c11a04 | |
|
081dee8883 | |
|
57ef5ea64f | |
|
61dcfd5fa6 | |
|
e9fc656241 | |
|
f7a238a8f4 | |
|
3f6211cda1 | |
|
cc86ffe30a | |
|
8e78c102c6 | |
|
63df5f0945 | |
|
376dd2ca60 | |
|
40fcc1cdf3 | |
|
f882a28c71 | |
|
b48ab7246d | |
|
610c83867e | |
|
d91c9d61d4 | |
|
9eaa22066b | |
|
bf468bdd52 | |
|
2b2e4d4716 | |
|
8b7067d999 | |
|
797e54330b | |
|
0c391a52d3 | |
|
e19d2b0163 | |
|
50c095d25a | |
|
bd037a1699 | |
|
6ccdd9ce80 | |
|
034ef2c99c | |
|
67ee867a7c | |
|
9931386f05 | |
|
30c32ee502 | |
|
08a74dadd9 | |
|
dbf62b20ca | |
|
506d670b80 | |
|
a0cec40783 | |
|
0278980ba0 | |
|
795e66c663 | |
|
fb3b00e8e2 | |
|
2cdf6f8803 | |
|
3a5dc94eb4 | |
|
8806e56fdd | |
|
94d93a84d3 | |
|
b9c38560c1 | |
|
efcbde4f34 | |
|
c73fdf79ff | |
|
1d942027a9 | |
|
0023ba2a01 | |
|
b09e2f2dad | |
|
3c4fc996e4 | |
|
e0a79f3f1e | |
|
2a1b65df17 | |
|
52c89ab7a3 | |
|
94cba43e75 | |
|
924b451b73 | |
|
49341b71ec | |
|
0c01e0b30f | |
|
76a5531d8c | |
|
09fc5357a7 | |
|
a92242918b | |
|
98061c8e96 | |
|
7b1691dc67 | |
|
23eb9854ee | |
|
870c66734b | |
|
8960d19492 | |
|
d2767983dc | |
|
4fdbcb33e1 | |
|
586a946213 | |
|
70ec8dffdd | |
|
4f86ae00ad | |
|
597fb419f3 | |
|
1616b7f295 | |
|
a501a2c795 | |
|
74dfa06c29 | |
|
4c34155886 | |
|
6b528e2caf | |
|
8512a4459b | |
|
8dcad8a4fd | |
|
5ed2fbe2b6 | |
|
458dc89614 | |
|
7289487702 | |
|
77477dee6e | |
|
a71d0f93d0 | |
|
940e58c051 | |
|
b527fc31ed | |
|
1e4460459a | |
|
d47d7f9160 | |
|
8ea452d54f | |
|
395d3fd04c | |
|
5f1bef6141 | |
|
bf8fd69ba4 | |
|
87b966ef0c | |
|
510d2ca0ab | |
|
0c2b6a1cb3 | |
|
7d3292cedd | |
|
d17b085653 | |
|
d54fee2e7a | |
|
6a78e9f7ba | |
|
fa310864d7 | |
|
0d3dfd9695 | |
|
ec455d5cff | |
|
55e3c458c2 | |
|
2d029649a2 | |
|
27b3e21554 | |
|
6dd7447b92 | |
|
dfa06d91ca | |
|
3189686510 | |
|
4a3752a87f | |
|
90e7e1065c | |
|
1679d0ced0 | |
|
6e0ba8e9ff | |
|
a028db8156 | |
|
44dd282ed4 | |
|
6578c83a0e | |
|
542c0fe512 | |
|
8199c0f401 | |
|
01b4051b03 | |
|
8546bcfecd | |
|
67895da04d | |
|
f8f1396c90 | |
|
4f1076d89c | |
|
9fefcc4827 | |
|
637a2bc8cc | |
|
4b714f4f7c | |
|
d68ca77ec5 | |
|
c2d6dee8e8 | |
|
94575bc76d | |
|
92a4d2c2ab | |
|
c29fc82158 | |
|
eb7634c678 | |
|
551a300f78 | |
|
180e7b1c1c | |
|
de17a77df4 | |
|
5fd3bddcfe | |
|
bcdb0b7067 | |
|
fd6b40c14a | |
|
3a33163d98 | |
|
1eeaef4874 | |
|
9ef170f4e7 | |
|
c12c76ae45 | |
|
34f0d12dab | |
|
cfd51bac6c | |
|
59701a0ea9 | |
|
3f4fa167c5 | |
|
e408c9e0f2 | |
|
988754ce85 | |
|
abe306ed8e | |
|
a0c6a0b41d | |
|
eae657fc38 | |
|
5a32322778 | |
|
ce5d42a9d6 | |
|
98d1634ce3 | |
|
314e4261fc | |
|
4efb3df39e | |
|
3e1fa7bee7 | |
|
3f53e0172d | |
|
8805cdd9bf | |
|
2365b94f98 | |
|
d19e90685b | |
|
44cebf2d6d | |
|
67bdc011cb | |
|
028b69213e | |
|
f79c7229d5 | |
|
4f9a55baad | |
|
a4afc2a44a | |
|
81cf5f2e46 | |
|
98ba31a381 | |
|
07fe6307c6 | |
|
5d319be3f9 | |
|
0d692fa161 | |
|
d27d5c48ce | |
|
f50a8d39cc | |
|
6ba73c2093 | |
|
ea0dd8beb8 | |
|
150172f008 | |
|
cddfe3ba41 | |
|
e58eb1807a | |
|
8cc26c4acd | |
|
1c0539f862 | |
|
cad8b70ee8 | |
|
0ec25997b6 | |
|
99a9237abb | |
|
53f511fa15 | |
|
451850f325 | |
|
a91371dfe6 | |
|
ef09b190ce | |
|
c458cba923 | |
|
6bda6a610f | |
|
cc33379f27 | |
|
7653b6522a | |
|
fa315e4d86 | |
|
64f7aa2c95 | |
|
438b77443c | |
|
8cbd7e6243 | |
|
fb02466b20 | |
|
6c75497ac1 | |
|
ba0510f85d | |
|
175abbff87 | |
|
ea66a25dfa | |
|
435274bc83 | |
|
f61b9d9bf4 | |
|
9bd11b449f | |
|
7003fefa44 | |
|
9d0f01b45b | |
|
0e743b5fe7 | |
|
3c95bf32e7 | |
|
5eb65f5f72 | |
|
73da2a3fbb | |
|
1ab81f7901 | |
|
01ca72edc0 | |
|
467601a62d | |
|
61b0f152fd | |
|
41e7306208 | |
|
0f36610e9d | |
|
0ce6ad0f0f | |
|
0ec41c6c41 | |
|
005bb2c790 | |
|
812d51be56 | |
|
164d495dfc | |
|
85e14c74fa | |
|
c9b2b7fb22 | |
|
09c546a1c8 | |
|
55dc63a801 | |
|
f8f5a5f91a | |
|
47e65df77d | |
|
1a6f603254 | |
|
8bf8c2e688 | |
|
8dd27ee7ff | |
|
715823c5bb | |
|
1806a45461 | |
|
0cb63bb544 | |
|
5bd8b3d09f | |
|
0b1a4d283b | |
|
c5271ea602 | |
|
9e69496c85 | |
|
b6d2ff85b2 | |
|
ceb7b244f2 | |
|
6262c849a2 | |
|
3bcdc0f359 | |
|
a22fa85784 | |
|
0ea1b4b5e6 | |
|
d84d3a1491 | |
|
5300076e33 | |
|
bd3aee35b4 | |
|
d2b5f51bfd | |
|
229edb1827 | |
|
77e73deede | |
|
f447e84e93 | |
|
a24ba55d45 | |
|
21bd300d61 | |
|
6ade94f50b | |
|
9936b8de69 | |
|
f28963c0f9 | |
|
a34ce08f8f | |
|
0541996b30 | |
|
a528a415d3 | |
|
d6a9c63cd2 | |
|
ac90d13af6 | |
|
614ce25cc7 | |
|
d265fdd889 | |
|
d3ffe65f3f | |
|
7138e8a0cc | |
|
813f1e9b3d | |
|
c0368a0d24 | |
|
e90b47f7e1 | |
|
2592dff63a | |
|
beb7e83aa7 | |
|
52fcd15bef | |
|
4d162257b4 | |
|
b03b3cabf3 | |
|
cb4676da88 | |
|
95332ddad1 | |
|
596e3ef41a | |
|
803cd3956b | |
|
118236b1dd | |
|
97b98c1f5f | |
|
b11d853880 | |
|
228cbf9776 | |
|
e557ab37a3 | |
|
1aa3342590 | |
|
e31daa65d9 | |
|
578552e765 | |
|
dee14f21a3 | |
|
983b4d3d7c | |
|
9b4dd0fbd8 | |
|
a98e539927 | |
|
8a30dd563a | |
|
25f8741f62 | |
|
589e0b578c | |
|
6eb1f87e14 | |
|
bd96f86dc4 | |
|
6d24aef9b0 | |
|
4a122df99b | |
|
274f12f063 | |
|
dc5a703c23 | |
|
9bb5dc2ef0 | |
|
20188a770e | |
|
b4fe2cc661 | |
|
12bdf54969 | |
|
593ec26337 | |
|
2754fb7d05 | |
|
c8fafa3772 | |
|
440eb5b355 | |
|
b4cda4a96a | |
|
124467e620 | |
|
4811fd44fd | |
|
f5805b83d2 | |
|
9b5ab14faf | |
|
cbe271e52f | |
|
9c23e7f2d4 | |
|
27ef97ecd7 | |
|
8dec1abcd3 | |
|
6513d028e3 | |
|
06bd98ddd1 | |
|
f10e084c51 | |
|
12d094bdb3 | |
|
561376052e | |
|
35b5ab3cdc | |
|
400e8006e5 | |
|
6f5c8e0c7f | |
|
ac49cc638c | |
|
6d1689c27c | |
|
74d7fbe3a2 | |
|
be19fc95ee | |
|
860d9fcd9c | |
|
9704d230fa | |
|
2af6181ece | |
|
e23266253e | |
|
095e89718e | |
|
09ed8fdc07 | |
|
b7c4f66a69 | |
|
5a9482dfef | |
|
82480e42a7 | |
|
13542dcc5e | |
|
9360f671e8 | |
|
45f0f1cb97 | |
|
402eb3a883 | |
|
5b99c6b5b9 | |
|
213822eb5d | |
|
e83c286367 | |
|
c8c7bfb9bf | |
|
e6bc6a451f | |
|
03fae668e0 | |
|
8dfcfa61e4 | |
|
4556999a84 | |
|
36eb6cafc1 | |
|
cdeabe22bc | |
|
e1f2865eae | |
|
9ba545cbef | |
|
a1ec795184 | |
|
602b6acd7d | |
|
12e600a791 | |
|
d5fcab2af2 | |
|
dd49cbe6c3 | |
|
cbb23d65bf | |
|
e71fa51925 | |
|
27be6c39d2 | |
|
9699393da7 | |
|
1d9f179562 | |
|
f0976b48b2 | |
|
00a7898dbe | |
|
3756775ebe | |
|
bde9868c1e | |
|
46808c3ea6 | |
|
ab8799a739 | |
|
860bb7c47b | |
|
4fe96dfd27 | |
|
2a93bbcebd | |
|
c151806f7c | |
|
ef1a595a13 | |
|
44657cd393 | |
|
0e803de6dd | |
|
9efa0d9ffe | |
|
6e871f6ab3 | |
|
bb7cd8381e | |
|
9bcd4328d2 | |
|
9439756d62 | |
|
03526b51db | |
|
4eda17bee2 | |
|
11546aafa5 | |
|
1f20543ee3 | |
|
b568214980 | |
|
fb985bb8b9 | |
|
a0e6c23a82 | |
|
26fa541e2c | |
|
63b5859360 | |
|
6695282640 | |
|
c2569d26f2 | |
|
d4c1121c77 | |
|
e3430aa56d | |
|
3a30917809 | |
|
0a7c86b480 | |
|
28a407cf7b | |
|
d65457df74 | |
|
265e273eda | |
|
8ae0163643 | |
|
0410b7e4a6 | |
|
73c6f9686f | |
|
b8244f70f4 | |
|
41dfa6aa99 | |
|
513ade1b8c | |
|
bb208858a1 | |
|
b34a7227b3 | |
|
22e4853e7d | |
|
5d882a18f7 | |
|
41245faa80 | |
|
f2da1b5544 | |
|
e275f77c4c | |
|
c8f24f535c | |
|
a7fb56beeb | |
|
1ccfc0dbfd | |
|
2472e450ff | |
|
0ec51745f0 | |
|
8b9e7ce4f6 | |
|
2f0595a95a | |
|
76033adc6e | |
|
e33d4d5489 | |
|
480687f3d8 | |
|
70827dee4a | |
|
a458b93876 | |
|
b28b25e4b4 | |
|
2e118aebb7 | |
|
7e7a0f3a71 | |
|
8910430aef | |
|
f50691b2cd | |
|
16f8e515c2 | |
|
be30e9dc1d | |
|
826e6c72f6 | |
|
c8866933da | |
|
32854e8d34 | |
|
e93afc5c5b | |
|
e6bd1fea84 | |
|
ab1664c8de | |
|
601d4f2b6c | |
|
14d53f83cd | |
|
5bfccbaa28 | |
|
762c2ee65a | |
|
d52b333649 | |
|
c5d150a7ef | |
|
d5b883223f | |
|
11e56bdd2d | |
|
7ed3a0b0d8 | |
|
18533d4dee | |
|
302fb38df2 | |
|
0dc55be1d3 | |
|
24a0f29ae1 | |
|
dcf1bbc72d | |
|
3596ee9533 | |
|
8fc3ce990a | |
|
ed033772cb | |
|
60fc3b14a6 | |
|
34ed66037c | |
|
cc0989f679 | |
|
b8078874a7 | |
|
ecf26b2670 | |
|
ea71ef5ab6 | |
|
67d9d89f1a | |
|
dcd5415a18 | |
|
a0abfaa5b0 | |
|
f9a1ed9559 | |
|
4bb21d7549 | |
|
d2f66ced1b | |
|
f1396b5695 | |
|
c69403e3e9 | |
|
43f99912de | |
|
3eeb8f9c01 | |
|
94b8ef6792 | |
|
9ef0483b02 | |
|
07adc3e571 | |
|
2efb9d7edc | |
|
8486728f85 | |
|
337292758c | |
|
4b6e1af09c | |
|
38e7bd7f43 | |
|
36be7bbe0d | |
|
cf1bfa0b15 | |
|
b023062749 | |
|
69bd5ef0e0 | |
|
ea5345e045 | |
|
3a278e7e7c | |
|
0e7f92aba2 | |
|
43916da581 | |
|
28870f380c | |
|
97da746160 | |
|
7c2ee95ed8 | |
|
4c5dd95e5c | |
|
0fc07b93da | |
|
69b54869c9 | |
|
f8ae3f1361 | |
|
ac4261b208 | |
|
e6fe38b504 | |
|
f9eec1ea82 | |
|
ad0c209478 | |
|
8b0589bd5c | |
|
e72d911080 | |
|
8945b75322 | |
|
09f1ab47b7 | |
|
f9d3ed732b | |
|
7cf076673b | |
|
04a806731b | |
|
916b0327af | |
|
f84c210f37 | |
|
54cbb74658 | |
|
f661c1ef9c | |
|
0f9b693ec4 | |
|
4d12efae21 | |
|
ce5ba6da04 | |
|
6084055183 | |
|
603ad0d7eb | |
|
65576863fc | |
|
77e3636272 | |
|
2c66191043 | |
|
2a24cfb77d | |
|
a8a8249388 | |
|
81f780a2e9 | |
|
5e24a2bf9c | |
|
3908e5c42d | |
|
569edb0841 | |
|
ad42ae31e5 | |
|
f60b284824 | |
|
b5d9ebf16a | |
|
852f8243a5 | |
|
059055e944 | |
|
496a827a5d | |
|
98dc11fa55 | |
|
34ef4c4e6a | |
|
dc0d4735c2 | |
|
ffcf9a27a4 | |
|
c5ecf31fd3 | |
|
3c5f4d3d39 | |
|
9fdd42c0e2 | |
|
10693d37f2 | |
|
6c3789ee9a | |
|
53444107b5 | |
|
91f5ce2544 | |
|
cdc042a2fd | |
|
9857128380 | |
|
ea7af397c3 | |
|
6cf69e2a19 | |
|
9dd6fa7fdd | |
|
026ebe5f23 | |
|
50c98bcecc | |
|
d95fc550b6 | |
|
9f336b95a4 | |
|
a5b8d194b8 | |
|
ef8b4fc767 | |
|
6c10cea3ad | |
|
b09bfb25b6 | |
|
73279a8f26 | |
|
e581b16f75 | |
|
c2b9fece78 | |
|
6e76defe33 | |
|
3d7a027503 | |
|
f6242696f6 | |
|
df783eb32a | |
|
5a8efb9d84 | |
|
76ffa31bd1 | |
|
72224f30cf | |
|
85ffe95270 | |
|
ea4bdac94c | |
|
741e04b58d | |
|
30591821ea | |
|
386701273f | |
|
79febc501b | |
|
c3da54c3ea | |
|
94c28d642b | |
|
71a7b417d1 | |
|
aa9e0a5a28 | |
|
b49ba9630a | |
|
c0bd1f5202 | |
|
cc0458a139 | |
|
a5f30ea02e | |
|
64b68e5d9c | |
|
b7c9e648ea | |
|
ee0b5b5f32 | |
|
789fc64d8f | |
|
4dfa447541 | |
|
d6a19bbde0 | |
|
0eb65c2f86 | |
|
e936638569 | |
|
e818136b09 | |
|
9a9c543a85 | |
|
819b80bfc9 | |
|
9a5a321f0d | |
|
2350299fde | |
|
7e7173000f | |
|
99a09dfa0e | |
|
3e00c84e9f | |
|
7ea2ff2651 | |
|
fa44b764b7 | |
|
9222e3b1c1 | |
|
0773b56139 | |
|
4b30935182 | |
|
7e8ecc96db | |
|
fb21a19b72 | |
|
c4706616db | |
|
0ee5e74a73 | |
|
ed8001ab07 | |
|
13e24d3172 | |
|
a24aef632e | |
|
82eb311331 | |
|
d14aa07475 | |
|
3daef04566 | |
|
ee710ca3f9 | |
|
42db0c659c | |
|
b0d0d630ba | |
|
e76c227131 | |
|
f3d8eaadb0 | |
|
dd1665ec85 | |
|
3887256142 | |
|
6366eafa3b | |
|
32615bf5f0 | |
|
d2576dd909 | |
|
7d8f83c919 | |
|
f088c4f544 | |
|
d574e66dcc | |
|
e76233a222 | |
|
cb59ad877c | |
|
5bcdc805d1 | |
|
9592c2cbec | |
|
fed87604c8 | |
|
a0aa613292 | |
|
7f981bba8e | |
|
5fe2693d4a | |
|
d372c03771 | |
|
541c97daa2 | |
|
06f8d1d055 | |
|
cbf2a7e2db | |
|
3c7dacb27e | |
|
e20fd4ab16 | |
|
35712d0afc | |
|
9f74ecefae | |
|
0b480399a5 | |
|
432807294e | |
|
95b6df775a | |
|
ec3b1a308d | |
|
0da1ac071e | |
|
fdaf16bedf | |
|
8d0609eca0 | |
|
82c81c8eea | |
|
6dd9f821b9 | |
|
dae4967bf1 | |
|
1f9b1ee3d6 | |
|
7117817076 | |
|
c4debab355 | |
|
c5867a7bd3 | |
|
4ec2b755ee | |
|
fd350386a9 | |
|
9062476a18 | |
|
06ec8f0342 | |
|
2ab890f344 | |
|
1f1a13521b | |
|
b0a9f145e1 | |
|
a92a04cfb1 | |
|
e8a302a249 | |
|
aeda3cada2 | |
|
bf7de92aa4 | |
|
9f4853c112 | |
|
3e64d46c2b | |
|
38cba9d63d | |
|
ecacf0f19c | |
|
3041d6c253 | |
|
1179d3a3ec | |
|
5cbda4c838 | |
|
55ae918094 | |
|
30fb8a719f | |
|
703ee8529e | |
|
b62e09806b |
|
@ -1,6 +0,0 @@
|
|||
# .bazelignore behaves differently than .gitignore
|
||||
# https://github.com/bazelbuild/bazel/issues/7093
|
||||
.erlang.mk
|
||||
deps/osiris
|
||||
deps/ra
|
||||
extra_deps
|
21
.bazelrc
21
.bazelrc
|
@ -1,21 +0,0 @@
|
|||
build --enable_bzlmod
|
||||
|
||||
build --registry=https://bcr.bazel.build/
|
||||
build --registry=https://raw.githubusercontent.com/rabbitmq/bazel-central-registry/erlang-packages/
|
||||
|
||||
build --incompatible_strict_action_env
|
||||
build --local_test_jobs=1
|
||||
|
||||
build --flag_alias=erlang_home=@rules_erlang//:erlang_home
|
||||
build --flag_alias=erlang_version=@rules_erlang//:erlang_version
|
||||
build --flag_alias=elixir_home=@rules_elixir//:elixir_home
|
||||
build --flag_alias=test_build=//:enable_test_build
|
||||
|
||||
build --test_timeout=7200
|
||||
|
||||
build --combined_report=lcov
|
||||
|
||||
# Try importing a user specific .bazelrc
|
||||
# You can create your own by copying and editing the template-user.bazelrc template:
|
||||
# cp template-user.bazelrc user.bazelrc
|
||||
try-import %workspace%/user.bazelrc
|
|
@ -1 +0,0 @@
|
|||
7.4.1
|
|
@ -1,3 +1,6 @@
|
|||
[build_info]
|
||||
apps = "deps/*"
|
||||
deps = ""
|
||||
deps = ""
|
||||
|
||||
[eqwalizer]
|
||||
enable_all = false
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# Format rabbitmq_aws with erlfmt
|
||||
a4fffbd7e0a312fef2e514ade54fc4310a681542
|
||||
# Revert "Format MQTT code with erlfmt"
|
||||
209f23fa2f58e0240116b3e8e5be9cd54d34b569
|
||||
# Format MQTT code with erlfmt
|
||||
|
|
|
@ -23,8 +23,9 @@ body:
|
|||
attributes:
|
||||
label: RabbitMQ version used
|
||||
options:
|
||||
- 4.0.3
|
||||
- 3.13.7 or older
|
||||
- 4.1.x
|
||||
- 4.0.x
|
||||
- 3.13.x or older
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
|
|
|
@ -29,6 +29,13 @@ body:
|
|||
attributes:
|
||||
label: RabbitMQ version used
|
||||
options:
|
||||
- 4.1.2
|
||||
- 4.1.1
|
||||
- 4.1.0
|
||||
- 4.0.9
|
||||
- 4.0.8
|
||||
- 4.0.7
|
||||
- 4.0.6
|
||||
- 4.0.5
|
||||
- 4.0.4
|
||||
- 4.0.3
|
||||
|
@ -40,6 +47,7 @@ body:
|
|||
attributes:
|
||||
label: Erlang version used
|
||||
options:
|
||||
- 27.3.x
|
||||
- 27.2.x
|
||||
- 27.1.x
|
||||
- 27.0.x
|
||||
|
|
|
@ -21,12 +21,10 @@ _Put an `x` in the boxes that apply_
|
|||
|
||||
_Put an `x` in the boxes that apply.
|
||||
You can also fill these out after creating the PR.
|
||||
If you're unsure about any of them, don't hesitate to ask on the mailing list.
|
||||
We're here to help!
|
||||
This is simply a reminder of what we are going to look for before merging your code._
|
||||
|
||||
- [ ] **Mandatory**: I (or my employer/client) have have signed the CA (see https://github.com/rabbitmq/cla)
|
||||
- [ ] I have read the `CONTRIBUTING.md` document
|
||||
- [ ] I have signed the CA (see https://cla.pivotal.io/sign/rabbitmq)
|
||||
- [ ] I have added tests that prove my fix is effective or that my feature works
|
||||
- [ ] All tests pass locally with my changes
|
||||
- [ ] If relevant, I have added necessary documentation to https://github.com/rabbitmq/rabbitmq-website
|
||||
|
|
|
@ -10,52 +10,119 @@ updates:
|
|||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "v4.0.x"
|
||||
target-branch: "v4.2.x"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "v3.13.x"
|
||||
target-branch: "v4.1.x"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "v4.0.x"
|
||||
# Maintain dependencies for Java test projects
|
||||
- package-ecosystem: "maven"
|
||||
directory: "/deps/rabbitmq_mqtt/test/java_SUITE_data"
|
||||
directories:
|
||||
- "/deps/rabbit/test/amqp_jms_SUITE_data"
|
||||
- "/deps/rabbitmq_mqtt/test/java_SUITE_data"
|
||||
- "/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data"
|
||||
- "/deps/rabbitmq_stream_management/test/http_SUITE_data"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
interval: "weekly"
|
||||
day: "saturday"
|
||||
groups:
|
||||
dev-deps:
|
||||
dependency-type: "development"
|
||||
prod-deps:
|
||||
dependency-type: "production"
|
||||
commit-message:
|
||||
prefix: "[skip ci] "
|
||||
target-branch: "main"
|
||||
ignore:
|
||||
- dependency-name: "ch.qos.logback:logback-classic"
|
||||
versions: [ "[1.3,)" ]
|
||||
- dependency-name: "org.junit:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- dependency-name: "org.junit.jupiter:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- package-ecosystem: "maven"
|
||||
directory: "deps/rabbitmq_stream/test/rabbit_stream_SUITE_data"
|
||||
directories:
|
||||
- "/deps/rabbit/test/amqp_jms_SUITE_data"
|
||||
- "/deps/rabbitmq_mqtt/test/java_SUITE_data"
|
||||
- "/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data"
|
||||
- "/deps/rabbitmq_stream_management/test/http_SUITE_data"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "main"
|
||||
interval: "weekly"
|
||||
day: "saturday"
|
||||
groups:
|
||||
dev-deps:
|
||||
dependency-type: "development"
|
||||
prod-deps:
|
||||
dependency-type: "production"
|
||||
commit-message:
|
||||
prefix: "[skip ci] "
|
||||
target-branch: "v4.2.x"
|
||||
ignore:
|
||||
- dependency-name: "ch.qos.logback:logback-classic"
|
||||
versions: [ "[1.3,)" ]
|
||||
- dependency-name: "org.junit:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- dependency-name: "org.junit.jupiter:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- package-ecosystem: "maven"
|
||||
directory: "deps/rabbitmq_stream_management/test/http_SUITE_data"
|
||||
directories:
|
||||
- "/deps/rabbit/test/amqp_jms_SUITE_data"
|
||||
- "/deps/rabbitmq_mqtt/test/java_SUITE_data"
|
||||
- "/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data"
|
||||
- "/deps/rabbitmq_stream_management/test/http_SUITE_data"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "main"
|
||||
interval: "weekly"
|
||||
day: "saturday"
|
||||
groups:
|
||||
dev-deps:
|
||||
dependency-type: "development"
|
||||
prod-deps:
|
||||
dependency-type: "production"
|
||||
commit-message:
|
||||
prefix: "[skip ci] "
|
||||
target-branch: "v4.1.x"
|
||||
ignore:
|
||||
- dependency-name: "ch.qos.logback:logback-classic"
|
||||
versions: [ "[1.3,)" ]
|
||||
- dependency-name: "org.junit:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- dependency-name: "org.junit.jupiter:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- package-ecosystem: "maven"
|
||||
directory: "deps/rabbitmq_amqp1_0/test/system_SUITE_data/java-tests"
|
||||
directories:
|
||||
- "/deps/rabbit/test/amqp_system_SUITE_data/java-tests"
|
||||
- "/deps/rabbitmq_mqtt/test/java_SUITE_data"
|
||||
- "/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data"
|
||||
- "/deps/rabbitmq_stream_management/test/http_SUITE_data"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot"
|
||||
- "/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "main"
|
||||
interval: "weekly"
|
||||
day: "saturday"
|
||||
groups:
|
||||
dev-deps:
|
||||
dependency-type: "development"
|
||||
prod-deps:
|
||||
dependency-type: "production"
|
||||
commit-message:
|
||||
prefix: "[skip ci] "
|
||||
target-branch: "v4.0.x"
|
||||
ignore:
|
||||
- dependency-name: "ch.qos.logback:logback-classic"
|
||||
versions: [ "[1.3,)" ]
|
||||
- package-ecosystem: "maven"
|
||||
directory: "deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "main"
|
||||
- package-ecosystem: "maven"
|
||||
directory: "deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "main"
|
||||
- dependency-name: "org.junit:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
- dependency-name: "org.junit.jupiter:*"
|
||||
versions: [ "[6.0,)" ]
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
pull_request_rules:
|
||||
- name: Add bazel label if a Bazel file is modified
|
||||
conditions:
|
||||
- files~=\.(bazel|bzl)$
|
||||
actions:
|
||||
label:
|
||||
add:
|
||||
- bazel
|
||||
- name: Add make label if a Make file is modified
|
||||
conditions:
|
||||
- files~=(Makefile|\.mk)$
|
||||
|
@ -13,13 +6,20 @@ pull_request_rules:
|
|||
label:
|
||||
add:
|
||||
- make
|
||||
- name: Automatically backport to v4.1.x based on label
|
||||
- name: Automatically backport to v4.2.x based on label
|
||||
conditions:
|
||||
- base=main
|
||||
- label=backport-v4.2.x
|
||||
actions:
|
||||
backport:
|
||||
branches:
|
||||
- v4.2.x
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
- name: Automatically backport to v4.1.x based on label
|
||||
conditions:
|
||||
- base=v4.2.x
|
||||
- label=backport-v4.1.x
|
||||
- label!=backport-v4.0.x
|
||||
- label!=backport-v3.13.x
|
||||
- label!=backport-v3.12.x
|
||||
actions:
|
||||
backport:
|
||||
branches:
|
||||
|
@ -30,36 +30,9 @@ pull_request_rules:
|
|||
conditions:
|
||||
- base=v4.1.x
|
||||
- label=backport-v4.0.x
|
||||
- label!=backport-v3.13.x
|
||||
- label!=backport-v3.12.x
|
||||
actions:
|
||||
backport:
|
||||
branches:
|
||||
- v4.0.x
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
- name: Automatically backport to v4.1.x & v4.0.x based on label
|
||||
conditions:
|
||||
- base=main
|
||||
- label=backport-v4.1.x
|
||||
- label=backport-v4.0.x
|
||||
actions:
|
||||
backport:
|
||||
branches:
|
||||
- v4.1.x
|
||||
labels:
|
||||
- backport-v4.0.x
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
- name: Automatically backport to v3.13.x based on label
|
||||
conditions:
|
||||
- base=v4.0.x
|
||||
- label!=backport-v4.1.x
|
||||
- label=backport-v3.13.x
|
||||
- label!=backport-v3.12.x
|
||||
actions:
|
||||
backport:
|
||||
branches:
|
||||
- v3.13.x
|
||||
assignees:
|
||||
- "{{ author }}"
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
name: Spring Authorization Server docker image (make)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .github/workflows/authorization-server-make.yaml
|
||||
- selenium/authorization-server
|
||||
pull_request:
|
||||
paths:
|
||||
- .github/workflows/authorization-server-make.yaml
|
||||
- selenium/authorization-server
|
||||
|
||||
env:
|
||||
REGISTRY_IMAGE: pivotalrabbitmq/spring-authorization-server
|
||||
IMAGE_TAG: 0.0.11
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: selenium/authorization-server
|
||||
push: true
|
||||
tags: ${{ env.REGISTRY_IMAGE }}:${{ env.IMAGE_TAG }}
|
|
@ -1,37 +0,0 @@
|
|||
name: Check Bazel/Erlang.mk Equivalence on Release Branches
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
check-main:
|
||||
uses: ./.github/workflows/check-build-system-equivalence.yaml
|
||||
with:
|
||||
ref: refs/heads/main
|
||||
erlang_version: 26.2
|
||||
elixir_version: 1.17
|
||||
project_version: 4.0.0
|
||||
|
||||
check-v4_0_x:
|
||||
uses: ./.github/workflows/check-build-system-equivalence.yaml
|
||||
with:
|
||||
ref: refs/heads/main
|
||||
erlang_version: 26.2
|
||||
elixir_version: 1.17
|
||||
project_version: 4.0.0
|
||||
|
||||
check-v3_13_x:
|
||||
uses: ./.github/workflows/check-build-system-equivalence.yaml
|
||||
with:
|
||||
ref: refs/heads/v3.13.x
|
||||
erlang_version: 26.2
|
||||
elixir_version: 1.17
|
||||
project_version: 3.13.0
|
||||
|
||||
check-v3_12_x:
|
||||
uses: ./.github/workflows/check-build-system-equivalence.yaml
|
||||
with:
|
||||
ref: refs/heads/v3.12.x
|
||||
erlang_version: 26.1
|
||||
elixir_version: 1.17
|
||||
project_version: 3.12.0
|
|
@ -1,155 +0,0 @@
|
|||
name: Check Bazel/Erlang.mk Equivalence
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
required: true
|
||||
type: string
|
||||
erlang_version:
|
||||
required: true
|
||||
type: string
|
||||
elixir_version:
|
||||
required: true
|
||||
type: string
|
||||
project_version:
|
||||
required: true
|
||||
type: string
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
erlang_version:
|
||||
description: 'OTP version to build with'
|
||||
required: true
|
||||
default: "26.2"
|
||||
elixir_version:
|
||||
description: 'Elixir version to build with'
|
||||
required: true
|
||||
default: "1.15"
|
||||
project_version:
|
||||
description: 'PROJECT_VERSION used for make'
|
||||
required: true
|
||||
default: "4.0.0"
|
||||
env:
|
||||
erlang_version: ${{ inputs.erlang_version || github.event.inputs.erlang_version }}
|
||||
elixir_version: ${{ inputs.elixir_version || github.event.inputs.elixir_version }}
|
||||
VERSION: ${{ inputs.project_version || github.event.inputs.project_version }}
|
||||
PLUGINS: amqp10_common amqp10_client rabbitmq_amqp1_0 rabbitmq_auth_backend_cache rabbitmq_auth_backend_http rabbitmq_auth_backend_ldap rabbitmq_auth_backend_oauth2 rabbitmq_auth_mechanism_ssl rabbitmq_consistent_hash_exchange rabbitmq_event_exchange rabbitmq_federation rabbitmq_jms_topic_exchange rabbitmq_mqtt rabbitmq_random_exchange rabbitmq_recent_history_exchange rabbitmq_sharding rabbitmq_shovel rabbitmq_stomp rabbitmq_stream rabbitmq_trust_store rabbitmq_web_dispatch rabbitmq_management_agent rabbitmq_management rabbitmq_prometheus rabbitmq_federation_management rabbitmq_shovel_management rabbitmq_stream_management rabbitmq_top rabbitmq_tracing rabbitmq_web_mqtt rabbitmq_web_mqtt_examples rabbitmq_web_stomp rabbitmq_web_stomp_examples rabbitmq_aws rabbitmq_peer_discovery_common rabbitmq_peer_discovery_aws rabbitmq_peer_discovery_k8s rabbitmq_peer_discovery_consul rabbitmq_peer_discovery_etcd
|
||||
EXTRA_PLUGINS: accept amqp_client aten base64url cowboy cowlib credentials_obfuscation cuttlefish eetcd enough gen_batch_server getopt gun jose observer_cli osiris prometheus quantile_estimator ra ranch recon redbug seshat stdout_formatter syslog sysmon_handler systemd thoas
|
||||
jobs:
|
||||
build-with-bazel:
|
||||
name: bazel build package-generic-unix.tar.xz
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.ref || github.ref }}
|
||||
- name: CONFIGURE ERLANG
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ env.erlang_version }}
|
||||
elixir-version: ${{ env.elixir_version }}
|
||||
- name: CONFIGURE BAZEL
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --disk_cache=
|
||||
build --color=yes
|
||||
EOF
|
||||
- name: BUILD package-generic-unix.tar.xz
|
||||
run: |
|
||||
bazelisk build //:package-generic-unix
|
||||
- name: RESOLVE ARCHIVES_DIR
|
||||
run: |
|
||||
echo "archives_dir=$(readlink -f bazel-bin)" >> $GITHUB_ENV
|
||||
- name: UPLOAD package-generic-unix.tar.xz
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
with:
|
||||
name: bazel-package-generic-unix-${{ env.VERSION }}.tar.xz
|
||||
path: ${{ env.archives_dir }}/package-generic-unix.tar.xz
|
||||
if-no-files-found: error
|
||||
|
||||
build-with-make:
|
||||
name: make package-generic-unix.tar.xz
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: rabbitmq
|
||||
ref: ${{ inputs.ref || github.ref }}
|
||||
- name: CONFIGURE ERLANG
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ env.erlang_version }}
|
||||
elixir-version: ${{ env.elixir_version }}
|
||||
- name: BUILD package-generic-unix.tar.xz
|
||||
env:
|
||||
MAKE: make
|
||||
run: |
|
||||
$MAKE -C rabbitmq \
|
||||
source-dist \
|
||||
PACKAGES_DIR="$PWD/PACKAGES" \
|
||||
PLUGINS="$PLUGINS" \
|
||||
PROJECT_VERSION="$VERSION"
|
||||
$MAKE -C rabbitmq/packaging \
|
||||
package-generic-unix \
|
||||
PACKAGES_DIR="$PWD/PACKAGES" \
|
||||
VERSION="$VERSION"
|
||||
- name: UPLOAD package-generic-unix.tar.xz
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
with:
|
||||
name: make-package-generic-unix-${{ env.VERSION }}.tar.xz
|
||||
path: PACKAGES/rabbitmq-server-generic-unix-*.tar.xz
|
||||
if-no-files-found: error
|
||||
|
||||
compare:
|
||||
needs:
|
||||
- build-with-bazel
|
||||
- build-with-make
|
||||
name: Compare package-generic-unix.tar.xz
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: rabbitmq-server
|
||||
ref: ${{ inputs.ref || github.ref }}
|
||||
- name: CONFIGURE ERLANG
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ env.erlang_version }}
|
||||
elixir-version: ${{ env.elixir_version }}
|
||||
- name: DOWNLOAD bazel-package-generic-unix.tar.xz
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: bazel-package-generic-unix-${{ env.VERSION }}.tar.xz
|
||||
- name: DOWNLOAD make-package-generic-unix.tar.xz
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: make-package-generic-unix-${{ env.VERSION }}.tar.xz
|
||||
- name: EXPAND & COMPARE
|
||||
run: |
|
||||
mkdir bazel
|
||||
pushd bazel
|
||||
tar -xf ${{ github.workspace }}/package-generic-unix.tar.xz
|
||||
find . | sort > ${{ github.workspace }}/bazel.manifest
|
||||
popd
|
||||
|
||||
mkdir make
|
||||
pushd make
|
||||
tar -xf ${{ github.workspace }}/rabbitmq-server-generic-unix-*.tar.xz
|
||||
# delete an empty directory
|
||||
rm -d rabbitmq_server-*/plugins/rabbitmq_random_exchange-*/include
|
||||
find . | sort > ${{ github.workspace }}/make.manifest
|
||||
popd
|
||||
|
||||
tree -L 3 bazel
|
||||
tree -L 3 make
|
||||
|
||||
sleep 1
|
||||
|
||||
set -x
|
||||
|
||||
./rabbitmq-server/tools/compare_dist.sh make bazel
|
|
@ -1,47 +0,0 @@
|
|||
name: Run gazelle (Scheduled)
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 4 * * *'
|
||||
jobs:
|
||||
bazel-run-gazelle:
|
||||
name: bazel run gazelle
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
max-parallel: 1
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target_branch:
|
||||
- main
|
||||
- v4.0.x
|
||||
- v3.13.x
|
||||
- v3.12.x
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ matrix.target_branch }}
|
||||
- name: Configure Erlang
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: 26.2
|
||||
elixir-version: 1.15
|
||||
- name: BAZEL RUN GAZELLE
|
||||
run: |
|
||||
bazel run gazelle
|
||||
- name: CREATE PULL REQUEST
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
token: ${{ secrets.REPO_SCOPED_TOKEN }}
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: GitHub <noreply@github.com>
|
||||
title: bazel run gazelle
|
||||
body: >
|
||||
Automated changes created by
|
||||
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
|
||||
GitHub action in the ${{ github.workflow }} workflow.
|
||||
commit-message: |
|
||||
bazel run gazelle
|
||||
branch: gazelle-${{ matrix.target_branch }}
|
||||
delete-branch: true
|
|
@ -1,42 +0,0 @@
|
|||
name: Run gazelle
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
target_branch:
|
||||
description: Branch on which to run
|
||||
required: true
|
||||
default: main
|
||||
jobs:
|
||||
bazel-run-gazelle:
|
||||
name: bazel run gazelle
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.inputs.target_branch }}
|
||||
- name: Configure Erlang
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: 26.2
|
||||
elixir-version: 1.15
|
||||
- name: BAZEL RUN GAZELLE
|
||||
run: |
|
||||
bazel run gazelle
|
||||
- name: CREATE PULL REQUEST
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
token: ${{ secrets.REPO_SCOPED_TOKEN }}
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: GitHub <noreply@github.com>
|
||||
title: bazel run gazelle
|
||||
body: >
|
||||
Automated changes created by
|
||||
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
|
||||
GitHub action in the ${{ github.workflow }} workflow.
|
||||
commit-message: |
|
||||
bazel run gazelle
|
||||
branch: gazelle-${{ github.event.inputs.target_branch }}
|
||||
delete-branch: true
|
|
@ -14,7 +14,7 @@ env:
|
|||
REGISTRY_IMAGE: pivotalrabbitmq/ibm-mqadvanced-server-dev
|
||||
IBM_MQ_REPOSITORY: ibm-messaging/mq-container
|
||||
IBM_MQ_BRANCH_NAME: 9.4.0
|
||||
IMAGE_TAG: 9.4.0.5-amd64
|
||||
IMAGE_TAG: 9.4.0.12-amd64
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -34,7 +34,7 @@ jobs:
|
|||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Checkout ibm-mqadvanced-server-dev
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: ${{ env.IBM_MQ_REPOSITORY }}
|
||||
ref: ${{ env.IBM_MQ_BRANCH_NAME }}
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
name: Nightly OCI (make)
|
||||
on:
|
||||
schedule:
|
||||
# at 2:20am Mon-Fri
|
||||
# GitHub advises to schedule jobs NOT at the start of the hour
|
||||
# https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule
|
||||
- cron: 20 2 * * 1-5
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REGISTRY_IMAGE: pivotalrabbitmq/rabbitmq
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build-package-generic-unix:
|
||||
strategy:
|
||||
matrix:
|
||||
otp_version:
|
||||
- '27'
|
||||
branch:
|
||||
- main
|
||||
- v4.2.x
|
||||
- v4.1.x
|
||||
- v4.0.x
|
||||
include:
|
||||
- branch: main
|
||||
project_version: 4.3.0
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
fetch-tags: true
|
||||
fetch-depth: 0
|
||||
filter: blob:none
|
||||
|
||||
- name: Determine closes tag
|
||||
id: tag
|
||||
if: matrix.branch != 'main'
|
||||
shell: bash
|
||||
run: |
|
||||
t=$(git describe --tags --abbrev=0 ${{ matrix.branch }})
|
||||
printf "project_version=%s\n" "${t:1}" | tee -a "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Configure Erlang
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{ matrix.otp_version }}
|
||||
elixir-version: latest
|
||||
|
||||
- name: make package-generic-unix
|
||||
id: make
|
||||
run: |
|
||||
make package-generic-unix PROJECT_VERSION=${{ matrix.project_version || steps.tag.outputs.project_version }}+${{ github.sha }}
|
||||
|
||||
- name: Upload package-generic-unix
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: package-generic-unix-otp${{ matrix.otp_version }}-${{ matrix.branch }}
|
||||
path: PACKAGES/rabbitmq-server-*.tar.xz
|
||||
|
||||
build-and-push:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
otp_version:
|
||||
- '27'
|
||||
branch:
|
||||
- main
|
||||
- v4.2.x
|
||||
- v4.1.x
|
||||
- v4.0.x
|
||||
|
||||
needs: build-package-generic-unix
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
|
||||
- name: Download package-generic-unix
|
||||
uses: actions/download-artifact@v5
|
||||
with:
|
||||
name: package-generic-unix-otp${{ matrix.otp_version }}-${{ matrix.branch }}
|
||||
path: PACKAGES
|
||||
|
||||
- name: Rename package-generic-unix
|
||||
run: |
|
||||
cp \
|
||||
PACKAGES/rabbitmq-server-generic-unix-*.tar.xz \
|
||||
packaging/docker-image/package-generic-unix.tar.xz
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY_IMAGE }}
|
||||
flavor: |
|
||||
suffix=-otp${{ matrix.otp_version }}
|
||||
tags: |
|
||||
type=sha,format=long
|
||||
type=schedule,pattern=nightly.{{date 'YYYYMMDD'}},prefix=${{ matrix.branch }}-
|
||||
type=raw,value=${{ matrix.branch }}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
- name: Build and push by digest
|
||||
id: build
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: packaging/docker-image
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
platforms: linux/amd64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
cache-to: type=gha,mode=max,scope=${{ matrix.otp_version }}
|
||||
cache-from: type=gha,scope=${{ matrix.otp_version }}
|
||||
build-args: |
|
||||
OTP_VERSION=${{ matrix.otp_version }}
|
||||
RABBITMQ_VERSION=${{ matrix.branch }}+${{ github.sha }}
|
|
@ -5,27 +5,29 @@
|
|||
#
|
||||
name: OCI (make)
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '.github/workflows/secondary-umbrella.yaml'
|
||||
- '.github/workflows/update-elixir-patches.yaml'
|
||||
- '.github/workflows/update-otp-patches.yaml'
|
||||
- '.github/workflows/release-alphas.yaml'
|
||||
- '*.md'
|
||||
pull_request:
|
||||
paths:
|
||||
- deps/**
|
||||
- scripts/**
|
||||
- Makefile
|
||||
- plugins.mk
|
||||
- rabbitmq-components.mk
|
||||
- packaging/**
|
||||
- .github/workflows/oci-make.yaml
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
otp_version:
|
||||
# a tag of the erlang image, see https://hub.docker.com/_/erlang for available tags
|
||||
# also used in the setup-beam step (same tag should work for both)
|
||||
description: OTP version (eg. `26`, `26.2.5.6`)
|
||||
default: 27
|
||||
default: 28
|
||||
build_arm:
|
||||
description: Build for ARM64 as well?
|
||||
type: boolean
|
||||
default: false
|
||||
env:
|
||||
REGISTRY_IMAGE: pivotalrabbitmq/rabbitmq
|
||||
VERSION: 4.1.0+${{ github.sha }}
|
||||
VERSION: 4.3.0+${{ github.sha }}
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
@ -34,9 +36,11 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
otp_version:
|
||||
- ${{ github.event.inputs.otp_version || '27' }}
|
||||
- ${{ github.event.inputs.otp_version || '28' }}
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
# When dependabot, or a user from a fork, creates PRs, secrets are not injected, and the OCI workflow can't push the image
|
||||
# This check acts as a gate keeper
|
||||
authorized: ${{ steps.authorized.outputs.authorized }}
|
||||
steps:
|
||||
- name: CHECK IF IMAGE WILL PUSH
|
||||
|
@ -49,7 +53,7 @@ jobs:
|
|||
fi
|
||||
- name: Checkout
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Configure Erlang
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: erlef/setup-beam@v1
|
||||
|
@ -72,15 +76,15 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
otp_version:
|
||||
- ${{ github.event.inputs.otp_version || '27' }}
|
||||
- ${{ github.event.inputs.otp_version || '28' }}
|
||||
needs: build-package-generic-unix
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ needs.build-package-generic-unix.outputs.authorized }} == 'true'
|
||||
if: ${{ needs.build-package-generic-unix.outputs.authorized == 'true' }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Download package-generic-unix
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@v5
|
||||
with:
|
||||
name: package-generic-unix-otp${{ matrix.otp_version }}
|
||||
path: PACKAGES
|
||||
|
|
|
@ -13,7 +13,7 @@ concurrency:
|
|||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
||||
cancel-in-progress: true
|
||||
env:
|
||||
OTP_VERSION: "27"
|
||||
OTP_VERSION: "28"
|
||||
jobs:
|
||||
peer-discovery-aws-integration-test:
|
||||
name: Integration Test
|
||||
|
@ -30,7 +30,7 @@ jobs:
|
|||
fi
|
||||
- name: CHECKOUT REPOSITORY
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- uses: docker/metadata-action@v5
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
id: metadata
|
||||
|
@ -48,10 +48,10 @@ jobs:
|
|||
polling-seconds: 60
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
uses: erlef/setup-beam@v1.17
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{ env.OTP_VERSION }}
|
||||
elixir-version: "1.17"
|
||||
elixir-version: "1.18"
|
||||
- name: SETUP ecs-cli
|
||||
if: steps.authorized.outputs.authorized == 'true'
|
||||
env:
|
||||
|
|
|
@ -3,8 +3,7 @@ on:
|
|||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
# 4.1.x
|
||||
- "main"
|
||||
- "v4.1.x"
|
||||
paths:
|
||||
- "deps/*/src/**"
|
||||
- 'deps/rabbitmq_management/priv/**'
|
||||
|
@ -18,10 +17,10 @@ jobs:
|
|||
steps:
|
||||
- name: Compute prerelease identifier from commit SHA
|
||||
run: echo "PRERELEASE_IDENTIFIER=`echo ${{ github.sha }} | cut -c1-8`" >> $GITHUB_ENV
|
||||
- name: Trigger a 4.0.x alpha build in ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
- name: Trigger a 4.1.x alpha build in ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.RABBITMQCI_BOT_TOKEN }}
|
||||
token: ${{ secrets.MK_RELEASE_AUTOMATION_TOKEN }}
|
||||
repository: ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
event-type: "new_4.1.x_alpha"
|
||||
client-payload: |-
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
name: "Trigger a 4.2.x alpha release build"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- "v4.2.x"
|
||||
paths:
|
||||
- "deps/*/src/**"
|
||||
- 'deps/rabbitmq_management/priv/**'
|
||||
- ".github/workflows/**"
|
||||
- "rabbitmq-components.mk"
|
||||
env:
|
||||
DEV_WORKFLOW_REPOSITORY: "rabbitmq/server-packages"
|
||||
jobs:
|
||||
trigger_alpha_build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Compute prerelease identifier from commit SHA
|
||||
run: echo "PRERELEASE_IDENTIFIER=`echo ${{ github.sha }} | cut -c1-8`" >> $GITHUB_ENV
|
||||
- name: Trigger a 4.2.x alpha build in ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.MK_RELEASE_AUTOMATION_TOKEN }}
|
||||
repository: ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
event-type: "new_4.2.x_alpha"
|
||||
client-payload: |-
|
||||
{
|
||||
"release_repository": "${{ env.DEV_WORKFLOW_REPOSITORY }}",
|
||||
"release_description": "Commit: https://github.com/rabbitmq/rabbitmq-server/commit/${{ github.sha }}, pushed at: ${{ github.event.repository.pushed_at }}",
|
||||
"prerelease": true,
|
||||
"prerelease_kind": "alpha",
|
||||
"prerelease_identifier": "${{ env.PRERELEASE_IDENTIFIER }}",
|
||||
"release_title": "RabbitMQ ${{ vars.SERVER_42_NEXT_PATCH_VERSION }}-alpha.${{ env.PRERELEASE_IDENTIFIER }} (from ${{ github.event.repository.pushed_at }})",
|
||||
"base_version": "${{ vars.SERVER_42_NEXT_PATCH_VERSION }}"
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
name: "Trigger a 4.0.x alpha release build"
|
||||
name: "Trigger a 4.3.x alpha release build"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- "v4.0.x"
|
||||
- "main"
|
||||
paths:
|
||||
- "deps/*/src/**"
|
||||
- 'deps/rabbitmq_management/priv/**'
|
||||
|
@ -17,12 +17,12 @@ jobs:
|
|||
steps:
|
||||
- name: Compute prerelease identifier from commit SHA
|
||||
run: echo "PRERELEASE_IDENTIFIER=`echo ${{ github.sha }} | cut -c1-8`" >> $GITHUB_ENV
|
||||
- name: Trigger a 4.0.x alpha build in ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
- name: Trigger a 4.3.x alpha build in ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.RABBITMQCI_BOT_TOKEN }}
|
||||
token: ${{ secrets.MK_RELEASE_AUTOMATION_TOKEN }}
|
||||
repository: ${{ env.DEV_WORKFLOW_REPOSITORY }}
|
||||
event-type: "new_4.0.x_alpha"
|
||||
event-type: "new_4.3.x_alpha"
|
||||
client-payload: |-
|
||||
{
|
||||
"release_repository": "${{ env.DEV_WORKFLOW_REPOSITORY }}",
|
||||
|
@ -30,6 +30,6 @@ jobs:
|
|||
"prerelease": true,
|
||||
"prerelease_kind": "alpha",
|
||||
"prerelease_identifier": "${{ env.PRERELEASE_IDENTIFIER }}",
|
||||
"release_title": "RabbitMQ ${{ vars.SERVER_40_NEXT_PATCH_VERSION }}-alpha.${{ env.PRERELEASE_IDENTIFIER }} (from ${{ github.event.repository.pushed_at }})",
|
||||
"base_version": "${{ vars.SERVER_40_NEXT_PATCH_VERSION }}"
|
||||
"release_title": "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-alpha.${{ env.PRERELEASE_IDENTIFIER }} (from ${{ github.event.repository.pushed_at }})",
|
||||
"base_version": "${{ vars.SERVER_43_NEXT_PATCH_VERSION }}"
|
||||
}
|
|
@ -1,214 +0,0 @@
|
|||
#@ load("@ytt:data", "data")
|
||||
#@yaml/text-templated-strings
|
||||
|
||||
#@ def job_names(plugins):
|
||||
#@ names = []
|
||||
#@ for p in plugins:
|
||||
#@ names.append("test-"+p+"-mixed")
|
||||
#@ end
|
||||
#@ return names
|
||||
#@ end
|
||||
|
||||
#@ def sharded_job_names(plugin, shard_count):
|
||||
#@ names = []
|
||||
#@ for shard_index in range(0, shard_count):
|
||||
#@ names.append("test-"+plugin+"-"+str(shard_index)+"-mixed")
|
||||
#@ end
|
||||
#@ return names
|
||||
#@ end
|
||||
|
||||
---
|
||||
name: Test Mixed Version Clusters
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- v4.0.x
|
||||
- v3.13.x
|
||||
- bump-otp-*
|
||||
- bump-elixir-*
|
||||
- bump-rbe-*
|
||||
- bump-rules_erlang
|
||||
paths:
|
||||
- 'deps/**'
|
||||
- 'scripts/**'
|
||||
- Makefile
|
||||
- plugins.mk
|
||||
- rabbitmq-components.mk
|
||||
- .bazelrc
|
||||
- .bazelversion
|
||||
- BUILD.*
|
||||
- '*.bzl'
|
||||
- '*.bazel'
|
||||
- .github/workflows/test-mixed-versions.yaml
|
||||
pull_request:
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
ensure-mixed-version-archive:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: primary-umbrella
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- name: CHECK FOR ARCHIVE ON S3
|
||||
id: check
|
||||
working-directory: primary-umbrella
|
||||
run: |
|
||||
set -u
|
||||
|
||||
ARCHIVE_URL="$(grep -Eo 'https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com.*.tar.xz' bazel/bzlmod/secondary_umbrella.bzl)"
|
||||
echo "ARCHIVE_URL: ${ARCHIVE_URL}"
|
||||
|
||||
curl -LO "${ARCHIVE_URL}"
|
||||
|
||||
if xzcat --test package-generic-unix-for-mixed-version-testing-v*.tar.xz; then
|
||||
exists=true
|
||||
else
|
||||
exists=false
|
||||
fi
|
||||
echo "exists=${exists}" | tee $GITHUB_ENV
|
||||
|
||||
OTP_VERSION=${ARCHIVE_URL#*secondary-umbrellas/}
|
||||
OTP_VERSION=${OTP_VERSION%*/package-generic-unix-for-mixed-version-testing-v*.tar.xz}
|
||||
echo "otp_version=${OTP_VERSION}" | tee -a $GITHUB_OUTPUT
|
||||
|
||||
VERSION=${ARCHIVE_URL#*package-generic-unix-for-mixed-version-testing-v}
|
||||
VERSION=${VERSION%*.tar.xz}
|
||||
echo "version=${VERSION}" | tee -a $GITHUB_OUTPUT
|
||||
- name: CHECKOUT REPOSITORY (MIXED VERSION)
|
||||
if: env.exists != 'true'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: v${{ steps.check.outputs.version }}
|
||||
path: secondary-umbrella
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
if: env.exists != 'true'
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ steps.check.outputs.otp_version }}
|
||||
elixir-version: 1.15
|
||||
hexpm-mirrors: |
|
||||
https://builds.hex.pm
|
||||
https://cdn.jsdelivr.net/hex
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.7
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: BUILD SECONDARY UMBRELLA ARCHIVE
|
||||
if: env.exists != 'true'
|
||||
working-directory: secondary-umbrella
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}
|
||||
build --google_default_credentials
|
||||
|
||||
build --remote_download_toplevel
|
||||
EOF
|
||||
fi
|
||||
|
||||
sed -i"_orig" -E "/APP_VERSION/ s/3\.[0-9]+\.[0-9]+/${{ steps.check.outputs.version }}/" rabbitmq.bzl
|
||||
bazelisk build :package-generic-unix \
|
||||
--test_build \
|
||||
--verbose_failures
|
||||
|
||||
OUTPUT_DIR=${{ github.workspace }}/output
|
||||
mkdir -p ${OUTPUT_DIR}/${{ steps.check.outputs.otp_version }}
|
||||
cp \
|
||||
bazel-bin/package-generic-unix.tar.xz \
|
||||
${OUTPUT_DIR}/${{ steps.check.outputs.otp_version }}/package-generic-unix-for-mixed-version-testing-v${{ steps.check.outputs.version }}.tar.xz
|
||||
- name: UPLOAD THE ARCHIVE TO S3
|
||||
if: env.exists != 'true'
|
||||
uses: jakejarvis/s3-sync-action@v0.5.1
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
|
||||
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
|
||||
AWS_REGION: ${{ secrets.AWS_REGION }}
|
||||
SOURCE_DIR: output
|
||||
DEST_DIR: secondary-umbrellas
|
||||
|
||||
check-workflow:
|
||||
needs: ensure-mixed-version-archive
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: SETUP ERLANG/ELIXIR
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: 26
|
||||
elixir-version: 1.15
|
||||
hexpm-mirrors: |
|
||||
https://builds.hex.pm
|
||||
https://cdn.jsdelivr.net/hex
|
||||
- name: ENSURE WORKFLOWS ARE UP TO DATE
|
||||
run: |
|
||||
mkdir local-bin/
|
||||
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
|
||||
make actions-workflows YTT=$PWD/local-bin/ytt
|
||||
git diff --exit-code
|
||||
- name: COMPUTE REPO CACHE KEY
|
||||
id: repo-cache-key
|
||||
run: |
|
||||
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||
|
||||
#@ for plugin in data.values.internal_deps:
|
||||
test-(@= plugin @)-mixed:
|
||||
needs: check-workflow
|
||||
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: #@ plugin
|
||||
secrets: inherit
|
||||
#@ end
|
||||
|
||||
#@ rabbit_shard_count = 10
|
||||
#@ for shard_index in range(0, rabbit_shard_count):
|
||||
test-rabbit-(@= str(shard_index) @)-mixed:
|
||||
needs: #@ ["check-workflow"] + job_names(data.values.internal_deps)
|
||||
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: rabbit
|
||||
shard_index: #@ shard_index
|
||||
shard_count: #@ rabbit_shard_count
|
||||
secrets: inherit
|
||||
#@ end
|
||||
|
||||
test-rabbitmq_cli-mixed:
|
||||
needs: check-workflow
|
||||
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: rabbitmq_cli
|
||||
secrets: inherit
|
||||
|
||||
#@ for plugin in data.values.tier1_plugins:
|
||||
test-(@= plugin @)-mixed:
|
||||
needs: #@ ["check-workflow"] + sharded_job_names("rabbit", rabbit_shard_count)
|
||||
uses: ./.github/workflows/test-plugin-mixed.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: #@ plugin
|
||||
secrets: inherit
|
||||
#@ end
|
||||
|
||||
summary-test:
|
||||
needs: #@ job_names(data.values.internal_deps + data.values.tier1_plugins) + sharded_job_names("rabbit", rabbit_shard_count) + ["test-rabbitmq_cli-mixed"]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
|
||||
${{ toJson(needs) }}
|
||||
EOF
|
|
@ -1,152 +0,0 @@
|
|||
#@ load("@ytt:data", "data")
|
||||
#@yaml/text-templated-strings
|
||||
|
||||
#@ def job_names(plugins):
|
||||
#@ names = []
|
||||
#@ for p in plugins:
|
||||
#@ names.append("test-"+p)
|
||||
#@ end
|
||||
#@ return names
|
||||
#@ end
|
||||
|
||||
#@ def sharded_job_names(plugin, shard_count):
|
||||
#@ names = []
|
||||
#@ for shard_index in range(0, shard_count):
|
||||
#@ names.append("test-"+plugin+"-"+str(shard_index))
|
||||
#@ end
|
||||
#@ return names
|
||||
#@ end
|
||||
|
||||
---
|
||||
name: Test
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
#! - main
|
||||
- v4.0.x
|
||||
- v3.13.x
|
||||
- v3.12.x
|
||||
- v3.11.x
|
||||
- bump-otp-for-oci
|
||||
- bump-rbe-*
|
||||
- bump-rules_erlang
|
||||
paths:
|
||||
- 'deps/**'
|
||||
- 'scripts/**'
|
||||
- Makefile
|
||||
- plugins.mk
|
||||
- rabbitmq-components.mk
|
||||
- .bazelrc
|
||||
- .bazelversion
|
||||
- BUILD.*
|
||||
- '*.bzl'
|
||||
- '*.bazel'
|
||||
- .github/workflows/test.yaml
|
||||
#! pull_request:
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
check-workflow:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: SETUP ERLANG/ELIXIR
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: 26
|
||||
elixir-version: 1.15
|
||||
hexpm-mirrors: |
|
||||
https://builds.hex.pm
|
||||
https://cdn.jsdelivr.net/hex
|
||||
- name: ENSURE WORKFLOWS ARE UP TO DATE
|
||||
run: |
|
||||
mkdir local-bin/
|
||||
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
|
||||
make actions-workflows YTT=$PWD/local-bin/ytt
|
||||
git diff --exit-code
|
||||
- name: COMPUTE REPO CACHE KEY
|
||||
id: repo-cache-key
|
||||
run: |
|
||||
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.7
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: REPO CACHE
|
||||
id: cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: ${{ steps.repo-cache-key.outputs.value }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: PRIME CACHE
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||
build --google_default_credentials
|
||||
EOF
|
||||
fi
|
||||
cat << EOF >> user.bazelrc
|
||||
build --repository_cache=/home/runner/repo-cache/
|
||||
build --color=yes
|
||||
EOF
|
||||
|
||||
bazelisk cquery \
|
||||
'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
|
||||
--output=label
|
||||
|
||||
#@ for plugin in data.values.internal_deps:
|
||||
test-(@= plugin @):
|
||||
needs: check-workflow
|
||||
uses: ./.github/workflows/test-plugin.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: #@ plugin
|
||||
secrets: inherit
|
||||
#@ end
|
||||
|
||||
#@ rabbit_shard_count = 10
|
||||
#@ for shard_index in range(0, rabbit_shard_count):
|
||||
test-rabbit-(@= str(shard_index) @):
|
||||
needs: #@ ["check-workflow"] + job_names(data.values.internal_deps)
|
||||
uses: ./.github/workflows/test-plugin.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: rabbit
|
||||
shard_index: #@ shard_index
|
||||
shard_count: #@ rabbit_shard_count
|
||||
secrets: inherit
|
||||
#@ end
|
||||
|
||||
test-rabbitmq_cli:
|
||||
needs: check-workflow
|
||||
uses: ./.github/workflows/test-plugin.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: rabbitmq_cli
|
||||
secrets: inherit
|
||||
|
||||
#@ for plugin in data.values.tier1_plugins:
|
||||
test-(@= plugin @):
|
||||
needs: #@ ["check-workflow"] + sharded_job_names("rabbit", rabbit_shard_count)
|
||||
uses: ./.github/workflows/test-plugin.yaml
|
||||
with:
|
||||
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
|
||||
plugin: #@ plugin
|
||||
secrets: inherit
|
||||
#@ end
|
||||
|
||||
summary-test:
|
||||
needs: #@ job_names(data.values.internal_deps + data.values.tier1_plugins) + sharded_job_names("rabbit", rabbit_shard_count) + ["test-rabbitmq_cli"]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
|
||||
${{ toJson(needs) }}
|
||||
EOF
|
|
@ -12,11 +12,6 @@ on:
|
|||
- 'deps/rabbitmq_management/priv/**'
|
||||
- 'deps/rabbitmq_management/selenium/**'
|
||||
- 'scripts/**'
|
||||
- .bazelrc
|
||||
- .bazelversion
|
||||
- BUILD.*
|
||||
- '*.bzl'
|
||||
- '*.bazel'
|
||||
- .github/workflows/test-authnz.yaml
|
||||
pull_request:
|
||||
paths:
|
||||
|
@ -35,21 +30,21 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "26.2"
|
||||
- "27.3"
|
||||
browser:
|
||||
- chrome
|
||||
include:
|
||||
- erlang_version: "26.2"
|
||||
- erlang_version: "27.3"
|
||||
elixir_version: 1.17.3
|
||||
env:
|
||||
SELENIUM_DIR: selenium
|
||||
DOCKER_NETWORK: rabbitmq_net
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Configure OTP & Elixir
|
||||
uses: erlef/setup-beam@v1.17
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
|
@ -58,7 +53,7 @@ jobs:
|
|||
https://cdn.jsdelivr.net/hex
|
||||
|
||||
- name: Authenticate To Google Cloud
|
||||
uses: google-github-actions/auth@v2.1.8
|
||||
uses: google-github-actions/auth@v3.0.0
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
|
||||
|
@ -77,22 +72,24 @@ jobs:
|
|||
docker build -t mocha-test --target test .
|
||||
|
||||
- name: Run Suites
|
||||
run: |
|
||||
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh full-suite-authnz-messaging
|
||||
mkdir -p /tmp/full-suite-authnz-messaging
|
||||
mv /tmp/selenium/* /tmp/full-suite-authnz-messaging
|
||||
|
||||
id: tests
|
||||
run: |
|
||||
export IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
export CONF_DIR_PREFIX="$(mktemp -d)"
|
||||
export RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG
|
||||
echo "Running selenium tests with "
|
||||
echo " - CONF_DIR_PREFIX: ${CONF_DIR_PREFIX}"
|
||||
echo " - IMAGE_TAG: ${IMAGE_TAG}"
|
||||
echo " - RABBITMQ_DOCKER_IMAGE: ${RABBITMQ_DOCKER_IMAGE}"
|
||||
echo "SELENIUM_ARTIFACTS=${CONF_DIR_PREFIX}" >> $GITHUB_ENV
|
||||
${SELENIUM_DIR}/run-suites.sh full-suite-authnz-messaging
|
||||
|
||||
- name: Upload Test Artifacts
|
||||
if: always()
|
||||
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
with:
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: |
|
||||
logs/*
|
||||
screens/*
|
||||
/tmp/selenium/*
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: ${{ env.SELENIUM_ARTIFACTS }}/*
|
||||
|
||||
summary-selenium:
|
||||
needs:
|
||||
|
|
|
@ -15,6 +15,10 @@ on:
|
|||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
previous_version:
|
||||
required: false
|
||||
default: 'tags/v4.0.9'
|
||||
type: string
|
||||
make_target:
|
||||
required: true
|
||||
type: string
|
||||
|
@ -28,13 +32,18 @@ jobs:
|
|||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: FETCH TAGS
|
||||
run: git fetch --tags
|
||||
|
||||
- name: EXTRACT ACTIVEMQ VERSION
|
||||
if: inputs.plugin == 'amqp10_client'
|
||||
run: |
|
||||
awk '/^ACTIVEMQ_VERSION/ {print $1 "=" $3}' deps/amqp10_client/Makefile >> $GITHUB_ENV
|
||||
|
||||
- name: SETUP OTP & ELIXIR
|
||||
uses: erlef/setup-beam@v1.17
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{ inputs.erlang_version }}
|
||||
elixir-version: ${{ inputs.elixir_version }}
|
||||
|
@ -57,7 +66,7 @@ jobs:
|
|||
uses: dsaltares/fetch-gh-release-asset@master
|
||||
if: inputs.mixed_clusters
|
||||
with:
|
||||
version: 'tags/v4.0.5'
|
||||
version: ${{ inputs.previous_version }}
|
||||
regex: true
|
||||
file: "rabbitmq-server-generic-unix-\\d.+\\.tar\\.xz"
|
||||
target: ./
|
||||
|
@ -87,11 +96,39 @@ jobs:
|
|||
sudo systemctl is-active --quiet apparmor.service && sudo systemctl stop apparmor.service
|
||||
sudo systemctl disable apparmor.service
|
||||
|
||||
- name: RUN LOW VERSION ERLANG NODE IN DOCKER
|
||||
if: inputs.make_target == 'ct-rabbit_fifo_prop'
|
||||
run: |
|
||||
# This version must be at least 1 major version lower than inputs.erlang_version
|
||||
LOW_ERLANG_VERSION="26.2"
|
||||
|
||||
# Create ~/.erlang.cookie by starting a distributed node
|
||||
erl -sname temp_node -eval 'halt().' -noshell
|
||||
|
||||
docker run -d --network host --name erlang_low_version erlang:${LOW_ERLANG_VERSION} \
|
||||
erl -sname rabbit_fifo_prop@localhost -setcookie $(cat ~/.erlang.cookie) -noinput
|
||||
|
||||
- name: RESTORE ACTIVEMQ FROM CACHE
|
||||
if: inputs.plugin == 'amqp10_client'
|
||||
uses: actions/cache/restore@v4
|
||||
id: cache-activemq-restore
|
||||
with:
|
||||
path: deps/amqp10_client/test/system_SUITE_data/apache-activemq-${{ env.ACTIVEMQ_VERSION }}-bin.tar.gz
|
||||
key: activemq-${{ env.ACTIVEMQ_VERSION }}
|
||||
|
||||
- name: RUN TESTS
|
||||
if: inputs.plugin != 'rabbitmq_cli'
|
||||
run: |
|
||||
sudo netstat -ntp
|
||||
make -C deps/${{ inputs.plugin }} ${{ inputs.make_target }} RABBITMQ_METADATA_STORE=${{ inputs.metadata_store }}
|
||||
|
||||
- name: CACHE ACTIVEMQ
|
||||
uses: actions/cache/save@v4
|
||||
if: inputs.plugin == 'amqp10_client' && steps.cache-activemq-restore.outputs.cache-hit != 'true'
|
||||
with:
|
||||
path: deps/amqp10_client/test/system_SUITE_data/apache-activemq-${{ env.ACTIVEMQ_VERSION }}-bin.tar.gz
|
||||
key: activemq-${{ env.ACTIVEMQ_VERSION }}
|
||||
|
||||
# rabbitmq_cli needs a correct broker version for two of its tests.
|
||||
# But setting PROJECT_VERSION makes other plugins fail.
|
||||
- name: RUN TESTS (rabbitmq_cli)
|
||||
|
@ -106,5 +143,6 @@ jobs:
|
|||
name: CT logs (${{ inputs.plugin }} ${{ inputs.make_target }} OTP-${{ inputs.erlang_version }} ${{ inputs.metadata_store }}${{ inputs.mixed_clusters && ' mixed' || '' }})
|
||||
path: |
|
||||
logs/
|
||||
deps/rabbitmq_cli/logs/
|
||||
# !logs/**/log_private
|
||||
if-no-files-found: ignore
|
||||
|
|
|
@ -14,6 +14,9 @@ on:
|
|||
mixed_clusters:
|
||||
required: true
|
||||
type: boolean
|
||||
previous_version:
|
||||
required: false
|
||||
type: string
|
||||
jobs:
|
||||
test-rabbit:
|
||||
name: Test rabbit
|
||||
|
@ -25,18 +28,23 @@ jobs:
|
|||
- parallel-ct-set-2
|
||||
- parallel-ct-set-3
|
||||
- parallel-ct-set-4
|
||||
- parallel-ct-set-5
|
||||
- ct-amqp_client
|
||||
- ct-clustering_management
|
||||
- ct-clustering_recovery
|
||||
- eunit ct-dead_lettering
|
||||
- ct-feature_flags
|
||||
- ct-metadata_store_clustering
|
||||
- ct-quorum_queue
|
||||
- ct-rabbit_stream_queue
|
||||
- ct-rabbit_fifo_prop
|
||||
uses: ./.github/workflows/test-make-target.yaml
|
||||
with:
|
||||
erlang_version: ${{ inputs.erlang_version }}
|
||||
elixir_version: ${{ inputs.elixir_version }}
|
||||
metadata_store: ${{ inputs.metadata_store }}
|
||||
mixed_clusters: ${{ inputs.mixed_clusters }}
|
||||
previous_version: ${{ inputs.previous_version }}
|
||||
make_target: ${{ matrix.make_target }}
|
||||
plugin: rabbit
|
||||
|
||||
|
@ -48,6 +56,7 @@ jobs:
|
|||
elixir_version: ${{ inputs.elixir_version }}
|
||||
metadata_store: ${{ inputs.metadata_store }}
|
||||
mixed_clusters: ${{ inputs.mixed_clusters }}
|
||||
previous_version: ${{ inputs.previous_version }}
|
||||
make_target: parallel-ct-set-1
|
||||
plugin: rabbitmq_mqtt
|
||||
|
||||
|
@ -61,6 +70,7 @@ jobs:
|
|||
elixir_version: ${{ inputs.elixir_version }}
|
||||
metadata_store: ${{ inputs.metadata_store }}
|
||||
mixed_clusters: ${{ inputs.mixed_clusters }}
|
||||
previous_version: ${{ inputs.previous_version }}
|
||||
make_target: ct-config_schema ct-unit
|
||||
plugin: rabbitmq_peer_discovery_aws
|
||||
|
||||
|
@ -85,7 +95,8 @@ jobs:
|
|||
- rabbitmq_cli
|
||||
- rabbitmq_consistent_hash_exchange
|
||||
- rabbitmq_event_exchange
|
||||
- rabbitmq_federation
|
||||
- rabbitmq_exchange_federation
|
||||
- rabbitmq_federation_common
|
||||
- rabbitmq_federation_management
|
||||
- rabbitmq_federation_prometheus
|
||||
- rabbitmq_jms_topic_exchange
|
||||
|
@ -97,6 +108,7 @@ jobs:
|
|||
- rabbitmq_peer_discovery_k8s
|
||||
- rabbitmq_prelaunch
|
||||
- rabbitmq_prometheus
|
||||
- rabbitmq_queue_federation
|
||||
- rabbitmq_recent_history_exchange
|
||||
- rabbitmq_sharding
|
||||
- rabbitmq_shovel
|
||||
|
@ -117,5 +129,6 @@ jobs:
|
|||
elixir_version: ${{ inputs.elixir_version }}
|
||||
metadata_store: ${{ inputs.metadata_store }}
|
||||
mixed_clusters: ${{ inputs.mixed_clusters }}
|
||||
previous_version: ${{ inputs.previous_version }}
|
||||
make_target: tests
|
||||
plugin: ${{ matrix.plugin }}
|
||||
|
|
|
@ -17,7 +17,7 @@ jobs:
|
|||
plugin:
|
||||
# These are using plugin-specific test jobs.
|
||||
- rabbit
|
||||
- rabbitmq_mqtt
|
||||
# - rabbitmq_mqtt # disabled due to Elixir 1.18 JSON conficts
|
||||
- rabbitmq_peer_discovery_aws
|
||||
# These are from the test-plugin test job.
|
||||
- amqp10_client
|
||||
|
@ -34,7 +34,8 @@ jobs:
|
|||
- rabbitmq_aws
|
||||
- rabbitmq_consistent_hash_exchange
|
||||
- rabbitmq_event_exchange
|
||||
- rabbitmq_federation
|
||||
- rabbitmq_exchange_federation
|
||||
- rabbitmq_federation_common
|
||||
- rabbitmq_federation_management
|
||||
- rabbitmq_federation_prometheus
|
||||
- rabbitmq_jms_topic_exchange
|
||||
|
@ -50,19 +51,20 @@ jobs:
|
|||
- rabbitmq_peer_discovery_k8s
|
||||
- rabbitmq_prelaunch
|
||||
- rabbitmq_prometheus
|
||||
- rabbitmq_queue_federation
|
||||
- rabbitmq_recent_history_exchange
|
||||
- rabbitmq_sharding
|
||||
- rabbitmq_shovel
|
||||
- rabbitmq_shovel_management
|
||||
- rabbitmq_shovel_prometheus
|
||||
- rabbitmq_stomp
|
||||
- rabbitmq_stream
|
||||
# - rabbitmq_stomp # disabled due to Elixir 1.18 JSON conficts
|
||||
# - rabbitmq_stream # disabled due to Elixir 1.18 JSON conficts
|
||||
- rabbitmq_stream_common
|
||||
- rabbitmq_stream_management
|
||||
- rabbitmq_tracing
|
||||
- rabbitmq_trust_store
|
||||
- rabbitmq_web_dispatch
|
||||
- rabbitmq_web_mqtt
|
||||
# - rabbitmq_web_mqtt # disabled due to Elixir 1.18 JSON conficts
|
||||
- rabbitmq_web_stomp
|
||||
# This one we do not want to run tests so no corresponding test job.
|
||||
- rabbitmq_ct_helpers
|
||||
|
|
|
@ -23,20 +23,21 @@ jobs:
|
|||
erlang_version:
|
||||
- '26'
|
||||
- '27'
|
||||
- '28'
|
||||
elixir_version:
|
||||
- '1.17'
|
||||
- '1.18'
|
||||
# @todo Add macOS and Windows.
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: FETCH TAGS
|
||||
run: git fetch --tags
|
||||
|
||||
- name: SETUP OTP & ELIXIR
|
||||
uses: erlef/setup-beam@v1.17
|
||||
uses: erlef/setup-beam@v1.19
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
|
@ -62,10 +63,9 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- '26'
|
||||
## - '27'
|
||||
- '28'
|
||||
elixir_version:
|
||||
- '1.17'
|
||||
- '1.18'
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
|
@ -82,10 +82,9 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- '26'
|
||||
## - '27'
|
||||
- '28'
|
||||
elixir_version:
|
||||
- '1.17'
|
||||
- '1.18'
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
|
@ -102,9 +101,9 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version: # Latest OTP
|
||||
- '27'
|
||||
- '28'
|
||||
elixir_version: # Latest Elixir
|
||||
- '1.17'
|
||||
- '1.18'
|
||||
uses: ./.github/workflows/test-make-type-check.yaml
|
||||
with:
|
||||
erlang_version: ${{ matrix.erlang_version }}
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
name: Test Management UI with Selenium for PRs
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'deps/**'
|
||||
- 'selenium/**'
|
||||
- .github/workflows/test-management-ui-for-pr.yaml
|
||||
pull_request:
|
||||
paths:
|
||||
- deps/rabbitmq_management/src/**
|
||||
- deps/rabbitmq_management/priv/**
|
||||
- deps/rabbitmq_web_dispatch/src/**
|
||||
- selenium/**
|
||||
- scripts/**
|
||||
- .github/workflows/test-management-ui-for-pr.yaml
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
@ -15,21 +18,21 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "26.2"
|
||||
- "27.3"
|
||||
browser:
|
||||
- chrome
|
||||
include:
|
||||
- erlang_version: "26.2"
|
||||
- erlang_version: "27.3"
|
||||
elixir_version: 1.17
|
||||
env:
|
||||
SELENIUM_DIR: selenium
|
||||
DOCKER_NETWORK: rabbitmq_net
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Configure OTP & Elixir
|
||||
uses: erlef/setup-beam@v1.17
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
|
@ -38,7 +41,7 @@ jobs:
|
|||
https://cdn.jsdelivr.net/hex
|
||||
|
||||
- name: Authenticate To Google Cloud
|
||||
uses: google-github-actions/auth@v2.1.8
|
||||
uses: google-github-actions/auth@v3.0.0
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
|
||||
|
@ -56,27 +59,22 @@ jobs:
|
|||
cd ${SELENIUM_DIR}
|
||||
docker build -t mocha-test --target test .
|
||||
|
||||
- name: Run short ui suites on a standalone rabbitmq server
|
||||
- name: Run short UI suites on a standalone rabbitmq server
|
||||
id: tests
|
||||
run: |
|
||||
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh short-suite-management-ui
|
||||
mkdir -p /tmp/short-suite
|
||||
mv /tmp/selenium/* /tmp/short-suite
|
||||
|
||||
export IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
export CONF_DIR_PREFIX="$(mktemp -d)"
|
||||
export RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG
|
||||
echo "Running selenium tests with "
|
||||
echo " - CONF_DIR_PREFIX: ${CONF_DIR_PREFIX}"
|
||||
echo " - IMAGE_TAG: ${IMAGE_TAG}"
|
||||
echo " - RABBITMQ_DOCKER_IMAGE: ${RABBITMQ_DOCKER_IMAGE}"
|
||||
echo "SELENIUM_ARTIFACTS=${CONF_DIR_PREFIX}" >> $GITHUB_ENV
|
||||
${SELENIUM_DIR}/run-suites.sh short-suite-management-ui
|
||||
|
||||
- name: Upload Test Artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: |
|
||||
/tmp/short-suite
|
||||
|
||||
summary-selenium:
|
||||
needs:
|
||||
- selenium
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
echo "SUCCESS"
|
||||
path: ${{ env.SELENIUM_ARTIFACTS }}/*
|
||||
|
|
|
@ -3,20 +3,12 @@ on:
|
|||
push:
|
||||
branches:
|
||||
- main
|
||||
- v4.0.x
|
||||
- bump-otp-for-oci
|
||||
- bump-rbe-*
|
||||
- bump-rules_erlang
|
||||
- 'v4.*.x'
|
||||
paths:
|
||||
- 'deps/rabbitmq_management/src/**'
|
||||
- 'deps/rabbitmq_management/priv/**'
|
||||
- 'deps/rabbitmq_web_dispatch/src/**'
|
||||
- 'scripts/**'
|
||||
- .bazelrc
|
||||
- .bazelversion
|
||||
- BUILD.*
|
||||
- '*.bzl'
|
||||
- '*.bazel'
|
||||
- 'selenium/**'
|
||||
- .github/workflows/test-management-ui.yaml
|
||||
|
||||
|
@ -30,21 +22,21 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "26.2"
|
||||
- "27.3"
|
||||
browser:
|
||||
- chrome
|
||||
include:
|
||||
- erlang_version: "26.2"
|
||||
- erlang_version: "27.3"
|
||||
elixir_version: 1.17.3
|
||||
env:
|
||||
SELENIUM_DIR: selenium
|
||||
DOCKER_NETWORK: rabbitmq_net
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Configure OTP & Elixir
|
||||
uses: erlef/setup-beam@v1.17
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
|
@ -53,7 +45,7 @@ jobs:
|
|||
https://cdn.jsdelivr.net/hex
|
||||
|
||||
- name: Authenticate To Google Cloud
|
||||
uses: google-github-actions/auth@v2.1.8
|
||||
uses: google-github-actions/auth@v3.0.0
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
|
||||
|
@ -71,28 +63,22 @@ jobs:
|
|||
cd ${SELENIUM_DIR}
|
||||
docker build -t mocha-test --target test .
|
||||
|
||||
- name: Run short ui suite on a 3-node rabbitmq cluster
|
||||
- name: Run full UI suite on a 3-node rabbitmq cluster
|
||||
id: tests
|
||||
run: |
|
||||
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
|
||||
${SELENIUM_DIR}/run-suites.sh short-suite-management-ui
|
||||
mkdir -p /tmp/short-suite
|
||||
mv /tmp/selenium/* /tmp/short-suite
|
||||
export IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
|
||||
export CONF_DIR_PREFIX="$(mktemp -d)"
|
||||
export RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG
|
||||
echo "Running selenium tests with "
|
||||
echo " - CONF_DIR_PREFIX: ${CONF_DIR_PREFIX}"
|
||||
echo " - IMAGE_TAG: ${IMAGE_TAG}"
|
||||
echo " - RABBITMQ_DOCKER_IMAGE: ${RABBITMQ_DOCKER_IMAGE}"
|
||||
echo "SELENIUM_ARTIFACTS=${CONF_DIR_PREFIX}" >> $GITHUB_ENV
|
||||
${SELENIUM_DIR}/run-suites.sh full-suite-management-ui
|
||||
|
||||
- name: Upload Test Artifacts
|
||||
if: always()
|
||||
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
||||
uses: actions/upload-artifact@v4.3.2
|
||||
with:
|
||||
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
|
||||
path: |
|
||||
/tmp/full-suite
|
||||
/tmp/short-suite
|
||||
|
||||
summary-selenium:
|
||||
needs:
|
||||
- selenium
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
echo "SUCCESS"
|
||||
path: ${{ env.SELENIUM_ARTIFACTS }}/*
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,30 @@
|
|||
name: Test Mixed with 3.13
|
||||
on:
|
||||
schedule:
|
||||
# at 2:20am on Sundays
|
||||
- cron: 20 2 * * 0
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
previous_version:
|
||||
description: 'Previous version to test against'
|
||||
required: true
|
||||
default: 'tags/v3.13.7'
|
||||
jobs:
|
||||
test-mixed-clusters:
|
||||
name: Test mixed clusters
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- '26'
|
||||
elixir_version:
|
||||
- '1.18'
|
||||
metadata_store:
|
||||
- mnesia
|
||||
uses: ./.github/workflows/test-make-tests.yaml
|
||||
with:
|
||||
erlang_version: ${{ matrix.erlang_version }}
|
||||
elixir_version: ${{ matrix.elixir_version }}
|
||||
previous_version: 'tags/v3.13.7'
|
||||
metadata_store: ${{ matrix.metadata_store }}
|
||||
mixed_clusters: true
|
|
@ -1,171 +0,0 @@
|
|||
name: Test Plugin Mixed Version Clusters
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo_cache_key:
|
||||
required: true
|
||||
type: string
|
||||
plugin:
|
||||
required: true
|
||||
type: string
|
||||
shard_index:
|
||||
default: 0
|
||||
type: number
|
||||
shard_count:
|
||||
default: 1
|
||||
type: number
|
||||
secrets:
|
||||
REMOTE_CACHE_BUCKET_NAME_MIXED:
|
||||
required: true
|
||||
REMOTE_CACHE_CREDENTIALS_JSON:
|
||||
required: true
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- 26
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
include:
|
||||
- erlang_version: 26
|
||||
elixir_version: 1.17
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: LOAD REPO CACHE
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: ${{ inputs.repo_cache_key }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
hexpm-mirrors: |
|
||||
https://builds.hex.pm
|
||||
https://cdn.jsdelivr.net/hex
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.8
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: CONFIGURE BAZEL
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}
|
||||
build --google_default_credentials
|
||||
|
||||
build --experimental_guard_against_concurrent_changes
|
||||
EOF
|
||||
fi
|
||||
cat << EOF >> user.bazelrc
|
||||
build --repository_cache=/home/runner/repo-cache/
|
||||
build --color=yes
|
||||
EOF
|
||||
|
||||
bazelisk info release
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- name: deps/amqp10_client SETUP
|
||||
if: inputs.plugin == 'amqp10_client'
|
||||
run: |
|
||||
# reduce sandboxing so that activemq works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbit SETUP
|
||||
if: inputs.plugin == 'rabbit'
|
||||
run: |
|
||||
# reduce sandboxing so that maven works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_auth_backend_ldap SETUP
|
||||
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y \
|
||||
ldap-utils \
|
||||
slapd
|
||||
|
||||
sudo systemctl is-active --quiet apparmor.service && sudo systemctl stop apparmor.service
|
||||
sudo systemctl disable apparmor.service
|
||||
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_mqtt SETUP
|
||||
if: inputs.plugin == 'rabbitmq_mqtt'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_peer_discovery_consul SETUP
|
||||
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_stream SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_stream_management SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream_management'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_tracing SETUP
|
||||
if: inputs.plugin == 'rabbitmq_tracing'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: COMPUTE TESTS IN SHARD
|
||||
id: shard
|
||||
run: |
|
||||
bazelisk cquery \
|
||||
'attr("tags", "mixed-version-cluster", tests(//deps/${{ inputs.plugin }}/...)) except attr("tags", "manual", //deps/${{ inputs.plugin }}/...)' \
|
||||
--output=label \
|
||||
| awk '{print $1;}' > tests.log
|
||||
if [[ $(wc -l < tests.log) != "0" ]]; then
|
||||
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
|
||||
printf -v padded_index "%03d" ${{ inputs.shard_index }}
|
||||
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
|
||||
else
|
||||
echo "No tests in this shard"
|
||||
echo "file=" | tee -a $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: RUN TESTS
|
||||
if: steps.shard.outputs.file != '' && inputs.plugin != 'rabbitmq_peer_discovery_aws'
|
||||
run: |
|
||||
echo "Tests in shard:"
|
||||
cat ${{ steps.shard.outputs.file }}
|
||||
echo ""
|
||||
|
||||
## WARNING:
|
||||
## secrets must not be set in --test_env or --action_env,
|
||||
## or otherwise logs must not be saved as artifacts.
|
||||
## rabbit_ct_helpers or other code may log portions of the
|
||||
## env vars and leak them
|
||||
|
||||
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
|
||||
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
|
||||
--build_tests_only \
|
||||
--verbose_failures
|
||||
- name: UPLOAD TEST LOGS
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}-mixed
|
||||
path: |
|
||||
bazel-testlogs/deps/${{ inputs.plugin }}/*
|
|
@ -1,172 +0,0 @@
|
|||
name: Test Plugin
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
repo_cache_key:
|
||||
required: true
|
||||
type: string
|
||||
plugin:
|
||||
required: true
|
||||
type: string
|
||||
shard_index:
|
||||
default: 0
|
||||
type: number
|
||||
shard_count:
|
||||
default: 1
|
||||
type: number
|
||||
secrets:
|
||||
REMOTE_CACHE_BUCKET_NAME:
|
||||
required: true
|
||||
REMOTE_CACHE_CREDENTIALS_JSON:
|
||||
required: true
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
erlang_version:
|
||||
- 26
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
include:
|
||||
- erlang_version: 26
|
||||
elixir_version: 1.17
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: LOAD REPO CACHE
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: ${{ inputs.repo_cache_key }}
|
||||
path: /home/runner/repo-cache/
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: CONFIGURE OTP & ELIXIR
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
hexpm-mirrors: |
|
||||
https://builds.hex.pm
|
||||
https://cdn.jsdelivr.net/hex
|
||||
- name: AUTHENTICATE TO GOOGLE CLOUD
|
||||
uses: google-github-actions/auth@v2.1.8
|
||||
with:
|
||||
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
|
||||
- name: CONFIGURE BAZEL
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||
build --google_default_credentials
|
||||
|
||||
build --experimental_guard_against_concurrent_changes
|
||||
EOF
|
||||
fi
|
||||
cat << EOF >> user.bazelrc
|
||||
build --repository_cache=/home/runner/repo-cache/
|
||||
build --color=yes
|
||||
EOF
|
||||
|
||||
bazelisk info release
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- name: deps/amqp10_client SETUP
|
||||
if: inputs.plugin == 'amqp10_client'
|
||||
run: |
|
||||
# reduce sandboxing so that activemq works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbit SETUP
|
||||
if: inputs.plugin == 'rabbit'
|
||||
run: |
|
||||
# reduce sandboxing so that maven works
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_auth_backend_ldap SETUP
|
||||
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y \
|
||||
ldap-utils \
|
||||
slapd
|
||||
|
||||
sudo systemctl is-active --quiet apparmor.service && sudo systemctl stop apparmor.service
|
||||
sudo systemctl disable apparmor.service
|
||||
|
||||
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_mqtt SETUP
|
||||
if: inputs.plugin == 'rabbitmq_mqtt'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_peer_discovery_consul SETUP
|
||||
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_stream SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_stream_management SETUP
|
||||
if: inputs.plugin == 'rabbitmq_stream_management'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: deps/rabbitmq_tracing SETUP
|
||||
if: inputs.plugin == 'rabbitmq_tracing'
|
||||
run: |
|
||||
cat << EOF >> user.bazelrc
|
||||
build --strategy=TestRunner=local
|
||||
EOF
|
||||
- name: CLI COMPILE WARNINGS AS ERRORS
|
||||
if: inputs.plugin == 'rabbitmq_cli'
|
||||
run: |
|
||||
bazel build //deps/rabbitmq_cli:compile_warnings_as_errors \
|
||||
--verbose_failures
|
||||
- name: COMPUTE TESTS IN SHARD
|
||||
id: shard
|
||||
run: |
|
||||
bazelisk cquery \
|
||||
'tests(//deps/${{ inputs.plugin }}/...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
|
||||
--output=label \
|
||||
| awk '{print $1;}' > tests.log
|
||||
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
|
||||
printf -v padded_index "%03d" ${{ inputs.shard_index }}
|
||||
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
|
||||
- name: RUN TESTS
|
||||
if: inputs.plugin != 'rabbitmq_peer_discovery_aws'
|
||||
run: |
|
||||
echo "Tests in shard:"
|
||||
cat ${{ steps.shard.outputs.file }}
|
||||
echo ""
|
||||
|
||||
## WARNING:
|
||||
## secrets must not be set in --test_env or --action_env,
|
||||
## or otherwise logs must not be saved as artifacts.
|
||||
## rabbit_ct_helpers or other code may log portions of the
|
||||
## env vars and leak them
|
||||
|
||||
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
|
||||
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
|
||||
--build_tests_only \
|
||||
--verbose_failures
|
||||
- name: UPLOAD TEST LOGS
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}
|
||||
path: |
|
||||
bazel-testlogs/deps/${{ inputs.plugin }}/*
|
|
@ -1,67 +0,0 @@
|
|||
name: Test Windows
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
test:
|
||||
name: Test Windows OTP26
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- erlang_version: "26.1"
|
||||
elixir_version: "1.15.2"
|
||||
metadata_store:
|
||||
- mnesia
|
||||
- khepri
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v4
|
||||
- name: CONFIGURE ERLANG
|
||||
uses: erlef/setup-beam@v1.17
|
||||
with:
|
||||
otp-version: ${{ matrix.erlang_version }}
|
||||
elixir-version: ${{ matrix.elixir_version }}
|
||||
#! - name: MOUNT BAZEL CACHE
|
||||
#! uses: actions/cache@v1
|
||||
#! with:
|
||||
#! path: "/home/runner/repo-cache/"
|
||||
#! key: repo-cache
|
||||
- name: CONFIGURE BAZEL
|
||||
id: configure
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
|
||||
cat << EOF >> user.bazelrc
|
||||
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
|
||||
build --google_default_credentials
|
||||
EOF
|
||||
fi
|
||||
cat << EOF >> user.bazelrc
|
||||
startup --output_user_root=C:/tmp
|
||||
startup --windows_enable_symlinks
|
||||
build --enable_runfiles
|
||||
build --color=yes
|
||||
EOF
|
||||
|
||||
bazelisk info release
|
||||
- name: RUN TESTS
|
||||
shell: cmd
|
||||
run: |
|
||||
bazelisk test //... ^
|
||||
--config=buildbuddy ^
|
||||
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} ^
|
||||
--test_tag_filters=-aws,-docker,-bats,-starts-background-broker,-dialyze ^
|
||||
--build_tests_only ^
|
||||
--verbose_failures
|
||||
summary-windows:
|
||||
needs:
|
||||
- test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: SUMMARY
|
||||
run: |
|
||||
echo "SUCCESS"
|
File diff suppressed because it is too large
Load Diff
|
@ -37,6 +37,7 @@ elvis
|
|||
!/deps/rabbitmq_amqp_client/
|
||||
!/deps/rabbitmq_auth_backend_cache/
|
||||
!/deps/rabbitmq_auth_backend_http/
|
||||
!/deps/rabbitmq_auth_backend_internal_loopback/
|
||||
!/deps/rabbitmq_auth_backend_ldap/
|
||||
!/deps/rabbitmq_auth_backend_oauth2/
|
||||
!/deps/rabbitmq_auth_mechanism_ssl/
|
||||
|
@ -47,7 +48,9 @@ elvis
|
|||
!/deps/rabbitmq_ct_helpers/
|
||||
!/deps/rabbitmq_ct_client_helpers/
|
||||
!/deps/rabbitmq_event_exchange/
|
||||
!/deps/rabbitmq_exchange_federation/
|
||||
!/deps/rabbitmq_federation/
|
||||
!/deps/rabbitmq_federation_common/
|
||||
!/deps/rabbitmq_federation_management/
|
||||
!/deps/rabbitmq_federation_prometheus/
|
||||
!/deps/rabbitmq_jms_topic_exchange/
|
||||
|
@ -61,6 +64,7 @@ elvis
|
|||
!/deps/rabbitmq_peer_discovery_k8s/
|
||||
!/deps/rabbitmq_prelaunch/
|
||||
!/deps/rabbitmq_prometheus/
|
||||
!/deps/rabbitmq_queue_federation/
|
||||
!/deps/rabbitmq_random_exchange/
|
||||
!/deps/rabbitmq_recent_history_exchange/
|
||||
!/deps/rabbitmq_sharding/
|
||||
|
@ -93,12 +97,6 @@ rebar.config
|
|||
!/deps/amqp10_common/rebar.config
|
||||
!/rebar.config
|
||||
|
||||
# Bazel.
|
||||
.bazelrc
|
||||
user.bazelrc
|
||||
bazel-*
|
||||
extra_deps/
|
||||
|
||||
# Erlang/OTP unwanted files.
|
||||
.erlang.cookie
|
||||
erl_crash.dump
|
||||
|
|
102
BAZEL.md
102
BAZEL.md
|
@ -1,102 +0,0 @@
|
|||
# [Bazel](https://www.bazel.build/) build
|
||||
|
||||
From https://docs.bazel.build/versions/master/bazel-overview.html
|
||||
> Bazel is an open-source build and test tool similar to Make, Maven, and Gradle. It uses a human-readable, high-level build language. Bazel supports projects in multiple languages and builds outputs for multiple platforms. Bazel supports large codebases across multiple repositories, and large numbers of users.
|
||||
|
||||
## Why RabbitMQ + Bazel?
|
||||
|
||||
RabbitMQ, Tier1 plugins included, is a large codebase. The developer experience benefits from fast incremental compilation.
|
||||
|
||||
More importantly, RabbitMQ's test suite is large and takes hours if run on a single machine. Bazel allows tests to be run in parallel on a large number of remote workers if needed, and furthermore uses cached test results when branches of the codebase remain unchanged.
|
||||
|
||||
Bazel does not provide built in Erlang or Elixir support, nor is there an available library of bazel rules. Therefore, we have defined our own rules in https://github.com/rabbitmq/bazel-erlang. Elixir compilation is handled as a special case within this repository. To use these rules, the location of your Erlang and Elixir installations must be indicated to the build (see below).
|
||||
|
||||
While most of work for running tests happens in Bazel, the suite still makes use of some external tools for commands, notably gnu `make` and `openssl`. Ideally we could bring all of these tools under bazel, so that the only tool needed would be `bazel` or `bazelisk`, but that will take some time.
|
||||
|
||||
## Running Tests
|
||||
|
||||
### Install Bazelisk
|
||||
|
||||
On **macOS**:
|
||||
|
||||
`brew install bazelisk`
|
||||
|
||||
Otherwise:
|
||||
|
||||
https://docs.bazel.build/versions/master/install-bazelisk.html
|
||||
|
||||
### Create `user.bazelrc`
|
||||
|
||||
Create a `user.bazelrc` by making a copy of `user-template.bazelrc` and updating the paths in the first few lines.
|
||||
|
||||
### Run the broker
|
||||
|
||||
`bazel run broker`
|
||||
|
||||
You can set different environment variables to control some configuration aspects, like this:
|
||||
|
||||
```
|
||||
RABBITMQ_CONFIG_FILES=/path/to/conf.d \
|
||||
RABBITMQ_NODENAME=<node>@localhost \
|
||||
RABBITMQ_NODE_PORT=7000 \
|
||||
bazel run broker
|
||||
```
|
||||
|
||||
This will start RabbitMQ with configs being read from the provided directory. It also will start a node with a given node name, and with all listening ports calculated from the given one - this way you can start non-conflicting rabbits even from different checkouts on a single machine.
|
||||
|
||||
|
||||
### Running tests
|
||||
|
||||
Many rabbit tests spawn single or clustered rabbit nodes, and therefore it's best to run test suites sequentially on a single machine. Hence the `build --local_test_jobs=1` flag used in `.bazelrc`. Additionally, it may be reasonable to disable test sharding and stream test output when running tests locally with `--test_output=streamed` as an additional argument (to just disable sharding, but not stream output, use `--test_sharding_strategy=disabled`). Naturally that restriction does not hold if utilizing remote execution (as is the case for RabbitMQ's CI pipelines).
|
||||
|
||||
Erlang Common Test logs will not be placed in the logs directory when run with bazel. They can be found under `bazel-testlogs`. For instance, those of the rabbit application's backing_queue suite will be under `bazel-testlogs/deps/rabbit/backing_queue_SUITE/test.outputs/`.
|
||||
|
||||
### Run all tests
|
||||
|
||||
Note: This takes quite some time on a single machine.
|
||||
|
||||
`bazel test //...`
|
||||
|
||||
### Run tests in a 'package' and its 'subpackages'
|
||||
|
||||
**rabbit** is an appropriate example because it encloses the **rabbitmq_prelaunch** application.
|
||||
|
||||
`bazel test deps/rabbit/...`
|
||||
|
||||
### Run tests for a specific 'package'
|
||||
|
||||
`bazel test deps/rabbit_common:all`
|
||||
|
||||
### Run an individual common test suite
|
||||
|
||||
`bazel test //deps/rabbit:lazy_queue_SUITE`
|
||||
|
||||
## Add/update an external dependency
|
||||
|
||||
### from hex.pm
|
||||
|
||||
1. `bazel run gazelle-update-repos -- hex.pm/accept@0.3.5` to generate/update `bazel/BUILD.accept`
|
||||
1. Add/update the entry in MODULE.bazel
|
||||
|
||||
### from github
|
||||
|
||||
1. `bazel run gazelle-update-repos -- --testonly github.com/extend/ct_helper@master`
|
||||
1. Add/update the entry in MODULE.bazel
|
||||
|
||||
## Update BUILD files
|
||||
|
||||
`bazel run gazelle`
|
||||
|
||||
## Regenerate moduleindex.yaml
|
||||
|
||||
`bazel run :moduleindex > moduleindex.yaml`
|
||||
|
||||
## Additional Useful Commands
|
||||
|
||||
- Format all bazel files consistently (requires [buildifier](https://github.com/bazelbuild/buildtools/blob/master/buildifier/README.md)):
|
||||
|
||||
`buildifier -r .`
|
||||
|
||||
- Remove unused load statements from BUILD.bazel files (requires [buildozer](https://github.com/bazelbuild/buildtools/blob/master/buildozer/README.md)):
|
||||
|
||||
`buildozer 'fix unusedLoads' //...:__pkg__`
|
|
@ -1,8 +0,0 @@
|
|||
filegroup(
|
||||
name = "bin_dir",
|
||||
srcs = glob([
|
||||
"bin/**/*",
|
||||
"libexec/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
337
BUILD.bazel
337
BUILD.bazel
|
@ -1,337 +0,0 @@
|
|||
load(
|
||||
"@bazel_skylib//rules:common_settings.bzl",
|
||||
"bool_flag",
|
||||
)
|
||||
load("@rules_pkg//pkg:mappings.bzl", "pkg_files")
|
||||
load("@bazel_gazelle//:def.bzl", "gazelle")
|
||||
load("@rules_erlang//gazelle:def.bzl", "GAZELLE_ERLANG_RUNTIME_DEPS")
|
||||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
|
||||
load("@rules_erlang//:dialyze.bzl", "DEFAULT_PLT_APPS", "plt")
|
||||
load("@rules_erlang//:shell.bzl", "shell")
|
||||
load("@rules_erlang//:erl_eval.bzl", "erl_eval")
|
||||
load("@rules_erlang//gazelle:moduleindex.bzl", "moduleindex")
|
||||
load("@rules_elixir//:iex_eval.bzl", "iex_eval")
|
||||
load(":rabbitmq_home.bzl", "rabbitmq_home")
|
||||
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
|
||||
load(":rabbitmqctl.bzl", "rabbitmqctl")
|
||||
load(":dist.bzl", "package_generic_unix", "source_archive")
|
||||
load(
|
||||
":rabbitmq.bzl",
|
||||
"RABBITMQ_ERLC_OPTS",
|
||||
"RABBITMQ_TEST_ERLC_OPTS",
|
||||
"all_plugins",
|
||||
"without",
|
||||
)
|
||||
|
||||
exports_files([
|
||||
"scripts/bazel/rabbitmq-run.sh",
|
||||
"scripts/bazel/rabbitmq-run.bat",
|
||||
"release-notes",
|
||||
])
|
||||
|
||||
# gazelle:exclude .github
|
||||
# gazelle:exclude .elixir_ls
|
||||
# gazelle:exclude .erlang.mk
|
||||
# gazelle:exclude bazel
|
||||
# gazelle:exclude bazel-out
|
||||
# gazelle:exclude deps/*/priv
|
||||
# gazelle:exclude deps/accept
|
||||
# gazelle:exclude deps/aten
|
||||
# gazelle:exclude deps/base64url
|
||||
# gazelle:exclude deps/cowboy
|
||||
# gazelle:exclude deps/cowlib
|
||||
# gazelle:exclude deps/credentials_obfuscation
|
||||
# gazelle:exclude deps/csv
|
||||
# gazelle:exclude deps/cth_styledout
|
||||
# gazelle:exclude deps/cuttlefish
|
||||
# gazelle:exclude deps/eetcd
|
||||
# gazelle:exclude deps/elvis_mk
|
||||
# gazelle:exclude deps/enough
|
||||
# gazelle:exclude deps/gen_batch_server
|
||||
# gazelle:exclude deps/getopt
|
||||
# gazelle:exclude deps/gun
|
||||
# gazelle:exclude deps/inet_tcp_proxy
|
||||
# gazelle:exclude deps/jose
|
||||
# gazelle:exclude deps/json
|
||||
# gazelle:exclude deps/meck
|
||||
# gazelle:exclude deps/observer_cli
|
||||
# gazelle:exclude deps/osiris
|
||||
# gazelle:exclude deps/prometheus
|
||||
# gazelle:exclude deps/proper
|
||||
# gazelle:exclude deps/quantile_estimator
|
||||
# gazelle:exclude deps/ra
|
||||
# gazelle:exclude deps/ranch
|
||||
# gazelle:exclude deps/recon
|
||||
# gazelle:exclude deps/redbug
|
||||
# gazelle:exclude deps/seshat
|
||||
# gazelle:exclude deps/stdout_formatter
|
||||
# gazelle:exclude deps/syslog
|
||||
# gazelle:exclude deps/sysmon_handler
|
||||
# gazelle:exclude deps/systemd
|
||||
# gazelle:exclude deps/thoas
|
||||
# gazelle:exclude deps/*/deps
|
||||
# gazelle:exclude deps/*/.erlang.mk
|
||||
# gazelle:exclude deps/rabbitmq_cli/_build
|
||||
# gazelle:exclude extra_deps
|
||||
# gazelle:exclude packaging
|
||||
# gazelle:exclude PACKAGES
|
||||
# gazelle:exclude plugins
|
||||
# gazelle:exclude release-notes
|
||||
# gazelle:exclude logs
|
||||
# gazelle:erlang_apps_dirs deps
|
||||
# gazelle:erlang_skip_rules test_erlang_app
|
||||
# gazelle:erlang_skip_rules ct_test
|
||||
# gazelle:erlang_generate_beam_files_macro
|
||||
# gazelle:erlang_generate_fewer_bytecode_rules
|
||||
# gazelle:erlang_app_dep_exclude rabbitmq_cli
|
||||
# gazelle:map_kind erlang_app rabbitmq_app //:rabbitmq.bzl
|
||||
# gazelle:map_kind assert_suites2 assert_suites //:rabbitmq.bzl
|
||||
|
||||
# gazelle:erlang_module_source_lib Elixir.RabbitMQ.CLI.CommandBehaviour:rabbitmq_cli
|
||||
|
||||
gazelle(
|
||||
name = "gazelle",
|
||||
data = GAZELLE_ERLANG_RUNTIME_DEPS,
|
||||
extra_args = [
|
||||
"--verbose",
|
||||
],
|
||||
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
|
||||
)
|
||||
|
||||
gazelle(
|
||||
name = "gazelle-update-repos",
|
||||
command = "update-repos",
|
||||
data = GAZELLE_ERLANG_RUNTIME_DEPS,
|
||||
extra_args = [
|
||||
"--verbose",
|
||||
"--build_files_dir=bazel",
|
||||
"--recurse_with=gazelle-update-repos",
|
||||
],
|
||||
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
|
||||
)
|
||||
|
||||
bool_flag(
|
||||
name = "enable_test_build",
|
||||
build_setting_default = False,
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "test_build",
|
||||
flag_values = {
|
||||
"//:enable_test_build": "true",
|
||||
},
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = DEFAULT_PLT_APPS + [
|
||||
"compiler",
|
||||
"crypto",
|
||||
], # keep
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
PLUGINS = all_plugins(
|
||||
rabbitmq_workspace = "",
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-home",
|
||||
plugins = PLUGINS,
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-run",
|
||||
home = ":broker-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
# Allows us to `bazel run broker`
|
||||
# for the equivalent of `make run-broker`
|
||||
rabbitmq_run_command(
|
||||
name = "broker",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "run-broker",
|
||||
)
|
||||
|
||||
# Allows us to `bazel run background-broker`
|
||||
# to start a broker in the background
|
||||
rabbitmq_run_command(
|
||||
name = "background-broker",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "start-background-broker",
|
||||
)
|
||||
|
||||
# Allows us to `bazel run stop-broker`
|
||||
# Useful is broker started in the background
|
||||
rabbitmq_run_command(
|
||||
name = "stop-broker",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "stop-node",
|
||||
)
|
||||
|
||||
# Allows us to `bazel run start-cluster`
|
||||
# for the equivalent of `make start-cluster`
|
||||
rabbitmq_run_command(
|
||||
name = "start-cluster",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "start-cluster",
|
||||
)
|
||||
|
||||
# Allows us to `bazel run stop-cluster`
|
||||
# for the equivalent of `make stop-cluster`
|
||||
rabbitmq_run_command(
|
||||
name = "stop-cluster",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "stop-cluster",
|
||||
)
|
||||
|
||||
# `bazel run rabbitmqctl`
|
||||
rabbitmqctl(
|
||||
name = "rabbitmqctl",
|
||||
home = ":broker-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-diagnostics",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-plugins",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-streams",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-queues",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-upgrade",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
shell(
|
||||
name = "repl",
|
||||
deps = PLUGINS,
|
||||
)
|
||||
|
||||
erl_eval(
|
||||
name = "otp_version",
|
||||
outs = ["otp_version.txt"],
|
||||
expression = """{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), file:write_file(os:getenv("OUTS"), Version), halt().""",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
iex_eval(
|
||||
name = "elixir_version",
|
||||
outs = ["elixir_version.txt"],
|
||||
expression = """File.write!(System.get_env("OUTS"), System.version()); System.halt()""",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "root-licenses",
|
||||
srcs = glob(["LICENSE*"]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "scripts-files",
|
||||
srcs = [
|
||||
"scripts/bash_autocomplete.sh",
|
||||
"scripts/rabbitmq-script-wrapper",
|
||||
"scripts/rabbitmqctl-autocomplete.sh",
|
||||
"scripts/zsh_autocomplete.sh",
|
||||
],
|
||||
prefix = "scripts",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
pkg_files(
|
||||
name = "release-notes-files",
|
||||
srcs = glob([
|
||||
"release-notes/*.md",
|
||||
"release-notes/*.txt",
|
||||
]),
|
||||
prefix = "release-notes",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
package_generic_unix(
|
||||
name = "package-generic-unix",
|
||||
plugins = PLUGINS,
|
||||
)
|
||||
|
||||
source_archive(
|
||||
name = "source_archive",
|
||||
plugins = PLUGINS,
|
||||
)
|
||||
|
||||
moduleindex(
|
||||
name = "moduleindex",
|
||||
testonly = True,
|
||||
apps = PLUGINS + [
|
||||
"@ct_helper//:erlang_app",
|
||||
"@emqtt//:erlang_app",
|
||||
"@inet_tcp_proxy_dist//:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
"//deps/rabbitmq_ct_client_helpers:erlang_app",
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
"//deps/trust_store_http:erlang_app",
|
||||
],
|
||||
tags = ["manual"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "test-logs",
|
||||
actual = "//bazel/util:test-logs",
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "remote-test-logs",
|
||||
actual = "//bazel/util:remote-test-logs",
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "test-node-data",
|
||||
actual = "//bazel/util:test-node-data",
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "remote-test-node-data",
|
||||
actual = "//bazel/util:remote-test-node-data",
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_ERLC_OPTS),
|
||||
"//conditions:default": RABBITMQ_ERLC_OPTS,
|
||||
}) + select({
|
||||
":test_build": [
|
||||
"-DTEST=1",
|
||||
"+nowarn_export_all",
|
||||
],
|
||||
"//conditions:default": [],
|
||||
}), # keep
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "test_erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS),
|
||||
"//conditions:default": RABBITMQ_TEST_ERLC_OPTS,
|
||||
}), # keep
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
|
@ -1,46 +0,0 @@
|
|||
load("@//:rabbitmq_package_generic_unix.bzl", "rabbitmq_package_generic_unix")
|
||||
load("@//:rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
|
||||
load("@//:rabbitmqctl.bzl", "rabbitmqctl")
|
||||
|
||||
rabbitmq_package_generic_unix(
|
||||
name = "broker-home",
|
||||
additional_files =
|
||||
glob(
|
||||
[
|
||||
"sbin/*",
|
||||
"escript/*",
|
||||
],
|
||||
exclude = ["sbin/rabbitmqctl"],
|
||||
) + [
|
||||
"//plugins:standard_plugins",
|
||||
"//plugins:inet_tcp_proxy_ez",
|
||||
],
|
||||
rabbitmqctl = "sbin/rabbitmqctl",
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-run",
|
||||
home = ":broker-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
rabbitmq_run_command(
|
||||
name = "broker",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "run-broker",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmqctl",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-diagnostics",
|
||||
home = ":broker-home",
|
||||
)
|
||||
|
||||
rabbitmqctl(
|
||||
name = "rabbitmq-plugins",
|
||||
home = ":broker-home",
|
||||
)
|
|
@ -7,13 +7,13 @@ Pull requests is the primary place of discussing code changes.
|
|||
|
||||
The process is fairly standard:
|
||||
|
||||
* Make sure you (or your employer/client) [signs the Contributor License Agreement](https://github.com/rabbitmq/cla) if needed (see below)
|
||||
* Present your idea to the RabbitMQ core team using [GitHub Discussions](https://github.com/rabbitmq/rabbitmq-server/discussions) or [RabbitMQ community Discord server](https://rabbitmq.com/discord)
|
||||
* Fork the repository or repositories you plan on contributing to
|
||||
* Run `git clean -xfffd && gmake clean && gmake distclean && gmake` to build all subprojects from scratch
|
||||
* Create a branch with a descriptive name
|
||||
* Make your changes, run tests, ensure correct code formatting, commit with a [descriptive message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), push to your fork
|
||||
* Submit pull requests with an explanation what has been changed and **why**
|
||||
* Submit a filled out and signed [Contributor Agreement](https://cla.pivotal.io/) if needed (see below)
|
||||
* Be patient. We will get to your pull request eventually
|
||||
|
||||
|
||||
|
@ -35,8 +35,8 @@ killall -9 beam.smp; killall -9 erl; killall -9 make; killall -9 epmd; killall -
|
|||
cd deps/rabbit
|
||||
|
||||
# cleans build artifacts
|
||||
git clean -xfffd
|
||||
gmake clean; gmake distclean
|
||||
git clean -xfffd
|
||||
|
||||
# builds the broker and all of its dependencies
|
||||
gmake
|
||||
|
@ -79,6 +79,27 @@ Or, with Nu shell:
|
|||
with-env {'RABBITMQ_METADATA_STORE': 'khepri'} { gmake ct-quorum_queue }
|
||||
```
|
||||
|
||||
### Running Mixed Version Tests
|
||||
|
||||
For some components, it's important to run tests in a mixed-version cluster, to make sure the upgrades
|
||||
are handled correctly. For example, you may want to make sure that the quorum_queue suite passes, when
|
||||
there's a mix of RabbitMQ 4.1 and 4.2 nodes in the cluster.
|
||||
|
||||
Here's how you can do that:
|
||||
|
||||
```shell
|
||||
# download the older version, eg:
|
||||
https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.1.1/rabbitmq-server-generic-unix-4.1.1.tar.xz
|
||||
|
||||
# unpack it
|
||||
tar xf rabbitmq-server-generic-unix-4.1.1.tar.xz
|
||||
|
||||
# run the test with SECONDARY_DIST pointing at the extracted folder
|
||||
SECONDARY_DIST=rabbitmq_server-4.1.1 make -C deps/rabbit ct-quorum_queue
|
||||
```
|
||||
|
||||
Odd-numbered nodes (eg. 1 and 3) will be started using the main repository, while even-numbered nodes (eg. node 2)
|
||||
will run the older version.
|
||||
|
||||
## Running Single Nodes from Source
|
||||
|
||||
|
@ -192,10 +213,11 @@ See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
|
|||
|
||||
## Contributor Agreement
|
||||
|
||||
If you want to contribute a non-trivial change, please submit a signed copy of our
|
||||
[Contributor Agreement](https://cla.pivotal.io/) around the time
|
||||
you submit your pull request. This will make it much easier (in some cases, possible)
|
||||
for the RabbitMQ team at Pivotal to merge your contribution.
|
||||
Before submitting your first pull request, please submit a signed copy of our
|
||||
[Contributor Agreement](https://github.com/rabbitmq/cla) over email to `teamrabbitmq </> gmail dot c0m` with the subject of "RabbitMQ CLA".
|
||||
|
||||
Team RabbitMQ will not be able to accept contributions from individuals and legal entities (companies, non-profits)
|
||||
that haven't signed the CLA.
|
||||
|
||||
## Where to Ask Questions
|
||||
|
||||
|
|
442
MODULE.bazel
442
MODULE.bazel
|
@ -1,442 +0,0 @@
|
|||
module(
|
||||
name = "rabbitmq-server",
|
||||
version = "4.0.0",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "rules_pkg",
|
||||
version = "0.10.1",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "bazel_skylib",
|
||||
version = "1.7.1",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "aspect_bazel_lib",
|
||||
version = "2.5.3",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "platforms",
|
||||
version = "0.0.8",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "rules_cc",
|
||||
version = "0.0.9",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "rules_oci",
|
||||
version = "1.7.4",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "container_structure_test",
|
||||
version = "1.16.0",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "gazelle",
|
||||
version = "0.33.0",
|
||||
repo_name = "bazel_gazelle",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "rules_erlang",
|
||||
version = "3.16.0",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "rules_elixir",
|
||||
version = "1.1.0",
|
||||
)
|
||||
|
||||
bazel_dep(
|
||||
name = "rabbitmq_osiris",
|
||||
version = "1.8.5",
|
||||
repo_name = "osiris",
|
||||
)
|
||||
|
||||
erlang_config = use_extension(
|
||||
"@rules_erlang//bzlmod:extensions.bzl",
|
||||
"erlang_config",
|
||||
)
|
||||
|
||||
use_repo(
|
||||
erlang_config,
|
||||
"erlang_config",
|
||||
)
|
||||
|
||||
elixir_config = use_extension(
|
||||
"@rules_elixir//bzlmod:extensions.bzl",
|
||||
"elixir_config",
|
||||
)
|
||||
|
||||
use_repo(
|
||||
elixir_config,
|
||||
"elixir_config",
|
||||
)
|
||||
|
||||
register_toolchains(
|
||||
"@elixir_config//external:toolchain",
|
||||
)
|
||||
|
||||
erlang_package = use_extension(
|
||||
"@rules_erlang//bzlmod:extensions.bzl",
|
||||
"erlang_package",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "accept",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.accept",
|
||||
sha256 = "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8",
|
||||
version = "0.3.5",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "aten",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.aten",
|
||||
sha256 = "5f39a164206ae3f211ef5880b1f7819415686436e3229d30b6a058564fbaa168",
|
||||
version = "0.6.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "base64url",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.base64url",
|
||||
sha256 = "f9b3add4731a02a9b0410398b475b33e7566a695365237a6bdee1bb447719f5c",
|
||||
version = "1.0.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "cowboy",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.cowboy",
|
||||
patch_cmds = [
|
||||
"rm ebin/cowboy.app",
|
||||
],
|
||||
sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e",
|
||||
version = "2.12.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "cowlib",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.cowlib",
|
||||
patch_cmds = [
|
||||
"rm ebin/cowlib.app",
|
||||
],
|
||||
sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4",
|
||||
version = "2.13.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "credentials_obfuscation",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.credentials_obfuscation",
|
||||
sha256 = "738ace0ed5545d2710d3f7383906fc6f6b582d019036e5269c4dbd85dbced566",
|
||||
version = "3.4.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "csv",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.csv",
|
||||
sha256 = "8f55a0524923ae49e97ff2642122a2ce7c61e159e7fe1184670b2ce847aee6c8",
|
||||
version = "3.2.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "cuttlefish",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.cuttlefish",
|
||||
sha256 = "43cadd7f34b3dbbab52a7f4110d1df276a13cff5e11afe0f5a774f69f012b76b",
|
||||
version = "3.4.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "eetcd",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.eetcd",
|
||||
sha256 = "66493bfd6698c1b6baa49679034c3def071ff329961ca1aa7b1dee061c2809af",
|
||||
version = "0.3.6",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "enough",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.enough",
|
||||
sha256 = "0460c7abda5f5e0ea592b12bc6976b8a5c4b96e42f332059cd396525374bf9a1",
|
||||
version = "0.1.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "gen_batch_server",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.gen_batch_server",
|
||||
sha256 = "c3e6a1a2a0fb62aee631a98cfa0fd8903e9562422cbf72043953e2fb1d203017",
|
||||
version = "0.8.8",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "getopt",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.getopt",
|
||||
sha256 = "a0029aea4322fb82a61f6876a6d9c66dc9878b6cb61faa13df3187384fd4ea26",
|
||||
version = "1.0.2",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "gun",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.gun",
|
||||
sha256 = "3106ce167f9c9723f849e4fb54ea4a4d814e3996ae243a1c828b256e749041e0",
|
||||
version = "1.3.3",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "horus",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.horus",
|
||||
sha256 = "d564d30ebc274f0d92c3d44a336d0b892f000be159912ae4e6838701e85495ec",
|
||||
version = "0.3.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "jose",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.jose",
|
||||
sha256 = "0d6cd36ff8ba174db29148fc112b5842186b68a90ce9fc2b3ec3afe76593e614",
|
||||
version = "1.11.10",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "json",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.json",
|
||||
sha256 = "9abf218dbe4ea4fcb875e087d5f904ef263d012ee5ed21d46e9dbca63f053d16",
|
||||
version = "1.4.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "khepri",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.khepri",
|
||||
sha256 = "feee8a0a1f3f78dd9f8860feacba63cc165c81af1b351600903e34a20676d5f6",
|
||||
version = "0.16.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "khepri_mnesia_migration",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.khepri_mnesia_migration",
|
||||
sha256 = "24b87e51b9e46eaeeadb898720e12a58d501cbb05c16e28ca27063e66d60e85c",
|
||||
version = "0.7.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "thoas",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.thoas",
|
||||
sha256 = "e38697edffd6e91bd12cea41b155115282630075c2a727e7a6b2947f5408b86a",
|
||||
version = "1.2.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "observer_cli",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.observer_cli",
|
||||
sha256 = "93ae523d42d566b176f7ae77a0bf36802dab8bb51a6086316cce66a7cfb5d81f",
|
||||
version = "1.8.2",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "prometheus",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.prometheus",
|
||||
sha256 = "719862351aabf4df7079b05dc085d2bbcbe3ac0ac3009e956671b1d5ab88247d",
|
||||
version = "4.11.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "quantile_estimator",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.quantile_estimator",
|
||||
sha256 = "282a8a323ca2a845c9e6f787d166348f776c1d4a41ede63046d72d422e3da946",
|
||||
version = "0.2.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "ra",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.ra",
|
||||
pkg = "ra",
|
||||
sha256 = "fd32a9b0a4b253b073b90dd996456e524347951d39f0b572d78178188491e6d4",
|
||||
version = "2.16.1",
|
||||
)
|
||||
|
||||
erlang_package.git_package(
|
||||
name = "seshat",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.seshat",
|
||||
repository = "rabbitmq/seshat",
|
||||
tag = "v0.6.1",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "ranch",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.ranch",
|
||||
patch_cmds = [
|
||||
"rm ebin/ranch.app",
|
||||
],
|
||||
sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916",
|
||||
version = "2.1.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "recon",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.recon",
|
||||
sha256 = "96c6799792d735cc0f0fd0f86267e9d351e63339cbe03df9d162010cefc26bb0",
|
||||
version = "2.5.6",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "redbug",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.redbug",
|
||||
sha256 = "3624feb7a4b78fd9ae0e66cc3158fe7422770ad6987a1ebf8df4d3303b1c4b0c",
|
||||
version = "2.0.7",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "stdout_formatter",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.stdout_formatter",
|
||||
sha256 = "51f1df921b0477275ea712763042155dbc74acc75d9648dbd54985c45c913b29",
|
||||
version = "0.2.4",
|
||||
)
|
||||
|
||||
erlang_package.git_package(
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.syslog",
|
||||
repository = "schlagert/syslog",
|
||||
tag = "4.0.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "sysmon_handler",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.sysmon_handler",
|
||||
sha256 = "922cf0dd558b9fdb1326168373315b52ed6a790ba943f6dcbd9ee22a74cebdef",
|
||||
version = "1.3.0",
|
||||
)
|
||||
|
||||
erlang_package.hex_package(
|
||||
name = "systemd",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.systemd",
|
||||
sha256 = "8ec5ed610a5507071cdb7423e663e2452a747a624bb8a58582acd9491ccad233",
|
||||
version = "0.6.1",
|
||||
)
|
||||
|
||||
use_repo(
|
||||
erlang_package,
|
||||
"accept",
|
||||
"aten",
|
||||
"base64url",
|
||||
"cowboy",
|
||||
"cowlib",
|
||||
"credentials_obfuscation",
|
||||
"csv",
|
||||
"cuttlefish",
|
||||
"eetcd",
|
||||
"gen_batch_server",
|
||||
"getopt",
|
||||
"gun",
|
||||
"horus",
|
||||
"jose",
|
||||
"json",
|
||||
"khepri",
|
||||
"khepri_mnesia_migration",
|
||||
"observer_cli",
|
||||
"prometheus",
|
||||
"ra",
|
||||
"ranch",
|
||||
"recon",
|
||||
"redbug",
|
||||
"seshat",
|
||||
"stdout_formatter",
|
||||
"syslog",
|
||||
"sysmon_handler",
|
||||
"systemd",
|
||||
"thoas",
|
||||
)
|
||||
|
||||
erlang_dev_package = use_extension(
|
||||
"@rules_erlang//bzlmod:extensions.bzl",
|
||||
"erlang_package",
|
||||
)
|
||||
|
||||
erlang_dev_package.hex_package(
|
||||
name = "amqp",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.amqp",
|
||||
patch_args = ["-p1"],
|
||||
patches = ["@rabbitmq-server//bazel:amqp.patch"],
|
||||
sha256 = "8d3ae139d2646c630d674a1b8d68c7f85134f9e8b2a1c3dd5621616994b10a8b",
|
||||
version = "3.3.0",
|
||||
)
|
||||
|
||||
erlang_dev_package.git_package(
|
||||
branch = "master",
|
||||
build_file = "@//:bazel/BUILD.ct_helper",
|
||||
repository = "ninenines/ct_helper",
|
||||
)
|
||||
|
||||
erlang_dev_package.git_package(
|
||||
name = "emqtt",
|
||||
tag = "1.11.0",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.emqtt",
|
||||
repository = "emqx/emqtt",
|
||||
)
|
||||
|
||||
erlang_dev_package.git_package(
|
||||
name = "inet_tcp_proxy_dist",
|
||||
testonly = True,
|
||||
branch = "master",
|
||||
repository = "rabbitmq/inet_tcp_proxy",
|
||||
)
|
||||
|
||||
erlang_dev_package.git_package(
|
||||
branch = "master",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.meck",
|
||||
repository = "eproxus/meck",
|
||||
)
|
||||
|
||||
erlang_dev_package.git_package(
|
||||
branch = "master",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.proper",
|
||||
repository = "manopapad/proper",
|
||||
)
|
||||
|
||||
erlang_dev_package.hex_package(
|
||||
name = "temp",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.temp",
|
||||
sha256 = "6af19e7d6a85a427478be1021574d1ae2a1e1b90882586f06bde76c63cd03e0d",
|
||||
version = "0.4.7",
|
||||
)
|
||||
|
||||
erlang_dev_package.hex_package(
|
||||
name = "x509",
|
||||
build_file = "@rabbitmq-server//bazel:BUILD.x509",
|
||||
sha256 = "ccc3bff61406e5bb6a63f06d549f3dba3a1bbb456d84517efaaa210d8a33750f",
|
||||
version = "0.8.8",
|
||||
)
|
||||
|
||||
use_repo(
|
||||
erlang_dev_package,
|
||||
"amqp",
|
||||
"ct_helper",
|
||||
"emqtt",
|
||||
"inet_tcp_proxy_dist",
|
||||
"meck",
|
||||
"proper",
|
||||
"temp",
|
||||
"x509",
|
||||
)
|
||||
|
||||
secondary_umbrella = use_extension(
|
||||
"//bazel/bzlmod:extensions.bzl",
|
||||
"secondary_umbrella",
|
||||
dev_dependency = True,
|
||||
)
|
||||
|
||||
use_repo(
|
||||
secondary_umbrella,
|
||||
"rabbitmq-server-generic-unix-4.0",
|
||||
)
|
||||
|
||||
hex = use_extension(
|
||||
"//bazel/bzlmod:extensions.bzl",
|
||||
"hex",
|
||||
)
|
||||
|
||||
use_repo(
|
||||
hex,
|
||||
"hex",
|
||||
)
|
354
Makefile
354
Makefile
|
@ -31,10 +31,6 @@ DISABLE_DISTCLEAN = 1
|
|||
ifeq ($(filter-out xref,$(MAKECMDGOALS)),)
|
||||
XREF_SCOPE = app deps
|
||||
|
||||
# We add all the applications that are in non-standard paths
|
||||
# so they are included in the analyses as well.
|
||||
XREF_EXTRA_APP_DIRS = $(filter-out deps/rabbitmq_cli/_build/dev/lib/rabbit_common/,$(wildcard deps/rabbitmq_cli/_build/dev/lib/*/)) deps/rabbitmq_prelaunch/
|
||||
|
||||
# For Elixir protocols the right fix is to include the consolidated/
|
||||
# folders in addition to ebin/. However this creates conflicts because
|
||||
# some modules are duplicated. So instead we ignore warnings from
|
||||
|
@ -49,10 +45,6 @@ XREF_IGNORE = [ \
|
|||
xref: ERL_LIBS := $(ERL_LIBS):$(CURDIR)/apps:$(CURDIR)/deps:$(dir $(shell elixir --eval ':io.format "~s~n", [:code.lib_dir :elixir ]'))
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard deps/.hex/cache.erl),)
|
||||
deps:: restore-hex-cache-ets-file
|
||||
endif
|
||||
|
||||
include rabbitmq-components.mk
|
||||
|
||||
# Set PROJECT_VERSION, calculated in rabbitmq-components.mk,
|
||||
|
@ -76,7 +68,6 @@ endif
|
|||
|
||||
include erlang.mk
|
||||
include mk/github-actions.mk
|
||||
include mk/bazel.mk
|
||||
|
||||
# If PLUGINS was set when we use run-broker we want to
|
||||
# fill in the enabled plugins list. PLUGINS is a more
|
||||
|
@ -86,78 +77,17 @@ RABBITMQ_ENABLED_PLUGINS ?= $(call comma_list,$(PLUGINS))
|
|||
endif
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Mix Hex cache management.
|
||||
# Distribution - common variables and generic functions.
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
# We restore the initial Hex cache.ets file from an Erlang term created
|
||||
# at the time the source archive was prepared.
|
||||
#
|
||||
# See the `$(SOURCE_DIST)` recipe for the reason behind this step.
|
||||
|
||||
restore-hex-cache-ets-file: deps/.hex/cache.ets
|
||||
|
||||
deps/.hex/cache.ets: deps/.hex/cache.erl
|
||||
$(gen_verbose) $(call erlang,$(call restore_hex_cache_from_erl_term,$<,$@))
|
||||
|
||||
define restore_hex_cache_from_erl_term
|
||||
In = "$(1)",
|
||||
Out = "$(2)",
|
||||
{ok, [Props, Entries]} = file:consult(In),
|
||||
Name = proplists:get_value(name, Props),
|
||||
Type = proplists:get_value(type, Props),
|
||||
Access = proplists:get_value(protection, Props),
|
||||
NamedTable = proplists:get_bool(named_table, Props),
|
||||
Keypos = proplists:get_value(keypos, Props),
|
||||
Heir = proplists:get_value(heir, Props),
|
||||
ReadConc = proplists:get_bool(read_concurrency, Props),
|
||||
WriteConc = proplists:get_bool(write_concurrency, Props),
|
||||
Compressed = proplists:get_bool(compressed, Props),
|
||||
Options0 = [
|
||||
Type,
|
||||
Access,
|
||||
{keypos, Keypos},
|
||||
{heir, Heir},
|
||||
{read_concurrency, ReadConc},
|
||||
{write_concurrency, WriteConc}],
|
||||
Options1 = case NamedTable of
|
||||
true -> [named_table | Options0];
|
||||
false -> Options0
|
||||
end,
|
||||
Options2 = case Compressed of
|
||||
true -> [compressed | Options0];
|
||||
false -> Options0
|
||||
end,
|
||||
Tab = ets:new(Name, Options2),
|
||||
[true = ets:insert(Tab, Entry) || Entry <- Entries],
|
||||
ok = ets:tab2file(Tab, Out),
|
||||
init:stop().
|
||||
endef
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Distribution.
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
.PHONY: source-dist clean-source-dist
|
||||
|
||||
SOURCE_DIST_BASE ?= rabbitmq-server
|
||||
SOURCE_DIST_SUFFIXES ?= tar.xz
|
||||
SOURCE_DIST ?= $(PACKAGES_DIR)/$(SOURCE_DIST_BASE)-$(PROJECT_VERSION)
|
||||
|
||||
# The first source distribution file is used by packages: if the archive
|
||||
# type changes, you must update all packages' Makefile.
|
||||
SOURCE_DIST_FILES = $(addprefix $(SOURCE_DIST).,$(SOURCE_DIST_SUFFIXES))
|
||||
|
||||
.PHONY: $(SOURCE_DIST_FILES)
|
||||
|
||||
source-dist: $(SOURCE_DIST_FILES)
|
||||
@:
|
||||
|
||||
RSYNC ?= rsync
|
||||
RSYNC_V_0 =
|
||||
RSYNC_V_1 = -v
|
||||
RSYNC_V_2 = -v
|
||||
RSYNC_V = $(RSYNC_V_$(V))
|
||||
RSYNC_FLAGS += -a $(RSYNC_V) \
|
||||
BASE_RSYNC_FLAGS += -a $(RSYNC_V) \
|
||||
--delete \
|
||||
--delete-excluded \
|
||||
--exclude '.sw?' --exclude '.*.sw?' \
|
||||
--exclude '*.beam' \
|
||||
--exclude '*.d' \
|
||||
|
@ -165,16 +95,10 @@ RSYNC_FLAGS += -a $(RSYNC_V) \
|
|||
--exclude '.git*' \
|
||||
--exclude '.hg*' \
|
||||
--exclude '.*.plt' \
|
||||
--exclude '*.bzl' \
|
||||
--exclude '*.bazel' \
|
||||
--exclude '*.bazelrc' \
|
||||
--exclude 'moduleindex.yaml' \
|
||||
--exclude 'BUILD.*' \
|
||||
--exclude 'erlang_ls.config' \
|
||||
--exclude '$(notdir $(ERLANG_MK_TMP))' \
|
||||
--exclude '_build/' \
|
||||
--exclude '__pycache__/' \
|
||||
--exclude 'bazel*/' \
|
||||
--exclude 'tools/' \
|
||||
--exclude 'ci/' \
|
||||
--exclude 'cover/' \
|
||||
|
@ -188,12 +112,10 @@ RSYNC_FLAGS += -a $(RSYNC_V) \
|
|||
--exclude '$(notdir $(DEPS_DIR))/' \
|
||||
--exclude 'hexer*' \
|
||||
--exclude 'logs/' \
|
||||
--exclude 'packaging' \
|
||||
--exclude 'PKG_*.md' \
|
||||
--exclude '/plugins/' \
|
||||
--include 'cli/plugins' \
|
||||
--exclude '$(notdir $(DIST_DIR))/' \
|
||||
--exclude 'test' \
|
||||
--exclude '/$(notdir $(PACKAGES_DIR))/' \
|
||||
--exclude '/PACKAGES/' \
|
||||
--exclude '/amqp_client/doc/' \
|
||||
|
@ -208,9 +130,21 @@ RSYNC_FLAGS += -a $(RSYNC_V) \
|
|||
--exclude '/ranch/doc/' \
|
||||
--exclude '/ranch/examples/' \
|
||||
--exclude '/sockjs/examples/' \
|
||||
--exclude '/workflow_sources/' \
|
||||
--delete \
|
||||
--delete-excluded
|
||||
--exclude '/workflow_sources/'
|
||||
|
||||
SOURCE_DIST_RSYNC_FLAGS += $(BASE_RSYNC_FLAGS) \
|
||||
--exclude 'packaging' \
|
||||
--exclude 'test'
|
||||
|
||||
# For source-bundle, explicitly include folders that are needed
|
||||
# for tests to execute. These are added before excludes from
|
||||
# the base flags so rsync honors the first match.
|
||||
SOURCE_BUNDLE_RSYNC_FLAGS += \
|
||||
--include 'rabbit_shovel_test/ebin' \
|
||||
--include 'rabbit_shovel_test/ebin/*' \
|
||||
--include 'rabbitmq_ct_helpers/tools' \
|
||||
--include 'rabbitmq_ct_helpers/tools/*' \
|
||||
$(BASE_RSYNC_FLAGS)
|
||||
|
||||
TAR ?= tar
|
||||
TAR_V_0 =
|
||||
|
@ -228,115 +162,6 @@ ZIP_V_1 =
|
|||
ZIP_V_2 =
|
||||
ZIP_V = $(ZIP_V_$(V))
|
||||
|
||||
.PHONY: $(SOURCE_DIST)
|
||||
.PHONY: clean-source-dist distclean-packages clean-unpacked-source-dist
|
||||
|
||||
$(SOURCE_DIST): $(ERLANG_MK_RECURSIVE_DEPS_LIST)
|
||||
$(verbose) mkdir -p $(dir $@)
|
||||
$(gen_verbose) $(RSYNC) $(RSYNC_FLAGS) ./ $@/
|
||||
$(verbose) echo "$(PROJECT_DESCRIPTION) $(PROJECT_VERSION)" > "$@/git-revisions.txt"
|
||||
$(verbose) echo "$(PROJECT) $$(git rev-parse HEAD) $$(git describe --tags --exact-match 2>/dev/null || git symbolic-ref -q --short HEAD)" >> "$@/git-revisions.txt"
|
||||
$(verbose) echo "$$(TZ= git --no-pager log -n 1 --format='%cd' --date='format-local:%Y%m%d%H%M.%S')" > "$@.git-times.txt"
|
||||
$(verbose) cat packaging/common/LICENSE.head > $@/LICENSE
|
||||
$(verbose) mkdir -p $@/deps/licensing
|
||||
$(verbose) set -e; for dep in $$(cat $(ERLANG_MK_RECURSIVE_DEPS_LIST) | LC_COLLATE=C sort); do \
|
||||
$(RSYNC) $(RSYNC_FLAGS) \
|
||||
$$dep \
|
||||
$@/deps; \
|
||||
rm -f \
|
||||
$@/deps/rabbit_common/rebar.config \
|
||||
$@/deps/rabbit_common/rebar.lock; \
|
||||
if test -f $@/deps/$$(basename $$dep)/erlang.mk && \
|
||||
test "$$(wc -l $@/deps/$$(basename $$dep)/erlang.mk | awk '{print $$1;}')" = "1" && \
|
||||
grep -qs -E "^[[:blank:]]*include[[:blank:]]+(erlang\.mk|.*/erlang\.mk)$$" $@/deps/$$(basename $$dep)/erlang.mk; then \
|
||||
echo "include ../../erlang.mk" > $@/deps/$$(basename $$dep)/erlang.mk; \
|
||||
fi; \
|
||||
sed -E -i.bak "s|^[[:blank:]]*include[[:blank:]]+\.\./.*erlang.mk$$|include ../../erlang.mk|" \
|
||||
$@/deps/$$(basename $$dep)/Makefile && \
|
||||
rm $@/deps/$$(basename $$dep)/Makefile.bak; \
|
||||
mix_exs=$@/deps/$$(basename $$dep)/mix.exs; \
|
||||
if test -f $$mix_exs; then \
|
||||
(cd $$(dirname "$$mix_exs") && \
|
||||
(test -d $@/deps/.hex || env DEPS_DIR=$@/deps MIX_HOME=$@/deps/.mix HEX_HOME=$@/deps/.hex MIX_ENV=prod FILL_HEX_CACHE=yes mix local.hex --force) && \
|
||||
env DEPS_DIR=$@/deps MIX_HOME=$@/deps/.mix HEX_HOME=$@/deps/.hex MIX_ENV=prod FILL_HEX_CACHE=yes mix deps.get --only prod && \
|
||||
cp $(CURDIR)/mk/rabbitmq-mix.mk . && \
|
||||
rm -rf _build deps); \
|
||||
fi; \
|
||||
if test -f "$$dep/license_info"; then \
|
||||
cp "$$dep/license_info" "$@/deps/licensing/license_info_$$(basename "$$dep")"; \
|
||||
cat "$$dep/license_info" >> $@/LICENSE; \
|
||||
fi; \
|
||||
find "$$dep" -maxdepth 1 -name 'LICENSE-*' -exec cp '{}' $@/deps/licensing \; ; \
|
||||
(cd $$dep; \
|
||||
echo "$$(basename "$$dep") $$(git rev-parse HEAD) $$(git describe --tags --exact-match 2>/dev/null || git symbolic-ref -q --short HEAD)") \
|
||||
>> "$@/git-revisions.txt"; \
|
||||
! test -d $$dep/.git || (cd $$dep; \
|
||||
echo "$$(env TZ= git --no-pager log -n 1 --format='%cd' --date='format-local:%Y%m%d%H%M.%S')") \
|
||||
>> "$@.git-times.txt"; \
|
||||
done
|
||||
$(verbose) cat packaging/common/LICENSE.tail >> $@/LICENSE
|
||||
$(verbose) find $@/deps/licensing -name 'LICENSE-*' -exec cp '{}' $@ \;
|
||||
$(verbose) rm -rf $@/deps/licensing
|
||||
$(verbose) for file in $$(find $@ -name '*.app.src'); do \
|
||||
sed -E -i.bak \
|
||||
-e 's/[{]vsn[[:blank:]]*,[[:blank:]]*(""|"0.0.0")[[:blank:]]*}/{vsn, "$(PROJECT_VERSION)"}/' \
|
||||
-e 's/[{]broker_version_requirements[[:blank:]]*,[[:blank:]]*\[\][[:blank:]]*}/{broker_version_requirements, ["$(PROJECT_VERSION)"]}/' \
|
||||
$$file; \
|
||||
rm $$file.bak; \
|
||||
done
|
||||
$(verbose) echo "PLUGINS := $(PLUGINS)" > $@/plugins.mk
|
||||
# Remember the latest Git timestamp.
|
||||
$(verbose) sort -r < "$@.git-times.txt" | head -n 1 > "$@.git-time.txt"
|
||||
# Mix Hex component requires a cache file, otherwise it refuses to build
|
||||
# offline... That cache is an ETS table with all the applications we
|
||||
# depend on, plus some versioning informations and checksums. There
|
||||
# are two problems with that: the table contains a date (`last_update`
|
||||
# field) and `ets:tab2file()` produces a different file each time it's
|
||||
# called.
|
||||
#
|
||||
# To make our source archive reproducible, we fix the time of the
|
||||
# `last_update` field to the last Git commit and dump the content of the
|
||||
# table as an Erlang term to a text file.
|
||||
#
|
||||
# The ETS file must be recreated before compiling RabbitMQ. See the
|
||||
# `restore-hex-cache-ets-file` Make target.
|
||||
$(verbose) $(call erlang,$(call dump_hex_cache_to_erl_term,$(call core_native_path,$@),$(call core_native_path,$@.git-time.txt)))
|
||||
# Fix file timestamps to have reproducible source archives.
|
||||
$(verbose) find $@ -print0 | xargs -0 touch -t "$$(cat "$@.git-time.txt")"
|
||||
$(verbose) rm "$@.git-times.txt" "$@.git-time.txt"
|
||||
|
||||
define dump_hex_cache_to_erl_term
|
||||
In = "$(1)/deps/.hex/cache.ets",
|
||||
Out = "$(1)/deps/.hex/cache.erl",
|
||||
{ok, DateStr} = file:read_file("$(2)"),
|
||||
{match, Date} = re:run(DateStr,
|
||||
"^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})\.([0-9]{2})",
|
||||
[{capture, all_but_first, list}]),
|
||||
[Year, Month, Day, Hour, Min, Sec] = [erlang:list_to_integer(V) || V <- Date],
|
||||
{ok, Tab} = ets:file2tab(In),
|
||||
true = ets:insert(Tab, {last_update, {{Year, Month, Day}, {Hour, Min, Sec}}}),
|
||||
Props = [
|
||||
Prop
|
||||
|| {Key, _} = Prop <- ets:info(Tab),
|
||||
Key =:= name orelse
|
||||
Key =:= type orelse
|
||||
Key =:= protection orelse
|
||||
Key =:= named_table orelse
|
||||
Key =:= keypos orelse
|
||||
Key =:= heir orelse
|
||||
Key =:= read_concurrency orelse
|
||||
Key =:= write_concurrency orelse
|
||||
Key =:= compressed],
|
||||
Entries = ets:tab2list(Tab),
|
||||
ok = file:write_file(Out, io_lib:format("~w.~n~w.~n", [Props, Entries])),
|
||||
ok = file:delete(In),
|
||||
init:stop().
|
||||
endef
|
||||
|
||||
$(SOURCE_DIST).manifest: $(SOURCE_DIST)
|
||||
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
|
||||
find $(notdir $(SOURCE_DIST)) | LC_COLLATE=C sort > $@
|
||||
|
||||
ifeq ($(shell tar --version | grep -c "GNU tar"),0)
|
||||
# Skip all flags if this is Darwin (a.k.a. macOS, a.k.a. OS X)
|
||||
ifeq ($(shell uname | grep -c "Darwin"),0)
|
||||
|
@ -353,30 +178,128 @@ TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS = --owner 0 \
|
|||
--numeric-owner
|
||||
endif
|
||||
|
||||
$(SOURCE_DIST).tar.gz: $(SOURCE_DIST).manifest
|
||||
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
|
||||
$(TAR) $(TAR_V) $(TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS) --no-recursion -T $(SOURCE_DIST).manifest -cf - | \
|
||||
$(GZIP) --best > $@
|
||||
DIST_SUFFIXES ?= tar.xz
|
||||
|
||||
$(SOURCE_DIST).tar.bz2: $(SOURCE_DIST).manifest
|
||||
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
|
||||
$(TAR) $(TAR_V) $(TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS) --no-recursion -T $(SOURCE_DIST).manifest -cf - | \
|
||||
$(BZIP2) > $@
|
||||
# Function to create distribution targets
|
||||
# Args: $(1) - Full distribution path
|
||||
# $(2) - RSYNC flags to use
|
||||
define create_dist_target
|
||||
$(1): $(ERLANG_MK_RECURSIVE_DEPS_LIST)
|
||||
$${verbose} mkdir -p $$(dir $$@)
|
||||
$${gen_verbose} $${RSYNC} $(2) ./ $$@/
|
||||
$${verbose} echo "$(PROJECT_DESCRIPTION) $(PROJECT_VERSION)" > $$@/git-revisions.txt
|
||||
$${verbose} echo "$(PROJECT) $$$$(git rev-parse HEAD) $$$$(git describe --tags --exact-match 2>/dev/null || git symbolic-ref -q --short HEAD)" >> $$@/git-revisions.txt
|
||||
$${verbose} echo "$$$$(TZ=UTC git --no-pager log -n 1 --format='%cd' --date='format-local:%Y%m%d%H%M.%S')" > $$@.git-times.txt
|
||||
$${verbose} cat packaging/common/LICENSE.head > $$@/LICENSE
|
||||
$${verbose} mkdir -p $$@/deps/licensing
|
||||
$${verbose} set -e; for dep in $$$$(cat $(ERLANG_MK_RECURSIVE_DEPS_LIST) | LC_COLLATE=C sort); do \
|
||||
$${RSYNC} $(2) \
|
||||
$$$$dep \
|
||||
$$@/deps; \
|
||||
rm -f \
|
||||
$$@/deps/rabbit_common/rebar.config \
|
||||
$$@/deps/rabbit_common/rebar.lock; \
|
||||
if test -f $$@/deps/$$$$(basename $$$$dep)/erlang.mk && \
|
||||
test "$$$$(wc -l $$@/deps/$$$$(basename $$$$dep)/erlang.mk | awk '{print $$$$1;}')" = "1" && \
|
||||
grep -qs -E "^[[:blank:]]*include[[:blank:]]+(erlang\.mk|.*/erlang\.mk)$$$$" $$@/deps/$$$$(basename $$$$dep)/erlang.mk; then \
|
||||
echo "include ../../erlang.mk" > $$@/deps/$$$$(basename $$$$dep)/erlang.mk; \
|
||||
fi; \
|
||||
sed -E -i.bak "s|^[[:blank:]]*include[[:blank:]]+\.\./.*erlang.mk$$$$|include ../../erlang.mk|" \
|
||||
$$@/deps/$$$$(basename $$$$dep)/Makefile && \
|
||||
rm $$@/deps/$$$$(basename $$$$dep)/Makefile.bak; \
|
||||
if test -f "$$$$dep/license_info"; then \
|
||||
cp "$$$$dep/license_info" "$$@/deps/licensing/license_info_$$$$(basename $$$$dep)"; \
|
||||
cat "$$$$dep/license_info" >> $$@/LICENSE; \
|
||||
fi; \
|
||||
find "$$$$dep" -maxdepth 1 -name 'LICENSE-*' -exec cp '{}' $$@/deps/licensing \; ; \
|
||||
(cd $$$$dep; \
|
||||
echo "$$$$(basename "$$$$dep") $$$$(git rev-parse HEAD) $$$$(git describe --tags --exact-match 2>/dev/null || git symbolic-ref -q --short HEAD)") \
|
||||
>> "$$@/git-revisions.txt"; \
|
||||
! test -d $$$$dep/.git || (cd $$$$dep; \
|
||||
echo "$$$$(TZ=UTC git --no-pager log -n 1 --format='%cd' --date='format-local:%Y%m%d%H%M.%S')") >> "$$@.git-times.txt"; \
|
||||
done
|
||||
$${verbose} cat packaging/common/LICENSE.tail >> $$@/LICENSE
|
||||
$${verbose} find $$@/deps/licensing -name 'LICENSE-*' -exec cp '{}' $$@ \;
|
||||
$${verbose} rm -rf $$@/deps/licensing
|
||||
$${verbose} for file in $$$$(find $$@ -name '*.app.src'); do \
|
||||
sed -E -i.bak \
|
||||
-e 's/[{]vsn[[:blank:]]*,[[:blank:]]*(""|"0.0.0")[[:blank:]]*}/{vsn, "$(PROJECT_VERSION)"}/' \
|
||||
-e 's/[{]broker_version_requirements[[:blank:]]*,[[:blank:]]*\[\][[:blank:]]*}/{broker_version_requirements, ["$(PROJECT_VERSION)"]}/' \
|
||||
$$$$file; \
|
||||
rm $$$$file.bak; \
|
||||
done
|
||||
$${verbose} echo "PLUGINS := $(PLUGINS)" > $$@/plugins.mk
|
||||
$${verbose} sort -r < "$$@.git-times.txt" | head -n 1 > "$$@.git-time.txt"
|
||||
$${verbose} find $$@ -print0 | (TZ=UTC xargs -0 touch -t "$$$$(cat $$@.git-time.txt)")
|
||||
$${verbose} rm "$$@.git-times.txt" "$$@.git-time.txt"
|
||||
|
||||
$(SOURCE_DIST).tar.xz: $(SOURCE_DIST).manifest
|
||||
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
|
||||
$(TAR) $(TAR_V) $(TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS) --no-recursion -T $(SOURCE_DIST).manifest -cf - | \
|
||||
$(XZ) > $@
|
||||
$(1).manifest: $(1)
|
||||
$${gen_verbose} cd $$(dir $$@) && \
|
||||
find $$(notdir $$<) | LC_COLLATE=C sort > $$@
|
||||
|
||||
$(SOURCE_DIST).zip: $(SOURCE_DIST).manifest
|
||||
$(verbose) rm -f $@
|
||||
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
|
||||
$(ZIP) $(ZIP_V) --names-stdin $@ < $(SOURCE_DIST).manifest
|
||||
$(1).tar.xz: $(1).manifest
|
||||
$${gen_verbose} cd $$(dir $$@) && \
|
||||
$${TAR} $${TAR_V} $${TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS} --no-recursion -T $$(notdir $$<) -cf - | \
|
||||
$${XZ} > $$@
|
||||
|
||||
clean:: clean-source-dist
|
||||
$(1).tar.gz: $(1).manifest
|
||||
$${gen_verbose} cd $$(dir $$@) && \
|
||||
$${TAR} $${TAR_V} $${TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS} --no-recursion -T $$(notdir $$<) -cf - | \
|
||||
$${GZIP} --best > $$@
|
||||
|
||||
clean-source-dist:
|
||||
$(gen_verbose) rm -rf -- $(SOURCE_DIST_BASE)-*
|
||||
$(1).tar.bz2: $(1).manifest
|
||||
$${gen_verbose} cd $$(dir $$@) && \
|
||||
$${TAR} $${TAR_V} $${TAR_FLAGS_FOR_REPRODUCIBLE_BUILDS} --no-recursion -T $$(notdir $$<) -cf - | \
|
||||
$${BZIP2} > $$@
|
||||
|
||||
$(1).zip: $(1).manifest
|
||||
$${verbose} rm -f $$@
|
||||
$${gen_verbose} cd $$(dir $$@) && \
|
||||
$${ZIP} $${ZIP_V} --names-stdin $$@ < $$(notdir $$<)
|
||||
|
||||
endef
|
||||
|
||||
# Function to create clean targets
|
||||
# Args: $(1) - Base name (e.g. SOURCE_DIST_BASE or BUNDLE_DIST_BASE)
|
||||
define create_clean_targets
|
||||
.PHONY: clean-$(1)
|
||||
|
||||
clean-$(1):
|
||||
$${gen_verbose} rm -rf -- $(1)-*
|
||||
|
||||
# Add each clean target to the clean:: rule
|
||||
clean:: clean-$(1)
|
||||
endef
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# Distribution - public targets
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
SOURCE_DIST_BASE ?= rabbitmq-server
|
||||
SOURCE_DIST ?= $(PACKAGES_DIR)/$(SOURCE_DIST_BASE)-$(PROJECT_VERSION)
|
||||
SOURCE_DIST_FILES = $(addprefix $(SOURCE_DIST).,$(DIST_SUFFIXES))
|
||||
|
||||
.PHONY: source-dist
|
||||
source-dist: $(SOURCE_DIST_FILES)
|
||||
@:
|
||||
|
||||
$(eval $(call create_dist_target,$(SOURCE_DIST),$(SOURCE_DIST_RSYNC_FLAGS)))
|
||||
|
||||
SOURCE_BUNDLE_BASE ?= rabbitmq-server-bundle
|
||||
SOURCE_BUNDLE_DIST ?= $(PACKAGES_DIR)/$(SOURCE_BUNDLE_BASE)-$(PROJECT_VERSION)
|
||||
SOURCE_BUNDLE_FILES = $(addprefix $(SOURCE_BUNDLE_DIST).,$(DIST_SUFFIXES))
|
||||
|
||||
.PHONY: source-bundle
|
||||
source-bundle: $(SOURCE_BUNDLE_FILES)
|
||||
@:
|
||||
|
||||
$(eval $(call create_dist_target,$(SOURCE_BUNDLE_DIST),$(SOURCE_BUNDLE_RSYNC_FLAGS)))
|
||||
|
||||
# Create the clean targets for both distributions
|
||||
$(eval $(call create_clean_targets,$(SOURCE_DIST_BASE)))
|
||||
$(eval $(call create_clean_targets,$(SOURCE_BUNDLE_BASE)))
|
||||
|
||||
.PHONY: distclean-packages clean-unpacked-source-dist
|
||||
|
||||
distclean:: distclean-packages
|
||||
|
||||
|
@ -409,8 +332,8 @@ clean-deps:
|
|||
PACKAGES_SOURCE_DIST_FILE ?= $(firstword $(SOURCE_DIST_FILES))
|
||||
|
||||
RABBITMQ_PACKAGING_TARGETS = package-deb package-rpm \
|
||||
package-rpm-redhat package-rpm-fedora package-rpm-rhel6 package-rpm-rhel7 \
|
||||
package-rpm-rhel8 package-rpm-suse package-rpm-opensuse package-rpm-sles11 \
|
||||
package-rpm-redhat package-rpm-fedora package-rpm-rhel8 \
|
||||
package-rpm-suse package-rpm-opensuse \
|
||||
package-windows
|
||||
|
||||
ifneq ($(filter $(RABBITMQ_PACKAGING_TARGETS),$(MAKECMDGOALS)),)
|
||||
|
@ -599,6 +522,7 @@ TIER1_PLUGINS := \
|
|||
rabbitmq_amqp1_0 \
|
||||
rabbitmq_auth_backend_cache \
|
||||
rabbitmq_auth_backend_http \
|
||||
rabbitmq_auth_backend_internal_loopback \
|
||||
rabbitmq_auth_backend_ldap \
|
||||
rabbitmq_auth_backend_oauth2 \
|
||||
rabbitmq_auth_mechanism_ssl \
|
||||
|
|
59
PKG_LINUX.md
59
PKG_LINUX.md
|
@ -1,60 +1,3 @@
|
|||
# Build RabbitMQ Packages using Linux
|
||||
|
||||
|
||||
## Environment
|
||||
|
||||
Debian Jesse using this `Vagrantfile`:
|
||||
|
||||
```
|
||||
$script = <<SCRIPT
|
||||
export LANG='C.UTF-8'
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
echo 'deb http://cdn-fastly.deb.debian.org/debian jessie-backports main' >> /etc/apt/sources.list.d/backports.list
|
||||
|
||||
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
|
||||
dpkg -i erlang-solutions_1.0_all.deb
|
||||
|
||||
apt-get clean
|
||||
apt-get update
|
||||
apt-get install -y --fix-missing --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
debhelper \
|
||||
dh-systemd \
|
||||
elinks \
|
||||
esl-erlang \
|
||||
elixir \
|
||||
fakeroot \
|
||||
git \
|
||||
libfile-fcntllock-perl \
|
||||
mandoc \
|
||||
nsis \
|
||||
python-lxml \
|
||||
python-markdown \
|
||||
python-simplejson \
|
||||
rpm \
|
||||
rsync \
|
||||
tofrodos \
|
||||
unzip \
|
||||
xmlto \
|
||||
xsltproc \
|
||||
zip \
|
||||
curl
|
||||
date > /etc/vagrant_provisioned_at
|
||||
SCRIPT
|
||||
|
||||
Vagrant.configure('2') do |config|
|
||||
config.vm.box = "debian/jessie64"
|
||||
config.vm.hostname = 'DEBIAN-JESSIE64'
|
||||
config.vm.provision 'shell', inline: $script
|
||||
end
|
||||
```
|
||||
|
||||
## Instructions
|
||||
|
||||
Bring up a Debian Jesse instance using Vagrant, or, use the provisioning script
|
||||
on a Debian Jesse server of your own. When it is done running, all necessary
|
||||
package build requirements for either `apt`-based or `rpm`-based distros will
|
||||
be present. See the [`README.md`](README.md#tldr) document for instructions on
|
||||
building packages.
|
||||
See [`rabbitmq/build-env-images`](https://github.com/rabbitmq/build-env-images) and [`rabbitmq/server-packages`](https://github.com/rabbitmq/server-packages?tab=readme-ov-file).
|
||||
|
|
123
PKG_WINDOWS.md
123
PKG_WINDOWS.md
|
@ -1,121 +1,6 @@
|
|||
# Build RabbitMQ Windows Package using Windows
|
||||
# Build RabbitMQ Windows Package
|
||||
|
||||
## Environment
|
||||
The RabbitMQ Windows installer is produced on Linux, together
|
||||
with the rest of the packages.
|
||||
|
||||
Windows 8.1 using this `Vagrantfile`:
|
||||
|
||||
```
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.box = "inclusivedesign/windows81-eval-x64"
|
||||
config.vm.provider "virtualbox" do |v|
|
||||
v.gui = true
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
Note that these steps should work on more recent versions of Windows as well.
|
||||
If you have issues using a newer version of Windows, please provide full
|
||||
details in a message to the
|
||||
[`rabbitmq-users`](https://groups.google.com/forum/#!forum/rabbitmq-users)
|
||||
mailing list.
|
||||
|
||||
## Initial Steps
|
||||
|
||||
Bring up the VM and go through the process of updating Windows and (optionall)
|
||||
VirtualBox tools. You'll notice that the evaluation license is expired. Re-arm
|
||||
it by running this command via an administrative prompt:
|
||||
|
||||
```
|
||||
slmgr -rearm
|
||||
```
|
||||
|
||||
This part of the process will take a while as Windows is updated. Go make some
|
||||
coffee and check your email.
|
||||
|
||||
## Install Erlang and Elixir
|
||||
|
||||
Using Chocolatey is the easiest method to install the most recent version of
|
||||
Erlang and Elixir. Install Chocolatey [using these
|
||||
instructions](https://chocolatey.org/install#installing-chocolatey)
|
||||
([link](https://chocolatey.org/install#installing-chocolatey)), then install
|
||||
both Erlang and Elixir using this command from an *administrative* `cmd.exe` or
|
||||
Powershell terminal:
|
||||
|
||||
```
|
||||
choco install elixir which
|
||||
```
|
||||
|
||||
To confirm installation, open a new command prompt and run the following:
|
||||
|
||||
```
|
||||
erl -version
|
||||
elixir -v
|
||||
which erl
|
||||
which elixir
|
||||
```
|
||||
|
||||
## Install MSYS2 and NSIS
|
||||
|
||||
Chocolatey is also an easy way to install `msys2` and the NSIS install script
|
||||
builder. Run the following from an *administrative* command prompt:
|
||||
|
||||
```
|
||||
choco install msys2 nsis
|
||||
```
|
||||
|
||||
As a bonus, it will update your `msys2` installation for you during the initial
|
||||
install process.
|
||||
|
||||
## Install MSYS2 packages
|
||||
|
||||
Start up an `msys2` shell by running the following command (does not have to be
|
||||
admin):
|
||||
|
||||
```
|
||||
C:\tools\msys64\msys2_shell.cmd
|
||||
```
|
||||
|
||||
In that shell, install all of these dependencies. If you are prompted for
|
||||
input, just hit ENTER to choose the default:
|
||||
|
||||
```
|
||||
pacman -S --needed git make tar rsync python zip unzip dos2unix man
|
||||
```
|
||||
|
||||
## Build RabbitMQ
|
||||
|
||||
### Clone this repository
|
||||
|
||||
From within your MSYS2 shell:
|
||||
|
||||
```
|
||||
git clone https://github.com/rabbitmq/rabbitmq-server-release.git
|
||||
```
|
||||
|
||||
### Set `PATH`
|
||||
|
||||
```
|
||||
export PATH="$PATH:/c/ProgramData/Chocolatey/bin:/c/ProgramData/Chocolatey/lib/Elixir/bin:/c/Program Files (x86)/NSIS/bin"
|
||||
```
|
||||
|
||||
### Fetch and build deps
|
||||
|
||||
*Note:* as of this writing, RabbitMQ `3.7.8` is the latest version. Be sure to check out the tag appropriate for your use:
|
||||
|
||||
```
|
||||
cd rabbitmq-server-release
|
||||
|
||||
# the following checks out the "next to be released" branch
|
||||
# this branch and version 3.7.9 have a necessary fix for building
|
||||
# on windows, see this: https://github.com/rabbitmq/rabbitmq-server-release/pull/89
|
||||
|
||||
git checkout v3.7.x
|
||||
|
||||
make deps
|
||||
```
|
||||
|
||||
### Build Windows package
|
||||
|
||||
```
|
||||
make UNIX_TO_DOS=unix2dos package-windows
|
||||
```
|
||||
See [`rabbitmq/build-env-images`](https://github.com/rabbitmq/build-env-images) and [`rabbitmq/server-packages`](https://github.com/rabbitmq/server-packages?tab=readme-ov-file).
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# RabbitMQ Server Releases
|
||||
|
||||
See [`rabbitmq/server-packages`](https://github.com/rabbitmq/server-packages/).
|
||||
See [`rabbitmq/build-env-images`](https://github.com/rabbitmq/build-env-images) and [`rabbitmq/server-packages`](https://github.com/rabbitmq/server-packages?tab=readme-ov-file).
|
||||
|
|
50
WORKSPACE
50
WORKSPACE
|
@ -1,50 +0,0 @@
|
|||
workspace(name = "rabbitmq-server")
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
|
||||
|
||||
http_archive(
|
||||
name = "rules_pkg",
|
||||
sha256 = "d250924a2ecc5176808fc4c25d5cf5e9e79e6346d79d5ab1c493e289e722d1d0",
|
||||
urls = [
|
||||
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
|
||||
"https://github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
|
||||
],
|
||||
)
|
||||
|
||||
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
|
||||
|
||||
rules_pkg_dependencies()
|
||||
|
||||
git_repository(
|
||||
name = "rules_erlang",
|
||||
remote = "https://github.com/rabbitmq/rules_erlang.git",
|
||||
tag = "3.15.1",
|
||||
)
|
||||
|
||||
load("@rules_erlang//:internal_deps.bzl", "rules_erlang_internal_deps")
|
||||
|
||||
rules_erlang_internal_deps()
|
||||
|
||||
load("@rules_erlang//:internal_setup.bzl", "rules_erlang_internal_setup")
|
||||
|
||||
rules_erlang_internal_setup(go_repository_default_config = "//:WORKSPACE")
|
||||
|
||||
load("@rules_erlang//gazelle:deps.bzl", "gazelle_deps")
|
||||
|
||||
gazelle_deps()
|
||||
|
||||
new_git_repository(
|
||||
name = "bats",
|
||||
build_file = "@//:BUILD.bats",
|
||||
remote = "https://github.com/sstephenson/bats",
|
||||
tag = "v0.4.0",
|
||||
)
|
||||
|
||||
load("//deps/amqp10_client:activemq.bzl", "activemq_archive")
|
||||
|
||||
activemq_archive()
|
||||
|
||||
load("//bazel/bzlmod:secondary_umbrella.bzl", "secondary_umbrella")
|
||||
|
||||
secondary_umbrella()
|
|
@ -1,102 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/accept_encoding_header.erl",
|
||||
"src/accept_header.erl",
|
||||
"src/accept_neg.erl",
|
||||
"src/accept_parser.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/accept_encoding_header.beam",
|
||||
"ebin/accept_header.beam",
|
||||
"ebin/accept_neg.beam",
|
||||
"ebin/accept_parser.beam",
|
||||
],
|
||||
hdrs = ["include/accept.hrl"],
|
||||
app_name = "accept",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/accept.app.src",
|
||||
"src/accept_encoding_header.erl",
|
||||
"src/accept_header.erl",
|
||||
"src/accept_neg.erl",
|
||||
"src/accept_parser.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/accept.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "accept",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "accept",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,26 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
|
||||
|
||||
filegroup(
|
||||
name = "sources",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"LICENSE*",
|
||||
"lib/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
118
bazel/BUILD.aten
118
bazel/BUILD.aten
|
@ -1,118 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/aten.erl",
|
||||
"src/aten_app.erl",
|
||||
"src/aten_detect.erl",
|
||||
"src/aten_detector.erl",
|
||||
"src/aten_emitter.erl",
|
||||
"src/aten_sink.erl",
|
||||
"src/aten_sup.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/aten.beam",
|
||||
"ebin/aten_app.beam",
|
||||
"ebin/aten_detect.beam",
|
||||
"ebin/aten_detector.beam",
|
||||
"ebin/aten_emitter.beam",
|
||||
"ebin/aten_sink.beam",
|
||||
"ebin/aten_sup.beam",
|
||||
],
|
||||
hdrs = [],
|
||||
app_name = "aten",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/aten.app.src",
|
||||
"src/aten.erl",
|
||||
"src/aten_app.erl",
|
||||
"src/aten_detect.erl",
|
||||
"src/aten_detector.erl",
|
||||
"src/aten_emitter.erl",
|
||||
"src/aten_sink.erl",
|
||||
"src/aten_sup.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "aten",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"sasl",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "aten",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,96 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_bif_clash",
|
||||
"+warn_export_vars",
|
||||
"+warn_format",
|
||||
"+warn_obsolete_guard",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_bif_clash",
|
||||
"+warn_export_vars",
|
||||
"+warn_format",
|
||||
"+warn_obsolete_guard",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = ["src/base64url.erl"],
|
||||
outs = ["ebin/base64url.beam"],
|
||||
hdrs = [],
|
||||
app_name = "base64url",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/base64url.app.src",
|
||||
"src/base64url.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE.txt"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "base64url",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "base64url",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,175 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_untyped_record",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_untyped_record",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/cowboy_middleware.erl",
|
||||
"src/cowboy_stream.erl",
|
||||
"src/cowboy_sub_protocol.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "cowboy",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/cowboy.erl",
|
||||
"src/cowboy_app.erl",
|
||||
"src/cowboy_bstr.erl",
|
||||
"src/cowboy_children.erl",
|
||||
"src/cowboy_clear.erl",
|
||||
"src/cowboy_clock.erl",
|
||||
"src/cowboy_compress_h.erl",
|
||||
"src/cowboy_constraints.erl",
|
||||
"src/cowboy_decompress_h.erl",
|
||||
"src/cowboy_handler.erl",
|
||||
"src/cowboy_http.erl",
|
||||
"src/cowboy_http2.erl",
|
||||
"src/cowboy_loop.erl",
|
||||
"src/cowboy_metrics_h.erl",
|
||||
"src/cowboy_req.erl",
|
||||
"src/cowboy_rest.erl",
|
||||
"src/cowboy_router.erl",
|
||||
"src/cowboy_static.erl",
|
||||
"src/cowboy_stream_h.erl",
|
||||
"src/cowboy_sup.erl",
|
||||
"src/cowboy_tls.erl",
|
||||
"src/cowboy_tracer_h.erl",
|
||||
"src/cowboy_websocket.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "cowboy",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"@cowlib//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/cowboy.erl",
|
||||
"src/cowboy_app.erl",
|
||||
"src/cowboy_bstr.erl",
|
||||
"src/cowboy_children.erl",
|
||||
"src/cowboy_clear.erl",
|
||||
"src/cowboy_clock.erl",
|
||||
"src/cowboy_compress_h.erl",
|
||||
"src/cowboy_constraints.erl",
|
||||
"src/cowboy_decompress_h.erl",
|
||||
"src/cowboy_handler.erl",
|
||||
"src/cowboy_http.erl",
|
||||
"src/cowboy_http2.erl",
|
||||
"src/cowboy_loop.erl",
|
||||
"src/cowboy_metrics_h.erl",
|
||||
"src/cowboy_middleware.erl",
|
||||
"src/cowboy_req.erl",
|
||||
"src/cowboy_rest.erl",
|
||||
"src/cowboy_router.erl",
|
||||
"src/cowboy_static.erl",
|
||||
"src/cowboy_stream.erl",
|
||||
"src/cowboy_stream_h.erl",
|
||||
"src/cowboy_sub_protocol.erl",
|
||||
"src/cowboy_sup.erl",
|
||||
"src/cowboy_tls.erl",
|
||||
"src/cowboy_tracer_h.erl",
|
||||
"src/cowboy_websocket.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(name = "public_hdrs")
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "Small, fast, modern HTTP server.",
|
||||
app_name = "cowboy",
|
||||
app_registered = ["cowboy_clock"],
|
||||
app_version = "2.12.0",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["crypto"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"@cowlib//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "cowboy",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
|
@ -1,144 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/cow_base64url.erl",
|
||||
"src/cow_cookie.erl",
|
||||
"src/cow_date.erl",
|
||||
"src/cow_hpack.erl",
|
||||
"src/cow_http.erl",
|
||||
"src/cow_http2.erl",
|
||||
"src/cow_http2_machine.erl",
|
||||
"src/cow_http_hd.erl",
|
||||
"src/cow_http_struct_hd.erl",
|
||||
"src/cow_http_te.erl",
|
||||
"src/cow_iolists.erl",
|
||||
"src/cow_link.erl",
|
||||
"src/cow_mimetypes.erl",
|
||||
"src/cow_multipart.erl",
|
||||
"src/cow_qs.erl",
|
||||
"src/cow_spdy.erl",
|
||||
"src/cow_sse.erl",
|
||||
"src/cow_uri.erl",
|
||||
"src/cow_uri_template.erl",
|
||||
"src/cow_ws.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "cowlib",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/cow_base64url.erl",
|
||||
"src/cow_cookie.erl",
|
||||
"src/cow_date.erl",
|
||||
"src/cow_hpack.erl",
|
||||
"src/cow_http.erl",
|
||||
"src/cow_http2.erl",
|
||||
"src/cow_http2_machine.erl",
|
||||
"src/cow_http_hd.erl",
|
||||
"src/cow_http_struct_hd.erl",
|
||||
"src/cow_http_te.erl",
|
||||
"src/cow_iolists.erl",
|
||||
"src/cow_link.erl",
|
||||
"src/cow_mimetypes.erl",
|
||||
"src/cow_multipart.erl",
|
||||
"src/cow_qs.erl",
|
||||
"src/cow_spdy.erl",
|
||||
"src/cow_sse.erl",
|
||||
"src/cow_uri.erl",
|
||||
"src/cow_uri_template.erl",
|
||||
"src/cow_ws.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [
|
||||
"src/cow_hpack_dec_huffman_lookup.hrl",
|
||||
"src/cow_spdy.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/cow_inline.hrl",
|
||||
"include/cow_parse.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "Support library for manipulating Web protocols.",
|
||||
app_name = "cowlib",
|
||||
app_version = "2.13.0",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["crypto"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "cowlib",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
|
@ -1,111 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/credentials_obfuscation.erl",
|
||||
"src/credentials_obfuscation_app.erl",
|
||||
"src/credentials_obfuscation_pbe.erl",
|
||||
"src/credentials_obfuscation_sup.erl",
|
||||
"src/credentials_obfuscation_svc.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "credentials_obfuscation",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/credentials_obfuscation.app.src",
|
||||
"src/credentials_obfuscation.erl",
|
||||
"src/credentials_obfuscation_app.erl",
|
||||
"src/credentials_obfuscation_pbe.erl",
|
||||
"src/credentials_obfuscation_sup.erl",
|
||||
"src/credentials_obfuscation_svc.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/credentials_obfuscation.hrl",
|
||||
"include/otp_crypto.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "credentials_obfuscation",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["crypto"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "credentials_obfuscation",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
|
@ -1,26 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
|
||||
|
||||
filegroup(
|
||||
name = "sources",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"LICENSE*",
|
||||
"lib/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
Can't render this file because it contains an unexpected character in line 1 and column 6.
|
|
@ -1,102 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/ct_helper.erl",
|
||||
"src/ct_helper_error_h.erl"
|
||||
],
|
||||
outs = [
|
||||
"ebin/ct_helper.beam",
|
||||
"ebin/ct_helper_error_h.beam"
|
||||
],
|
||||
app_name = "ct_helper",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
testonly = True,
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/ct_helper.app.src",
|
||||
"src/ct_helper.erl",
|
||||
"src/ct_helper_error_h.erl"
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
testonly = True,
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "ct_helper",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "ct_helper",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,163 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_untyped_record",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_untyped_record",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/conf_parse.erl",
|
||||
"src/cuttlefish.erl",
|
||||
"src/cuttlefish_advanced.erl",
|
||||
"src/cuttlefish_bytesize.erl",
|
||||
"src/cuttlefish_conf.erl",
|
||||
"src/cuttlefish_datatypes.erl",
|
||||
"src/cuttlefish_duration.erl",
|
||||
"src/cuttlefish_duration_parse.erl",
|
||||
"src/cuttlefish_effective.erl",
|
||||
"src/cuttlefish_enum.erl",
|
||||
"src/cuttlefish_error.erl",
|
||||
"src/cuttlefish_escript.erl",
|
||||
"src/cuttlefish_flag.erl",
|
||||
"src/cuttlefish_generator.erl",
|
||||
"src/cuttlefish_mapping.erl",
|
||||
"src/cuttlefish_rebar_plugin.erl",
|
||||
"src/cuttlefish_schema.erl",
|
||||
"src/cuttlefish_translation.erl",
|
||||
"src/cuttlefish_unit.erl",
|
||||
"src/cuttlefish_util.erl",
|
||||
"src/cuttlefish_validator.erl",
|
||||
"src/cuttlefish_variable.erl",
|
||||
"src/cuttlefish_vmargs.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/conf_parse.beam",
|
||||
"ebin/cuttlefish.beam",
|
||||
"ebin/cuttlefish_advanced.beam",
|
||||
"ebin/cuttlefish_bytesize.beam",
|
||||
"ebin/cuttlefish_conf.beam",
|
||||
"ebin/cuttlefish_datatypes.beam",
|
||||
"ebin/cuttlefish_duration.beam",
|
||||
"ebin/cuttlefish_duration_parse.beam",
|
||||
"ebin/cuttlefish_effective.beam",
|
||||
"ebin/cuttlefish_enum.beam",
|
||||
"ebin/cuttlefish_error.beam",
|
||||
"ebin/cuttlefish_escript.beam",
|
||||
"ebin/cuttlefish_flag.beam",
|
||||
"ebin/cuttlefish_generator.beam",
|
||||
"ebin/cuttlefish_mapping.beam",
|
||||
"ebin/cuttlefish_rebar_plugin.beam",
|
||||
"ebin/cuttlefish_schema.beam",
|
||||
"ebin/cuttlefish_translation.beam",
|
||||
"ebin/cuttlefish_unit.beam",
|
||||
"ebin/cuttlefish_util.beam",
|
||||
"ebin/cuttlefish_validator.beam",
|
||||
"ebin/cuttlefish_variable.beam",
|
||||
"ebin/cuttlefish_vmargs.beam",
|
||||
],
|
||||
hdrs = ["src/cuttlefish_duration.hrl"],
|
||||
app_name = "cuttlefish",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/conf_parse.erl",
|
||||
"src/cuttlefish.app.src",
|
||||
"src/cuttlefish.erl",
|
||||
"src/cuttlefish_advanced.erl",
|
||||
"src/cuttlefish_bytesize.erl",
|
||||
"src/cuttlefish_conf.erl",
|
||||
"src/cuttlefish_datatypes.erl",
|
||||
"src/cuttlefish_duration.erl",
|
||||
"src/cuttlefish_duration_parse.erl",
|
||||
"src/cuttlefish_effective.erl",
|
||||
"src/cuttlefish_enum.erl",
|
||||
"src/cuttlefish_error.erl",
|
||||
"src/cuttlefish_escript.erl",
|
||||
"src/cuttlefish_flag.erl",
|
||||
"src/cuttlefish_generator.erl",
|
||||
"src/cuttlefish_mapping.erl",
|
||||
"src/cuttlefish_rebar_plugin.erl",
|
||||
"src/cuttlefish_schema.erl",
|
||||
"src/cuttlefish_translation.erl",
|
||||
"src/cuttlefish_unit.erl",
|
||||
"src/cuttlefish_util.erl",
|
||||
"src/cuttlefish_validator.erl",
|
||||
"src/cuttlefish_variable.erl",
|
||||
"src/cuttlefish_vmargs.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = ["src/cuttlefish_duration.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = ["priv/erlang_vm.schema"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "cuttlefish",
|
||||
beam_files = [":beam_files"],
|
||||
deps = ["@getopt//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "cuttlefish",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,198 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/clients/eetcd_auth_gen.erl",
|
||||
"src/clients/eetcd_cluster_gen.erl",
|
||||
"src/clients/eetcd_election_gen.erl",
|
||||
"src/clients/eetcd_health_gen.erl",
|
||||
"src/clients/eetcd_kv_gen.erl",
|
||||
"src/clients/eetcd_lease_gen.erl",
|
||||
"src/clients/eetcd_lock_gen.erl",
|
||||
"src/clients/eetcd_maintenance_gen.erl",
|
||||
"src/clients/eetcd_watch_gen.erl",
|
||||
"src/eetcd.erl",
|
||||
"src/eetcd_app.erl",
|
||||
"src/eetcd_auth.erl",
|
||||
"src/eetcd_cluster.erl",
|
||||
"src/eetcd_compare.erl",
|
||||
"src/eetcd_conn.erl",
|
||||
"src/eetcd_conn_sup.erl",
|
||||
"src/eetcd_data_coercion.erl",
|
||||
"src/eetcd_election.erl",
|
||||
"src/eetcd_grpc.erl",
|
||||
"src/eetcd_kv.erl",
|
||||
"src/eetcd_lease.erl",
|
||||
"src/eetcd_lease_sup.erl",
|
||||
"src/eetcd_lock.erl",
|
||||
"src/eetcd_maintenance.erl",
|
||||
"src/eetcd_op.erl",
|
||||
"src/eetcd_stream.erl",
|
||||
"src/eetcd_sup.erl",
|
||||
"src/eetcd_watch.erl",
|
||||
"src/protos/auth_pb.erl",
|
||||
"src/protos/gogo_pb.erl",
|
||||
"src/protos/health_pb.erl",
|
||||
"src/protos/kv_pb.erl",
|
||||
"src/protos/router_pb.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/auth_pb.beam",
|
||||
"ebin/eetcd.beam",
|
||||
"ebin/eetcd_app.beam",
|
||||
"ebin/eetcd_auth.beam",
|
||||
"ebin/eetcd_auth_gen.beam",
|
||||
"ebin/eetcd_cluster.beam",
|
||||
"ebin/eetcd_cluster_gen.beam",
|
||||
"ebin/eetcd_compare.beam",
|
||||
"ebin/eetcd_conn.beam",
|
||||
"ebin/eetcd_conn_sup.beam",
|
||||
"ebin/eetcd_data_coercion.beam",
|
||||
"ebin/eetcd_election.beam",
|
||||
"ebin/eetcd_election_gen.beam",
|
||||
"ebin/eetcd_grpc.beam",
|
||||
"ebin/eetcd_health_gen.beam",
|
||||
"ebin/eetcd_kv.beam",
|
||||
"ebin/eetcd_kv_gen.beam",
|
||||
"ebin/eetcd_lease.beam",
|
||||
"ebin/eetcd_lease_gen.beam",
|
||||
"ebin/eetcd_lease_sup.beam",
|
||||
"ebin/eetcd_lock.beam",
|
||||
"ebin/eetcd_lock_gen.beam",
|
||||
"ebin/eetcd_maintenance.beam",
|
||||
"ebin/eetcd_maintenance_gen.beam",
|
||||
"ebin/eetcd_op.beam",
|
||||
"ebin/eetcd_stream.beam",
|
||||
"ebin/eetcd_sup.beam",
|
||||
"ebin/eetcd_watch.beam",
|
||||
"ebin/eetcd_watch_gen.beam",
|
||||
"ebin/gogo_pb.beam",
|
||||
"ebin/health_pb.beam",
|
||||
"ebin/kv_pb.beam",
|
||||
"ebin/router_pb.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/eetcd.hrl",
|
||||
],
|
||||
app_name = "eetcd",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/clients/eetcd_auth_gen.erl",
|
||||
"src/clients/eetcd_cluster_gen.erl",
|
||||
"src/clients/eetcd_election_gen.erl",
|
||||
"src/clients/eetcd_health_gen.erl",
|
||||
"src/clients/eetcd_kv_gen.erl",
|
||||
"src/clients/eetcd_lease_gen.erl",
|
||||
"src/clients/eetcd_lock_gen.erl",
|
||||
"src/clients/eetcd_maintenance_gen.erl",
|
||||
"src/clients/eetcd_watch_gen.erl",
|
||||
"src/eetcd.app.src",
|
||||
"src/eetcd.erl",
|
||||
"src/eetcd_app.erl",
|
||||
"src/eetcd_auth.erl",
|
||||
"src/eetcd_cluster.erl",
|
||||
"src/eetcd_compare.erl",
|
||||
"src/eetcd_conn.erl",
|
||||
"src/eetcd_conn_sup.erl",
|
||||
"src/eetcd_data_coercion.erl",
|
||||
"src/eetcd_election.erl",
|
||||
"src/eetcd_grpc.erl",
|
||||
"src/eetcd_kv.erl",
|
||||
"src/eetcd_lease.erl",
|
||||
"src/eetcd_lease_sup.erl",
|
||||
"src/eetcd_lock.erl",
|
||||
"src/eetcd_maintenance.erl",
|
||||
"src/eetcd_op.erl",
|
||||
"src/eetcd_stream.erl",
|
||||
"src/eetcd_sup.erl",
|
||||
"src/eetcd_watch.erl",
|
||||
"src/protos/auth_pb.erl",
|
||||
"src/protos/gogo_pb.erl",
|
||||
"src/protos/health_pb.erl",
|
||||
"src/protos/kv_pb.erl",
|
||||
"src/protos/router_pb.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/eetcd.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [
|
||||
"priv/protos",
|
||||
"priv/protos/auth.proto",
|
||||
"priv/protos/gogo.proto",
|
||||
"priv/protos/kv.proto",
|
||||
"priv/protos/router.proto",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "eetcd",
|
||||
beam_files = [":beam_files"],
|
||||
deps = ["@gun//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "eetcd",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,152 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
# gazelle:erlang_erlc_opt -DBUILD_WITHOUT_QUIC
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_all",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_vars",
|
||||
"-DBUILD_WITHOUT_QUIC",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_all",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_vars",
|
||||
"-DBUILD_WITHOUT_QUIC",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/emqtt.erl",
|
||||
"src/emqtt_cli.erl",
|
||||
"src/emqtt_frame.erl",
|
||||
"src/emqtt_inflight.erl",
|
||||
"src/emqtt_props.erl",
|
||||
"src/emqtt_quic.erl",
|
||||
"src/emqtt_quic_connection.erl",
|
||||
"src/emqtt_quic_stream.erl",
|
||||
"src/emqtt_secret.erl",
|
||||
"src/emqtt_sock.erl",
|
||||
"src/emqtt_ws.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "emqtt",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
testonly = True,
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/emqtt.app.src",
|
||||
"src/emqtt.erl",
|
||||
"src/emqtt_cli.erl",
|
||||
"src/emqtt_frame.erl",
|
||||
"src/emqtt_inflight.erl",
|
||||
"src/emqtt_props.erl",
|
||||
"src/emqtt_quic.erl",
|
||||
"src/emqtt_quic_connection.erl",
|
||||
"src/emqtt_quic_stream.erl",
|
||||
"src/emqtt_secret.erl",
|
||||
"src/emqtt_sock.erl",
|
||||
"src/emqtt_ws.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
testonly = True,
|
||||
srcs = glob(["src/**/*.hrl"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"include/emqtt.hrl",
|
||||
"include/logger.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
testonly = True,
|
||||
srcs = glob(["priv/**/*"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
testonly = True,
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "emqtt",
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"@cowlib//:erlang_app",
|
||||
"@getopt//:erlang_app",
|
||||
"@gun//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "emqtt",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
testonly = True,
|
||||
srcs = glob(["LICENSE*"]),
|
||||
)
|
|
@ -1,88 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = ["src/enough.erl"],
|
||||
outs = ["ebin/enough.beam"],
|
||||
hdrs = ["src/enough.hrl"],
|
||||
app_name = "enough",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/enough.app.src",
|
||||
"src/enough.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = ["src/enough.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "enough",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "enough",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,10 +0,0 @@
|
|||
filegroup(
|
||||
name = "sources",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"LICENSE*",
|
||||
"lib/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,100 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+recv_opt_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+recv_opt_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = ["src/gen_batch_server.erl"],
|
||||
outs = ["ebin/gen_batch_server.beam"],
|
||||
hdrs = [],
|
||||
app_name = "gen_batch_server",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/gen_batch_server.app.src",
|
||||
"src/gen_batch_server.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "gen_batch_server",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "gen_batch_server",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,116 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+strict_validation",
|
||||
"+warn_bif_clash",
|
||||
"+warn_deprecated_function",
|
||||
"+warn_export_all",
|
||||
"+warn_export_vars",
|
||||
"+warn_exported_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_untyped_record",
|
||||
"+warn_unused_function",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_record",
|
||||
"+warn_unused_vars",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+strict_validation",
|
||||
"+warn_bif_clash",
|
||||
"+warn_deprecated_function",
|
||||
"+warn_export_all",
|
||||
"+warn_export_vars",
|
||||
"+warn_exported_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_untyped_record",
|
||||
"+warn_unused_function",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_record",
|
||||
"+warn_unused_vars",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = ["src/getopt.erl"],
|
||||
outs = ["ebin/getopt.beam"],
|
||||
hdrs = [],
|
||||
app_name = "getopt",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/getopt.app.src",
|
||||
"src/getopt.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE.txt"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "getopt",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "getopt",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
143
bazel/BUILD.gun
143
bazel/BUILD.gun
|
@ -1,143 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = ["src/gun_content_handler.erl"],
|
||||
outs = ["ebin/gun_content_handler.beam"],
|
||||
hdrs = [],
|
||||
app_name = "gun",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/gun.erl",
|
||||
"src/gun_app.erl",
|
||||
"src/gun_data_h.erl",
|
||||
"src/gun_http.erl",
|
||||
"src/gun_http2.erl",
|
||||
"src/gun_sse_h.erl",
|
||||
"src/gun_sup.erl",
|
||||
"src/gun_tcp.erl",
|
||||
"src/gun_tls.erl",
|
||||
"src/gun_ws.erl",
|
||||
"src/gun_ws_h.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/gun.beam",
|
||||
"ebin/gun_app.beam",
|
||||
"ebin/gun_data_h.beam",
|
||||
"ebin/gun_http.beam",
|
||||
"ebin/gun_http2.beam",
|
||||
"ebin/gun_sse_h.beam",
|
||||
"ebin/gun_sup.beam",
|
||||
"ebin/gun_tcp.beam",
|
||||
"ebin/gun_tls.beam",
|
||||
"ebin/gun_ws.beam",
|
||||
"ebin/gun_ws_h.beam",
|
||||
],
|
||||
hdrs = [],
|
||||
app_name = "gun",
|
||||
beam = [":behaviours"],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/gun.app.src",
|
||||
"src/gun.erl",
|
||||
"src/gun_app.erl",
|
||||
"src/gun_content_handler.erl",
|
||||
"src/gun_data_h.erl",
|
||||
"src/gun_http.erl",
|
||||
"src/gun_http2.erl",
|
||||
"src/gun_sse_h.erl",
|
||||
"src/gun_sup.erl",
|
||||
"src/gun_tcp.erl",
|
||||
"src/gun_tls.erl",
|
||||
"src/gun_ws.erl",
|
||||
"src/gun_ws_h.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "gun",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["ssl"],
|
||||
deps = ["@cowlib//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "gun",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,115 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/horus.erl",
|
||||
"src/horus_cover.erl",
|
||||
"src/horus_utils.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "horus",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/horus.app.src",
|
||||
"src/horus.erl",
|
||||
"src/horus_cover.erl",
|
||||
"src/horus_utils.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [
|
||||
"src/horus_cover.hrl",
|
||||
"src/horus_error.hrl",
|
||||
"src/horus_fun.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/horus.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [
|
||||
"priv/horus_cover_helper.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE-Apache-2.0",
|
||||
"LICENSE-MPL-2.0",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "horus",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"compiler",
|
||||
"tools",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "horus",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
367
bazel/BUILD.jose
367
bazel/BUILD.jose
|
@ -1,367 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "parse_transforms",
|
||||
srcs = ["src/base/jose_base.erl"],
|
||||
outs = ["ebin/jose_base.beam"],
|
||||
hdrs = [
|
||||
"include/jose.hrl",
|
||||
"include/jose_base.hrl",
|
||||
"include/jose_compat.hrl",
|
||||
"include/jose_jwe.hrl",
|
||||
"include/jose_jwk.hrl",
|
||||
"include/jose_jws.hrl",
|
||||
"include/jose_jwt.hrl",
|
||||
"include/jose_public_key.hrl",
|
||||
],
|
||||
app_name = "jose",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/jose_block_encryptor.erl",
|
||||
"src/json/jose_json.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305.erl",
|
||||
"src/jwa/curve25519/jose_curve25519.erl",
|
||||
"src/jwa/curve448/jose_curve448.erl",
|
||||
"src/jwa/sha3/jose_sha3.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305.erl",
|
||||
"src/jwe/jose_jwe.erl",
|
||||
"src/jwe/jose_jwe_alg.erl",
|
||||
"src/jwe/jose_jwe_enc.erl",
|
||||
"src/jwk/jose_jwk.erl",
|
||||
"src/jwk/jose_jwk_kty.erl",
|
||||
"src/jwk/jose_jwk_oct.erl",
|
||||
"src/jwk/jose_jwk_use_enc.erl",
|
||||
"src/jwk/jose_jwk_use_sig.erl",
|
||||
"src/jws/jose_jws.erl",
|
||||
"src/jws/jose_jws_alg.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "jose",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/base/jose_base64.erl",
|
||||
"src/base/jose_base64url.erl",
|
||||
"src/jose.erl",
|
||||
"src/jose_app.erl",
|
||||
"src/jose_crypto_compat.erl",
|
||||
"src/jose_public_key.erl",
|
||||
"src/jose_server.erl",
|
||||
"src/jose_sup.erl",
|
||||
"src/json/jose_json_jason.erl",
|
||||
"src/json/jose_json_jiffy.erl",
|
||||
"src/json/jose_json_jsone.erl",
|
||||
"src/json/jose_json_jsx.erl",
|
||||
"src/json/jose_json_ojson.erl",
|
||||
"src/json/jose_json_poison.erl",
|
||||
"src/json/jose_json_poison_compat_encoder.erl",
|
||||
"src/json/jose_json_poison_lexical_encoder.erl",
|
||||
"src/json/jose_json_thoas.erl",
|
||||
"src/json/jose_json_unsupported.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_crypto.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_libsodium.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_unsupported.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_crypto.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_fallback.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_libdecaf.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_libsodium.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_unsupported.erl",
|
||||
"src/jwa/curve448/jose_curve448_crypto.erl",
|
||||
"src/jwa/curve448/jose_curve448_fallback.erl",
|
||||
"src/jwa/curve448/jose_curve448_libdecaf.erl",
|
||||
"src/jwa/curve448/jose_curve448_unsupported.erl",
|
||||
"src/jwa/jose_jwa.erl",
|
||||
"src/jwa/jose_jwa_aes.erl",
|
||||
"src/jwa/jose_jwa_aes_kw.erl",
|
||||
"src/jwa/jose_jwa_base64url.erl",
|
||||
"src/jwa/jose_jwa_bench.erl",
|
||||
"src/jwa/jose_jwa_chacha20.erl",
|
||||
"src/jwa/jose_jwa_chacha20_poly1305.erl",
|
||||
"src/jwa/jose_jwa_concat_kdf.erl",
|
||||
"src/jwa/jose_jwa_curve25519.erl",
|
||||
"src/jwa/jose_jwa_curve448.erl",
|
||||
"src/jwa/jose_jwa_ed25519.erl",
|
||||
"src/jwa/jose_jwa_ed448.erl",
|
||||
"src/jwa/jose_jwa_hchacha20.erl",
|
||||
"src/jwa/jose_jwa_math.erl",
|
||||
"src/jwa/jose_jwa_pkcs1.erl",
|
||||
"src/jwa/jose_jwa_pkcs5.erl",
|
||||
"src/jwa/jose_jwa_pkcs7.erl",
|
||||
"src/jwa/jose_jwa_poly1305.erl",
|
||||
"src/jwa/jose_jwa_sha3.erl",
|
||||
"src/jwa/jose_jwa_unsupported.erl",
|
||||
"src/jwa/jose_jwa_x25519.erl",
|
||||
"src/jwa/jose_jwa_x448.erl",
|
||||
"src/jwa/jose_jwa_xchacha20.erl",
|
||||
"src/jwa/jose_jwa_xchacha20_poly1305.erl",
|
||||
"src/jwa/sha3/jose_sha3_keccakf1600_driver.erl",
|
||||
"src/jwa/sha3/jose_sha3_keccakf1600_nif.erl",
|
||||
"src/jwa/sha3/jose_sha3_libdecaf.erl",
|
||||
"src/jwa/sha3/jose_sha3_unsupported.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_crypto.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_libsodium.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_unsupported.erl",
|
||||
"src/jwe/jose_jwe_alg_aes_kw.erl",
|
||||
"src/jwe/jose_jwe_alg_c20p_kw.erl",
|
||||
"src/jwe/jose_jwe_alg_dir.erl",
|
||||
"src/jwe/jose_jwe_alg_ecdh_1pu.erl",
|
||||
"src/jwe/jose_jwe_alg_ecdh_es.erl",
|
||||
"src/jwe/jose_jwe_alg_ecdh_ss.erl",
|
||||
"src/jwe/jose_jwe_alg_pbes2.erl",
|
||||
"src/jwe/jose_jwe_alg_rsa.erl",
|
||||
"src/jwe/jose_jwe_alg_xc20p_kw.erl",
|
||||
"src/jwe/jose_jwe_enc_aes.erl",
|
||||
"src/jwe/jose_jwe_enc_c20p.erl",
|
||||
"src/jwe/jose_jwe_enc_xc20p.erl",
|
||||
"src/jwe/jose_jwe_zip.erl",
|
||||
"src/jwk/jose_jwk_der.erl",
|
||||
"src/jwk/jose_jwk_kty_ec.erl",
|
||||
"src/jwk/jose_jwk_kty_oct.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed25519.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed25519ph.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed448.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed448ph.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_x25519.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_x448.erl",
|
||||
"src/jwk/jose_jwk_kty_rsa.erl",
|
||||
"src/jwk/jose_jwk_openssh_key.erl",
|
||||
"src/jwk/jose_jwk_pem.erl",
|
||||
"src/jwk/jose_jwk_set.erl",
|
||||
"src/jws/jose_jws_alg_ecdsa.erl",
|
||||
"src/jws/jose_jws_alg_eddsa.erl",
|
||||
"src/jws/jose_jws_alg_hmac.erl",
|
||||
"src/jws/jose_jws_alg_none.erl",
|
||||
"src/jws/jose_jws_alg_poly1305.erl",
|
||||
"src/jws/jose_jws_alg_rsa_pkcs1_v1_5.erl",
|
||||
"src/jws/jose_jws_alg_rsa_pss.erl",
|
||||
"src/jwt/jose_jwt.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "jose",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/base/jose_base64.erl",
|
||||
"src/base/jose_base64url.erl",
|
||||
"src/jose.app.src",
|
||||
"src/jose.erl",
|
||||
"src/jose_app.erl",
|
||||
"src/jose_block_encryptor.erl",
|
||||
"src/jose_crypto_compat.erl",
|
||||
"src/jose_public_key.erl",
|
||||
"src/jose_server.erl",
|
||||
"src/jose_sup.erl",
|
||||
"src/json/jose_json.erl",
|
||||
"src/json/jose_json_jason.erl",
|
||||
"src/json/jose_json_jiffy.erl",
|
||||
"src/json/jose_json_jsone.erl",
|
||||
"src/json/jose_json_jsx.erl",
|
||||
"src/json/jose_json_ojson.erl",
|
||||
"src/json/jose_json_poison.erl",
|
||||
"src/json/jose_json_poison_compat_encoder.erl",
|
||||
"src/json/jose_json_poison_lexical_encoder.erl",
|
||||
"src/json/jose_json_thoas.erl",
|
||||
"src/json/jose_json_unsupported.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_crypto.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_libsodium.erl",
|
||||
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_unsupported.erl",
|
||||
"src/jwa/curve25519/jose_curve25519.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_crypto.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_fallback.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_libdecaf.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_libsodium.erl",
|
||||
"src/jwa/curve25519/jose_curve25519_unsupported.erl",
|
||||
"src/jwa/curve448/jose_curve448.erl",
|
||||
"src/jwa/curve448/jose_curve448_crypto.erl",
|
||||
"src/jwa/curve448/jose_curve448_fallback.erl",
|
||||
"src/jwa/curve448/jose_curve448_libdecaf.erl",
|
||||
"src/jwa/curve448/jose_curve448_unsupported.erl",
|
||||
"src/jwa/jose_jwa.erl",
|
||||
"src/jwa/jose_jwa_aes.erl",
|
||||
"src/jwa/jose_jwa_aes_kw.erl",
|
||||
"src/jwa/jose_jwa_base64url.erl",
|
||||
"src/jwa/jose_jwa_bench.erl",
|
||||
"src/jwa/jose_jwa_chacha20.erl",
|
||||
"src/jwa/jose_jwa_chacha20_poly1305.erl",
|
||||
"src/jwa/jose_jwa_concat_kdf.erl",
|
||||
"src/jwa/jose_jwa_curve25519.erl",
|
||||
"src/jwa/jose_jwa_curve448.erl",
|
||||
"src/jwa/jose_jwa_ed25519.erl",
|
||||
"src/jwa/jose_jwa_ed448.erl",
|
||||
"src/jwa/jose_jwa_hchacha20.erl",
|
||||
"src/jwa/jose_jwa_math.erl",
|
||||
"src/jwa/jose_jwa_pkcs1.erl",
|
||||
"src/jwa/jose_jwa_pkcs5.erl",
|
||||
"src/jwa/jose_jwa_pkcs7.erl",
|
||||
"src/jwa/jose_jwa_poly1305.erl",
|
||||
"src/jwa/jose_jwa_sha3.erl",
|
||||
"src/jwa/jose_jwa_unsupported.erl",
|
||||
"src/jwa/jose_jwa_x25519.erl",
|
||||
"src/jwa/jose_jwa_x448.erl",
|
||||
"src/jwa/jose_jwa_xchacha20.erl",
|
||||
"src/jwa/jose_jwa_xchacha20_poly1305.erl",
|
||||
"src/jwa/sha3/jose_sha3.erl",
|
||||
"src/jwa/sha3/jose_sha3_keccakf1600_driver.erl",
|
||||
"src/jwa/sha3/jose_sha3_keccakf1600_nif.erl",
|
||||
"src/jwa/sha3/jose_sha3_libdecaf.erl",
|
||||
"src/jwa/sha3/jose_sha3_unsupported.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_crypto.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_libsodium.erl",
|
||||
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_unsupported.erl",
|
||||
"src/jwe/jose_jwe.erl",
|
||||
"src/jwe/jose_jwe_alg.erl",
|
||||
"src/jwe/jose_jwe_alg_aes_kw.erl",
|
||||
"src/jwe/jose_jwe_alg_c20p_kw.erl",
|
||||
"src/jwe/jose_jwe_alg_dir.erl",
|
||||
"src/jwe/jose_jwe_alg_ecdh_1pu.erl",
|
||||
"src/jwe/jose_jwe_alg_ecdh_es.erl",
|
||||
"src/jwe/jose_jwe_alg_ecdh_ss.erl",
|
||||
"src/jwe/jose_jwe_alg_pbes2.erl",
|
||||
"src/jwe/jose_jwe_alg_rsa.erl",
|
||||
"src/jwe/jose_jwe_alg_xc20p_kw.erl",
|
||||
"src/jwe/jose_jwe_enc.erl",
|
||||
"src/jwe/jose_jwe_enc_aes.erl",
|
||||
"src/jwe/jose_jwe_enc_c20p.erl",
|
||||
"src/jwe/jose_jwe_enc_xc20p.erl",
|
||||
"src/jwe/jose_jwe_zip.erl",
|
||||
"src/jwk/jose_jwk.erl",
|
||||
"src/jwk/jose_jwk_der.erl",
|
||||
"src/jwk/jose_jwk_kty.erl",
|
||||
"src/jwk/jose_jwk_kty_ec.erl",
|
||||
"src/jwk/jose_jwk_kty_oct.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed25519.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed25519ph.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed448.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_ed448ph.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_x25519.erl",
|
||||
"src/jwk/jose_jwk_kty_okp_x448.erl",
|
||||
"src/jwk/jose_jwk_kty_rsa.erl",
|
||||
"src/jwk/jose_jwk_oct.erl",
|
||||
"src/jwk/jose_jwk_openssh_key.erl",
|
||||
"src/jwk/jose_jwk_pem.erl",
|
||||
"src/jwk/jose_jwk_set.erl",
|
||||
"src/jwk/jose_jwk_use_enc.erl",
|
||||
"src/jwk/jose_jwk_use_sig.erl",
|
||||
"src/jws/jose_jws.erl",
|
||||
"src/jws/jose_jws_alg.erl",
|
||||
"src/jws/jose_jws_alg_ecdsa.erl",
|
||||
"src/jws/jose_jws_alg_eddsa.erl",
|
||||
"src/jws/jose_jws_alg_hmac.erl",
|
||||
"src/jws/jose_jws_alg_none.erl",
|
||||
"src/jws/jose_jws_alg_poly1305.erl",
|
||||
"src/jws/jose_jws_alg_rsa_pkcs1_v1_5.erl",
|
||||
"src/jws/jose_jws_alg_rsa_pss.erl",
|
||||
"src/jwt/jose_jwt.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/jose.hrl",
|
||||
"include/jose_base.hrl",
|
||||
"include/jose_compat.hrl",
|
||||
"include/jose_jwe.hrl",
|
||||
"include/jose_jwk.hrl",
|
||||
"include/jose_jws.hrl",
|
||||
"include/jose_jwt.hrl",
|
||||
"include/jose_public_key.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [
|
||||
"priv/.keep",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE.md"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "jose",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"asn1",
|
||||
"crypto",
|
||||
"public_key",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = ["@thoas//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "jose",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE.md",
|
||||
],
|
||||
)
|
|
@ -1,10 +0,0 @@
|
|||
filegroup(
|
||||
name = "sources",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"LICENSE*",
|
||||
"lib/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,182 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/khepri_import_export.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "khepri",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/khepri.app.src",
|
||||
"src/khepri.erl",
|
||||
"src/khepri_adv.erl",
|
||||
"src/khepri_app.erl",
|
||||
"src/khepri_cluster.erl",
|
||||
"src/khepri_condition.erl",
|
||||
"src/khepri_event_handler.erl",
|
||||
"src/khepri_evf.erl",
|
||||
"src/khepri_export_erlang.erl",
|
||||
"src/khepri_import_export.erl",
|
||||
"src/khepri_machine.erl",
|
||||
"src/khepri_machine_v0.erl",
|
||||
"src/khepri_path.erl",
|
||||
"src/khepri_pattern_tree.erl",
|
||||
"src/khepri_payload.erl",
|
||||
"src/khepri_projection.erl",
|
||||
"src/khepri_sproc.erl",
|
||||
"src/khepri_sup.erl",
|
||||
"src/khepri_tree.erl",
|
||||
"src/khepri_tx.erl",
|
||||
"src/khepri_tx_adv.erl",
|
||||
"src/khepri_utils.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [
|
||||
"src/khepri_bang.hrl",
|
||||
"src/khepri_cluster.hrl",
|
||||
"src/khepri_error.hrl",
|
||||
"src/khepri_evf.hrl",
|
||||
"src/khepri_machine.hrl",
|
||||
"src/khepri_payload.hrl",
|
||||
"src/khepri_projection.hrl",
|
||||
"src/khepri_ret.hrl",
|
||||
"src/khepri_tree.hrl",
|
||||
"src/khepri_tx.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/khepri.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE-Apache-2.0",
|
||||
"LICENSE-MPL-2.0",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "khepri",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["compiler"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"@horus//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@seshat//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "khepri",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/khepri.erl",
|
||||
"src/khepri_adv.erl",
|
||||
"src/khepri_app.erl",
|
||||
"src/khepri_cluster.erl",
|
||||
"src/khepri_condition.erl",
|
||||
"src/khepri_event_handler.erl",
|
||||
"src/khepri_evf.erl",
|
||||
"src/khepri_export_erlang.erl",
|
||||
"src/khepri_machine.erl",
|
||||
"src/khepri_machine_v0.erl",
|
||||
"src/khepri_path.erl",
|
||||
"src/khepri_pattern_tree.erl",
|
||||
"src/khepri_payload.erl",
|
||||
"src/khepri_projection.erl",
|
||||
"src/khepri_sproc.erl",
|
||||
"src/khepri_sup.erl",
|
||||
"src/khepri_tree.erl",
|
||||
"src/khepri_tx.erl",
|
||||
"src/khepri_tx_adv.erl",
|
||||
"src/khepri_utils.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "khepri",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"@horus//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@seshat//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE-Apache-2.0",
|
||||
"LICENSE-MPL-2.0",
|
||||
],
|
||||
)
|
|
@ -1,146 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/khepri_mnesia_migration_app.erl",
|
||||
"src/khepri_mnesia_migration_sup.erl",
|
||||
"src/kmm_utils.erl",
|
||||
"src/m2k_cluster_sync.erl",
|
||||
"src/m2k_cluster_sync_sup.erl",
|
||||
"src/m2k_export.erl",
|
||||
"src/m2k_subscriber.erl",
|
||||
"src/m2k_table_copy.erl",
|
||||
"src/m2k_table_copy_sup.erl",
|
||||
"src/m2k_table_copy_sup_sup.erl",
|
||||
"src/mnesia_to_khepri.erl",
|
||||
"src/mnesia_to_khepri_example_converter.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "khepri_mnesia_migration",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["@khepri//:erlang_app"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/khepri_mnesia_migration.app.src",
|
||||
"src/khepri_mnesia_migration_app.erl",
|
||||
"src/khepri_mnesia_migration_sup.erl",
|
||||
"src/kmm_utils.erl",
|
||||
"src/m2k_cluster_sync.erl",
|
||||
"src/m2k_cluster_sync_sup.erl",
|
||||
"src/m2k_export.erl",
|
||||
"src/m2k_subscriber.erl",
|
||||
"src/m2k_table_copy.erl",
|
||||
"src/m2k_table_copy_sup.erl",
|
||||
"src/m2k_table_copy_sup_sup.erl",
|
||||
"src/mnesia_to_khepri.erl",
|
||||
"src/mnesia_to_khepri_example_converter.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [
|
||||
"src/kmm_error.hrl",
|
||||
# "src/kmm_logging.hrl", # keep
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["src/kmm_logging.hrl"] + glob(["include/**/*.hrl"]), # keep
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = glob(["priv/**/*"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE-Apache-2.0",
|
||||
"LICENSE-MPL-2.0",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "khepri_mnesia_migration",
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = ["@khepri//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "khepri_mnesia_migration",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/mnesia_to_khepri_converter.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "khepri_mnesia_migration",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = glob(["LICENSE*"]),
|
||||
)
|
139
bazel/BUILD.meck
139
bazel/BUILD.meck
|
@ -1,139 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/meck.erl",
|
||||
"src/meck_args_matcher.erl",
|
||||
"src/meck_code.erl",
|
||||
"src/meck_code_gen.erl",
|
||||
"src/meck_cover.erl",
|
||||
"src/meck_expect.erl",
|
||||
"src/meck_history.erl",
|
||||
"src/meck_matcher.erl",
|
||||
"src/meck_proc.erl",
|
||||
"src/meck_ret_spec.erl",
|
||||
"src/meck_util.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/meck.beam",
|
||||
"ebin/meck_args_matcher.beam",
|
||||
"ebin/meck_code.beam",
|
||||
"ebin/meck_code_gen.beam",
|
||||
"ebin/meck_cover.beam",
|
||||
"ebin/meck_expect.beam",
|
||||
"ebin/meck_history.beam",
|
||||
"ebin/meck_matcher.beam",
|
||||
"ebin/meck_proc.beam",
|
||||
"ebin/meck_ret_spec.beam",
|
||||
"ebin/meck_util.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"src/meck.hrl",
|
||||
],
|
||||
app_name = "meck",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
testonly = True,
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/meck.app.src",
|
||||
"src/meck.erl",
|
||||
"src/meck_args_matcher.erl",
|
||||
"src/meck_code.erl",
|
||||
"src/meck_code_gen.erl",
|
||||
"src/meck_cover.erl",
|
||||
"src/meck_expect.erl",
|
||||
"src/meck_history.erl",
|
||||
"src/meck_matcher.erl",
|
||||
"src/meck_proc.erl",
|
||||
"src/meck_ret_spec.erl",
|
||||
"src/meck_util.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/meck.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
testonly = True,
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "meck",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"compiler",
|
||||
"tools",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "meck",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,158 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+strict_validation",
|
||||
"+warn_bif_clash",
|
||||
"+warn_deprecated_function",
|
||||
"+warn_export_all",
|
||||
"+warn_export_vars",
|
||||
"+warn_exported_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_untyped_record",
|
||||
"+warn_unused_function",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_record",
|
||||
"+warn_unused_vars",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+strict_validation",
|
||||
"+warn_bif_clash",
|
||||
"+warn_deprecated_function",
|
||||
"+warn_export_all",
|
||||
"+warn_export_vars",
|
||||
"+warn_exported_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_untyped_record",
|
||||
"+warn_unused_function",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_record",
|
||||
"+warn_unused_vars",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/observer_cli.erl",
|
||||
"src/observer_cli_application.erl",
|
||||
"src/observer_cli_escriptize.erl",
|
||||
"src/observer_cli_ets.erl",
|
||||
"src/observer_cli_help.erl",
|
||||
"src/observer_cli_inet.erl",
|
||||
"src/observer_cli_lib.erl",
|
||||
"src/observer_cli_mnesia.erl",
|
||||
"src/observer_cli_plugin.erl",
|
||||
"src/observer_cli_port.erl",
|
||||
"src/observer_cli_process.erl",
|
||||
"src/observer_cli_store.erl",
|
||||
"src/observer_cli_system.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/observer_cli.beam",
|
||||
"ebin/observer_cli_application.beam",
|
||||
"ebin/observer_cli_escriptize.beam",
|
||||
"ebin/observer_cli_ets.beam",
|
||||
"ebin/observer_cli_help.beam",
|
||||
"ebin/observer_cli_inet.beam",
|
||||
"ebin/observer_cli_lib.beam",
|
||||
"ebin/observer_cli_mnesia.beam",
|
||||
"ebin/observer_cli_plugin.beam",
|
||||
"ebin/observer_cli_port.beam",
|
||||
"ebin/observer_cli_process.beam",
|
||||
"ebin/observer_cli_store.beam",
|
||||
"ebin/observer_cli_system.beam",
|
||||
],
|
||||
hdrs = ["include/observer_cli.hrl"],
|
||||
app_name = "observer_cli",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/observer_cli.app.src",
|
||||
"src/observer_cli.erl",
|
||||
"src/observer_cli_application.erl",
|
||||
"src/observer_cli_escriptize.erl",
|
||||
"src/observer_cli_ets.erl",
|
||||
"src/observer_cli_help.erl",
|
||||
"src/observer_cli_inet.erl",
|
||||
"src/observer_cli_lib.erl",
|
||||
"src/observer_cli_mnesia.erl",
|
||||
"src/observer_cli_plugin.erl",
|
||||
"src/observer_cli_port.erl",
|
||||
"src/observer_cli_process.erl",
|
||||
"src/observer_cli_store.erl",
|
||||
"src/observer_cli_system.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/observer_cli.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "observer_cli",
|
||||
beam_files = [":beam_files"],
|
||||
deps = ["@recon//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "observer_cli",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,231 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+strict_validation",
|
||||
"+warn_bif_clash",
|
||||
"+warn_deprecated_function",
|
||||
"+warn_export_all",
|
||||
"+warn_export_vars",
|
||||
"+warn_exported_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_unused_function",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_record",
|
||||
"+warn_unused_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+strict_validation",
|
||||
"+warn_bif_clash",
|
||||
"+warn_deprecated_function",
|
||||
"+warn_export_all",
|
||||
"+warn_export_vars",
|
||||
"+warn_exported_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
"+warn_unused_function",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_record",
|
||||
"+warn_unused_vars",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/prometheus_collector.erl",
|
||||
"src/prometheus_format.erl",
|
||||
"src/prometheus_instrumenter.erl",
|
||||
"src/prometheus_metric.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/prometheus_collector.beam",
|
||||
"ebin/prometheus_format.beam",
|
||||
"ebin/prometheus_instrumenter.beam",
|
||||
"ebin/prometheus_metric.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/prometheus.hrl",
|
||||
"include/prometheus_model.hrl",
|
||||
],
|
||||
app_name = "prometheus",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/collectors/mnesia/prometheus_mnesia_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_dist_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_memory_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_msacc_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_statistics_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_system_info_collector.erl",
|
||||
"src/contrib/prometheus_http.erl",
|
||||
"src/contrib/prometheus_mnesia.erl",
|
||||
"src/contrib/prometheus_test_instrumenter.erl",
|
||||
"src/formats/prometheus_protobuf_format.erl",
|
||||
"src/formats/prometheus_text_format.erl",
|
||||
"src/metrics/prometheus_boolean.erl",
|
||||
"src/metrics/prometheus_counter.erl",
|
||||
"src/metrics/prometheus_gauge.erl",
|
||||
"src/metrics/prometheus_histogram.erl",
|
||||
"src/metrics/prometheus_quantile_summary.erl",
|
||||
"src/metrics/prometheus_summary.erl",
|
||||
"src/model/prometheus_model.erl",
|
||||
"src/model/prometheus_model_helpers.erl",
|
||||
"src/prometheus.erl",
|
||||
"src/prometheus_buckets.erl",
|
||||
"src/prometheus_metric_spec.erl",
|
||||
"src/prometheus_misc.erl",
|
||||
"src/prometheus_registry.erl",
|
||||
"src/prometheus_sup.erl",
|
||||
"src/prometheus_time.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/prometheus.beam",
|
||||
"ebin/prometheus_boolean.beam",
|
||||
"ebin/prometheus_buckets.beam",
|
||||
"ebin/prometheus_counter.beam",
|
||||
"ebin/prometheus_gauge.beam",
|
||||
"ebin/prometheus_histogram.beam",
|
||||
"ebin/prometheus_http.beam",
|
||||
"ebin/prometheus_metric_spec.beam",
|
||||
"ebin/prometheus_misc.beam",
|
||||
"ebin/prometheus_mnesia.beam",
|
||||
"ebin/prometheus_mnesia_collector.beam",
|
||||
"ebin/prometheus_model.beam",
|
||||
"ebin/prometheus_model_helpers.beam",
|
||||
"ebin/prometheus_protobuf_format.beam",
|
||||
"ebin/prometheus_quantile_summary.beam",
|
||||
"ebin/prometheus_registry.beam",
|
||||
"ebin/prometheus_summary.beam",
|
||||
"ebin/prometheus_sup.beam",
|
||||
"ebin/prometheus_test_instrumenter.beam",
|
||||
"ebin/prometheus_text_format.beam",
|
||||
"ebin/prometheus_time.beam",
|
||||
"ebin/prometheus_vm_dist_collector.beam",
|
||||
"ebin/prometheus_vm_memory_collector.beam",
|
||||
"ebin/prometheus_vm_msacc_collector.beam",
|
||||
"ebin/prometheus_vm_statistics_collector.beam",
|
||||
"ebin/prometheus_vm_system_info_collector.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/prometheus.hrl",
|
||||
"include/prometheus_model.hrl",
|
||||
],
|
||||
app_name = "prometheus",
|
||||
beam = [":behaviours"],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["@quantile_estimator//:erlang_app"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/collectors/mnesia/prometheus_mnesia_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_dist_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_memory_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_msacc_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_statistics_collector.erl",
|
||||
"src/collectors/vm/prometheus_vm_system_info_collector.erl",
|
||||
"src/contrib/prometheus_http.erl",
|
||||
"src/contrib/prometheus_mnesia.erl",
|
||||
"src/contrib/prometheus_test_instrumenter.erl",
|
||||
"src/formats/prometheus_protobuf_format.erl",
|
||||
"src/formats/prometheus_text_format.erl",
|
||||
"src/metrics/prometheus_boolean.erl",
|
||||
"src/metrics/prometheus_counter.erl",
|
||||
"src/metrics/prometheus_gauge.erl",
|
||||
"src/metrics/prometheus_histogram.erl",
|
||||
"src/metrics/prometheus_quantile_summary.erl",
|
||||
"src/metrics/prometheus_summary.erl",
|
||||
"src/model/prometheus_model.erl",
|
||||
"src/model/prometheus_model_helpers.erl",
|
||||
"src/prometheus.app.src",
|
||||
"src/prometheus.erl",
|
||||
"src/prometheus_buckets.erl",
|
||||
"src/prometheus_collector.erl",
|
||||
"src/prometheus_format.erl",
|
||||
"src/prometheus_instrumenter.erl",
|
||||
"src/prometheus_metric.erl",
|
||||
"src/prometheus_metric_spec.erl",
|
||||
"src/prometheus_misc.erl",
|
||||
"src/prometheus_registry.erl",
|
||||
"src/prometheus_sup.erl",
|
||||
"src/prometheus_time.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/prometheus.hrl",
|
||||
"include/prometheus_model.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "prometheus",
|
||||
beam_files = [":beam_files"],
|
||||
deps = ["@quantile_estimator//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "prometheus",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,244 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+report_warnings",
|
||||
"+warn_export_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_untyped_record",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_vars",
|
||||
"+{warn_format,1}",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+report_warnings",
|
||||
"+warn_export_vars",
|
||||
"+warn_missing_spec",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_untyped_record",
|
||||
"+warn_unused_import",
|
||||
"+warn_unused_vars",
|
||||
"+{warn_format,1}",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "parse_transforms",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/vararg.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/vararg.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/proper.hrl",
|
||||
"include/proper_common.hrl",
|
||||
"include/proper_internal.hrl",
|
||||
"include/proper_param_adts.hrl",
|
||||
],
|
||||
app_name = "proper",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/proper_target.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/proper_target.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/proper.hrl",
|
||||
"include/proper_common.hrl",
|
||||
"include/proper_internal.hrl",
|
||||
"include/proper_param_adts.hrl",
|
||||
],
|
||||
app_name = "proper",
|
||||
beam = [":parse_transforms"],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/proper.erl",
|
||||
"src/proper_arith.erl",
|
||||
"src/proper_array.erl",
|
||||
"src/proper_dict.erl",
|
||||
"src/proper_erlang_abstract_code.erl",
|
||||
"src/proper_fsm.erl",
|
||||
"src/proper_gb_sets.erl",
|
||||
"src/proper_gb_trees.erl",
|
||||
"src/proper_gen.erl",
|
||||
"src/proper_gen_next.erl",
|
||||
"src/proper_orddict.erl",
|
||||
"src/proper_ordsets.erl",
|
||||
"src/proper_prop_remover.erl",
|
||||
"src/proper_queue.erl",
|
||||
"src/proper_sa.erl",
|
||||
"src/proper_sets.erl",
|
||||
"src/proper_shrink.erl",
|
||||
"src/proper_statem.erl",
|
||||
"src/proper_symb.erl",
|
||||
"src/proper_transformer.erl",
|
||||
"src/proper_types.erl",
|
||||
"src/proper_typeserver.erl",
|
||||
"src/proper_unicode.erl",
|
||||
"src/proper_unused_imports_remover.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/proper.beam",
|
||||
"ebin/proper_arith.beam",
|
||||
"ebin/proper_array.beam",
|
||||
"ebin/proper_dict.beam",
|
||||
"ebin/proper_erlang_abstract_code.beam",
|
||||
"ebin/proper_fsm.beam",
|
||||
"ebin/proper_gb_sets.beam",
|
||||
"ebin/proper_gb_trees.beam",
|
||||
"ebin/proper_gen.beam",
|
||||
"ebin/proper_gen_next.beam",
|
||||
"ebin/proper_orddict.beam",
|
||||
"ebin/proper_ordsets.beam",
|
||||
"ebin/proper_prop_remover.beam",
|
||||
"ebin/proper_queue.beam",
|
||||
"ebin/proper_sa.beam",
|
||||
"ebin/proper_sets.beam",
|
||||
"ebin/proper_shrink.beam",
|
||||
"ebin/proper_statem.beam",
|
||||
"ebin/proper_symb.beam",
|
||||
"ebin/proper_transformer.beam",
|
||||
"ebin/proper_types.beam",
|
||||
"ebin/proper_typeserver.beam",
|
||||
"ebin/proper_unicode.beam",
|
||||
"ebin/proper_unused_imports_remover.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/proper.hrl",
|
||||
"include/proper_common.hrl",
|
||||
"include/proper_internal.hrl",
|
||||
"include/proper_param_adts.hrl",
|
||||
],
|
||||
app_name = "proper",
|
||||
beam = [
|
||||
":parse_transforms",
|
||||
":behaviours",
|
||||
],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
":parse_transforms",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/proper.app.src",
|
||||
"src/proper.erl",
|
||||
"src/proper_arith.erl",
|
||||
"src/proper_array.erl",
|
||||
"src/proper_dict.erl",
|
||||
"src/proper_erlang_abstract_code.erl",
|
||||
"src/proper_fsm.erl",
|
||||
"src/proper_gb_sets.erl",
|
||||
"src/proper_gb_trees.erl",
|
||||
"src/proper_gen.erl",
|
||||
"src/proper_gen_next.erl",
|
||||
"src/proper_orddict.erl",
|
||||
"src/proper_ordsets.erl",
|
||||
"src/proper_prop_remover.erl",
|
||||
"src/proper_queue.erl",
|
||||
"src/proper_sa.erl",
|
||||
"src/proper_sets.erl",
|
||||
"src/proper_shrink.erl",
|
||||
"src/proper_statem.erl",
|
||||
"src/proper_symb.erl",
|
||||
"src/proper_target.erl",
|
||||
"src/proper_transformer.erl",
|
||||
"src/proper_types.erl",
|
||||
"src/proper_typeserver.erl",
|
||||
"src/proper_unicode.erl",
|
||||
"src/proper_unused_imports_remover.erl",
|
||||
"src/vararg.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"include/proper.hrl",
|
||||
"include/proper_common.hrl",
|
||||
"include/proper_internal.hrl",
|
||||
"include/proper_param_adts.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
testonly = True,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
testonly = True,
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "proper",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["compiler"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "proper",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,96 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/quantile.erl",
|
||||
"src/quantile_estimator.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/quantile.beam",
|
||||
"ebin/quantile_estimator.beam",
|
||||
],
|
||||
hdrs = ["include/quantile_estimator.hrl"],
|
||||
app_name = "quantile_estimator",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/quantile.erl",
|
||||
"src/quantile_estimator.app.src",
|
||||
"src/quantile_estimator.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/quantile_estimator.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "quantile_estimator",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "quantile_estimator",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
220
bazel/BUILD.ra
220
bazel/BUILD.ra
|
@ -1,220 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/ra_machine.erl",
|
||||
"src/ra_snapshot.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "ra",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/ra.erl",
|
||||
"src/ra_app.erl",
|
||||
"src/ra_aux.erl",
|
||||
"src/ra_bench.erl",
|
||||
"src/ra_counters.erl",
|
||||
"src/ra_dbg.erl",
|
||||
"src/ra_directory.erl",
|
||||
"src/ra_env.erl",
|
||||
"src/ra_ets_queue.erl",
|
||||
"src/ra_file.erl",
|
||||
"src/ra_file_handle.erl",
|
||||
"src/ra_flru.erl",
|
||||
"src/ra_leaderboard.erl",
|
||||
"src/ra_lib.erl",
|
||||
"src/ra_log.erl",
|
||||
"src/ra_log_ets.erl",
|
||||
"src/ra_log_meta.erl",
|
||||
"src/ra_log_pre_init.erl",
|
||||
"src/ra_log_read_plan.erl",
|
||||
"src/ra_log_reader.erl",
|
||||
"src/ra_log_segment.erl",
|
||||
"src/ra_log_segment_writer.erl",
|
||||
"src/ra_log_snapshot.erl",
|
||||
"src/ra_log_sup.erl",
|
||||
"src/ra_log_wal.erl",
|
||||
"src/ra_log_wal_sup.erl",
|
||||
"src/ra_lol.erl",
|
||||
"src/ra_machine_ets.erl",
|
||||
"src/ra_machine_simple.erl",
|
||||
"src/ra_metrics_ets.erl",
|
||||
"src/ra_monitors.erl",
|
||||
"src/ra_mt.erl",
|
||||
"src/ra_range.erl",
|
||||
"src/ra_server.erl",
|
||||
"src/ra_server_proc.erl",
|
||||
"src/ra_server_sup.erl",
|
||||
"src/ra_server_sup_sup.erl",
|
||||
"src/ra_sup.erl",
|
||||
"src/ra_system.erl",
|
||||
"src/ra_system_recover.erl",
|
||||
"src/ra_system_sup.erl",
|
||||
"src/ra_systems_sup.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "ra",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"@gen_batch_server//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/ra.app.src",
|
||||
"src/ra.erl",
|
||||
"src/ra_app.erl",
|
||||
"src/ra_aux.erl",
|
||||
"src/ra_bench.erl",
|
||||
"src/ra_counters.erl",
|
||||
"src/ra_dbg.erl",
|
||||
"src/ra_directory.erl",
|
||||
"src/ra_env.erl",
|
||||
"src/ra_ets_queue.erl",
|
||||
"src/ra_file.erl",
|
||||
"src/ra_file_handle.erl",
|
||||
"src/ra_flru.erl",
|
||||
"src/ra_leaderboard.erl",
|
||||
"src/ra_lib.erl",
|
||||
"src/ra_log.erl",
|
||||
"src/ra_log_ets.erl",
|
||||
"src/ra_log_meta.erl",
|
||||
"src/ra_log_pre_init.erl",
|
||||
"src/ra_log_read_plan.erl",
|
||||
"src/ra_log_reader.erl",
|
||||
"src/ra_log_segment.erl",
|
||||
"src/ra_log_segment_writer.erl",
|
||||
"src/ra_log_snapshot.erl",
|
||||
"src/ra_log_sup.erl",
|
||||
"src/ra_log_wal.erl",
|
||||
"src/ra_log_wal_sup.erl",
|
||||
"src/ra_lol.erl",
|
||||
"src/ra_machine.erl",
|
||||
"src/ra_machine_ets.erl",
|
||||
"src/ra_machine_simple.erl",
|
||||
"src/ra_metrics_ets.erl",
|
||||
"src/ra_monitors.erl",
|
||||
"src/ra_mt.erl",
|
||||
"src/ra_range.erl",
|
||||
"src/ra_server.erl",
|
||||
"src/ra_server_proc.erl",
|
||||
"src/ra_server_sup.erl",
|
||||
"src/ra_server_sup_sup.erl",
|
||||
"src/ra_snapshot.erl",
|
||||
"src/ra_sup.erl",
|
||||
"src/ra_system.erl",
|
||||
"src/ra_system_recover.erl",
|
||||
"src/ra_system_sup.erl",
|
||||
"src/ra_systems_sup.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [
|
||||
"src/ra.hrl",
|
||||
"src/ra_server.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "public_hdrs")
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "ra",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"sasl",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"@aten//:erlang_app",
|
||||
"@gen_batch_server//:erlang_app",
|
||||
"@seshat//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "ra",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
|
@ -1,139 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/ranch_transport.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "ranch",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/ranch.erl",
|
||||
"src/ranch_acceptor.erl",
|
||||
"src/ranch_acceptors_sup.erl",
|
||||
"src/ranch_app.erl",
|
||||
"src/ranch_conns_sup.erl",
|
||||
"src/ranch_conns_sup_sup.erl",
|
||||
"src/ranch_crc32c.erl",
|
||||
"src/ranch_embedded_sup.erl",
|
||||
"src/ranch_listener_sup.erl",
|
||||
"src/ranch_protocol.erl",
|
||||
"src/ranch_proxy_header.erl",
|
||||
"src/ranch_server.erl",
|
||||
"src/ranch_server_proxy.erl",
|
||||
"src/ranch_ssl.erl",
|
||||
"src/ranch_sup.erl",
|
||||
"src/ranch_tcp.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "ranch",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/ranch.erl",
|
||||
"src/ranch_acceptor.erl",
|
||||
"src/ranch_acceptors_sup.erl",
|
||||
"src/ranch_app.erl",
|
||||
"src/ranch_conns_sup.erl",
|
||||
"src/ranch_conns_sup_sup.erl",
|
||||
"src/ranch_crc32c.erl",
|
||||
"src/ranch_embedded_sup.erl",
|
||||
"src/ranch_listener_sup.erl",
|
||||
"src/ranch_protocol.erl",
|
||||
"src/ranch_proxy_header.erl",
|
||||
"src/ranch_server.erl",
|
||||
"src/ranch_server_proxy.erl",
|
||||
"src/ranch_ssl.erl",
|
||||
"src/ranch_sup.erl",
|
||||
"src/ranch_tcp.erl",
|
||||
"src/ranch_transport.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(name = "public_hdrs")
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "ranch",
|
||||
app_description = "Socket acceptor pool for TCP protocols.",
|
||||
app_version = "2.1.0",
|
||||
app_registered = ["ranch_server"],
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["ssl"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "ranch",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
|
@ -1,101 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/recon.erl",
|
||||
"src/recon_alloc.erl",
|
||||
"src/recon_lib.erl",
|
||||
"src/recon_map.erl",
|
||||
"src/recon_rec.erl",
|
||||
"src/recon_trace.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "recon",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/recon.app.src",
|
||||
"src/recon.erl",
|
||||
"src/recon_alloc.erl",
|
||||
"src/recon_lib.erl",
|
||||
"src/recon_map.erl",
|
||||
"src/recon_rec.erl",
|
||||
"src/recon_trace.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(name = "public_hdrs")
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "recon",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["syntax_tools"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "recon",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
|
@ -1,101 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}), # keep
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/redbug.erl",
|
||||
"src/redbug_compiler.erl",
|
||||
"src/redbug_dtop.erl",
|
||||
"src/redbug_lexer.erl",
|
||||
"src/redbug_parser.erl",
|
||||
"src/redbug_targ.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "redbug",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/redbug.app.src",
|
||||
"src/redbug.erl",
|
||||
"src/redbug_compiler.erl",
|
||||
"src/redbug_dtop.erl",
|
||||
"src/redbug_lexer.erl",
|
||||
"src/redbug_parser.erl",
|
||||
"src/redbug_targ.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(name = "public_hdrs")
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "redbug",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["runtime_tools"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "redbug",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
|
@ -1,117 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+recv_opt_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+recv_opt_info",
|
||||
"+warn_export_vars",
|
||||
"+warn_obsolete_guard",
|
||||
"+warn_shadow_vars",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/seshat.erl",
|
||||
"src/seshat_app.erl",
|
||||
"src/seshat_counters_server.erl",
|
||||
"src/seshat_sup.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/seshat.beam",
|
||||
"ebin/seshat_app.beam",
|
||||
"ebin/seshat_counters_server.beam",
|
||||
"ebin/seshat_sup.beam",
|
||||
],
|
||||
hdrs = [],
|
||||
app_name = "seshat",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/seshat.app.src",
|
||||
"src/seshat.erl",
|
||||
"src/seshat_app.erl",
|
||||
"src/seshat_counters_server.erl",
|
||||
"src/seshat_sup.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
app_name = "seshat",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"sasl",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "seshat",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,106 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/stdout_formatter.erl",
|
||||
"src/stdout_formatter_paragraph.erl",
|
||||
"src/stdout_formatter_table.erl",
|
||||
"src/stdout_formatter_utils.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/stdout_formatter.beam",
|
||||
"ebin/stdout_formatter_paragraph.beam",
|
||||
"ebin/stdout_formatter_table.beam",
|
||||
"ebin/stdout_formatter_utils.beam",
|
||||
],
|
||||
hdrs = ["include/stdout_formatter.hrl"],
|
||||
app_name = "stdout_formatter",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/stdout_formatter.app.src",
|
||||
"src/stdout_formatter.erl",
|
||||
"src/stdout_formatter_paragraph.erl",
|
||||
"src/stdout_formatter_table.erl",
|
||||
"src/stdout_formatter_utils.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/stdout_formatter.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "stdout_formatter",
|
||||
beam_files = [":beam_files"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "stdout_formatter",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,121 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/syslog_logger.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "syslog",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/syslog.erl",
|
||||
"src/syslog_error_h.erl",
|
||||
"src/syslog_lager_backend.erl",
|
||||
"src/syslog_lib.erl",
|
||||
"src/syslog_logger_h.erl",
|
||||
"src/syslog_monitor.erl",
|
||||
"src/syslog_rfc3164.erl",
|
||||
"src/syslog_rfc5424.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "syslog",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [
|
||||
":behaviours",
|
||||
":other_beam",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/syslog.app.src",
|
||||
"src/syslog.erl",
|
||||
"src/syslog_error_h.erl",
|
||||
"src/syslog_lager_backend.erl",
|
||||
"src/syslog_lib.erl",
|
||||
"src/syslog_logger.erl",
|
||||
"src/syslog_logger_h.erl",
|
||||
"src/syslog_monitor.erl",
|
||||
"src/syslog_rfc3164.erl",
|
||||
"src/syslog_rfc5424.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/syslog.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "syslog",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["sasl"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "syslog",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,110 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/sysmon_handler_app.erl",
|
||||
"src/sysmon_handler_example_handler.erl",
|
||||
"src/sysmon_handler_filter.erl",
|
||||
"src/sysmon_handler_sup.erl",
|
||||
"src/sysmon_handler_testhandler.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/sysmon_handler_app.beam",
|
||||
"ebin/sysmon_handler_example_handler.beam",
|
||||
"ebin/sysmon_handler_filter.beam",
|
||||
"ebin/sysmon_handler_sup.beam",
|
||||
"ebin/sysmon_handler_testhandler.beam",
|
||||
],
|
||||
hdrs = ["include/sysmon_handler.hrl"],
|
||||
app_name = "sysmon_handler",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/sysmon_handler.app.src",
|
||||
"src/sysmon_handler_app.erl",
|
||||
"src/sysmon_handler_example_handler.erl",
|
||||
"src/sysmon_handler_filter.erl",
|
||||
"src/sysmon_handler_sup.erl",
|
||||
"src/sysmon_handler_testhandler.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/sysmon_handler.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = ["priv/sysmon_handler.schema"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
"LICENSE-APACHE2",
|
||||
"LICENSE-MPL-RabbitMQ",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "sysmon_handler",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["sasl"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "sysmon_handler",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,121 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
"+warnings_as_errors",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/systemd.erl",
|
||||
"src/systemd_app.erl",
|
||||
"src/systemd_journal_h.erl",
|
||||
"src/systemd_kmsg_formatter.erl",
|
||||
"src/systemd_protocol.erl",
|
||||
"src/systemd_socket.erl",
|
||||
"src/systemd_sup.erl",
|
||||
"src/systemd_watchdog.erl",
|
||||
],
|
||||
outs = [
|
||||
"ebin/systemd.beam",
|
||||
"ebin/systemd_app.beam",
|
||||
"ebin/systemd_journal_h.beam",
|
||||
"ebin/systemd_kmsg_formatter.beam",
|
||||
"ebin/systemd_protocol.beam",
|
||||
"ebin/systemd_socket.beam",
|
||||
"ebin/systemd_sup.beam",
|
||||
"ebin/systemd_watchdog.beam",
|
||||
],
|
||||
hdrs = [
|
||||
"include/systemd.hrl",
|
||||
"src/systemd_internal.hrl",
|
||||
],
|
||||
app_name = "systemd",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["@enough//:erlang_app"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/systemd.app.src",
|
||||
"src/systemd.erl",
|
||||
"src/systemd_app.erl",
|
||||
"src/systemd_journal_h.erl",
|
||||
"src/systemd_kmsg_formatter.erl",
|
||||
"src/systemd_protocol.erl",
|
||||
"src/systemd_socket.erl",
|
||||
"src/systemd_sup.erl",
|
||||
"src/systemd_watchdog.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = ["src/systemd_internal.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/systemd.hrl"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "systemd",
|
||||
beam_files = [":beam_files"],
|
||||
deps = ["@enough//:erlang_app"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "systemd",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,10 +0,0 @@
|
|||
filegroup(
|
||||
name = "sources",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"LICENSE*",
|
||||
"lib/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -1,94 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
|
||||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/thoas.erl",
|
||||
"src/thoas_decode.erl",
|
||||
"src/thoas_encode.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "thoas",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/thoas.app.src",
|
||||
"src/thoas.erl",
|
||||
"src/thoas_decode.erl",
|
||||
"src/thoas_encode.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(name = "public_hdrs")
|
||||
|
||||
filegroup(name = "priv")
|
||||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "thoas",
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "thoas",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
|
@ -1,26 +0,0 @@
|
|||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
|
||||
|
||||
filegroup(
|
||||
name = "sources",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"LICENSE*",
|
||||
"lib/**/*",
|
||||
]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": [
|
||||
"+debug_info",
|
||||
],
|
||||
"//conditions:default": [
|
||||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/lib/amqp/core.ex b/lib/amqp/core.ex
|
||||
index a7302aa..abf2be6 100644
|
||||
--- a/lib/amqp/core.ex
|
||||
+++ b/lib/amqp/core.ex
|
||||
@@ -3,6 +3,10 @@ defmodule AMQP.Core do
|
||||
|
||||
require Record
|
||||
|
||||
+ # Elixir 1.15 compiler optimizations require that we explicitly
|
||||
+ # add the rabbit_common code path
|
||||
+ true = :code.add_path(:filename.join(:os.getenv(~c"DEPS_DIR"), ~c"rabbit_common/ebin"))
|
||||
+
|
||||
Record.defrecord(
|
||||
:p_basic,
|
||||
:P_basic,
|
|
@ -1,42 +0,0 @@
|
|||
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
load(
|
||||
":secondary_umbrella.bzl",
|
||||
fetch_secondary_umbrella = "secondary_umbrella",
|
||||
)
|
||||
|
||||
def _secondary_umbrella(_ctx):
|
||||
fetch_secondary_umbrella()
|
||||
|
||||
secondary_umbrella = module_extension(
|
||||
implementation = _secondary_umbrella,
|
||||
)
|
||||
|
||||
def _hex(_ctx):
|
||||
http_archive(
|
||||
name = "hex",
|
||||
sha256 = "0e3e3290d0fcbdc6bb0526b73ca174d68dcff4d53ee86015c49ad0493e39ee65",
|
||||
strip_prefix = "hex-2.0.5",
|
||||
urls = ["https://github.com/hexpm/hex/archive/refs/tags/v2.0.5.zip"],
|
||||
build_file_content = """\
|
||||
load(
|
||||
"@rabbitmq-server//bazel/elixir:mix_archive_build.bzl",
|
||||
"mix_archive_build",
|
||||
)
|
||||
|
||||
mix_archive_build(
|
||||
name = "archive",
|
||||
srcs = [
|
||||
"mix.exs",
|
||||
] + glob([
|
||||
"lib/**/*",
|
||||
]),
|
||||
out = "hex.ez",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
""",
|
||||
)
|
||||
|
||||
hex = module_extension(
|
||||
implementation = _hex,
|
||||
)
|
|
@ -1,36 +0,0 @@
|
|||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
ADD_PLUGINS_DIR_BUILD_FILE = """set -euo pipefail
|
||||
|
||||
cat << EOF > plugins/BUILD.bazel
|
||||
load("@rules_pkg//:pkg.bzl", "pkg_zip")
|
||||
|
||||
pkg_zip(
|
||||
name = "inet_tcp_proxy_ez",
|
||||
package_dir = "inet_tcp_proxy/ebin",
|
||||
srcs = [
|
||||
"@inet_tcp_proxy_dist//:erlang_app",
|
||||
],
|
||||
package_file_name = "inet_tcp_proxy-0.1.0.ez",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "standard_plugins",
|
||||
srcs = glob(["**/*"]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
EOF
|
||||
"""
|
||||
|
||||
def secondary_umbrella():
|
||||
http_archive(
|
||||
name = "rabbitmq-server-generic-unix-4.0",
|
||||
build_file = "@//:BUILD.package_generic_unix",
|
||||
patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE],
|
||||
strip_prefix = "rabbitmq_server-4.0.0",
|
||||
# This file is produced just in time by the test-mixed-versions.yaml GitHub Actions workflow.
|
||||
urls = [
|
||||
"https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com/secondary-umbrellas/26.1/package-generic-unix-for-mixed-version-testing-v4.0.2.tar.xz",
|
||||
],
|
||||
)
|
|
@ -1 +0,0 @@
|
|||
exports_files(["elixir_escript_main.exs"])
|
|
@ -1,94 +0,0 @@
|
|||
load(
|
||||
"@rules_elixir//private:elixir_toolchain.bzl",
|
||||
"elixir_dirs",
|
||||
"erlang_dirs",
|
||||
"maybe_install_erlang",
|
||||
)
|
||||
load(
|
||||
"@rules_erlang//:erlang_app_info.bzl",
|
||||
"ErlangAppInfo",
|
||||
)
|
||||
|
||||
def _impl(ctx):
|
||||
(erlang_home, _, erlang_runfiles) = erlang_dirs(ctx)
|
||||
(elixir_home, elixir_runfiles) = elixir_dirs(ctx)
|
||||
|
||||
app_info = ctx.attr.app[ErlangAppInfo]
|
||||
|
||||
env = "\n".join([
|
||||
"export {}={}".format(k, v)
|
||||
for k, v in ctx.attr.env.items()
|
||||
])
|
||||
|
||||
config_path = ""
|
||||
if ctx.file.mix_config != None:
|
||||
config_path = ctx.file.mix_config.path
|
||||
|
||||
command = """set -euo pipefail
|
||||
|
||||
{maybe_install_erlang}
|
||||
|
||||
if [[ "{elixir_home}" == /* ]]; then
|
||||
ABS_ELIXIR_HOME="{elixir_home}"
|
||||
else
|
||||
ABS_ELIXIR_HOME=$PWD/{elixir_home}
|
||||
fi
|
||||
|
||||
export OUT="{out}"
|
||||
export CONFIG_PATH="{config_path}"
|
||||
export APP="{app}"
|
||||
export MAIN_MODULE="Elixir.{main_module}"
|
||||
|
||||
{env}
|
||||
|
||||
export PATH="{erlang_home}/bin:$PATH"
|
||||
set -x
|
||||
"{elixir_home}"/bin/elixir {script}
|
||||
""".format(
|
||||
maybe_install_erlang = maybe_install_erlang(ctx),
|
||||
erlang_home = erlang_home,
|
||||
elixir_home = elixir_home,
|
||||
env = env,
|
||||
script = ctx.file._script.path,
|
||||
out = ctx.outputs.out.path,
|
||||
config_path = config_path,
|
||||
app = app_info.app_name,
|
||||
main_module = ctx.attr.main_module,
|
||||
)
|
||||
|
||||
inputs = depset(
|
||||
direct = ctx.files._script + ctx.files.mix_config,
|
||||
transitive = [
|
||||
erlang_runfiles.files,
|
||||
elixir_runfiles.files,
|
||||
],
|
||||
)
|
||||
|
||||
ctx.actions.run_shell(
|
||||
inputs = inputs,
|
||||
outputs = [ctx.outputs.out],
|
||||
command = command,
|
||||
mnemonic = "ELIXIR",
|
||||
)
|
||||
|
||||
elixir_escript_main = rule(
|
||||
implementation = _impl,
|
||||
attrs = {
|
||||
"_script": attr.label(
|
||||
allow_single_file = True,
|
||||
default = Label(":elixir_escript_main.exs"),
|
||||
),
|
||||
"app": attr.label(
|
||||
providers = [ErlangAppInfo],
|
||||
),
|
||||
"env": attr.string_dict(),
|
||||
"main_module": attr.string(),
|
||||
"mix_config": attr.label(
|
||||
allow_single_file = [".exs"],
|
||||
),
|
||||
"out": attr.output(),
|
||||
},
|
||||
toolchains = [
|
||||
"@rules_elixir//:toolchain_type",
|
||||
],
|
||||
)
|
|
@ -1,130 +0,0 @@
|
|||
defmodule ElixirEscriptMain do
|
||||
# https://github.com/elixir-lang/elixir/blob/99785cc16be096d02012ad889ca51b5045b599a4/lib/mix/lib/mix/tasks/escript.build.ex#L327
|
||||
def gen_main(project, name, module, app, language) do
|
||||
config_path = project[:config_path]
|
||||
|
||||
compile_config =
|
||||
if File.regular?(config_path) do
|
||||
config = Config.Reader.read!(config_path, env: Mix.env(), target: Mix.target())
|
||||
Macro.escape(config)
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
||||
runtime_path = config_path |> Path.dirname() |> Path.join("runtime.exs")
|
||||
|
||||
runtime_config =
|
||||
if File.regular?(runtime_path) do
|
||||
File.read!(runtime_path)
|
||||
end
|
||||
|
||||
module_body =
|
||||
quote do
|
||||
@spec main(OptionParser.argv()) :: any
|
||||
def main(args) do
|
||||
unquote(main_body_for(language, module, app, compile_config, runtime_config))
|
||||
end
|
||||
|
||||
defp load_config(config) do
|
||||
each_fun = fn {app, kw} ->
|
||||
set_env_fun = fn {k, v} -> :application.set_env(app, k, v, persistent: true) end
|
||||
:lists.foreach(set_env_fun, kw)
|
||||
end
|
||||
|
||||
:lists.foreach(each_fun, config)
|
||||
:ok
|
||||
end
|
||||
|
||||
defp start_app(nil) do
|
||||
:ok
|
||||
end
|
||||
|
||||
defp start_app(app) do
|
||||
case :application.ensure_all_started(app) do
|
||||
{:ok, _} ->
|
||||
:ok
|
||||
|
||||
{:error, {app, reason}} ->
|
||||
formatted_error =
|
||||
case :code.ensure_loaded(Application) do
|
||||
{:module, Application} -> Application.format_error(reason)
|
||||
{:error, _} -> :io_lib.format(~c"~p", [reason])
|
||||
end
|
||||
|
||||
error_message = [
|
||||
"ERROR! Could not start application ",
|
||||
:erlang.atom_to_binary(app, :utf8),
|
||||
": ",
|
||||
formatted_error,
|
||||
?\n
|
||||
]
|
||||
|
||||
io_error(error_message)
|
||||
:erlang.halt(1)
|
||||
end
|
||||
end
|
||||
|
||||
defp io_error(message) do
|
||||
:io.put_chars(:standard_error, message)
|
||||
end
|
||||
end
|
||||
|
||||
{:module, ^name, binary, _} = Module.create(name, module_body, Macro.Env.location(__ENV__))
|
||||
[{~c"#{name}.beam", binary}]
|
||||
end
|
||||
|
||||
defp main_body_for(:elixir, module, app, compile_config, runtime_config) do
|
||||
config =
|
||||
if runtime_config do
|
||||
quote do
|
||||
runtime_config =
|
||||
Config.Reader.eval!(
|
||||
"config/runtime.exs",
|
||||
unquote(runtime_config),
|
||||
env: unquote(Mix.env()),
|
||||
target: unquote(Mix.target()),
|
||||
imports: :disabled
|
||||
)
|
||||
|
||||
Config.Reader.merge(unquote(compile_config), runtime_config)
|
||||
end
|
||||
else
|
||||
compile_config
|
||||
end
|
||||
|
||||
quote do
|
||||
case :application.ensure_all_started(:elixir) do
|
||||
{:ok, _} ->
|
||||
args = Enum.map(args, &List.to_string(&1))
|
||||
System.argv(args)
|
||||
load_config(unquote(config))
|
||||
start_app(unquote(app))
|
||||
Kernel.CLI.run(fn _ -> unquote(module).main(args) end)
|
||||
|
||||
error ->
|
||||
io_error(["ERROR! Failed to start Elixir.\n", :io_lib.format(~c"error: ~p~n", [error])])
|
||||
:erlang.halt(1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
output = System.get_env("OUT")
|
||||
IO.puts("Will write to " <> output)
|
||||
|
||||
project = [
|
||||
config_path: System.get_env("CONFIG_PATH", "config/config.exs"),
|
||||
]
|
||||
app = String.to_atom(System.get_env("APP"))
|
||||
name = String.to_atom(Atom.to_string(app) <> "_escript")
|
||||
module = String.to_atom(System.get_env("MAIN_MODULE"))
|
||||
|
||||
:application.ensure_all_started(:mix)
|
||||
Mix.State.start_link(:none)
|
||||
[{_, bytecode}] = ElixirEscriptMain.gen_main(project, name, module, app, :elixir)
|
||||
|
||||
{:ok, file} = File.open(output, [:write])
|
||||
IO.binwrite(file, bytecode)
|
||||
File.close(file)
|
||||
|
||||
IO.puts("done.")
|
|
@ -1,175 +0,0 @@
|
|||
load("@bazel_skylib//lib:shell.bzl", "shell")
|
||||
load(
|
||||
"@rules_elixir//private:elixir_toolchain.bzl",
|
||||
"elixir_dirs",
|
||||
"erlang_dirs",
|
||||
"maybe_install_erlang",
|
||||
)
|
||||
load(
|
||||
"@rules_erlang//:erlang_app_info.bzl",
|
||||
"ErlangAppInfo",
|
||||
"flat_deps",
|
||||
)
|
||||
load(
|
||||
"@rules_erlang//:util.bzl",
|
||||
"path_join",
|
||||
)
|
||||
load(
|
||||
"@rules_erlang//private:util.bzl",
|
||||
"additional_file_dest_relative_path",
|
||||
"erl_libs_contents",
|
||||
)
|
||||
|
||||
def _impl(ctx):
|
||||
(erlang_home, _, erlang_runfiles) = erlang_dirs(ctx)
|
||||
(elixir_home, elixir_runfiles) = elixir_dirs(ctx)
|
||||
|
||||
out = ctx.actions.declare_file(ctx.attr.out.name)
|
||||
mix_invocation_dir = ctx.actions.declare_directory("{}_mix".format(ctx.label.name))
|
||||
|
||||
erl_libs_dir = ctx.label.name + "_deps"
|
||||
|
||||
erl_libs_files = erl_libs_contents(
|
||||
ctx,
|
||||
target_info = None,
|
||||
headers = True,
|
||||
dir = erl_libs_dir,
|
||||
deps = flat_deps(ctx.attr.deps),
|
||||
ez_deps = ctx.files.ez_deps,
|
||||
expand_ezs = True,
|
||||
)
|
||||
|
||||
erl_libs_path = ""
|
||||
if len(erl_libs_files) > 0:
|
||||
erl_libs_path = path_join(
|
||||
ctx.bin_dir.path,
|
||||
ctx.label.workspace_root,
|
||||
ctx.label.package,
|
||||
erl_libs_dir,
|
||||
)
|
||||
|
||||
copy_srcs_commands = []
|
||||
for src in ctx.attr.srcs:
|
||||
for src_file in src[DefaultInfo].files.to_list():
|
||||
dest = additional_file_dest_relative_path(src.label, src_file)
|
||||
copy_srcs_commands.extend([
|
||||
'mkdir -p "$(dirname ${{MIX_INVOCATION_DIR}}/{dest})"'.format(
|
||||
dest = dest,
|
||||
),
|
||||
'cp {flags}"{src}" "${{MIX_INVOCATION_DIR}}/{dest}"'.format(
|
||||
flags = "-r " if src_file.is_directory else "",
|
||||
src = src_file.path,
|
||||
dest = dest,
|
||||
),
|
||||
])
|
||||
|
||||
script = """set -euo pipefail
|
||||
|
||||
{maybe_install_erlang}
|
||||
|
||||
if [ -n "{erl_libs_path}" ]; then
|
||||
export ERL_LIBS=$PWD/{erl_libs_path}
|
||||
fi
|
||||
|
||||
if [[ "{elixir_home}" == /* ]]; then
|
||||
ABS_ELIXIR_HOME="{elixir_home}"
|
||||
else
|
||||
ABS_ELIXIR_HOME=$PWD/{elixir_home}
|
||||
fi
|
||||
|
||||
ABS_OUT_PATH="$PWD/{out}"
|
||||
|
||||
export PATH="$ABS_ELIXIR_HOME"/bin:"{erlang_home}"/bin:${{PATH}}
|
||||
|
||||
export LANG="en_US.UTF-8"
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
MIX_INVOCATION_DIR="{mix_invocation_dir}"
|
||||
|
||||
{copy_srcs_commands}
|
||||
|
||||
ORIGINAL_DIR=$PWD
|
||||
cd "${{MIX_INVOCATION_DIR}}"
|
||||
export HOME="${{PWD}}"
|
||||
export MIX_ENV=prod
|
||||
export ERL_COMPILER_OPTIONS=deterministic
|
||||
for archive in {archives}; do
|
||||
"${{ABS_ELIXIR_HOME}}"/bin/mix archive.install --force $ORIGINAL_DIR/$archive
|
||||
done
|
||||
if [[ -n "{erl_libs_path}" ]]; then
|
||||
mkdir -p _build/${{MIX_ENV}}/lib
|
||||
for dep in "$ERL_LIBS"/*; do
|
||||
ln -s $dep _build/${{MIX_ENV}}/lib
|
||||
done
|
||||
fi
|
||||
|
||||
{setup}
|
||||
|
||||
"${{ABS_ELIXIR_HOME}}"/bin/mix archive.build \\
|
||||
--no-deps-check \\
|
||||
-o "${{ABS_OUT_PATH}}"
|
||||
|
||||
# remove symlinks from the _build directory since it
|
||||
# is an unused output, and bazel does not allow them
|
||||
find . -type l -delete
|
||||
""".format(
|
||||
maybe_install_erlang = maybe_install_erlang(ctx),
|
||||
erl_libs_path = erl_libs_path,
|
||||
erlang_home = erlang_home,
|
||||
elixir_home = elixir_home,
|
||||
mix_invocation_dir = mix_invocation_dir.path,
|
||||
copy_srcs_commands = "\n".join(copy_srcs_commands),
|
||||
archives = " ".join([shell.quote(a.path) for a in ctx.files.archives]),
|
||||
setup = ctx.attr.setup,
|
||||
out = out.path,
|
||||
)
|
||||
|
||||
inputs = depset(
|
||||
direct = ctx.files.srcs,
|
||||
transitive = [
|
||||
erlang_runfiles.files,
|
||||
elixir_runfiles.files,
|
||||
depset(ctx.files.archives),
|
||||
depset(erl_libs_files),
|
||||
],
|
||||
)
|
||||
|
||||
ctx.actions.run_shell(
|
||||
inputs = inputs,
|
||||
outputs = [
|
||||
out,
|
||||
mix_invocation_dir,
|
||||
],
|
||||
command = script,
|
||||
mnemonic = "MIX",
|
||||
)
|
||||
|
||||
return [
|
||||
DefaultInfo(
|
||||
files = depset([out]),
|
||||
),
|
||||
]
|
||||
|
||||
mix_archive_build = rule(
|
||||
implementation = _impl,
|
||||
attrs = {
|
||||
"srcs": attr.label_list(
|
||||
mandatory = True,
|
||||
allow_files = True,
|
||||
),
|
||||
"archives": attr.label_list(
|
||||
allow_files = [".ez"],
|
||||
),
|
||||
"setup": attr.string(),
|
||||
"ez_deps": attr.label_list(
|
||||
allow_files = [".ez"],
|
||||
),
|
||||
"deps": attr.label_list(
|
||||
providers = [ErlangAppInfo],
|
||||
),
|
||||
"out": attr.output(),
|
||||
},
|
||||
toolchains = [
|
||||
"@rules_elixir//:toolchain_type",
|
||||
],
|
||||
)
|
|
@ -1,67 +0,0 @@
|
|||
load(
|
||||
"@rules_erlang//:erlang_app_info.bzl",
|
||||
"ErlangAppInfo",
|
||||
"flat_deps",
|
||||
)
|
||||
load(
|
||||
"@rules_erlang//:util.bzl",
|
||||
"path_join",
|
||||
)
|
||||
|
||||
def _impl(ctx):
|
||||
ebin = ctx.actions.declare_directory(path_join(ctx.attr.app_name, "ebin"))
|
||||
|
||||
script = """set -euo pipefail
|
||||
|
||||
DEST="$(mktemp -d)"
|
||||
unzip -q -d "$DEST" {archive}
|
||||
cp "$DEST"/{app_name}/ebin/* {ebin}
|
||||
""".format(
|
||||
archive = ctx.file.archive.path,
|
||||
app_name = ctx.attr.app_name,
|
||||
ebin = ebin.path,
|
||||
)
|
||||
|
||||
ctx.actions.run_shell(
|
||||
inputs = ctx.files.archive,
|
||||
outputs = [ebin],
|
||||
command = script,
|
||||
mnemonic = "MixArchiveExtract",
|
||||
)
|
||||
|
||||
deps = flat_deps(ctx.attr.deps)
|
||||
|
||||
runfiles = ctx.runfiles([ebin])
|
||||
for dep in ctx.attr.deps:
|
||||
runfiles = runfiles.merge(dep[DefaultInfo].default_runfiles)
|
||||
|
||||
return [
|
||||
DefaultInfo(
|
||||
files = depset([ebin]),
|
||||
runfiles = runfiles,
|
||||
),
|
||||
ErlangAppInfo(
|
||||
app_name = ctx.attr.app_name,
|
||||
extra_apps = ctx.attr.extra_apps,
|
||||
include = [],
|
||||
beam = [ebin],
|
||||
priv = [],
|
||||
license_files = [],
|
||||
srcs = ctx.files.srcs,
|
||||
deps = deps,
|
||||
)
|
||||
]
|
||||
|
||||
mix_archive_extract = rule(
|
||||
implementation = _impl,
|
||||
attrs = {
|
||||
"app_name": attr.string(mandatory = True),
|
||||
"extra_apps": attr.string_list(),
|
||||
"deps": attr.label_list(providers = [ErlangAppInfo]),
|
||||
"archive": attr.label(
|
||||
allow_single_file = [".ez"],
|
||||
),
|
||||
"srcs": attr.label_list(),
|
||||
},
|
||||
provides = [ErlangAppInfo],
|
||||
)
|
|
@ -1,177 +0,0 @@
|
|||
load(":ct_logdir_vars.bzl", "ct_logdir_vars")
|
||||
|
||||
package(
|
||||
default_visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
ct_logdir_vars(
|
||||
name = "ct_logdir_vars",
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "test-logs",
|
||||
outs = ["open-test-logs.sh"],
|
||||
cmd = """set -euo pipefail
|
||||
cat << 'EOF' > $@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ -n "$(CT_LOGDIR)" ]; then
|
||||
open "$(CT_LOGDIR)/index.html"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ $$# -eq 0 ]; then
|
||||
echo "Usage: bazel run test-logs TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RELATIVE=$${1#//}
|
||||
PACKAGE=$${RELATIVE%%:*}
|
||||
SUITE=$${RELATIVE##*:}
|
||||
OUTPUT_DIR=test.outputs
|
||||
|
||||
if [ $$# -gt 1 ]; then
|
||||
OUTPUT_DIR=shard_$$2_of_*/test.outputs
|
||||
fi
|
||||
|
||||
if [ ! -d "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR ]; then
|
||||
echo "Test output dir not found, perhaps shard_index needed?"
|
||||
echo "Usage: bazel run test-logs TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR
|
||||
if [ -f outputs.zip ]; then
|
||||
unzip -u outputs.zip
|
||||
fi
|
||||
set +e
|
||||
open index.html
|
||||
rc=$$?
|
||||
set -e
|
||||
if [[ $$rc -eq 3 ]]; then
|
||||
# For xdg-open exit code 3 means "A required tool could not be found." That is, there is no browser.
|
||||
echo "Open your browser at http://$$(hostname -s):8000/index.html"
|
||||
python -m http.server 8000
|
||||
fi
|
||||
EOF
|
||||
""",
|
||||
executable = True,
|
||||
toolchains = [":ct_logdir_vars"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "remote-test-logs",
|
||||
outs = ["open-remote-test-logs.sh"],
|
||||
cmd = """set -euo pipefail
|
||||
cat << 'EOF' > $@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
if [ $$# -eq 0 ]; then
|
||||
echo "Usage: bazel run remote-test-logs TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RELATIVE=$${1#//}
|
||||
PACKAGE=$${RELATIVE%%:*}
|
||||
SUITE=$${RELATIVE##*:}
|
||||
OUTPUT_DIR=test.outputs
|
||||
if [ $$# -gt 1 ]; then
|
||||
OUTPUT_DIR=shard_$$2_of_*/test.outputs
|
||||
fi
|
||||
|
||||
TESTLOGS=$$(echo $$(bazel info output_path)/k8-*/testlogs)
|
||||
|
||||
if [ ! -d "$$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR" ]; then
|
||||
echo "Test output dir not found, perhaps shard_index needed?"
|
||||
echo "Usage: bazel run remote-test-logs TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR" && unzip -u outputs.zip
|
||||
open index.html
|
||||
EOF
|
||||
""",
|
||||
executable = True,
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "test-node-data",
|
||||
outs = ["open-test-node-data.sh"],
|
||||
cmd = """set -euo pipefail
|
||||
cat << 'EOF' > $@
|
||||
set -euo pipefail
|
||||
|
||||
if [ -n "$(CT_LOGDIR)" ]; then
|
||||
open "$(CT_LOGDIR)/index.html"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ $$# -eq 0 ]; then
|
||||
echo "Usage: bazel run test-node-data TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RELATIVE=$${1#//}
|
||||
PACKAGE=$${RELATIVE%%:*}
|
||||
SUITE=$${RELATIVE##*:}
|
||||
OUTPUT_DIR=test.outputs
|
||||
if [ $$# -gt 1 ]; then
|
||||
OUTPUT_DIR=shard_$$2_of_*/test.outputs
|
||||
fi
|
||||
|
||||
if [ ! -d "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR ]; then
|
||||
echo "Test output dir not found, perhaps shard_index needed?"
|
||||
echo "Usage: bazel run test-node-data TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd bazel-testlogs/$$PACKAGE/$$SUITE/$$OUTPUT_DIR
|
||||
if [ -f outputs.zip ]; then
|
||||
unzip -u outputs.zip
|
||||
fi
|
||||
open index.html
|
||||
open ct_run.*/deps.*/run.*/log_private
|
||||
EOF
|
||||
""",
|
||||
executable = True,
|
||||
toolchains = [":ct_logdir_vars"],
|
||||
)
|
||||
|
||||
# NOTE: this rule may not work properly if --remote_download_minimal has been used,
|
||||
# which is currently the default for remote runs
|
||||
genrule(
|
||||
name = "remote-test-node-data",
|
||||
outs = ["open-remote-test-node-data.sh"],
|
||||
cmd = """set -euo pipefail
|
||||
cat << 'EOF' > $@
|
||||
set -euo pipefail
|
||||
if [ $$# -eq 0 ]; then
|
||||
echo "Usage: bazel run remote-test-node-data TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RELATIVE=$${1#//}
|
||||
PACKAGE=$${RELATIVE%%:*}
|
||||
SUITE=$${RELATIVE##*:}
|
||||
OUTPUT_DIR=test.outputs
|
||||
|
||||
if [ $$# -gt 1 ]; then
|
||||
OUTPUT_DIR=shard_$$2_of_*/test.outputs
|
||||
fi
|
||||
|
||||
TESTLOGS=$$(echo $$(bazel info output_path)/k8-*/testlogs)
|
||||
|
||||
if [ ! -d $$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR ]; then
|
||||
echo "Test output dir not found, perhaps shard_index needed?"
|
||||
echo "Usage: bazel run remote-test-node-data TEST_LABEL [shard_index]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR && unzip -u outputs.zip
|
||||
open index.html
|
||||
open ct_run.*/deps.*/run.*/log_private
|
||||
EOF
|
||||
""",
|
||||
executable = True,
|
||||
)
|
|
@ -1,23 +0,0 @@
|
|||
load(
|
||||
"@bazel_skylib//rules:common_settings.bzl",
|
||||
"BuildSettingInfo",
|
||||
)
|
||||
|
||||
def _impl(ctx):
|
||||
vars = {
|
||||
"CT_LOGDIR": ctx.attr._ct_logdir[BuildSettingInfo].value,
|
||||
}
|
||||
|
||||
return [platform_common.TemplateVariableInfo(vars)]
|
||||
|
||||
ct_logdir_vars = rule(
|
||||
implementation = _impl,
|
||||
attrs = {
|
||||
"_ct_logdir": attr.label(
|
||||
default = Label("@rules_erlang//:ct_logdir"),
|
||||
),
|
||||
},
|
||||
provides = [
|
||||
platform_common.TemplateVariableInfo,
|
||||
],
|
||||
)
|
|
@ -1,147 +0,0 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"assert_suites",
|
||||
"broker_for_integration_suites",
|
||||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "amqp10_client"
|
||||
|
||||
APP_DESCRIPTION = "AMQP 1.0 client"
|
||||
|
||||
APP_MODULE = "amqp10_client_app"
|
||||
|
||||
APP_EXTRA_KEYS = """%% Hex.pm package informations.
|
||||
{licenses, ["MPL-2.0"]},
|
||||
{links, [
|
||||
{"Website", "https://www.rabbitmq.com/"},
|
||||
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/tree/main/deps/amqp10_client"}
|
||||
]},
|
||||
{build_tools, ["make", "rebar3"]},
|
||||
{files, [
|
||||
"erlang.mk",
|
||||
"git-revisions.txt",
|
||||
"include",
|
||||
"LICENSE*",
|
||||
"Makefile",
|
||||
"rabbitmq-components.mk",
|
||||
"README",
|
||||
"README.md",
|
||||
"src"
|
||||
]}
|
||||
"""
|
||||
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_extra_keys = APP_EXTRA_KEYS,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"inets",
|
||||
"ssl",
|
||||
"public_key",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@credentials_obfuscation//:erlang_app",
|
||||
"@gun//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites(
|
||||
)
|
||||
|
||||
TEST_DEPS = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
]
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "msg_SUITE",
|
||||
deps = TEST_DEPS,
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "system_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
"test/activemq_ct_helpers.beam",
|
||||
"test/mock_server.beam",
|
||||
],
|
||||
data = [
|
||||
"@activemq//:exec_dir",
|
||||
],
|
||||
test_env = {
|
||||
"ACTIVEMQ": "$TEST_SRCDIR/$TEST_WORKSPACE/external/activemq/bin/activemq",
|
||||
},
|
||||
deps = TEST_DEPS,
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
||||
alias(
|
||||
name = "amqp10_client",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_activemq_ct_helpers_beam",
|
||||
":test_mock_server_beam",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
)
|
|
@ -1,6 +1,5 @@
|
|||
PROJECT = amqp10_client
|
||||
PROJECT_DESCRIPTION = AMQP 1.0 client
|
||||
PROJECT_MOD = amqp10_client_app
|
||||
|
||||
define PROJECT_APP_EXTRA_KEYS
|
||||
%% Hex.pm package informations.
|
||||
|
@ -42,17 +41,17 @@ DEP_PLUGINS = rabbit_common/mk/rabbitmq-plugin.mk \
|
|||
DEP_PLUGINS += elvis_mk
|
||||
dep_elvis_mk = git https://github.com/inaka/elvis.mk.git master
|
||||
|
||||
include rabbitmq-components.mk
|
||||
include erlang.mk
|
||||
include ../../rabbitmq-components.mk
|
||||
include ../../erlang.mk
|
||||
|
||||
HEX_TARBALL_FILES += rabbitmq-components.mk \
|
||||
HEX_TARBALL_FILES += ../../rabbitmq-components.mk \
|
||||
git-revisions.txt
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# ActiveMQ for the testsuite.
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
ACTIVEMQ_VERSION := 5.18.3
|
||||
ACTIVEMQ_VERSION := 6.1.7
|
||||
ACTIVEMQ_URL := 'https://archive.apache.org/dist/activemq/$(ACTIVEMQ_VERSION)/apache-activemq-$(ACTIVEMQ_VERSION)-bin.tar.gz'
|
||||
|
||||
ACTIVEMQ := $(abspath test/system_SUITE_data/apache-activemq-$(ACTIVEMQ_VERSION)/bin/activemq)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue