mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-12 00:37:19 +10:00
Compare commits
1593 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4338c0d091 | ||
|
|
e9ef32366d | ||
|
|
397bef3984 | ||
|
|
48c8ddf405 | ||
|
|
0307465fec | ||
|
|
ca017a7861 | ||
|
|
d8b2d1464f | ||
|
|
4898eb90eb | ||
|
|
8077599387 | ||
|
|
2c31dca7e2 | ||
|
|
cb68d26217 | ||
|
|
43be3f1816 | ||
|
|
a1bf8e32bc | ||
|
|
5786ae0d99 | ||
|
|
5f4aa29275 | ||
|
|
d3d93691db | ||
|
|
803457343a | ||
|
|
2321c2c695 | ||
|
|
8384dd0980 | ||
|
|
e8a8565bdb | ||
|
|
414aa4862b | ||
|
|
81a5f96569 | ||
|
|
a06532dfaf | ||
|
|
b369b69597 | ||
|
|
db1eeed5b2 | ||
|
|
e49b649a19 | ||
|
|
44cb5e2073 | ||
|
|
3d7e85c307 | ||
|
|
0ff5473194 | ||
|
|
5b5008e570 | ||
|
|
c95b880148 | ||
|
|
12ee0524bf | ||
|
|
88a290aa68 | ||
|
|
e8c2ca40dd | ||
|
|
419245db4b | ||
|
|
ccd71421da | ||
|
|
1dec128c07 | ||
|
|
ccf4d751c8 | ||
|
|
34d6a7b4d5 | ||
|
|
ff5eff419c | ||
|
|
b4409deee2 | ||
|
|
5ea412eee4 | ||
|
|
55615878f9 | ||
|
|
be4746a775 | ||
|
|
15cc1eadd2 | ||
|
|
7d6f546461 | ||
|
|
cf38c857b2 | ||
|
|
eaeb6e6bb3 | ||
|
|
22a615e8ff | ||
|
|
399b022266 | ||
|
|
be3bb0ad5b | ||
|
|
6b229ed069 | ||
|
|
325e7a79e9 | ||
|
|
273901d3c2 | ||
|
|
8a26e54d3e | ||
|
|
091907f2c0 | ||
|
|
47e2863d9e | ||
|
|
91d172cd42 | ||
|
|
94f90090cb | ||
|
|
412aa78881 | ||
|
|
a199c0a529 | ||
|
|
cf437da521 | ||
|
|
e8ec5e2452 | ||
|
|
2b2bef0927 | ||
|
|
17b5b6ed50 | ||
|
|
72b795d984 | ||
|
|
71afd18e59 | ||
|
|
7d910f4077 | ||
|
|
fc8f76ad58 | ||
|
|
a5210af800 | ||
|
|
3bf7629f7a | ||
|
|
bfaa0ebd4e | ||
|
|
fe63a5a5d9 | ||
|
|
7224e53e62 | ||
|
|
962f1ac04c | ||
|
|
7656ee4017 | ||
|
|
a053a4a5c2 | ||
|
|
0079f51fe2 | ||
|
|
47c5d7d549 | ||
|
|
26fd8577a7 | ||
|
|
9931513623 | ||
|
|
de5bd6bf1f | ||
|
|
de91c92a23 | ||
|
|
c0d5246c70 | ||
|
|
63fad3ddfa | ||
|
|
d54958e349 | ||
|
|
dc3ffab8bf | ||
|
|
a80048c451 | ||
|
|
26ee7024a2 | ||
|
|
895ada1ac1 | ||
|
|
859e1f1a1c | ||
|
|
cc1a3ef5bd | ||
|
|
163fff4742 | ||
|
|
79adc487cb | ||
|
|
b69846f794 | ||
|
|
42ab5a8aa3 | ||
|
|
846096bd53 | ||
|
|
3981f5dcb8 | ||
|
|
4ecf45044e | ||
|
|
cec35aab94 | ||
|
|
6901a0ca2b | ||
|
|
ca9b356c3b | ||
|
|
8d8db1de1b | ||
|
|
53ff95933c | ||
|
|
39be6d3a95 | ||
|
|
f7de31a582 | ||
|
|
ccb2819b25 | ||
|
|
d2cdc6e515 | ||
|
|
b88fdc76f5 | ||
|
|
f2f1594771 | ||
|
|
88f558aafc | ||
|
|
11b807517c | ||
|
|
9664f9e77d | ||
|
|
5993ddb3a5 | ||
|
|
59e21c9cc6 | ||
|
|
2fccc0e2fe | ||
|
|
51ad421762 | ||
|
|
646b42473b | ||
|
|
068f270488 | ||
|
|
4ba37835b2 | ||
|
|
2487cd7ce2 | ||
|
|
75df078e52 | ||
|
|
9061e7e264 | ||
|
|
adef3f0534 | ||
|
|
dab94316d5 | ||
|
|
60b7a4640e | ||
|
|
f81d3d53ad | ||
|
|
a95e1ff14f | ||
|
|
36270ef9c3 | ||
|
|
c0ac4bd72e | ||
|
|
f60f14d085 | ||
|
|
a9167d21e2 | ||
|
|
e1f7642bcb | ||
|
|
94a6ad5495 | ||
|
|
73046b84aa | ||
|
|
22d1929f41 | ||
|
|
6264d064e4 | ||
|
|
578df58363 | ||
|
|
20382726b4 | ||
|
|
b943cab988 | ||
|
|
a69d10fa91 | ||
|
|
ac024726a3 | ||
|
|
e3c3b6fdf7 | ||
|
|
fbdc680c69 | ||
|
|
dd8511cc6b | ||
|
|
f6b143dbd6 | ||
|
|
cde9fd233a | ||
|
|
284d83b24e | ||
|
|
8cc366bb76 | ||
|
|
4c2b2b8a79 | ||
|
|
8e49f5f8b1 | ||
|
|
0ac07d6fcc | ||
|
|
bf53c50a5b | ||
|
|
d0973e3104 | ||
|
|
8e10409b4a | ||
|
|
bcd3d6bffa | ||
|
|
b3c1e8901a | ||
|
|
c2cff308aa | ||
|
|
0d1fecf0d4 | ||
|
|
5bf3fdcc05 | ||
|
|
acf298a9c2 | ||
|
|
2d9bbfb2f3 | ||
|
|
9d798626aa | ||
|
|
f574039dc4 | ||
|
|
e648323548 | ||
|
|
bc2c678d47 | ||
|
|
69fe88f58c | ||
|
|
43d4061cec | ||
|
|
471a81e89f | ||
|
|
e84017f36b | ||
|
|
e494154c9b | ||
|
|
dc302f89af | ||
|
|
0545b56f6f | ||
|
|
914f0da189 | ||
|
|
a3bf4232ba | ||
|
|
23683879d3 | ||
|
|
177bb9032d | ||
|
|
7245ccb8bd | ||
|
|
166e10c23b | ||
|
|
69fee0be29 | ||
|
|
68d5becf4d | ||
|
|
a425c2ca5d | ||
|
|
9b20ef5f08 | ||
|
|
242a448627 | ||
|
|
e298421027 | ||
|
|
51f1643852 | ||
|
|
279bb37012 | ||
|
|
2af82b8c5b | ||
|
|
930f570146 | ||
|
|
b1ee5b1428 | ||
|
|
23688ef492 | ||
|
|
fcffce5d9a | ||
|
|
3f44e3f4a3 | ||
|
|
9ffd0a3632 | ||
|
|
57832e4688 | ||
|
|
418209fe92 | ||
|
|
96af93b5de | ||
|
|
7bdf2348e1 | ||
|
|
e114e120f3 | ||
|
|
e4091b268c | ||
|
|
ed516ab087 | ||
|
|
c6eec8f00d | ||
|
|
4959ac2e25 | ||
|
|
2717404c48 | ||
|
|
ef86a20ce4 | ||
|
|
3c07d343da | ||
|
|
ae7ac2e35c | ||
|
|
29424ad4fb | ||
|
|
067a4d4e7d | ||
|
|
c31bc7e230 | ||
|
|
1d870bf372 | ||
|
|
bfdcc2257b | ||
|
|
abf3fc3fc2 | ||
|
|
5304abe421 | ||
|
|
2520a81540 | ||
|
|
4647664892 | ||
|
|
c377e8f70f | ||
|
|
fdc6d3bebc | ||
|
|
912c3f9173 | ||
|
|
0dfc93c35e | ||
|
|
6240fdfdc4 | ||
|
|
376bde0817 | ||
|
|
fe0394dea4 | ||
|
|
62554e05ac | ||
|
|
e645075872 | ||
|
|
203a782f9a | ||
|
|
2baf08383c | ||
|
|
866ffbe78e | ||
|
|
9058cdcc7d | ||
|
|
d9b77fcacc | ||
|
|
a31eb8e3dd | ||
|
|
f0ccf4ecd5 | ||
|
|
b8e20569f5 | ||
|
|
a23732caea | ||
|
|
b7b23e46c4 | ||
|
|
7be4f9ef01 | ||
|
|
7faa9a9a92 | ||
|
|
40e0612320 | ||
|
|
2b4b1ef94e | ||
|
|
a8a38988f4 | ||
|
|
19811fd824 | ||
|
|
be711f4223 | ||
|
|
0a6c00edaf | ||
|
|
f16b836998 | ||
|
|
bdee794538 | ||
|
|
dd046b275e | ||
|
|
18904d2319 | ||
|
|
f35cd2e4f9 | ||
|
|
9e38904cc5 | ||
|
|
f8462bb0a4 | ||
|
|
0fdce0c326 | ||
|
|
efd176d43d | ||
|
|
b1de0f1293 | ||
|
|
670a5ae8a6 | ||
|
|
7ef31896fd | ||
|
|
d3ac1bf13d | ||
|
|
e05bc77aff | ||
|
|
bc889a5b62 | ||
|
|
bd3f4701ad | ||
|
|
ab40f02ad6 | ||
|
|
db5536f14a | ||
|
|
61005f975b | ||
|
|
ff4a7c91a4 | ||
|
|
6931eea602 | ||
|
|
203923b6ac | ||
|
|
138b7979b4 | ||
|
|
02812dccdf | ||
|
|
dbb1e6f852 | ||
|
|
6c61163651 | ||
|
|
92b23ab7ed | ||
|
|
c7b5ab02b1 | ||
|
|
8f961b9288 | ||
|
|
8d01927a20 | ||
|
|
96d4cb9597 | ||
|
|
125e424d8d | ||
|
|
73d25f45c2 | ||
|
|
dd1773b631 | ||
|
|
892a698c11 | ||
|
|
f7f40b9f63 | ||
|
|
ec8648f4bc | ||
|
|
61a6d6c1b4 | ||
|
|
100f4c0288 | ||
|
|
5fb0752690 | ||
|
|
08ebe04167 | ||
|
|
7f17b5ca0e | ||
|
|
a64179d80b | ||
|
|
1fc99ea06a | ||
|
|
c699dfee82 | ||
|
|
68a4e26ded | ||
|
|
ab6dd4186b | ||
|
|
8884ddb324 | ||
|
|
1ce59dc161 | ||
|
|
b2ed4911fa | ||
|
|
345324bd68 | ||
|
|
a4f7e8e0e7 | ||
|
|
86336a51f4 | ||
|
|
821bc722f7 | ||
|
|
4401ea9121 | ||
|
|
8049c398bf | ||
|
|
a87892cee2 | ||
|
|
7d98a96494 | ||
|
|
fa8e51dc0d | ||
|
|
bd89e61489 | ||
|
|
1ddbacad96 | ||
|
|
479e3d8769 | ||
|
|
f30a9df3f4 | ||
|
|
f47684a94c | ||
|
|
91bb9d7184 | ||
|
|
3b764c31b7 | ||
|
|
e45f1ef420 | ||
|
|
6c5a8eb3fb | ||
|
|
bbc892183f | ||
|
|
bc47aeedce | ||
|
|
68a1ef4416 | ||
|
|
32aec3155b | ||
|
|
f9c35a6d6e | ||
|
|
c6ab439c07 | ||
|
|
e4bb5229f3 | ||
|
|
b8126f6313 | ||
|
|
83a701c025 | ||
|
|
f3959bd08b | ||
|
|
c05116e677 | ||
|
|
e93c8cd217 | ||
|
|
a9bdba172d | ||
|
|
14e40dbd37 | ||
|
|
d4b6a02c80 | ||
|
|
c6f10002f1 | ||
|
|
13633eca28 | ||
|
|
7eb89b4189 | ||
|
|
4102592509 | ||
|
|
1ed73dedda | ||
|
|
f6fc863b48 | ||
|
|
b67d4ad805 | ||
|
|
25ce08f318 | ||
|
|
ea37c213bd | ||
|
|
d285d1b68e | ||
|
|
f7ed0b2643 | ||
|
|
c8c89ba8f0 | ||
|
|
c9976ec085 | ||
|
|
b312c1742a | ||
|
|
6944a05db8 | ||
|
|
8edb591353 | ||
|
|
242452d5c9 | ||
|
|
e11db8cc6b | ||
|
|
67445281d7 | ||
|
|
0179179f72 | ||
|
|
993c7d1efa | ||
|
|
fb3d195874 | ||
|
|
1313e56599 | ||
|
|
89b4e9a712 | ||
|
|
b63c8404c3 | ||
|
|
bc784e7823 | ||
|
|
71edc8b5e2 | ||
|
|
ce9450ec98 | ||
|
|
c3ba8f9bb6 | ||
|
|
5ca1fc84d3 | ||
|
|
109d240f13 | ||
|
|
9c310cba11 | ||
|
|
addf837996 | ||
|
|
8c23c50846 | ||
|
|
336e9ce32f | ||
|
|
0af2244d05 | ||
|
|
27af1a39b3 | ||
|
|
0de1698e15 | ||
|
|
6192957778 | ||
|
|
03be485c33 | ||
|
|
b9975ba5d2 | ||
|
|
adaefe4ed5 | ||
|
|
7d6a521838 | ||
|
|
3bee276094 | ||
|
|
803289b688 | ||
|
|
2a016207cc | ||
|
|
5ef55c6c48 | ||
|
|
3150c6a9b0 | ||
|
|
ef81b3de3b | ||
|
|
05759066e3 | ||
|
|
c773d683f4 | ||
|
|
8d180a2888 | ||
|
|
b895f72f2c | ||
|
|
941e4a01a2 | ||
|
|
306c01d5cd | ||
|
|
1108d8ef70 | ||
|
|
6d7d20d5e7 | ||
|
|
30e3df2bdd | ||
|
|
a755da638b | ||
|
|
0a2efd96eb | ||
|
|
94187707d3 | ||
|
|
5094d6d12d | ||
|
|
79dfaf1991 | ||
|
|
30a637eb3f | ||
|
|
38de66d324 | ||
|
|
446d8ebc0e | ||
|
|
11f3d7c371 | ||
|
|
7fab58adba | ||
|
|
856c5e3dad | ||
|
|
624dc9436d | ||
|
|
6fdc08b665 | ||
|
|
b17a273e47 | ||
|
|
62e1bd290b | ||
|
|
a895ded49e | ||
|
|
6c79f57434 | ||
|
|
0b8e88072a | ||
|
|
d84b144ea6 | ||
|
|
b5928d7a3c | ||
|
|
50e1085c52 | ||
|
|
7bef72f48b | ||
|
|
dae0a9ebce | ||
|
|
13cedd5950 | ||
|
|
6818d7e831 | ||
|
|
2b8d91b170 | ||
|
|
092b639253 | ||
|
|
54a977bc14 | ||
|
|
097441843d | ||
|
|
e82135fa3e | ||
|
|
ddea3c8c24 | ||
|
|
fef4a9aa03 | ||
|
|
31f2fa2936 | ||
|
|
292d2783db | ||
|
|
d0d0da180d | ||
|
|
6aae07dad9 | ||
|
|
a6ae85fa52 | ||
|
|
3a9708856a | ||
|
|
52cc756ed2 | ||
|
|
1bff9fc2e9 | ||
|
|
169506fb8d | ||
|
|
91fa81be98 | ||
|
|
e53ab6ab9b | ||
|
|
5cdecc4b06 | ||
|
|
d0aed99033 | ||
|
|
33711f5a48 | ||
|
|
453b07c8c6 | ||
|
|
96905a4dec | ||
|
|
e5db309f8f | ||
|
|
e61cd2295d | ||
|
|
244841eb46 | ||
|
|
7df2a31432 | ||
|
|
93fd95feb2 | ||
|
|
7930db61b8 | ||
|
|
67fd09f6b8 | ||
|
|
573a70ede1 | ||
|
|
7ca11a2b2e | ||
|
|
8ddfccd6b8 | ||
|
|
8bcb412ec5 | ||
|
|
52601b91bf | ||
|
|
81562bbd3a | ||
|
|
1aa1ba1eba | ||
|
|
377ff77104 | ||
|
|
b9b5425af1 | ||
|
|
4317f99fc4 | ||
|
|
c4debee59f | ||
|
|
5537da3d42 | ||
|
|
e7ed2de4f8 | ||
|
|
1364ac4639 | ||
|
|
c9e2046201 | ||
|
|
e8abb85f36 | ||
|
|
023fee37a3 | ||
|
|
45927b08c7 | ||
|
|
aae1c62fe4 | ||
|
|
6cb2291016 | ||
|
|
e3a0ba975b | ||
|
|
d7e6fa1217 | ||
|
|
29779adedd | ||
|
|
d598450d02 | ||
|
|
da8a3ee91f | ||
|
|
ccec55599b | ||
|
|
5fb2dedcbd | ||
|
|
a023a24173 | ||
|
|
d736414896 | ||
|
|
1731aa55d1 | ||
|
|
cc540f9f83 | ||
|
|
fe2d6e465b | ||
|
|
77e58edfe0 | ||
|
|
2aae045dba | ||
|
|
7e79fdc303 | ||
|
|
0baf7a131d | ||
|
|
04a8a93152 | ||
|
|
820be10fd0 | ||
|
|
606a83c4c5 | ||
|
|
2b8134a202 | ||
|
|
1125a02e16 | ||
|
|
e4e4be70c9 | ||
|
|
b80aa30a35 | ||
|
|
85ce7aa131 | ||
|
|
7fbe30a3f5 | ||
|
|
9ed563921b | ||
|
|
34a8803363 | ||
|
|
33a2643e1b | ||
|
|
4418bab702 | ||
|
|
c910d1447d | ||
|
|
656d6cea58 | ||
|
|
3d2a91c693 | ||
|
|
b10b54d0be | ||
|
|
9eff6e1bc0 | ||
|
|
5db0194218 | ||
|
|
8386f6057b | ||
|
|
b4943a7ef5 | ||
|
|
773b81f25f | ||
|
|
f02532900b | ||
|
|
8aa6281b5d | ||
|
|
929efa9c89 | ||
|
|
a6cd884c37 | ||
|
|
e5d9fa5143 | ||
|
|
aa4d1fe3c9 | ||
|
|
6c5a93fd32 | ||
|
|
46b4f54548 | ||
|
|
7578449a67 | ||
|
|
95fd5b764a | ||
|
|
d5c18fc231 | ||
|
|
0489bd5ca1 | ||
|
|
d1f10c1c24 | ||
|
|
d54e101a92 | ||
|
|
826c2fab92 | ||
|
|
18ec65a491 | ||
|
|
3047fd50fb | ||
|
|
fc453f25f8 | ||
|
|
48cabed6ba | ||
|
|
5e4ba54b43 | ||
|
|
a3718a2039 | ||
|
|
30ee9c1f69 | ||
|
|
cdbf4e17bd | ||
|
|
e336b1a3ff | ||
|
|
b520aa1b9b | ||
|
|
5cb1be9c61 | ||
|
|
aa340c1b5b | ||
|
|
237be4bef0 | ||
|
|
318f111ff7 | ||
|
|
043f1c4c60 | ||
|
|
f10855ca77 | ||
|
|
be2896f6f9 | ||
|
|
ae80c0cd05 | ||
|
|
53ca646162 | ||
|
|
4aa7ec7928 | ||
|
|
c6f099228b | ||
|
|
98747a7251 | ||
|
|
5d1d56247d | ||
|
|
41b1e88740 | ||
|
|
9d70d6b0a2 | ||
|
|
a01f36bf8c | ||
|
|
7538e45f92 | ||
|
|
51f2ec84c1 | ||
|
|
092d1404e3 | ||
|
|
b70e809fb6 | ||
|
|
8451268bb4 | ||
|
|
f1bf0000b4 | ||
|
|
baa7fe4155 | ||
|
|
1709f8b501 | ||
|
|
aed67b3d81 | ||
|
|
60ebbedbf8 | ||
|
|
5a769efcb9 | ||
|
|
0c31a54dea | ||
|
|
8c9acad540 | ||
|
|
ffd7e631b0 | ||
|
|
8f2868d2ea | ||
|
|
6a38a6e9db | ||
|
|
7b846f5dd1 | ||
|
|
a652d7a26b | ||
|
|
a7c7014502 | ||
|
|
b5bbda7208 | ||
|
|
c3064a2cb3 | ||
|
|
3860f2832c | ||
|
|
8e077dc483 | ||
|
|
c703bf5868 | ||
|
|
b39a7be7a8 | ||
|
|
11b7b8dc40 | ||
|
|
e8a3ac3cab | ||
|
|
73ba20791e | ||
|
|
b6411b1af1 | ||
|
|
02a9d03154 | ||
|
|
f93746b300 | ||
|
|
0d28b4dfb7 | ||
|
|
39df447b12 | ||
|
|
ac0f6f2011 | ||
|
|
c8a5d87903 | ||
|
|
7733660b8a | ||
|
|
193d8e0a44 | ||
|
|
6c180b2903 | ||
|
|
07b7cb95cf | ||
|
|
a1f3d6ff6c | ||
|
|
ab01a1aa00 | ||
|
|
50cd49e73c | ||
|
|
4dc6ac4efb | ||
|
|
97bd0850e2 | ||
|
|
e4b7667390 | ||
|
|
6253c391d1 | ||
|
|
846ff03638 | ||
|
|
f9dd596d7b | ||
|
|
e97b042f36 | ||
|
|
27e012b8c4 | ||
|
|
4a5eac45bc | ||
|
|
218db9297e | ||
|
|
df8b53671c | ||
|
|
6f7b5f7e5b | ||
|
|
d7c458fbb3 | ||
|
|
ecb34d2fde | ||
|
|
9cde10c3c8 | ||
|
|
ec3440c945 | ||
|
|
54643d2d20 | ||
|
|
b5c6d4ed25 | ||
|
|
d7b3f79225 | ||
|
|
5260770ebf | ||
|
|
2e7169a51a | ||
|
|
fc5bb5232e | ||
|
|
b3ab572f67 | ||
|
|
914fb42eed | ||
|
|
3c21a8ca23 | ||
|
|
c25403efaa | ||
|
|
5269066280 | ||
|
|
fc5bc75ba8 | ||
|
|
6a0df191ba | ||
|
|
02883594db | ||
|
|
ed0de172c4 | ||
|
|
9959ea3883 | ||
|
|
97127baae4 | ||
|
|
eb7d54bd62 | ||
|
|
ad280d74db | ||
|
|
def8660f29 | ||
|
|
333d381b79 | ||
|
|
3d7a4ca324 | ||
|
|
6fc1f3d9ad | ||
|
|
60f14dadc8 | ||
|
|
9eab456963 | ||
|
|
9c56656f21 | ||
|
|
f4759fb36a | ||
|
|
e117bf98d5 | ||
|
|
5108f834ff | ||
|
|
694f559418 | ||
|
|
d06c8d52f8 | ||
|
|
6764917005 | ||
|
|
f309a13e49 | ||
|
|
908ad168f3 | ||
|
|
d493f78ac7 | ||
|
|
b1347db351 | ||
|
|
2f1f18834d | ||
|
|
3df8eaac79 | ||
|
|
be0dcd1712 | ||
|
|
e8021d07ee | ||
|
|
b409f3472c | ||
|
|
99f92269eb | ||
|
|
ab1a6fa244 | ||
|
|
3b86373e7c | ||
|
|
d87569085d | ||
|
|
2fff1a6f83 | ||
|
|
3187e3121f | ||
|
|
c480c943b2 | ||
|
|
0f31cbabbd | ||
|
|
a6ee6e7e7f | ||
|
|
8d023eb88b | ||
|
|
aebe54143c | ||
|
|
c11e8cb34f | ||
|
|
9ce4c29b64 | ||
|
|
a6150955be | ||
|
|
4f407ac513 | ||
|
|
5da67f762f | ||
|
|
f1d7201c3c | ||
|
|
58bf4cb91c | ||
|
|
80cfae0ef8 | ||
|
|
4d712a77a8 | ||
|
|
a4ed6272bb | ||
|
|
158d27571f | ||
|
|
1dc9cbec09 | ||
|
|
25743e2b1b | ||
|
|
15b22644df | ||
|
|
36626d3e3e | ||
|
|
4d072a64c4 | ||
|
|
db7d4c33f3 | ||
|
|
90f88ba638 | ||
|
|
a3a8234ce8 | ||
|
|
fb5f9a59e4 | ||
|
|
f2368757f3 | ||
|
|
c2fad13012 | ||
|
|
49c508607d | ||
|
|
279758278b | ||
|
|
f18abb0ab8 | ||
|
|
95db40ceb0 | ||
|
|
1341b7b7af | ||
|
|
096bb6e6d7 | ||
|
|
5ab85e4972 | ||
|
|
a54f8f25f5 | ||
|
|
12a0fa0cf6 | ||
|
|
db835abaf1 | ||
|
|
e04c06d5e3 | ||
|
|
5427f5c36a | ||
|
|
2be4e5af47 | ||
|
|
da43928fde | ||
|
|
509931a6d1 | ||
|
|
0b4117ed49 | ||
|
|
b0e8397279 | ||
|
|
76d1aa5ab3 | ||
|
|
a633e4ef15 | ||
|
|
53b09bb494 | ||
|
|
969b50bb4d | ||
|
|
f7e347f027 | ||
|
|
e23717a28a | ||
|
|
a2c4dbed20 | ||
|
|
799e20364d | ||
|
|
ad4d2c612d | ||
|
|
9fae90974b | ||
|
|
7661574791 | ||
|
|
33596505a6 | ||
|
|
4e32237f33 | ||
|
|
3cad271b5c | ||
|
|
6144fec97d | ||
|
|
3f66ba03df | ||
|
|
3465153c6e | ||
|
|
96f53366b7 | ||
|
|
1588f9cabf | ||
|
|
b5eb8aa469 | ||
|
|
8024004702 | ||
|
|
d490b06bdb | ||
|
|
799b71046d | ||
|
|
a1cae6f671 | ||
|
|
4f360377b1 | ||
|
|
2faafce844 | ||
|
|
a49d4f1de0 | ||
|
|
eea73cb564 | ||
|
|
6ada8c9026 | ||
|
|
1c424b6c05 | ||
|
|
8168609ee9 | ||
|
|
24aafd81b9 | ||
|
|
508642510a | ||
|
|
ef4d13a0c6 | ||
|
|
f09882677b | ||
|
|
0952b2f0dc | ||
|
|
0d7ded33f3 | ||
|
|
40c487fcf9 | ||
|
|
01f2c461ad | ||
|
|
56e99f2989 | ||
|
|
e159da782a | ||
|
|
ae0d209284 | ||
|
|
d6d31a6443 | ||
|
|
f3a832f6cb | ||
|
|
9cfdb0fa14 | ||
|
|
48f5958d8b | ||
|
|
b0c823fc07 | ||
|
|
4de18fae52 | ||
|
|
5039d2d09b | ||
|
|
8bb53bf173 | ||
|
|
8606615423 | ||
|
|
efca1a2c2c | ||
|
|
3b1a4e39c6 | ||
|
|
40b1d413f5 | ||
|
|
b8eac1f27b | ||
|
|
dfc41b2911 | ||
|
|
fbeaf45cdb | ||
|
|
6748d842bb | ||
|
|
e658a1cf0b | ||
|
|
f3a6b9555b | ||
|
|
2e4dbca8e6 | ||
|
|
3699c22652 | ||
|
|
32e07ef39a | ||
|
|
ce52a2931b | ||
|
|
6868dc47cd | ||
|
|
f470320501 | ||
|
|
7580fb767a | ||
|
|
49583eb39d | ||
|
|
f1fa60db6d | ||
|
|
fef49abfd5 | ||
|
|
f38ad8b6a2 | ||
|
|
b1ca680ce7 | ||
|
|
282e23dff0 | ||
|
|
fa6fbaa4e0 | ||
|
|
e727f395ba | ||
|
|
5f055bf5ae | ||
|
|
e863d764eb | ||
|
|
5e143f4297 | ||
|
|
df298f9630 | ||
|
|
0851b9abd3 | ||
|
|
5e61d7d3db | ||
|
|
fc7ef66af4 | ||
|
|
240fb384a2 | ||
|
|
8de14b5c6a | ||
|
|
dd84d4841a | ||
|
|
5290310677 | ||
|
|
fca50b1b9b | ||
|
|
75e7f71ac6 | ||
|
|
5d50317e0e | ||
|
|
b667614448 | ||
|
|
51b0ff47bc | ||
|
|
1789f03920 | ||
|
|
1861b90513 | ||
|
|
5631262eb7 | ||
|
|
2523267fed | ||
|
|
5600db3e57 | ||
|
|
4314fdae01 | ||
|
|
d7f0ff07dc | ||
|
|
5621279b19 | ||
|
|
ffebe6ddf1 | ||
|
|
4930c5a71e | ||
|
|
1c6056c2c0 | ||
|
|
c2d980b0a2 | ||
|
|
61f4931efb | ||
|
|
6333caaf8a | ||
|
|
e7f41946a4 | ||
|
|
c2894d5563 | ||
|
|
6f36a980aa | ||
|
|
9468e97c13 | ||
|
|
a631bc594c | ||
|
|
13a608979c | ||
|
|
025a078b3b | ||
|
|
f51c90526f | ||
|
|
61e44afbc4 | ||
|
|
63dc9d739b | ||
|
|
1e41cef8a6 | ||
|
|
b9cfdf370d | ||
|
|
a8262e5152 | ||
|
|
d468b7a1e0 | ||
|
|
0b2fc64a3b | ||
|
|
8dcc87596b | ||
|
|
0810ba2404 | ||
|
|
79baded01d | ||
|
|
17f154098d | ||
|
|
1c0c30e6d6 | ||
|
|
06e05f233a | ||
|
|
b4318d78a0 | ||
|
|
3e1420722c | ||
|
|
9a210dc964 | ||
|
|
11083b9a1b | ||
|
|
d6b7880a05 | ||
|
|
3fa7f2179b | ||
|
|
d06d8127d5 | ||
|
|
02d21f5264 | ||
|
|
7710a09830 | ||
|
|
599eb2adc9 | ||
|
|
e8161f6e4f | ||
|
|
31b5e5b919 | ||
|
|
ff05d093c9 | ||
|
|
08114ab943 | ||
|
|
a17ae154cc | ||
|
|
272566cc25 | ||
|
|
d3db3c1f52 | ||
|
|
bd8b0d5920 | ||
|
|
aac82d75f4 | ||
|
|
c66d9b7edc | ||
|
|
73f7d062da | ||
|
|
c9b8e2f5a5 | ||
|
|
6f03ab0ba1 | ||
|
|
fad378871b | ||
|
|
3050fad108 | ||
|
|
f7fc439526 | ||
|
|
7c294be474 | ||
|
|
dfa2100471 | ||
|
|
443107bfa5 | ||
|
|
2af05c9f5b | ||
|
|
4b237cbd3c | ||
|
|
b11613470e | ||
|
|
b019f9c25a | ||
|
|
e2bf570707 | ||
|
|
a2aed6a9e7 | ||
|
|
dc1e3961c3 | ||
|
|
272f67d95b | ||
|
|
7afbfe03ad | ||
|
|
94ab319d86 | ||
|
|
6137a9fcc5 | ||
|
|
8661322052 | ||
|
|
84aabe12e3 | ||
|
|
99da974ce5 | ||
|
|
c3e35a9e82 | ||
|
|
bfdd19ccf2 | ||
|
|
033a6bdf30 | ||
|
|
9dbdd411a0 | ||
|
|
31a42d485b | ||
|
|
89d3113d66 | ||
|
|
5e26c4a9c4 | ||
|
|
38ba585382 | ||
|
|
974619f5d8 | ||
|
|
f985c78aaa | ||
|
|
d9368b3668 | ||
|
|
de60efb3ea | ||
|
|
b94741d88d | ||
|
|
afc33000a6 | ||
|
|
5dc393d199 | ||
|
|
a4a0d37b5f | ||
|
|
cd3b6e425a | ||
|
|
4e373455f2 | ||
|
|
1c582203e5 | ||
|
|
55377464bb | ||
|
|
a1d08f4273 | ||
|
|
7c2088709b | ||
|
|
44a49cde49 | ||
|
|
56bfd87ca9 | ||
|
|
adf3181b0d | ||
|
|
f479f2aeff | ||
|
|
f2f78ed89f | ||
|
|
7a5936976f | ||
|
|
b113c874f2 | ||
|
|
83b39e549b | ||
|
|
141716f439 | ||
|
|
7c0f7c3576 | ||
|
|
b53d9177f7 | ||
|
|
8999b26b10 | ||
|
|
a27b5b2466 | ||
|
|
13df952922 | ||
|
|
3d745a9a37 | ||
|
|
41b949f19e | ||
|
|
69261e134e | ||
|
|
3771db7395 | ||
|
|
b405f160de | ||
|
|
d6e7ae1f6f | ||
|
|
9ad93a467b | ||
|
|
e0ce361df9 | ||
|
|
2b463cd728 | ||
|
|
fc77078868 | ||
|
|
4ccfb857a4 | ||
|
|
4b4cfe4f74 | ||
|
|
4afe89a9ce | ||
|
|
2d254e9368 | ||
|
|
553b29623c | ||
|
|
73f8d5cc86 | ||
|
|
a409e6a7ec | ||
|
|
11f4749bdb | ||
|
|
f701fd714b | ||
|
|
ad388af833 | ||
|
|
617cc85c43 | ||
|
|
6fdca57be5 | ||
|
|
7fffa6bcf1 | ||
|
|
b98ae5fe32 | ||
|
|
519d9d1e30 | ||
|
|
e82cd45830 | ||
|
|
30fea6fcbd | ||
|
|
32637c09c8 | ||
|
|
9618e11b99 | ||
|
|
43f11068ce | ||
|
|
8474e2eec6 | ||
|
|
ceaf9ce37b | ||
|
|
57507e0abf | ||
|
|
15addf4476 | ||
|
|
df7ed19561 | ||
|
|
35b7b32db0 | ||
|
|
26f90e6511 | ||
|
|
3a9c276c70 | ||
|
|
1753520ee0 | ||
|
|
2d51987163 | ||
|
|
f73d7b632b | ||
|
|
369ff79b9f | ||
|
|
a4b47f50a4 | ||
|
|
557fc06d55 | ||
|
|
14ca97b75c | ||
|
|
3cf93c6ded | ||
|
|
12121c9c9b | ||
|
|
5d3b20bf8f | ||
|
|
b57285ebae | ||
|
|
a31e11a51e | ||
|
|
ee8c7f094a | ||
|
|
078ce9427f | ||
|
|
f781310c69 | ||
|
|
33b563c334 | ||
|
|
71277ceb29 | ||
|
|
8b260dc895 | ||
|
|
25985ec81b | ||
|
|
50313cace5 | ||
|
|
61ab6ebb68 | ||
|
|
ef0a3400d5 | ||
|
|
1bfa2d920c | ||
|
|
7ecd465204 | ||
|
|
c57d5aa768 | ||
|
|
5c3db580d5 | ||
|
|
de28e119be | ||
|
|
522300a657 | ||
|
|
d0b246a9e1 | ||
|
|
1b48e182cb | ||
|
|
59389da1b0 | ||
|
|
ab5bc94dc5 | ||
|
|
51e8c96447 | ||
|
|
0a4c9f8822 | ||
|
|
8a4d27cbc5 | ||
|
|
82818e303b | ||
|
|
06e0b79e29 | ||
|
|
0f32071868 | ||
|
|
b9cf9669ec | ||
|
|
9bef306878 | ||
|
|
43a12a99d9 | ||
|
|
b99b8a6254 | ||
|
|
1151ccb8a5 | ||
|
|
36077f90dc | ||
|
|
34d56d0b52 | ||
|
|
fc7019dc75 | ||
|
|
3cba28cb77 | ||
|
|
6694eb6755 | ||
|
|
87ce7bc40b | ||
|
|
3d28de08df | ||
|
|
728235372d | ||
|
|
fb37594000 | ||
|
|
ad3016dabf | ||
|
|
e891b4a3dc | ||
|
|
f847dfc262 | ||
|
|
5fc33c7681 | ||
|
|
1f2ecf7714 | ||
|
|
54952104e8 | ||
|
|
9c8d4b367d | ||
|
|
06222aa96e | ||
|
|
66c137de6a | ||
|
|
79fe5639f3 | ||
|
|
2bdecb847c | ||
|
|
d9493e47c6 | ||
|
|
8eea67c50d | ||
|
|
db5caf4c9b | ||
|
|
8b5ad26b10 | ||
|
|
e14a115b0e | ||
|
|
431fecfad7 | ||
|
|
fc8e62c908 | ||
|
|
6b71e7a5d3 | ||
|
|
c14e5d4a97 | ||
|
|
2c17eed9d3 | ||
|
|
1aeca3ebce | ||
|
|
ce4af41a4a | ||
|
|
35dcdf39ca | ||
|
|
bba3e74815 | ||
|
|
9f2a6fe772 | ||
|
|
ac01dd9d0e | ||
|
|
10582b3c86 | ||
|
|
fed608b13e | ||
|
|
6cb5e52ffe | ||
|
|
59e72eed70 | ||
|
|
6fa185f59e | ||
|
|
10143fdee2 | ||
|
|
fa73d77b97 | ||
|
|
8335ca9c14 | ||
|
|
983eefdc2e | ||
|
|
633e46eede | ||
|
|
5d3d8c3fb7 | ||
|
|
ae2b84df50 | ||
|
|
d7450f5afe | ||
|
|
b87deb8af1 | ||
|
|
4a41898d02 | ||
|
|
97eb57c196 | ||
|
|
0b4c409685 | ||
|
|
d91dc90a71 | ||
|
|
8d74a04beb | ||
|
|
3f6a260aa3 | ||
|
|
b5b3376645 | ||
|
|
ecd187faa2 | ||
|
|
9f887867a9 | ||
|
|
d9b0bdb1fc | ||
|
|
81eb0c7da3 | ||
|
|
fadc24f733 | ||
|
|
6023f014bf | ||
|
|
0671054494 | ||
|
|
87aaa7131e | ||
|
|
8a80e023ad | ||
|
|
2f8edd92f3 | ||
|
|
f0d9c5aed4 | ||
|
|
6b164c0699 | ||
|
|
6471151e96 | ||
|
|
aa50b4f557 | ||
|
|
2b61812afb | ||
|
|
abbc2cb2f1 | ||
|
|
36c0f2a014 | ||
|
|
5b22b7bbc8 | ||
|
|
9927efe1dc | ||
|
|
d83bfdea6a | ||
|
|
72e723735f | ||
|
|
fe9701d8ff | ||
|
|
cd5afd6e58 | ||
|
|
39fab7d947 | ||
|
|
e87d2b2587 | ||
|
|
29a963b6ea | ||
|
|
6299899ee6 | ||
|
|
6562d7d4a4 | ||
|
|
03be08e721 | ||
|
|
412ab9f469 | ||
|
|
a65ecfc37b | ||
|
|
1dcb1f9b1f | ||
|
|
b36705ca7f | ||
|
|
8fa040c46f | ||
|
|
e70f1391b2 | ||
|
|
397b37f54c | ||
|
|
44c14b62bd | ||
|
|
fa83cbc835 | ||
|
|
6d716bc19c | ||
|
|
e2020e7ab3 | ||
|
|
fb3a6c1855 | ||
|
|
3863b9f70a | ||
|
|
6567a25215 | ||
|
|
f05b1dfb66 | ||
|
|
53cb71df89 | ||
|
|
a64611ceda | ||
|
|
3664544e77 | ||
|
|
00b1c23d0b | ||
|
|
60896956ef | ||
|
|
ca9a6812fd | ||
|
|
400997b39a | ||
|
|
1e3c695701 | ||
|
|
778e36d118 | ||
|
|
62d6c2d4f1 | ||
|
|
21757c11e7 | ||
|
|
7c9d1d4e54 | ||
|
|
70906631fe | ||
|
|
d6c96b4533 | ||
|
|
2530990d15 | ||
|
|
10f95cda32 | ||
|
|
991fbbbd32 | ||
|
|
995081e187 | ||
|
|
452550caa3 | ||
|
|
315d25a735 | ||
|
|
b07ec41f16 | ||
|
|
50b00d3036 | ||
|
|
37210e8499 | ||
|
|
b8acee21ca | ||
|
|
a5d89f826e | ||
|
|
b90af6eda5 | ||
|
|
7a289a8b61 | ||
|
|
a626779410 | ||
|
|
8c4229d230 | ||
|
|
cfd36105f5 | ||
|
|
e27c6792ce | ||
|
|
9f21a39e6f | ||
|
|
c35178f8b7 | ||
|
|
f8f64410c6 | ||
|
|
ec4cc3a277 | ||
|
|
c9614d1d31 | ||
|
|
29f4df6515 | ||
|
|
a8cda7e118 | ||
|
|
f8b2cc75ae | ||
|
|
7bbad32dc8 | ||
|
|
114f731f19 | ||
|
|
2aca4d5344 | ||
|
|
885abe36a8 | ||
|
|
39a2fd05aa | ||
|
|
5f3af3920b | ||
|
|
762cfede26 | ||
|
|
2c429f0778 | ||
|
|
fa4b4caf59 | ||
|
|
e7e2de16ce | ||
|
|
8737578ae5 | ||
|
|
6da0a42a92 | ||
|
|
7f7f2ecdf8 | ||
|
|
f212b71f2a | ||
|
|
ba9a6a1319 | ||
|
|
b803eaaefe | ||
|
|
c655e94765 | ||
|
|
c808d71512 | ||
|
|
4e20dbd99b | ||
|
|
083e25d289 | ||
|
|
a549e0bdad | ||
|
|
04f80fcd48 | ||
|
|
feeb053e21 | ||
|
|
8a3d35a42d | ||
|
|
290fa2ff81 | ||
|
|
39af33e65a | ||
|
|
697bd5ef83 | ||
|
|
fc9d6ae8b3 | ||
|
|
430d4e3888 | ||
|
|
2ce1de5f4c | ||
|
|
3345c43231 | ||
|
|
78b66c8909 | ||
|
|
386b08ac38 | ||
|
|
61e880da67 | ||
|
|
91f4e79db7 | ||
|
|
58707d73ba | ||
|
|
aa508b1322 | ||
|
|
121385623c | ||
|
|
4e1058ef10 | ||
|
|
70e6f66c60 | ||
|
|
3a0ac5f70e | ||
|
|
f21c11dde0 | ||
|
|
7a2a3a7ab0 | ||
|
|
41d477decd | ||
|
|
637ec23444 | ||
|
|
bbddc94a72 | ||
|
|
a4e5b2a101 | ||
|
|
bfdaf23c6d | ||
|
|
98bac0c1eb | ||
|
|
81d304fa37 | ||
|
|
fcbf70d7ca | ||
|
|
bffbd569a5 | ||
|
|
79cdcd61bf | ||
|
|
7327f9910d | ||
|
|
118ea7993d | ||
|
|
ed5a695d2c | ||
|
|
86456d833f | ||
|
|
f05272f2d0 | ||
|
|
383b7ef4f8 | ||
|
|
2874277aa4 | ||
|
|
8883466ef5 | ||
|
|
fdc6b32d8b | ||
|
|
81836873af | ||
|
|
3fa8eee9fe | ||
|
|
55d502d659 | ||
|
|
f6a99949c5 | ||
|
|
85126f1a7c | ||
|
|
bca4eea470 | ||
|
|
2b190dfe51 | ||
|
|
c4583ad3f0 | ||
|
|
79a9f4a292 | ||
|
|
112f730493 | ||
|
|
7313f3ad25 | ||
|
|
bbaaed2ec1 | ||
|
|
3737c9f4e2 | ||
|
|
90bc38c840 | ||
|
|
84b4396476 | ||
|
|
add78d6829 | ||
|
|
98d30bdc2c | ||
|
|
31355417a8 | ||
|
|
c3debb387d | ||
|
|
c53a88ee51 | ||
|
|
c2469ff520 | ||
|
|
70082e0f0f | ||
|
|
e9ea41fcfa | ||
|
|
014d9a339d | ||
|
|
4855694fd6 | ||
|
|
e480df5b1f | ||
|
|
0932463dfb | ||
|
|
65e376786f | ||
|
|
afe72aba83 | ||
|
|
bff2e71e55 | ||
|
|
966ae12699 | ||
|
|
843ef66728 | ||
|
|
8336a4c7ad | ||
|
|
1eff01d6f0 | ||
|
|
db8d1e7a8d | ||
|
|
c741ae3347 | ||
|
|
becd52f518 | ||
|
|
7ee4f2f735 | ||
|
|
3208188249 | ||
|
|
be445bcba6 | ||
|
|
3277bd4fa1 | ||
|
|
08b0b1b3e5 | ||
|
|
c46abc14ee | ||
|
|
5bd755a9cc | ||
|
|
1cbc6e55bf | ||
|
|
351460f992 | ||
|
|
f7e1c11ea7 | ||
|
|
50197bbeef | ||
|
|
b319b178ea | ||
|
|
2dab7cfcdf | ||
|
|
6a86200d38 | ||
|
|
c803059121 | ||
|
|
d529fd3c20 | ||
|
|
f817226abd | ||
|
|
353c002605 | ||
|
|
3f00a255b1 | ||
|
|
23152cf50f | ||
|
|
1f31a1c27b | ||
|
|
49eb715333 | ||
|
|
bbcdc2be11 | ||
|
|
dfd7ebbf85 | ||
|
|
e087f00ff1 | ||
|
|
79bc275386 | ||
|
|
851b5f2659 | ||
|
|
e5de9c3096 | ||
|
|
3b6954231f | ||
|
|
99840540ac | ||
|
|
3103c80234 | ||
|
|
6a4668040b | ||
|
|
02755e7599 | ||
|
|
36b06dd66b | ||
|
|
33a6670cad | ||
|
|
1ef601a79b | ||
|
|
c67c2ad9f5 | ||
|
|
d164e43b78 | ||
|
|
f3ba593ae7 | ||
|
|
78b32d7931 | ||
|
|
c71f2250ce | ||
|
|
b0154c7831 | ||
|
|
23313d41ba | ||
|
|
cf48030b59 | ||
|
|
848aabfe54 | ||
|
|
10a0cb4b30 | ||
|
|
0469329683 | ||
|
|
6acd2fbfe1 | ||
|
|
38810539a7 | ||
|
|
34b399c05a | ||
|
|
b0ff3b4f34 | ||
|
|
ca2dc5fcaf | ||
|
|
962326e182 | ||
|
|
d3371f8aab | ||
|
|
0f5a7d4a1b | ||
|
|
02cc193086 | ||
|
|
e564685c1e | ||
|
|
85cbd0b0f2 | ||
|
|
b748657b09 | ||
|
|
db02ad1133 | ||
|
|
573c0230c5 | ||
|
|
bb483f44e2 | ||
|
|
3fa3f18d91 | ||
|
|
ef1ce60ad8 | ||
|
|
a6da364b3c | ||
|
|
a8964122dc | ||
|
|
f1dd2cf1cc | ||
|
|
108166f640 | ||
|
|
07877c5e12 | ||
|
|
5439ac0757 | ||
|
|
9c2f61b79c | ||
|
|
0d433893b7 | ||
|
|
bf524a9c2c | ||
|
|
d862b86a27 | ||
|
|
8aa9de17b1 | ||
|
|
72363757b3 | ||
|
|
96332714ae | ||
|
|
a5506b975c | ||
|
|
b175fd43eb | ||
|
|
b1970e82af | ||
|
|
23160ad483 | ||
|
|
51ee66e019 | ||
|
|
2abbfed911 | ||
|
|
8187c7fd7f | ||
|
|
53b071366b | ||
|
|
98372f9d1e | ||
|
|
30313a518b | ||
|
|
2ecbd09c2b | ||
|
|
66551077f8 | ||
|
|
e1b4583cf9 | ||
|
|
bbc6e8f4b7 | ||
|
|
d29337f328 | ||
|
|
ca52c1cfda | ||
|
|
c7cc061077 | ||
|
|
34b5dbce34 | ||
|
|
cb8d774c77 | ||
|
|
6a5ba92d10 | ||
|
|
643b0f869d | ||
|
|
7d636ce0f7 | ||
|
|
5b3b76e65b | ||
|
|
64e101b963 | ||
|
|
527ce5efd2 | ||
|
|
8bb2491be1 | ||
|
|
63244816b6 | ||
|
|
e0944b1769 | ||
|
|
28ccd0bf00 | ||
|
|
226c019adf | ||
|
|
2a742910df | ||
|
|
15fac881ce | ||
|
|
d5f6866981 | ||
|
|
b00ffc8610 | ||
|
|
52ef4eb7be | ||
|
|
efe3f6b103 | ||
|
|
a8cd9694ee | ||
|
|
d8bc3e7963 | ||
|
|
d636a66828 | ||
|
|
97db123287 | ||
|
|
10815a5b2d | ||
|
|
656a02b50f | ||
|
|
3d016f4f48 | ||
|
|
9b538aebc3 | ||
|
|
d8a91cf13e | ||
|
|
c43a4e5136 | ||
|
|
336bfce8fd | ||
|
|
62a7dce09d | ||
|
|
b07aee0b20 | ||
|
|
73c8e12182 | ||
|
|
96312bd7f4 | ||
|
|
0ead786b6c | ||
|
|
ccd219e96e | ||
|
|
e7c96e706d | ||
|
|
93bfe2e2d4 | ||
|
|
479d4c3dbc | ||
|
|
51824a83d1 | ||
|
|
b99e93970e | ||
|
|
3a15ad9778 | ||
|
|
edc9773c9c | ||
|
|
88f37a102a | ||
|
|
6c87e3a778 | ||
|
|
cd353df55a | ||
|
|
c4b4194df7 | ||
|
|
59ad206f9e | ||
|
|
2089830d92 | ||
|
|
78ba01d3a0 | ||
|
|
c3f50a8efe | ||
|
|
3e50a25606 | ||
|
|
f8eeb2b698 | ||
|
|
54b4d842ad | ||
|
|
99f27fe9ed | ||
|
|
6979e526e3 | ||
|
|
bc03b9d591 | ||
|
|
997e1dd61f | ||
|
|
ddedf6a08a | ||
|
|
e961f14310 | ||
|
|
241d311adf | ||
|
|
52d63a9a7d | ||
|
|
b17312f534 | ||
|
|
0b282757ce | ||
|
|
8f0532f4b6 | ||
|
|
97a74cc61b | ||
|
|
9c2cc86935 | ||
|
|
6fba344a63 | ||
|
|
b41635b951 | ||
|
|
f8b17d45a8 | ||
|
|
f103b1beaa | ||
|
|
a0eebe5775 | ||
|
|
aec3519ea7 | ||
|
|
c9ae0c605f | ||
|
|
5d26e9d7f6 | ||
|
|
96d79aeb70 | ||
|
|
baf7e684ee | ||
|
|
c9e9f28130 | ||
|
|
9ed4558b54 | ||
|
|
6dd97cce54 | ||
|
|
22001fcae5 | ||
|
|
e6fe0cddd6 | ||
|
|
1f5761ccea | ||
|
|
c12606a81b | ||
|
|
60de1450bc | ||
|
|
364838eaba | ||
|
|
5298b33e68 | ||
|
|
820ca10fe4 | ||
|
|
a8372aa348 | ||
|
|
7b13dd63e7 | ||
|
|
d001f1875e | ||
|
|
384789005b | ||
|
|
9dd4e545c0 | ||
|
|
29f3534b16 | ||
|
|
9bfe5e3b73 | ||
|
|
d547c16120 | ||
|
|
78aa52ea05 | ||
|
|
70139913d6 | ||
|
|
768ea6778e | ||
|
|
c7187ed00f | ||
|
|
0039e51b87 | ||
|
|
5811dab0eb | ||
|
|
17cb8b1d4e | ||
|
|
37851b2f04 | ||
|
|
b3e6c6dbe1 | ||
|
|
aeec80474f | ||
|
|
02b97b5d79 | ||
|
|
10ec7d8e2b | ||
|
|
b8b5dc9aeb | ||
|
|
86f076f68c | ||
|
|
5b15d72328 | ||
|
|
e0c124d19e | ||
|
|
2b1a4ff693 | ||
|
|
05819c1f79 | ||
|
|
4782bb2ead | ||
|
|
3909371fa4 | ||
|
|
cb5e22e005 | ||
|
|
eb45bbea1f | ||
|
|
098bdc3f31 | ||
|
|
2203dfbf0f | ||
|
|
0a20f8159a | ||
|
|
e961dde624 | ||
|
|
16eb6e4c83 | ||
|
|
bbf621e19f | ||
|
|
47ca41068c | ||
|
|
7ce133a5c4 | ||
|
|
3a593d2958 | ||
|
|
e74de8ff37 | ||
|
|
2d58d3bd1e | ||
|
|
90ee5b2d41 | ||
|
|
5b825c8bf7 | ||
|
|
bfb4be2930 | ||
|
|
dfb373330c | ||
|
|
8b978a5a6f | ||
|
|
679a8d97b6 | ||
|
|
e13b9f35ad | ||
|
|
30d6dfd70a | ||
|
|
fa7f150521 | ||
|
|
6edd4e85a9 | ||
|
|
86e4055bfe | ||
|
|
090cf497e2 | ||
|
|
23bd025392 | ||
|
|
dad2a98413 | ||
|
|
5ffd1aa4b0 | ||
|
|
f9c7df01ad | ||
|
|
a9b505f228 | ||
|
|
3c5eb104f9 | ||
|
|
c478ef85c2 | ||
|
|
32583f3bd7 | ||
|
|
ac4bb3f987 | ||
|
|
3471de4d49 | ||
|
|
45af9e614b | ||
|
|
9f3136fd35 | ||
|
|
07ec36ff69 | ||
|
|
8c04967b7e | ||
|
|
1082261042 | ||
|
|
4c7c82fe06 | ||
|
|
138269d3cf | ||
|
|
661608ed6f | ||
|
|
6d33f26e3b | ||
|
|
cab264b133 | ||
|
|
d199e65310 | ||
|
|
e51b9e5ecd | ||
|
|
0a2378dbdc | ||
|
|
a1985c9eb9 | ||
|
|
401a51153f | ||
|
|
7797f694da | ||
|
|
0ce7a3b40a | ||
|
|
a08e243eb1 | ||
|
|
b4e9c1dcb6 | ||
|
|
82fb8829fe | ||
|
|
bfe2693d76 | ||
|
|
a8d355c276 | ||
|
|
608edd6776 | ||
|
|
f88cffb39f | ||
|
|
a975177d1d | ||
|
|
dacb759766 | ||
|
|
8b1f6fe734 | ||
|
|
8c5166cd56 | ||
|
|
2c98e24e2d | ||
|
|
30fe5197db | ||
|
|
266448613e | ||
|
|
c92c61a50b | ||
|
|
fc9c33acf4 | ||
|
|
feb979db54 | ||
|
|
e0ac293279 | ||
|
|
9a046ea3a0 | ||
|
|
137a891882 | ||
|
|
535861eec8 | ||
|
|
101bda7072 | ||
|
|
d21ea7de56 | ||
|
|
99038981dc | ||
|
|
15260f4801 | ||
|
|
a7a52b02d5 | ||
|
|
024c056cf3 | ||
|
|
a5782f621b | ||
|
|
2bf1841c64 | ||
|
|
d8f341db38 | ||
|
|
aae9794677 | ||
|
|
96e27cd232 | ||
|
|
6142ac4170 | ||
|
|
1435710c16 | ||
|
|
229274f9c8 | ||
|
|
e974e22d99 | ||
|
|
a5cc6c090e | ||
|
|
b012b6c1d0 | ||
|
|
07ac47b131 | ||
|
|
27d8a66386 | ||
|
|
b50c86a143 | ||
|
|
22f80b365c | ||
|
|
46601d6f64 | ||
|
|
67d5db8019 | ||
|
|
eeedf51ab3 | ||
|
|
fd8e968c1e | ||
|
|
51a653b6e4 | ||
|
|
add743eead | ||
|
|
14d40ad96f | ||
|
|
9f92b7f073 | ||
|
|
c25fd7717b | ||
|
|
3895b385eb | ||
|
|
db359f0711 | ||
|
|
22c41976f2 | ||
|
|
80f4d30638 | ||
|
|
e88869bbf4 | ||
|
|
d695216317 | ||
|
|
e4b87c1a0e | ||
|
|
d6fcc82584 | ||
|
|
34aa7b0d89 | ||
|
|
bc0826868c | ||
|
|
c2c3525405 | ||
|
|
de31868635 | ||
|
|
5004481ea9 | ||
|
|
f63fbe4292 | ||
|
|
8111747fab | ||
|
|
765a4b63ad | ||
|
|
0355e7013c | ||
|
|
f87035e3e6 | ||
|
|
6367d32c32 | ||
|
|
d1adafac84 | ||
|
|
fb100d772b | ||
|
|
f1ac78e6ed | ||
|
|
42bc96ba21 | ||
|
|
40f5d1398b | ||
|
|
000ede1322 | ||
|
|
0ca513930d | ||
|
|
6788101859 | ||
|
|
687d644b41 | ||
|
|
cb04b93044 | ||
|
|
ed126b5cb2 | ||
|
|
fabacf1c1a | ||
|
|
8347fbcdc8 | ||
|
|
5dd8c0e6da | ||
|
|
d03f6d5442 | ||
|
|
35f5a5a264 | ||
|
|
ccb2ee47b3 | ||
|
|
a3465c0f1b | ||
|
|
cb031ffd75 | ||
|
|
c440844e99 | ||
|
|
26a5bfcab8 | ||
|
|
e379b37110 | ||
|
|
4612db050a | ||
|
|
2c61228528 | ||
|
|
7b2c725cac | ||
|
|
a8b43ff2a5 | ||
|
|
588db890f0 | ||
|
|
08d8ad26ab | ||
|
|
1501d185c2 | ||
|
|
2fdaec5163 | ||
|
|
818097ca7e | ||
|
|
845f748de5 | ||
|
|
2ea6d93325 | ||
|
|
98a9a1b231 | ||
|
|
3bba077e1e | ||
|
|
6f3791a5ca | ||
|
|
1a3eba742f | ||
|
|
75bbad9a0d | ||
|
|
31b80c8c09 | ||
|
|
e891ce2dcd | ||
|
|
8d8c0cd3fc | ||
|
|
6963e0db5e | ||
|
|
51413d265e | ||
|
|
df742b9ee9 | ||
|
|
cfc5bbd51e | ||
|
|
d3a7edee21 | ||
|
|
6bf38fa316 | ||
|
|
d203723bd5 | ||
|
|
eb6ca84e21 |
25
.editorconfig
Normal file
25
.editorconfig
Normal file
@@ -0,0 +1,25 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.{yml,yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.patch]
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = false
|
||||
|
||||
[*.svg]
|
||||
insert_final_newline = false
|
||||
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -14,7 +14,7 @@ A clear and concise description of what the bug is.
|
||||
- [ ] This bug doesn't happen if I use Microsoft's Visual Studio Code. It only happens in VSCodium.
|
||||
|
||||
**Please confirm that the issue/resolution isn't already documented**
|
||||
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) and my issue is not mentioned there.
|
||||
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) and [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) and my issue is not mentioned there.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
@@ -30,9 +30,11 @@ A clear and concise description of what you expected to happen.
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. Mac OS, Ubuntu 16.04, etc]
|
||||
- OS: [e.g. Mac OS, Ubuntu 20.04, etc]
|
||||
- Architecture [e.g. x64, ia32, arm64]
|
||||
- Version [e.g. 1.33.0]
|
||||
- App Manager [e.g. Winget, Homebrew, Snap, AUR, RPM, Nix, ...]
|
||||
- Sandboxed [e.g. no, Flatpak, Snap]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
12
.github/dependabot.yml
vendored
Normal file
12
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: insider
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
562
.github/workflows/insider-linux.yml
vendored
Normal file
562
.github/workflows/insider-linux.yml
vendored
Normal file
@@ -0,0 +1,562 @@
|
||||
name: insider-linux
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- 'upstream/*.json'
|
||||
pull_request:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
BINARY_NAME: codium-insiders
|
||||
DISABLE_UPDATE: 'yes'
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: linux
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: insider
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
VSCODE_ARCH: 'x64'
|
||||
outputs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Compress vscode artifact
|
||||
run: |
|
||||
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
|
||||
echo "vscode/.build/extensions/node_modules" >> vscode.txt
|
||||
echo "vscode/.git" >> vscode.txt
|
||||
tar -czf vscode.tar.gz -T vscode.txt
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-arm64
|
||||
- slug: ARM32
|
||||
vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:focal-armhf
|
||||
- slug: RISCV64
|
||||
vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-riscv64
|
||||
- slug: LOONG64
|
||||
vscode_arch: loong64
|
||||
npm_arch: loong64
|
||||
image: vscodium/vscodium-linux-build-agent:crimson-loong64
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
DISABLED: ${{ vars[format('DISABLE_INSIDER_LINUX_APP_{0}', matrix.slug)] }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
outputs:
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
CHECK_REH: 'no'
|
||||
DISABLE_APPIMAGE: ${{ vars.DISABLE_INSIDER_APPIMAGE }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./check_tags.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install dependencies
|
||||
run: ./build/linux/deps.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build/linux/package_bin.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Prepare assets
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./prepare_assets.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
reh_linux:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
- slug: ARM32
|
||||
vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
- slug: RISCV64
|
||||
vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
- slug: LOONG64
|
||||
vscode_arch: loong64
|
||||
npm_arch: loong64
|
||||
- slug: S390X
|
||||
vscode_arch: s390x
|
||||
npm_arch: s390x
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
DISABLED: ${{ vars[format('DISABLE_INSIDER_LINUX_REH_{0}', matrix.slug)] }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ONLY_REH: 'yes'
|
||||
run: ./check_tags.sh
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build/linux/package_reh.sh
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
reh_alpine:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
DISABLED: ${{ vars[format('DISABLE_INSIDER_ALPINE_REH_{0}', matrix.slug)] }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
OS_NAME: alpine
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Install GH
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ONLY_REH: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build/alpine/package_reh.sh
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-alpine-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
aur:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- package_name: vscodium-insiders-bin
|
||||
- package_name: vscodium-insiders
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
|
||||
|
||||
steps:
|
||||
- name: Get version
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
run: echo "PACKAGE_VERSION=${RELEASE_VERSION/-*/}" >> "${GITHUB_ENV}"
|
||||
|
||||
- name: Publish ${{ matrix.package_name }}
|
||||
uses: zokugun/github-actions-aur-releaser@v1
|
||||
with:
|
||||
package_name: ${{ matrix.package_name }}
|
||||
package_version: ${{ env.PACKAGE_VERSION }}
|
||||
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
|
||||
aur_username: ${{ secrets.AUR_USERNAME }}
|
||||
aur_email: ${{ secrets.AUR_EMAIL }}
|
||||
|
||||
snap:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SNAP_NAME: codium-insiders
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- amd64
|
||||
- arm64
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_INSIDER_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v4
|
||||
|
||||
- uses: diddlesnaps/snapcraft-multiarch-action@v1
|
||||
with:
|
||||
path: stores/snapcraft/insider
|
||||
architecture: ${{ matrix.platform }}
|
||||
id: build
|
||||
|
||||
# - uses: diddlesnaps/snapcraft-review-action@v1
|
||||
# with:
|
||||
# snap: ${{ steps.build.outputs.snap }}
|
||||
# isClassic: 'true'
|
||||
|
||||
- uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_name: ${{ env.ASSETS_REPOSITORY }}
|
||||
repo_token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
file: ${{ steps.build.outputs.snap }}
|
||||
tag: ${{ env.RELEASE_VERSION }}
|
||||
|
||||
deploy-repo-dev:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
|
||||
|
||||
steps:
|
||||
- name: Trigger repository rebuild
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
repository: VSCodium/repositories-linux
|
||||
event-type: deploy
|
||||
134
.github/workflows/insider-macos.yml
vendored
Normal file
134
.github/workflows/insider-macos.yml
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
name: insider-macos
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- 'upstream/*.json'
|
||||
pull_request:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
BINARY_NAME: codium-insiders
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: osx
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: insider
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.runner }}
|
||||
env:
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- runner: macos-15-intel
|
||||
vscode_arch: x64
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: . get_pr.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: . check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: . check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Prepare assets
|
||||
env:
|
||||
CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_APP_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_NEW_ID }}
|
||||
CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_NEW_P12_DATA }}
|
||||
CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_P12_PASSWORD }}
|
||||
CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_NEW_TEAM_ID }}
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
- name: Clean up keychain
|
||||
if: always()
|
||||
run: |
|
||||
KEYCHAIN=$RUNNER_TEMP/build.keychain
|
||||
|
||||
if [ -f "$KEYCHAIN" ];
|
||||
then
|
||||
security delete-keychain $KEYCHAIN
|
||||
fi
|
||||
98
.github/workflows/insider-spearhead.yml
vendored
Normal file
98
.github/workflows/insider-spearhead.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
name: insider-spearhead
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_dispatch:
|
||||
type: boolean
|
||||
description: Force dispatch
|
||||
dont_update:
|
||||
type: boolean
|
||||
description: Don't update VSCode
|
||||
dont_dispatch:
|
||||
type: boolean
|
||||
description: Disable dispatch
|
||||
schedule:
|
||||
- cron: '0 7 * * *'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-15
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
BINARY_NAME: codium-insiders
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: osx
|
||||
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_ARCH: arm64
|
||||
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
||||
VSCODE_QUALITY: insider
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: insider
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
IS_SPEARHEAD: 'yes'
|
||||
run: . check_tags.sh
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@v7
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
||||
git_user_signingkey: true
|
||||
git_commit_gpgsign: true
|
||||
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
|
||||
|
||||
- name: Update upstream version
|
||||
run: ./update_upstream.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
|
||||
|
||||
- name: Prepare source
|
||||
run: ./prepare_src.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload sourcemaps
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./upload_sourcemaps.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release source
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Dispatch builds
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
event-type: insider
|
||||
if: github.event.inputs.dont_dispatch != 'true' && (env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true')
|
||||
306
.github/workflows/insider-windows.yml
vendored
Normal file
306
.github/workflows/insider-windows.yml
vendored
Normal file
@@ -0,0 +1,306 @@
|
||||
name: insider-windows
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [insider]
|
||||
push:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- 'upstream/*.json'
|
||||
pull_request:
|
||||
branches: [ insider ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
BINARY_NAME: codium-insiders
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: windows
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: insider
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
VSCODE_ARCH: 'x64'
|
||||
outputs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
# - name: Setup GCC
|
||||
# uses: egor-tensin/setup-gcc@v1
|
||||
# with:
|
||||
# version: 10
|
||||
# platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
# - name: Install libkrb5-dev
|
||||
# run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
# if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Compress vscode artifact
|
||||
run: |
|
||||
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
|
||||
echo "vscode/.build/extensions/node_modules" >> vscode.txt
|
||||
echo "vscode/.git" >> vscode.txt
|
||||
tar -czf vscode.tar.gz -T vscode.txt
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vscode_arch:
|
||||
- x64
|
||||
- arm64
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
outputs:
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
DISABLE_MSI: ${{ vars.DISABLE_INSIDER_MSI }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./check_tags.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.vscode_arch }}
|
||||
npm_config_target_arch: ${{ matrix.vscode_arch }}
|
||||
run: ./build/windows/package.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Prepare assets
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Upload unsigned artifacts
|
||||
id: upload-unsigned-artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: unsigned-${{ matrix.vscode_arch }}
|
||||
path: |
|
||||
assets/*.exe
|
||||
assets/*.msi
|
||||
retention-days: 1
|
||||
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Signing
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
|
||||
project-slug: ${{ secrets.SIGNPATH_PROJECT_SLUG }}
|
||||
signing-policy-slug: ${{ secrets.SIGNPATH_POLICY_SLUG }}
|
||||
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
|
||||
artifact-configuration-slug: ${{ matrix.vscode_arch }}
|
||||
wait-for-completion: true
|
||||
# 3h to manually approve the request
|
||||
wait-for-completion-timeout-in-seconds: 10800
|
||||
output-artifact-directory: assets/
|
||||
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Prepare checksums
|
||||
run: ./prepare_checksums.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
APP_IDENTIFIER: VSCodium.VSCodium.Insiders
|
||||
ASSETS_REPOSITORY: vscodium-insiders
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Check version
|
||||
run: ./stores/winget/check_version.sh
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
|
||||
- name: Release to WinGet
|
||||
uses: vedantmgoyal9/winget-releaser@main
|
||||
with:
|
||||
identifier: ${{ env.APP_IDENTIFIER }}
|
||||
version: ${{ env.RELEASE_VERSION }}
|
||||
release-repository: ${{ env.ASSETS_REPOSITORY }}
|
||||
release-tag: ${{ env.RELEASE_VERSION }}-insider
|
||||
installers-regex: '\.exe$' # only .exe files
|
||||
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
17
.github/workflows/lock.yml
vendored
Normal file
17
.github/workflows/lock.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: Lock Closed Threads
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
|
||||
jobs:
|
||||
lock:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v6
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-inactive-days: '90'
|
||||
pr-inactive-days: '90'
|
||||
discussion-inactive-days: '90'
|
||||
log-output: true
|
||||
598
.github/workflows/stable-linux.yml
vendored
Normal file
598
.github/workflows/stable-linux.yml
vendored
Normal file
@@ -0,0 +1,598 @@
|
||||
name: stable-linux
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
force_snap:
|
||||
type: boolean
|
||||
description: Force Snap
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- 'upstream/*.json'
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
BINARY_NAME: codium
|
||||
DISABLE_UPDATE: 'yes'
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: linux
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: stable
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
FORCE_LINUX_SNAP: ${{ github.event.inputs.force_snap }}
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
VSCODE_ARCH: 'x64'
|
||||
outputs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Compress vscode artifact
|
||||
run: |
|
||||
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
|
||||
echo "vscode/.build/extensions/node_modules" >> vscode.txt
|
||||
echo "vscode/.git" >> vscode.txt
|
||||
tar -czf vscode.tar.gz -T vscode.txt
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-arm64
|
||||
- slug: ARM32
|
||||
vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:focal-armhf
|
||||
- slug: RISCV64
|
||||
vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-riscv64
|
||||
- slug: LOONG64
|
||||
vscode_arch: loong64
|
||||
npm_arch: loong64
|
||||
image: vscodium/vscodium-linux-build-agent:crimson-loong64
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_APP_{0}', matrix.slug)] }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
outputs:
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
CHECK_REH: 'no'
|
||||
DISABLE_APPIMAGE: ${{ vars.DISABLE_STABLE_APPIMAGE }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./check_tags.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install dependencies
|
||||
run: ./build/linux/deps.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build/linux/package_bin.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Prepare assets
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./prepare_assets.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
reh_linux:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
- slug: ARM32
|
||||
vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
- slug: RISCV64
|
||||
vscode_arch: riscv64
|
||||
npm_arch: riscv64
|
||||
- slug: LOONG64
|
||||
vscode_arch: loong64
|
||||
npm_arch: loong64
|
||||
- slug: S390X
|
||||
vscode_arch: s390x
|
||||
npm_arch: s390x
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_REH_{0}', matrix.slug)] }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ONLY_REH: 'yes'
|
||||
run: ./check_tags.sh
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build/linux/package_reh.sh
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
reh_alpine:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- slug: X64
|
||||
vscode_arch: x64
|
||||
npm_arch: x64
|
||||
- slug: ARM64
|
||||
vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
DISABLED: ${{ vars[format('DISABLE_STABLE_ALPINE_REH_{0}', matrix.slug)] }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
OS_NAME: alpine
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Install GH
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ONLY_REH: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build/alpine/package_reh.sh
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-alpine-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
aur:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- package_name: vscodium
|
||||
package_type: stable
|
||||
# - package_name: vscodium-git
|
||||
# package_type: rolling
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- name: Publish ${{ matrix.package_name }}
|
||||
uses: zokugun/github-actions-aur-releaser@v1
|
||||
with:
|
||||
package_name: ${{ matrix.package_name }}
|
||||
package_type: ${{ matrix.package_type }}
|
||||
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
|
||||
aur_username: ${{ secrets.AUR_USERNAME }}
|
||||
aur_email: ${{ secrets.AUR_EMAIL }}
|
||||
|
||||
snap:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SNAP_NAME: codium
|
||||
SNAP_PUBLISHER: vscodium
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- amd64
|
||||
- arm64
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_STABLE_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Check version
|
||||
env:
|
||||
ARCHITECTURE: ${{ matrix.platform }}
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
SNAPCRAFT_STORE_CHANNEL: ${{ vars.SNAP_STORE_CHANNEL }}
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
run: ./stores/snapcraft/check_version.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v4
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: diddlesnaps/snapcraft-multiarch-action@v1
|
||||
with:
|
||||
path: stores/snapcraft/stable
|
||||
architecture: ${{ matrix.platform }}
|
||||
id: build
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: diddlesnaps/snapcraft-review-action@v1
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
isClassic: 'true'
|
||||
if: env.SHOULD_DEPLOY_TO_RELEASE == 'yes' || env.SHOULD_DEPLOY_TO_STORE == 'yes'
|
||||
|
||||
- uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_name: ${{ env.ASSETS_REPOSITORY }}
|
||||
repo_token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
file: ${{ steps.build.outputs.snap }}
|
||||
tag: ${{ env.RELEASE_VERSION }}
|
||||
if: env.SHOULD_DEPLOY_TO_RELEASE == 'yes'
|
||||
|
||||
- uses: snapcore/action-publish@master
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
release: ${{ vars.SNAP_STORE_CHANNEL }}
|
||||
if: env.SHOULD_DEPLOY_TO_STORE == 'yes'
|
||||
|
||||
deploy-repo-rudy:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
|
||||
|
||||
steps:
|
||||
- name: Trigger repository rebuild
|
||||
env:
|
||||
GL_PAGES_TOKEN: ${{ secrets.GL_PAGES_TOKEN }}
|
||||
run: curl -X POST --fail -F token="${GL_PAGES_TOKEN}" -F ref=master https://gitlab.com/api/v4/projects/8762263/trigger/pipeline
|
||||
|
||||
deploy-repo-dev:
|
||||
needs:
|
||||
- check
|
||||
- build
|
||||
runs-on: ubuntu-latest
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
|
||||
|
||||
steps:
|
||||
- name: Trigger repository rebuild
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
repository: VSCodium/repositories-linux
|
||||
event-type: deploy
|
||||
132
.github/workflows/stable-macos.yml
vendored
Normal file
132
.github/workflows/stable-macos.yml
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
name: stable-macos
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- 'upstream/*.json'
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
BINARY_NAME: codium
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: osx
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: stable
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.runner }}
|
||||
env:
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- runner: macos-15-intel
|
||||
vscode_arch: x64
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: . get_pr.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: . check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: . check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Prepare assets
|
||||
env:
|
||||
CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_APP_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_NEW_ID }}
|
||||
CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_NEW_P12_DATA }}
|
||||
CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_P12_PASSWORD }}
|
||||
CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_NEW_TEAM_ID }}
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
- name: Clean up keychain
|
||||
if: always()
|
||||
run: |
|
||||
KEYCHAIN=$RUNNER_TEMP/build.keychain
|
||||
|
||||
if [ -f "$KEYCHAIN" ];
|
||||
then
|
||||
security delete-keychain $KEYCHAIN
|
||||
fi
|
||||
93
.github/workflows/stable-spearhead.yml
vendored
Normal file
93
.github/workflows/stable-spearhead.yml
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
name: stable-spearhead
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
new_release:
|
||||
type: boolean
|
||||
description: Force new Release
|
||||
force_dispatch:
|
||||
type: boolean
|
||||
description: Force dispatch
|
||||
dont_update:
|
||||
type: boolean
|
||||
description: Don't update VSCode
|
||||
schedule:
|
||||
- cron: '0 18 * * *'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-15
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
BINARY_NAME: codium
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: osx
|
||||
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_ARCH: arm64
|
||||
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
||||
VSCODE_QUALITY: stable
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
||||
IS_SPEARHEAD: 'yes'
|
||||
run: . check_tags.sh
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@v7
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
||||
git_user_signingkey: true
|
||||
git_commit_gpgsign: true
|
||||
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
|
||||
|
||||
- name: Update upstream version
|
||||
run: ./update_upstream.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
|
||||
|
||||
- name: Prepare source
|
||||
run: ./prepare_src.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload sourcemaps
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./upload_sourcemaps.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release source
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Dispatch builds
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
event-type: stable
|
||||
if: env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true'
|
||||
302
.github/workflows/stable-windows.yml
vendored
Normal file
302
.github/workflows/stable-windows.yml
vendored
Normal file
@@ -0,0 +1,302 @@
|
||||
name: stable-windows
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force_version:
|
||||
type: boolean
|
||||
description: Force update version
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
repository_dispatch:
|
||||
types: [stable]
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- 'upstream/*.json'
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
BINARY_NAME: codium
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: windows
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: stable
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
VSCODE_ARCH: 'x64'
|
||||
outputs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
# - name: Setup GCC
|
||||
# uses: egor-tensin/setup-gcc@v1
|
||||
# with:
|
||||
# version: 10
|
||||
# platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
# - name: Install libkrb5-dev
|
||||
# run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
# if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Compress vscode artifact
|
||||
run: |
|
||||
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
|
||||
echo "vscode/.build/extensions/node_modules" >> vscode.txt
|
||||
echo "vscode/.git" >> vscode.txt
|
||||
tar -czf vscode.tar.gz -T vscode.txt
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- compile
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vscode_arch:
|
||||
- x64
|
||||
- arm64
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
outputs:
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Switch to relevant branch
|
||||
env:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
DISABLE_MSI: ${{ vars.DISABLE_STABLE_MSI }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./check_tags.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.vscode_arch }}
|
||||
npm_config_target_arch: ${{ matrix.vscode_arch }}
|
||||
run: ./build/windows/package.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Prepare assets
|
||||
run: ./prepare_assets.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Upload unsigned artifacts
|
||||
id: upload-unsigned-artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: unsigned-${{ matrix.vscode_arch }}
|
||||
path: |
|
||||
assets/*.exe
|
||||
assets/*.msi
|
||||
retention-days: 1
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Signing
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
|
||||
project-slug: ${{ secrets.SIGNPATH_PROJECT_SLUG }}
|
||||
signing-policy-slug: ${{ secrets.SIGNPATH_POLICY_SLUG }}
|
||||
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
|
||||
artifact-configuration-slug: ${{ matrix.vscode_arch }}
|
||||
wait-for-completion: true
|
||||
# 8h to manually approve the request
|
||||
wait-for-completion-timeout-in-seconds: 28800
|
||||
output-artifact-directory: assets/
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Prepare checksums
|
||||
run: ./prepare_checksums.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./release.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Update versions repo
|
||||
env:
|
||||
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./update_version.sh
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
retention-days: 3
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
APP_IDENTIFIER: VSCodium.VSCodium
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Check version
|
||||
run: ./stores/winget/check_version.sh
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
|
||||
|
||||
- name: Release to WinGet
|
||||
uses: vedantmgoyal9/winget-releaser@main
|
||||
with:
|
||||
identifier: ${{ env.APP_IDENTIFIER }}
|
||||
version: ${{ env.RELEASE_VERSION }}
|
||||
release-tag: ${{ env.RELEASE_VERSION }}
|
||||
installers-regex: '\.exe$' # only .exe files
|
||||
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
25
.github/workflows/stale.yml
vendored
Normal file
25
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
name: Stale Issues
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 1 * * *'
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v10
|
||||
with:
|
||||
days-before-stale: 180
|
||||
days-before-close: 30
|
||||
stale-issue-label: stale
|
||||
operations-per-run: 1024
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as stale. **If this issue is still affecting you, please leave any comment**, and we'll keep it open. If you have any new additional information, please include it with your comment!
|
||||
close-issue-message: >
|
||||
This issue has been closed due to inactivity, and will not be monitored. If this is a bug and you can reproduce this issue, please open a new issue.
|
||||
exempt-issue-labels: discussion,never-stale
|
||||
only-pr-labels: needs-information
|
||||
23
.gitignore
vendored
23
.gitignore
vendored
@@ -1,2 +1,21 @@
|
||||
vscode
|
||||
VS*/*
|
||||
vscode*
|
||||
VS*/*
|
||||
VSCode*
|
||||
VSCodium*
|
||||
.DS_Store
|
||||
*.env
|
||||
assets/
|
||||
build/linux/appimage/out
|
||||
build/linux/appimage/pkg2appimage.AppDir
|
||||
build/linux/appimage/pkg2appimage-*.AppImage
|
||||
build/linux/appimage/pkg2appimage.AppImage
|
||||
build/linux/appimage/squashfs-root
|
||||
build/linux/appimage/VSCodium
|
||||
build/windows/msi/releasedir
|
||||
build/windows/msi/Files*.wxs
|
||||
build/windows/msi/Files*.wixobj
|
||||
sourcemaps/
|
||||
stores/snapcraft/insider/*.snap
|
||||
stores/snapcraft/stable/*.snap
|
||||
font-size/node_modules/
|
||||
font-size/generate-css.js
|
||||
|
||||
48
.travis.yml
48
.travis.yml
@@ -1,48 +0,0 @@
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
sudo: required
|
||||
env: BUILDARCH=x64
|
||||
dist: trusty
|
||||
- os: osx
|
||||
|
||||
language: node_js
|
||||
node_js: "10"
|
||||
|
||||
before_install:
|
||||
- curl -o- -L https://yarnpkg.com/install.sh | bash
|
||||
- export PATH="$HOME/.yarn/bin:$PATH"
|
||||
- . install_deps.sh
|
||||
- . get_repo.sh
|
||||
- . check_tags.sh
|
||||
|
||||
script:
|
||||
- ./build.sh
|
||||
|
||||
before_deploy:
|
||||
- ./sign_mac_app.sh
|
||||
- ./create_zip.sh
|
||||
- ./create_dmg.sh
|
||||
- ./sum.sh
|
||||
|
||||
deploy:
|
||||
provider: releases
|
||||
skip_cleanup: true
|
||||
overwrite: true
|
||||
name: $LATEST_MS_TAG
|
||||
api_key: $GITHUB_TOKEN
|
||||
file_glob: true
|
||||
file:
|
||||
- ./*.sha256
|
||||
- ./*.zip
|
||||
- ./*.tar.gz
|
||||
- ./*.dmg
|
||||
- ./*.deb
|
||||
- ./*.rpm
|
||||
- ./*.AppImage
|
||||
on:
|
||||
all_branches: true
|
||||
condition: $SHOULD_BUILD = yes
|
||||
|
||||
after_deploy:
|
||||
- ./update_version.sh
|
||||
@@ -2,45 +2,122 @@
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
* Publishing others' private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at vscodium@protonmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
vscodium@protonmail.com.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series of
|
||||
actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.1, available at
|
||||
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
|
||||
|
||||
42
CONTRIBUTING.md
Normal file
42
CONTRIBUTING.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Contributing
|
||||
|
||||
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
|
||||
|
||||
#### Table Of Contents
|
||||
|
||||
- [Code of Conduct](#code-of-conduct)
|
||||
- [Reporting Bugs](#reporting-bugs)
|
||||
- [Making Changes](#making-changes)
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
This project and everyone participating in it is governed by the [VSCodium Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
### Before Submitting an Issue
|
||||
|
||||
Before creating bug reports, please check existing issues and [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) as you might find out that you don't need to create one.
|
||||
When you are creating a bug report, please include as many details as possible. Fill out [the required template](https://github.com/VSCodium/vscodium/issues/new?&labels=bug&&template=bug_report.md), the information it asks for helps us resolve issues faster.
|
||||
|
||||
## Making Changes
|
||||
|
||||
If you want to make changes, please read [the Build page](./docs/howto-build.md).
|
||||
|
||||
### Building VSCodium
|
||||
|
||||
To build VSCodium, please follow the command found in the section [`Build Scripts`](./docs/howto-build.md#build-scripts).
|
||||
|
||||
### Updating patches
|
||||
|
||||
If you want to update the existing patches, please follow the section [`Patch Update Process - Semi-Automated`](./docs/howto-build.md#patch-update-process-semiauto).
|
||||
|
||||
### Add a new patch
|
||||
|
||||
- first, you need to build VSCodium
|
||||
- then use the command `./dev/patch.sh <your patch name>`, to initiate a new patch
|
||||
- when the script pauses at `Press any key when the conflict have been resolved...`, open `vscode` directory in **VSCodium**
|
||||
- run `npm run watch`
|
||||
- run `./script/code.sh`
|
||||
- make your changes
|
||||
- press any key to continue the script `patch.sh`
|
||||
98
DOCS.md
98
DOCS.md
@@ -1,98 +0,0 @@
|
||||
# More Info
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Getting all the Telemetry Out](#disable-telemetry)
|
||||
- [Extensions + Marketplace](#extensions-marketplace)
|
||||
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
||||
- [How do I run VSCodium in portable mode?](#portable)
|
||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||
- [How do I open VSCodium from the terminal?](#terminal-support)
|
||||
- [Gentoo overlay/ebuild](#gentoo-overlay)
|
||||
|
||||
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
|
||||
|
||||
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
|
||||
|
||||
We do however set the default `telemetry.enableCrashReporter` and `telemetry.enableTelemetry` values to false. You can see those by viewing your VSCodium settings.json and searching for `telemetry`.
|
||||
|
||||
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with explaining and toggling telemetry.
|
||||
|
||||
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/supporting/faq#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
|
||||
|
||||
- Extensions auto check for updates and auto install updates
|
||||
- Searches within the app are sent to an online service for "natural language processing"
|
||||
- Updates to the app are fetched in the background
|
||||
|
||||
These can all be disabled.
|
||||
|
||||
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__
|
||||
|
||||
_(For example the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
||||
|
||||
## <a id="extensions-marketplace"></a>Extensions + Marketplace
|
||||
|
||||
Until something more open comes around, we use the Microsoft Marketplace/Extensions in the `product.json` file. Those links are licensed under MIT as per [the comments on this issue.](https://github.com/Microsoft/vscode/issues/31168#issuecomment-317319063)
|
||||
|
||||
If you use the [code-settings-sync](https://github.com/shanalikhan/code-settings-sync) extension, you may have [an issue](https://github.com/VSCodium/vscodium/issues/72) installing extensions (via the plugin). Refer to [this workaround](https://github.com/shanalikhan/code-settings-sync/issues/668#issuecomment-462065341) to get it working properly.
|
||||
|
||||
### Proprietary Debugging Tools
|
||||
|
||||
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the offical Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
|
||||
|
||||
A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
|
||||
|
||||
## <a id="migrating"></a>Migrating from Visual Studio Code to VSCodium
|
||||
|
||||
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
|
||||
|
||||
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
|
||||
|
||||
- __Windows__: `%APPDATA%\Code\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/Code/User`
|
||||
- __Linux__: `$HOME/.config/Code/User`
|
||||
|
||||
You can copy these files to the VSCodium user settings folder:
|
||||
|
||||
- __Windows__: `%APPDATA%\VSCodium\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
|
||||
- __Linux__: `$HOME/.config/VSCodium/User`
|
||||
|
||||
To copy your settings manually:
|
||||
|
||||
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
|
||||
- Click the three dots `...` and choose 'Open settings.json'
|
||||
- Copy the contents of settings.json into the same place in VSCodium
|
||||
|
||||
## <a id="portable"></a>How do I run VSCodium in portable mode?
|
||||
You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) from the Visual Studio Code website. For Windows and Linux the instructions can be followed as written. For Mac OS, portable mode is enabled by the existence of a specially named folder. For Visual Studio Code that folder name is `code-portable-data`. For VSCodium, that folder name is `vscodium-portable-data`.
|
||||
|
||||
So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the link above, but create a folder named `vscodium-portable-data` instead of `code-portable-data`.
|
||||
|
||||
## <a id="press-and-hold"></a>How do I press and hold a key and have it repeat in VSCodium (Mac)?
|
||||
|
||||
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
|
||||
|
||||
```bash
|
||||
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
|
||||
```
|
||||
|
||||
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
|
||||
|
||||
- Go to the command palette (View | Command Palette...)
|
||||
- Choose `Shell command: Install 'codium' command in PATH`.
|
||||
|
||||

|
||||
|
||||
This allows you to open files or directories in VSCodium directly from your terminal:
|
||||
|
||||
```bash
|
||||
~/in-my-project $ codium . # open this directory
|
||||
~/in-my-project $ codium file.txt # open this file
|
||||
```
|
||||
|
||||
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=codium`).
|
||||
|
||||
## <a id="gentoo-overlay"></a>Gentoo ebuild/overlay
|
||||
|
||||
There is an external Gentoo overlay with a working ebuild to install VSCodium, provided by [@wolviecb](https://github.com/wolviecb/). The overlay can be found [here](https://github.com/wolviecb/overlay).
|
||||
7
FUNDING.json
Normal file
7
FUNDING.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"drips": {
|
||||
"ethereum": {
|
||||
"ownedBy": "0x7806393Cb27692C6A52eE3D5338A75cECD168219"
|
||||
}
|
||||
}
|
||||
}
|
||||
4
LICENSE
4
LICENSE
@@ -1,6 +1,8 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Peter Squicciarini
|
||||
Copyright (c) 2018-present The VSCodium contributors
|
||||
Copyright (c) 2018-present Peter Squicciarini
|
||||
Copyright (c) 2015-present Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
187
README.md
187
README.md
@@ -1,87 +1,154 @@
|
||||
<div id="vscodium-logo" align="center">
|
||||
<br />
|
||||
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
|
||||
<img src="./icons/stable/codium_cnl.svg" alt="VSCodium Logo" width="200"/>
|
||||
<h1>VSCodium</h1>
|
||||
<h3>Free/Libre Open Source Software Binaries of VSCode</h3>
|
||||
<h3>Free/Libre Open Source Software Binaries of Visual Studio Code</h3>
|
||||
</div>
|
||||
|
||||
<div id="badges" align="center">
|
||||
|
||||
[](https://github.com/vscodium/vscodium/releases)
|
||||
[](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
|
||||
[](https://travis-ci.com/VSCodium/vscodium)
|
||||
[](https://github.com/vscodium/vscodium/releases)
|
||||
[](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
|
||||
[](https://gitter.im/VSCodium/Lobby)
|
||||
[](https://snapcraft.io/codium)
|
||||
[](https://snapcraft.io/codium)
|
||||
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-linux.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-macos.yml?query=branch%3Amaster)
|
||||
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-windows.yml?query=branch%3Amaster)
|
||||
|
||||
</div>
|
||||
|
||||
**This is not a fork. This is a repository of scripts to automatically build Microsoft's `vscode` repository into freely-licensed binaries with a community-driven default configuration.**
|
||||
**This is not a fork. This is a repository of scripts to automatically build [Microsoft's `vscode` repository](https://github.com/microsoft/vscode) into freely-licensed binaries with a community-driven default configuration.**
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Download/Install](#download-install)
|
||||
- [Install with Brew](#install-with-brew)
|
||||
- [Install with Windows Package Manager (WinGet)](#install-with-winget)
|
||||
- [Install with Chocolatey](#install-with-choco)
|
||||
- [Install with Scoop](#install-with-scoop)
|
||||
- [Install with snap](#install-with-snap)
|
||||
- [Install with Package Manager](#install-with-package-manager)
|
||||
- [Install on Arch Linux](#install-on-arch-linux)
|
||||
- [Flatpak Option](#flatpak)
|
||||
- [Build](#build)
|
||||
- [Why Does This Exist](#why)
|
||||
- [More Info](#more-info)
|
||||
- [Supported OS](#supported-os)
|
||||
- [Supported Platforms](#supported-platforms)
|
||||
|
||||
## <a id="download-install"></a>Download/Install
|
||||
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
|
||||
|
||||
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/DOCS.md)
|
||||
:tada: :tada:
|
||||
Download latest release here:
|
||||
[stable](https://github.com/VSCodium/vscodium/releases) or
|
||||
[insiders](https://github.com/VSCodium/vscodium-insiders/releases)
|
||||
:tada: :tada:
|
||||
|
||||
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/docs/index.md)
|
||||
|
||||
|
||||
#### <a id="install-with-brew"></a>Install with Brew (Mac)
|
||||
|
||||
If you are on a Mac and have [Homebrew](https://brew.sh/) installed:
|
||||
```bash
|
||||
brew cask install vscodium
|
||||
# stable
|
||||
brew install --cask vscodium
|
||||
|
||||
# insiders
|
||||
brew install --cask vscodium@insiders
|
||||
```
|
||||
|
||||
_Note for Mac OS X Mojave users: if you see "App can't be opened because Apple cannot check it for malicious software" when opening VSCodium the first time, you can right-click the application and choose Open. This should only be required the first time opening on Mojave._
|
||||
#### <a id="install-with-winget"></a>Install with Windows Package Manager (WinGet)
|
||||
|
||||
If you use Windows and have [Windows Package Manager](https://github.com/microsoft/winget-cli) installed:
|
||||
```cmd
|
||||
:: stable
|
||||
winget install -e --id VSCodium.VSCodium
|
||||
|
||||
:: insider
|
||||
winget install -e --id VSCodium.VSCodium.Insiders
|
||||
```
|
||||
|
||||
#### <a id="install-with-choco"></a>Install with Chocolatey (Windows)
|
||||
|
||||
If you use Windows and have [Chocolatey](https://chocolatey.org) installed (thanks to [@Thilas](https://github.com/Thilas)):
|
||||
```bash
|
||||
```cmd
|
||||
:: stable
|
||||
choco install vscodium
|
||||
|
||||
:: insider
|
||||
choco install vscodium-insiders
|
||||
```
|
||||
|
||||
#### <a id="install-with-scoop"></a>Install with Scoop (Windows)
|
||||
|
||||
If you use Windows and have [Scoop](https://scoop.sh) installed:
|
||||
```bash
|
||||
scoop bucket add extras
|
||||
scoop install vscodium
|
||||
```
|
||||
|
||||
#### <a id="install-with-package-manager"></a>Install with Package Manager (Linux)
|
||||
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
||||
#### <a id="install-with-snap"></a>Install with snap (GNU/Linux)
|
||||
|
||||
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), thanks to the help of the [Snapcrafters](https://github.com/snapcrafters/codium) community.
|
||||
If your GNU/Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
|
||||
|
||||
```bash
|
||||
snap install codium --classic
|
||||
```
|
||||
|
||||
#### <a id="install-with-package-manager"></a>Install with Package Manager (GNU/Linux)
|
||||
|
||||
You can always install using the downloads (deb, rpm, tar) on the releases page for [stable](https://github.com/VSCodium/vscodium/releases) or [insiders](https://github.com/VSCodium/vscodium-insiders/releases), but you can also install using your favorite package manager and get automatic updates.
|
||||
|
||||
[@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions for `apt`, `dnf` and `zypper` [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo).
|
||||
|
||||
Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
||||
|
||||
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
|
||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@plague-doctor](https://github.com/plague-doctor).
|
||||
|
||||
#### <a id="flatpak"></a>Flatpak Option (Linux)
|
||||
VSCodium is not available as a Flatpak app, but [@amtlib-dot-dll](https://github.com/amtlib-dot-dll) has done significant work to package up the open source build of Visual Studio Code without telemetry, very similarly to VSCodium. That package is available [here](https://flathub.org/apps/details/com.visualstudio.code.oss) and the build repo is [here](https://github.com/flathub/com.visualstudio.code.oss).
|
||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository), maintained by [@binex-dsk](https://github.com/binex-dsk) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/) (stable) and as [vscodium-insiders-bin](https://aur.archlinux.org/packages/vscodium-insiders-bin).
|
||||
|
||||
If you want to save disk space by having VSCodium use the Electron system-wide, you also have [vscodium-electron](https://aur.archlinux.org/packages/vscodium-electron),
|
||||
maintained by [@m00nw4tch3r](https://aur.archlinux.org/account/m00nw4tch3r).
|
||||
|
||||
An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
|
||||
|
||||
#### <a id="flatpak"></a>Flatpak Option (GNU/Linux)
|
||||
|
||||
VSCodium is available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium).
|
||||
If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
|
||||
|
||||
```bash
|
||||
flatpak install flathub com.vscodium.codium
|
||||
flatpak run com.vscodium.codium
|
||||
```
|
||||
|
||||
## <a id="build"></a>Build
|
||||
|
||||
Build instructions can be found [here](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)
|
||||
|
||||
## <a id="why"></a>Why Does This Exist
|
||||
This repository contains build files to generate free release binaries of Microsoft's VSCode. When we speak of "free software", we're talking about freedom, not price.
|
||||
|
||||
Microsoft's downloads of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
|
||||
This repository contains build files to generate free release binaries of Microsoft's Visual Studio Code. When we speak of "free software", we're talking about freedom, not price.
|
||||
|
||||
Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
|
||||
|
||||
> When we [Microsoft] build Visual Studio Code, we do exactly this. We clone the vscode repository, we lay down a customized product.json that has Microsoft specific functionality (telemetry, gallery, logo, etc.), and then produce a build that we release under our license.
|
||||
>
|
||||
>
|
||||
> When you clone and build from the vscode repo, none of these endpoints are configured in the default product.json. Therefore, you generate a "clean" build, without the Microsoft customizations, which is by default licensed under the MIT license
|
||||
|
||||
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is disabled.__
|
||||
|
||||
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed VSCode.
|
||||
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed Visual Studio Code.
|
||||
|
||||
Microsoft's build process (which we are running to build the binaries) does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
|
||||
Microsoft's build process (which we are running to build the binaries) does download additional files. Those packages downloaded during build are:
|
||||
|
||||
- Extensions from the Microsoft Marketplace:
|
||||
- ms-vscode.node-debug2
|
||||
- ms-vscode.node-debug
|
||||
- Pre-built extensions from the GitHub:
|
||||
- [ms-vscode.js-debug-companion](https://github.com/microsoft/vscode-js-debug-companion)
|
||||
- [ms-vscode.js-debug](https://github.com/microsoft/vscode-js-debug)
|
||||
- [ms-vscode.vscode-js-profile-table](https://github.com/microsoft/vscode-js-profile-visualizer)
|
||||
- From [Electron releases](https://github.com/electron/electron/releases) (using [gulp-atom-electron](https://github.com/joaomoreno/gulp-atom-electron))
|
||||
- electron
|
||||
- ffmpeg
|
||||
@@ -89,27 +156,65 @@ Microsoft's build process (which we are running to build the binaries) does down
|
||||
## <a id="more-info"></a>More Info
|
||||
|
||||
### Documentation
|
||||
For more information on getting all the telemetry disabled and tips for migrating from Visual Studio Code to VSCodium, have a look at this [Docs](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) page.
|
||||
|
||||
### Extension Licensing
|
||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||
For more information on getting all the telemetry disabled, tips for migrating from Visual Studio Code to VSCodium and more, have a look at [the Docs page](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) page.
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
If you have any issue, please check [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) or the existing issues.
|
||||
|
||||
### Extensions and the Marketplace
|
||||
|
||||
According to the Visual Studio Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for Visual Studio Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#extensions-marketplace) section on the Docs page for more details.
|
||||
|
||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||
|
||||
### How are the VSCodium binaries built?
|
||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the [`.travis.yml` file](https://github.com/VSCodium/vscodium/blob/master/.travis.yml) (for Linux and OS X builds) and the [`win32-build.yml` file](https://github.com/VSCodium/vscodium/blob/master/win32-build.yml) (for Windows builds). These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||
|
||||
The builds are run every day, but exit early if there isn't a new release from Microsoft. To examine the build logs, go [here for Linux / OS X](https://travis-ci.com/VSCodium/vscodium) and [here for Windows](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
|
||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflows` for Windows, GNU/Linux and macOS. These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||
|
||||
## <a id="supported-os"></a>Supported OS
|
||||
- [x] OS X (`zip`, `dmg`)
|
||||
- [x] Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
|
||||
- [x] Linux x86 (`deb`, `rpm`, `tar.gz`)
|
||||
- [x] Windows x64
|
||||
- [x] Windows x86
|
||||
|
||||
The ARM architecture is not currently supported but is being worked on.
|
||||
The builds are run every day, but exit early if there isn't a new release from Microsoft.
|
||||
|
||||
## <a id="donate"></a>Donate
|
||||
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
|
||||
## <a id="supported-platforms"></a>Supported Platforms
|
||||
|
||||
The minimal version is limited by the core component Electron, you may want to check its [platform prerequisites](https://www.electronjs.org/docs/latest/development/build-instructions-gn#platform-prerequisites).
|
||||
|
||||
- [x] macOS (`zip`, `dmg`) macOS 10.15 or newer x64
|
||||
- [x] macOS (`zip`, `dmg`) macOS 11.0 or newer arm64
|
||||
- [x] GNU/Linux x64 (`deb`, `rpm`, `AppImage`, `snap`, `tar.gz`)
|
||||
- [x] GNU/Linux arm64 (`deb`, `rpm`, `snap`, `tar.gz`)
|
||||
- [x] GNU/Linux armhf (`deb`, `rpm`, `tar.gz`)
|
||||
- [x] GNU/Linux riscv64 (`tar.gz`)
|
||||
- [x] GNU/Linux loong64 (`tar.gz`)
|
||||
- [x] GNU/Linux ppc64le (`tar.gz`)
|
||||
- [x] Windows 10 / Server 2012 R2 or newer x64
|
||||
- [x] Windows 10 / Server 2012 R2 or newer arm64
|
||||
|
||||
## <a id="thanks"></a>Special thanks
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="https://github.com/jaredreich" target="_blank">@jaredreich</a></td>
|
||||
<td>for the logo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/PalinuroSec" target="_blank">@PalinuroSec</a></td>
|
||||
<td>for CDN and domain name</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://www.macstadium.com" target="_blank"><img src="https://images.prismic.io/macstadium/66fbce64-707e-41f3-b547-241908884716_MacStadium_Logo.png?w=128&q=75" width="128" height="49" alt="MacStadium logo" /></a></td>
|
||||
<td>for providing a Mac mini M1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/daiyam" target="_blank">@daiyam</a></td>
|
||||
<td>for macOS certificate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://signpath.org/" target="_blank"><img src="https://avatars.githubusercontent.com/u/34448643" height="30" alt="SignPath logo" /></a></td>
|
||||
<td>free code signing on Windows provided by <a href="https://signpath.io/" target="_blank">SignPath.io</a>, certificate by <a href="https://signpath.org/" target="_blank">SignPath Foundation</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## <a id="license"></a>License
|
||||
MIT
|
||||
|
||||
[MIT](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# Based on
|
||||
# https://github.com/AppImage/pkg2appimage/blob/master/recipes/VSCode.yml
|
||||
#
|
||||
# On a Debian/Ubuntu system:
|
||||
# wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
|
||||
# bash -ex pkg2appimage VSCodium
|
||||
|
||||
app: VSCodium
|
||||
|
||||
ingredients:
|
||||
packages:
|
||||
- code
|
||||
- libgconf2-4
|
||||
dist: trusty
|
||||
sources:
|
||||
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
|
||||
script:
|
||||
- pwd
|
||||
- cp ../.build/linux/deb/amd64/deb/*.deb .
|
||||
- ls codium_*.deb | cut -d _ -f 2 > VERSION
|
||||
|
||||
script:
|
||||
- sed -i -e 's|/usr/share/codium/||g' usr/share/applications/codium.desktop
|
||||
- sed -i -e 's|com.visualstudio.code.oss|vscodium|g' usr/share/applications/codium.desktop
|
||||
- cp usr/share/applications/codium.desktop .
|
||||
- cp usr/share/pixmaps/vscodium.png vscodium.png
|
||||
- convert vscodium.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/vscodium.png
|
||||
- convert vscodium.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/vscodium.png
|
||||
- convert vscodium.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/vscodium.png
|
||||
- convert vscodium.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/vscodium.png
|
||||
- convert vscodium.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/vscodium.png
|
||||
- convert vscodium.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/vscodium.png
|
||||
- convert vscodium.png -resize 24x24 usr/share/icons/hicolor/24x24/apps/vscodium.png
|
||||
- convert vscodium.png -resize 22x22 usr/share/icons/hicolor/22x22/apps/vscodium.png
|
||||
- ( cd usr/bin/ ; ln -s ../share/codium/codium . )
|
||||
2
announcements-builtin.json
Normal file
2
announcements-builtin.json
Normal file
@@ -0,0 +1,2 @@
|
||||
[
|
||||
]
|
||||
7
announcements-extra.json
Normal file
7
announcements-extra.json
Normal file
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": "#2668",
|
||||
"title": "[Windows] broken update on 1.107, need manual update",
|
||||
"url": "https://github.com/VSCodium/vscodium/issues/2668"
|
||||
}
|
||||
]
|
||||
@@ -1,16 +0,0 @@
|
||||
jobs:
|
||||
- job: Windows
|
||||
pool:
|
||||
vmImage: VS2017-Win2016
|
||||
variables:
|
||||
BUILDARCH: x64
|
||||
steps:
|
||||
- template: win32-build.yml
|
||||
|
||||
- job: Windows32
|
||||
pool:
|
||||
vmImage: VS2017-Win2016
|
||||
variables:
|
||||
BUILDARCH: ia32
|
||||
steps:
|
||||
- template: win32-build.yml
|
||||
166
build.sh
166
build.sh
@@ -1,106 +1,90 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
function keep_alive() {
|
||||
while true; do
|
||||
date
|
||||
sleep 60
|
||||
done
|
||||
}
|
||||
set -ex
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
export BUILD_SOURCEVERSION=$LATEST_MS_COMMIT
|
||||
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
|
||||
echo "BUILD_SOURCEVERSION: ${BUILD_SOURCEVERSION}"
|
||||
. version.sh
|
||||
|
||||
cp -rp src/* vscode/
|
||||
cd vscode
|
||||
if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
echo "MS_COMMIT=\"${MS_COMMIT}\""
|
||||
|
||||
export npm_config_arch="$BUILDARCH"
|
||||
export npm_config_target_arch="$BUILDARCH"
|
||||
../update_settings.sh
|
||||
. prepare_vscode.sh
|
||||
|
||||
yarn
|
||||
yarn postinstall
|
||||
mv product.json product.json.bak
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
# set fields in product.json
|
||||
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
|
||||
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
|
||||
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
|
||||
documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
|
||||
introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
|
||||
extensionAllowedBadgeProviders='setpath(["extensionAllowedBadgeProviders"]; ["api.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "ci.appveyor.com", "circleci.com", "cla.opensource.microsoft.com", "codacy.com", "codeclimate.com", "codecov.io", "coveralls.io", "david-dm.org", "deepscan.io", "dev.azure.com", "flat.badgen.net", "gemnasium.com", "githost.io", "gitlab.com", "godoc.org", "goreportcard.com", "img.shields.io", "isitmaintained.com", "marketplace.visualstudio.com", "nodesecurity.io", "opencollective.com", "snyk.io", "travis-ci.com", "travis-ci.org", "visualstudio.com", "vsmarketplacebadge.apphb.com", "www.bithound.io", "www.versioneye.com"])'
|
||||
updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
|
||||
releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
|
||||
keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
|
||||
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
|
||||
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
|
||||
quality='setpath(["quality"]; "stable")'
|
||||
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items"})'
|
||||
nameShort='setpath(["nameShort"]; "VSCodium")'
|
||||
nameLong='setpath(["nameLong"]; "VSCodium")'
|
||||
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
|
||||
applicationName='setpath(["applicationName"]; "codium")'
|
||||
win32MutexName='setpath(["win32MutexName"]; "vscodium")'
|
||||
win32DirName='setpath(["win32DirName"]; "VSCodium")'
|
||||
win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
|
||||
win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
|
||||
win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
|
||||
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
|
||||
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
|
||||
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare"])'
|
||||
export NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
product_json_changes="${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi}"
|
||||
cat product.json.bak | jq "${product_json_changes}" > product.json
|
||||
cat product.json
|
||||
../undo_telemetry.sh
|
||||
npm run monaco-compile-check
|
||||
npm run valid-layers-check
|
||||
|
||||
export NODE_ENV=production
|
||||
npm run gulp compile-build-without-mangling
|
||||
npm run gulp compile-extension-media
|
||||
npm run gulp compile-extensions-build
|
||||
npm run gulp minify-vscode
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
# microsoft adds their apt repo to sources
|
||||
# unless the app name is code-oss
|
||||
# as we are renaming the application to vscodium
|
||||
# we need to edit a line in the post install template
|
||||
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
# remove win32 node modules
|
||||
rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc darwin
|
||||
|
||||
npm run gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
find "../VSCode-darwin-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
. ../build_cli.sh
|
||||
|
||||
VSCODE_PLATFORM="darwin"
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
# in CI, packaging will be done by a different job
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
. ../build/windows/rtf/make.sh
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32
|
||||
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
SHOULD_BUILD_REH="no"
|
||||
SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
. ../build_cli.sh
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="win32"
|
||||
else # linux
|
||||
# remove win32 node modules
|
||||
rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
|
||||
|
||||
# in CI, packaging will be done by a different job
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux
|
||||
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
. ../build_cli.sh
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="linux"
|
||||
fi
|
||||
|
||||
yarn gulp compile-build
|
||||
yarn gulp compile-extensions-build
|
||||
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
npm run gulp minify-vscode-reh
|
||||
npm run gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
|
||||
# this task is very slow on mac, so using a keep alive to keep travis alive
|
||||
keep_alive &
|
||||
KA_PID=$!
|
||||
yarn gulp minify-vscode
|
||||
kill $KA_PID
|
||||
|
||||
yarn gulp minify-vscode-reh
|
||||
yarn gulp minify-vscode-reh-web
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
npm install --global create-dmg
|
||||
yarn gulp vscode-darwin-min-ci
|
||||
yarn gulp vscode-reh-darwin-min-ci
|
||||
yarn gulp vscode-reh-web-darwin-min-ci
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-min-ci"
|
||||
yarn gulp "vscode-reh-win32-${BUILDARCH}-min-ci"
|
||||
yarn gulp "vscode-reh-web-win32-${BUILDARCH}-min-ci"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-code-helper"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-inno-updater"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-archive"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
|
||||
else # linux
|
||||
yarn gulp vscode-linux-x64-min-ci
|
||||
yarn gulp vscode-reh-linux-x64-min-ci
|
||||
yarn gulp vscode-reh-web-linux-x64-min-ci
|
||||
|
||||
yarn gulp "vscode-linux-${BUILDARCH}-build-deb"
|
||||
yarn gulp "vscode-linux-${BUILDARCH}-build-rpm"
|
||||
. ../create_appimage.sh
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
npm run gulp minify-vscode-reh-web
|
||||
npm run gulp "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
98
build/alpine/package_reh.sh
Executable file
98
build/alpine/package_reh.sh
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# include common functions
|
||||
. ./utils.sh
|
||||
|
||||
mkdir -p assets
|
||||
|
||||
tar -xzf ./vscode.tar.gz
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
export VSCODE_PLATFORM='alpine'
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
|
||||
VSCODE_HOST_MOUNT="$( pwd )"
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:alpine-${VSCODE_ARCH}"
|
||||
|
||||
export VSCODE_HOST_MOUNT VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
|
||||
|
||||
if [[ -d "../patches/alpine/reh/" ]]; then
|
||||
for file in "../patches/alpine/reh/"*.patch; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
apply_patch "${file}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
PA_NAME="linux-alpine"
|
||||
else
|
||||
PA_NAME="alpine-arm64"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
echo "Building REH"
|
||||
npm run gulp minify-vscode-reh
|
||||
npm run gulp "vscode-reh-${PA_NAME}-min-ci"
|
||||
|
||||
pushd "../vscode-reh-${PA_NAME}"
|
||||
|
||||
echo "Archiving REH"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
echo "Building REH-web"
|
||||
npm run gulp minify-vscode-reh-web
|
||||
npm run gulp "vscode-reh-web-${PA_NAME}-min-ci"
|
||||
|
||||
pushd "../vscode-reh-web-${PA_NAME}"
|
||||
|
||||
echo "Archiving REH-web"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
|
||||
popd
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
npm install -g checksum
|
||||
|
||||
sum_file() {
|
||||
if [[ -f "${1}" ]]; then
|
||||
echo "Calculating checksum for ${1}"
|
||||
checksum -a sha256 "${1}" > "${1}".sha256
|
||||
checksum "${1}" > "${1}".sha1
|
||||
fi
|
||||
}
|
||||
|
||||
cd assets
|
||||
|
||||
for FILE in *; do
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
sum_file "${FILE}"
|
||||
fi
|
||||
done
|
||||
|
||||
cd ..
|
||||
54
build/linux/appimage/build.sh
Executable file
54
build/linux/appimage/build.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
CALLER_DIR=$( pwd )
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
GITHUB_RESPONSE=$( curl --silent --location "https://api.github.com/repos/AppImage/pkg2appimage/releases/latest" )
|
||||
APPIMAGE_URL=$( echo "${GITHUB_RESPONSE}" | jq --raw-output '.assets | map(select( .name | test("x86_64.AppImage(?!.zsync)"))) | map(.browser_download_url)[0]' )
|
||||
|
||||
if [[ -z "${APPIMAGE_URL}" ]]; then
|
||||
echo "The url for pkg2appimage.AppImage hasn't been found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
wget -c "${APPIMAGE_URL}" -O pkg2appimage.AppImage
|
||||
|
||||
chmod +x ./pkg2appimage.AppImage
|
||||
|
||||
./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
|
||||
|
||||
# add update's url
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium-insiders|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
else
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
fi
|
||||
# remove check so build in docker can succeed
|
||||
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
sed -i "s|@@NAME@@|${APP_NAME}-Insiders|g" recipe.yml
|
||||
sed -i "s|@@APPNAME@@|${BINARY_NAME}|g" recipe.yml
|
||||
sed -i "s|@@ICON@@|${APP_NAME_LC}-insiders|g" recipe.yml
|
||||
else
|
||||
sed -i "s|@@NAME@@|${APP_NAME}|g" recipe.yml
|
||||
sed -i "s|@@APPNAME@@|${BINARY_NAME}|g" recipe.yml
|
||||
sed -i "s|@@ICON@@|${APP_NAME_LC}|g" recipe.yml
|
||||
fi
|
||||
|
||||
# workaround that enforces x86 ARCH for pkg2appimage having /__w/vscodium/vscodium/build/linux/appimage/VSCodium/VSCodium.AppDir/usr/share/codium/resources/app/node_modules/rc/index.js is of architecture armhf
|
||||
export ARCH=x86_64
|
||||
bash -ex pkg2appimage.AppDir/AppRun recipe.yml
|
||||
|
||||
rm -f pkg2appimage-*.AppImage
|
||||
rm -rf pkg2appimage.AppDir
|
||||
rm -rf VSCodium*
|
||||
fi
|
||||
|
||||
cd "${CALLER_DIR}"
|
||||
46
build/linux/appimage/recipe.yml
Normal file
46
build/linux/appimage/recipe.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
# Based on
|
||||
# https://github.com/AppImage/pkg2appimage/blob/master/recipes/VSCode.yml
|
||||
#
|
||||
# On a Debian/Ubuntu system:
|
||||
# wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
|
||||
# bash -ex pkg2appimage VSCodium
|
||||
|
||||
app: @@NAME@@
|
||||
|
||||
ingredients:
|
||||
packages:
|
||||
- code
|
||||
- libgconf2-4
|
||||
dist: trusty
|
||||
sources:
|
||||
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
|
||||
script:
|
||||
- pwd
|
||||
- cp ../../../../vscode/.build/linux/deb/amd64/deb/*.deb .
|
||||
- ls @@APPNAME@@_*.deb | cut -d _ -f 2 > VERSION
|
||||
|
||||
script:
|
||||
- sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/@@APPNAME@@.desktop
|
||||
- cp usr/share/applications/@@APPNAME@@.desktop .
|
||||
- cp usr/share/pixmaps/@@ICON@@.png .
|
||||
- /usr/bin/convert @@ICON@@.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/@@ICON@@.png
|
||||
- /usr/bin/convert @@ICON@@.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/@@ICON@@.png
|
||||
- /usr/bin/convert @@ICON@@.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/@@ICON@@.png
|
||||
- /usr/bin/convert @@ICON@@.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/@@ICON@@.png
|
||||
- /usr/bin/convert @@ICON@@.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/@@ICON@@.png
|
||||
- /usr/bin/convert @@ICON@@.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/@@ICON@@.png
|
||||
- ( cd usr/bin/ ; ln -s ../share/@@APPNAME@@/@@APPNAME@@ . )
|
||||
- rm -rf usr/lib/x86_64-linux-gnu
|
||||
- rm -f lib/x86_64-linux-gnu/libglib*
|
||||
- cat > AppRun <<\EOF
|
||||
- #!/bin/sh
|
||||
- HERE="$(dirname "$(readlink -f "${0}")")"
|
||||
- export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}"
|
||||
- export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}"
|
||||
- export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}"
|
||||
- export PERLLIB="${HERE}"/usr/share/perl5/:"${HERE}"/usr/lib/perl5/:"${PERLLIB}"
|
||||
- export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}"
|
||||
- export QT_PLUGIN_PATH="${HERE}"/usr/lib/qt4/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib32/qt4/plugins/:"${HERE}"/usr/lib64/qt4/plugins/:"${HERE}"/usr/lib/qt5/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib32/qt5/plugins/:"${HERE}"/usr/lib64/qt5/plugins/:"${QT_PLUGIN_PATH}"
|
||||
- EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e 's|%.||g')
|
||||
- exec ${EXEC} "$@"
|
||||
- EOF
|
||||
13
build/linux/deps.sh
Executable file
13
build/linux/deps.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
sudo apt-get update -y
|
||||
|
||||
sudo apt-get install -y libkrb5-dev
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu crossbuild-essential-arm64
|
||||
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf crossbuild-essential-armhf
|
||||
fi
|
||||
32
build/linux/install_gh.sh
Executable file
32
build/linux/install_gh.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
GH_ARCH="amd64"
|
||||
|
||||
for i in {1..5}; do
|
||||
TAG=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" 2>/dev/null | jq --raw-output '.tag_name' )
|
||||
|
||||
if [[ $? == 0 && "${TAG}" != "null" ]]; then
|
||||
break
|
||||
fi
|
||||
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "GH install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "GH install failed $i, trying again..."
|
||||
|
||||
sleep $(( 15 * (i + 1)))
|
||||
done
|
||||
|
||||
VERSION="${TAG#v}"
|
||||
|
||||
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/${TAG}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
|
||||
|
||||
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
|
||||
|
||||
cp "gh_${VERSION}_linux_${GH_ARCH}/bin/gh" /usr/local/bin/
|
||||
|
||||
gh --version
|
||||
13
build/linux/install_nodejs.sh
Executable file
13
build/linux/install_nodejs.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
NODEJS_VERSION=$( cat .nvmrc )
|
||||
|
||||
curl -fsSL "${NODEJS_SITE}${NODEJS_URLROOT}/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}.tar.xz" -o node.tar.xz
|
||||
|
||||
tar -xf node.tar.xz
|
||||
|
||||
sudo mv "node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}" /usr/local/node
|
||||
|
||||
echo "/usr/local/node/bin" >> $GITHUB_PATH
|
||||
6
build/linux/loong64/electron.sh
Normal file
6
build/linux/loong64/electron.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="39.2.3"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"
|
||||
9
build/linux/loong64/electron.sha256sums
Normal file
9
build/linux/loong64/electron.sha256sums
Normal file
@@ -0,0 +1,9 @@
|
||||
d26b2189e7466a08c73861d0225c9b28730fdfc30918f3ea70853b43a2581dc4 *chromedriver-v39.2.3-linux-loong64.zip
|
||||
8cc36f7468f5b2d98cde3f73c10c535555754c54be43e45c320a382c35b8e466 *electron-v39.2.3-linux-loong64.zip
|
||||
f6e7462d6fd795ae2b08344ee0fdca817eba148b62a62717b3f512c845d96a64 *ffmpeg-v39.2.3-linux-loong64.zip
|
||||
b122599dc84b81526ba4eecbca4794f3a2d25300242ad3829d1445cb6948f470 *hunspell-dictionaries.zip
|
||||
76ef17d2810df5e77c5071863e2a375df914cfb7a362ad0582ee0eedca2441b9 *libcxx-headers.zip
|
||||
9b61ba9f0780a57ee2749f7963759395784eadcaccc54af313de1a540240298e *libcxx-objects-v39.2.3-linux-loong64.zip
|
||||
9ae64aff9e391eae401142e55654b5b8cf54d0611b1ecb540f2f4e89a2b4f772 *libcxxabi-headers.zip
|
||||
7d7e6e08c84aa38b74037f5910534918bc792ffbe2ca6d667067f587f27f5118 *mksnapshot-v39.2.3-linux-loong64.zip
|
||||
db48f8a9d2271e8b3a1c3f26ea1ae9bd489deb1b464b6ae424a15d5df7529fdc *node-v39.2.3-headers.tar.gz
|
||||
18
build/linux/loong64/ripgrep.sh
Executable file
18
build/linux/loong64/ripgrep.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# When installing @vscode/ripgrep, it will try to download prebuilt ripgrep binary from https://github.com/microsoft/ripgrep-prebuilt,
|
||||
# however, loong64 is not a supported architecture and x86 will be picked as fallback, so we need to replace it with a native one.
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <path_to_node_modules>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RG_PATH="$1/@vscode/ripgrep/bin/rg"
|
||||
RG_VERSION="14.1.1"
|
||||
|
||||
echo "Replacing ripgrep binary with loong64 one"
|
||||
|
||||
rm "${RG_PATH}"
|
||||
curl --silent --fail -L https://github.com/darkyzhou/ripgrep-loongarch64-musl/releases/download/${RG_VERSION}/rg -o "${RG_PATH}"
|
||||
chmod +x "${RG_PATH}"
|
||||
147
build/linux/package_bin.sh
Executable file
147
build/linux/package_bin.sh
Executable file
@@ -0,0 +1,147 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# include common functions
|
||||
. ./utils.sh
|
||||
|
||||
tar -xzf ./vscode.tar.gz
|
||||
|
||||
chown -R root:root vscode
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
export VSCODE_PLATFORM='linux'
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
export VSCODE_SYSROOT_PREFIX='-glibc-2.28-gcc-10.5.0'
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
export VSCODE_SKIP_SYSROOT=1
|
||||
# export USE_GNUPP2A=1
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
|
||||
export VSCODE_SYSROOT_VERSION='20240129-253798'
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
export VSCODE_ELECTRON_REPOSITORY='lex-ibm/electron-ppc64le-build-scripts'
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
export VSCODE_ELECTRON_REPOSITORY='riscv-forks/electron-riscv-releases'
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
|
||||
export VSCODE_ELECTRON_REPOSITORY='darkyzhou/electron-loong64'
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
fi
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sh" ]]; then
|
||||
# add newline at the end of the file
|
||||
echo "" >> build/checksums/electron.txt
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sha256sums" ]]; then
|
||||
cat "../build/linux/${VSCODE_ARCH}/electron.sha256sums" >> build/checksums/electron.txt
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC1090
|
||||
source "../build/linux/${VSCODE_ARCH}/electron.sh"
|
||||
|
||||
TARGET=$( npm config get target )
|
||||
|
||||
# Only fails at different major versions
|
||||
if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]]; then
|
||||
# Fail the pipeline if electron target doesn't match what is used.
|
||||
echo "Electron ${VSCODE_ARCH} binary version doesn't match target electron version!"
|
||||
echo "Releases available at: https://github.com/${VSCODE_ELECTRON_REPOSITORY}/releases"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "${ELECTRON_VERSION}" != "${TARGET}" ]]; then
|
||||
# Force version
|
||||
replace "s|target=\"${TARGET}\"|target=\"${ELECTRON_VERSION}\"|" .npmrc
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -d "../patches/linux/client/" ]]; then
|
||||
for file in "../patches/linux/client/"*.patch; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
apply_patch "${file}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -n "${USE_GNUPP2A}" ]]; then
|
||||
INCLUDES=$(cat <<EOF
|
||||
{
|
||||
"target_defaults": {
|
||||
"conditions": [
|
||||
["OS=='linux'", {
|
||||
'cflags_cc!': [ '-std=gnu++20' ],
|
||||
'cflags_cc': [ '-std=gnu++2a' ],
|
||||
}]
|
||||
]
|
||||
}
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
if [ ! -d "$HOME/.gyp" ]; then
|
||||
mkdir -p "$HOME/.gyp"
|
||||
fi
|
||||
|
||||
echo "${INCLUDES}" > "$HOME/.gyp/include.gypi"
|
||||
fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci --prefix build && break
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
|
||||
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
|
||||
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
|
||||
else
|
||||
source ./build/azure-pipelines/linux/setup-env.sh
|
||||
fi
|
||||
fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
# delete native files built in the `compile` step
|
||||
find .build/extensions -type f -name '*.node' -print -delete
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux
|
||||
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
|
||||
bash "../build/linux/${VSCODE_ARCH}/ripgrep.sh" "../VSCode-linux-${VSCODE_ARCH}/resources/app/node_modules"
|
||||
fi
|
||||
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
. ../build_cli.sh
|
||||
|
||||
cd ..
|
||||
264
build/linux/package_reh.sh
Executable file
264
build/linux/package_reh.sh
Executable file
@@ -0,0 +1,264 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# include common functions
|
||||
. ./utils.sh
|
||||
|
||||
mkdir -p assets
|
||||
|
||||
tar -xzf ./vscode.tar.gz
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
GLIBC_VERSION="2.28"
|
||||
GLIBCXX_VERSION="3.4.26"
|
||||
NODE_VERSION="22.21.1"
|
||||
|
||||
export VSCODE_NODEJS_URLROOT='/download/release'
|
||||
export VSCODE_NODEJS_URLSUFFIX=''
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-x64"
|
||||
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
elif [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
EXPECTED_GLIBC_VERSION="2.30"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-arm64"
|
||||
|
||||
export VSCODE_SKIP_SYSROOT=1
|
||||
export USE_GNUPP2A=1
|
||||
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
EXPECTED_GLIBC_VERSION="2.30"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-armhf"
|
||||
|
||||
export VSCODE_SKIP_SYSROOT=1
|
||||
export USE_GNUPP2A=1
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
GLIBC_VERSION="2.28"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-ppc64le"
|
||||
VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
|
||||
export VSCODE_SYSROOT_VERSION='20240129-253798'
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
NODE_VERSION="22.21.1"
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-riscv64"
|
||||
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
|
||||
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
|
||||
NODE_VERSION="22.21.1"
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:beige-devtoolset-loong64"
|
||||
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
|
||||
elif [[ "${VSCODE_ARCH}" == "s390x" ]]; then
|
||||
GLIBC_VERSION="2.28"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-s390x"
|
||||
VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
|
||||
export VSCODE_SYSROOT_VERSION='20241108'
|
||||
fi
|
||||
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
export VSCODE_PLATFORM='linux'
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
|
||||
if [[ -z "${VSCODE_SYSROOT_PREFIX}" ]]; then
|
||||
export VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}-gcc-10.5.0"
|
||||
else
|
||||
export VSCODE_SYSROOT_PREFIX
|
||||
fi
|
||||
|
||||
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION:=GLIBC_VERSION}"
|
||||
VSCODE_HOST_MOUNT="$( pwd )"
|
||||
|
||||
export VSCODE_HOST_MOUNT
|
||||
export VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
|
||||
|
||||
sed -i "/target/s/\"22.*\"/\"${NODE_VERSION}\"/" remote/.npmrc
|
||||
|
||||
if [[ -d "../patches/linux/reh/" ]]; then
|
||||
for file in "../patches/linux/reh/"*.patch; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
apply_patch "${file}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -d "../patches/linux/reh/${VSCODE_ARCH}/" ]]; then
|
||||
for file in "../patches/linux/reh/${VSCODE_ARCH}/"*.patch; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
apply_patch "${file}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -n "${USE_GNUPP2A}" ]]; then
|
||||
INCLUDES=$(cat <<EOF
|
||||
{
|
||||
"target_defaults": {
|
||||
"conditions": [
|
||||
["OS=='linux'", {
|
||||
'cflags_cc!': [ '-std=gnu++20' ],
|
||||
'cflags_cc': [ '-std=gnu++2a' ],
|
||||
}]
|
||||
]
|
||||
}
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
if [ ! -d "${HOME}/.gyp" ]; then
|
||||
mkdir -p "${HOME}/.gyp"
|
||||
fi
|
||||
|
||||
echo "${INCLUDES}" > "${HOME}/.gyp/include.gypi"
|
||||
fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci --prefix build && break
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
|
||||
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
|
||||
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
|
||||
else
|
||||
cat ./build/checksums/vscode-sysroot.txt
|
||||
|
||||
source ./build/azure-pipelines/linux/setup-env.sh
|
||||
fi
|
||||
|
||||
export VSCODE_SYSROOT_DIR="${VSCODE_REMOTE_SYSROOT_DIR}"
|
||||
else
|
||||
mkdir -p .build/x86_64-linux-gnu/x86_64-linux-gnu/bin
|
||||
|
||||
ln -s $( which objdump ) .build/x86_64-linux-gnu/x86_64-linux-gnu/bin/objdump
|
||||
|
||||
export VSCODE_SYSROOT_DIR=".build"
|
||||
fi
|
||||
|
||||
node build/npm/preinstall.ts
|
||||
|
||||
mv .npmrc .npmrc.bak
|
||||
cp ../npmrc .npmrc
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
|
||||
# remove dependencies that fail during cleanup
|
||||
rm -rf node_modules/@vscode node_modules/node-pty
|
||||
done
|
||||
|
||||
# if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
# pushd "remote"
|
||||
|
||||
# for LIB in @parcel/watcher @vscode/spdlog kerberos node-pty
|
||||
# do
|
||||
# pushd "node_modules/${LIB}"
|
||||
|
||||
# CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" npx node-gyp rebuild
|
||||
|
||||
# popd
|
||||
# done
|
||||
|
||||
# popd
|
||||
|
||||
# VERIFY_CXX11=1
|
||||
# fi
|
||||
|
||||
mv .npmrc.bak .npmrc
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
export VSCODE_NODE_GLIBC="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
echo "Building REH"
|
||||
npm run gulp minify-vscode-reh
|
||||
npm run gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
|
||||
|
||||
# if [[ -n "${VERIFY_CXX11}" ]]; then
|
||||
# SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
|
||||
# fi
|
||||
|
||||
pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
|
||||
bash "../build/linux/${VSCODE_ARCH}/ripgrep.sh" "node_modules"
|
||||
fi
|
||||
|
||||
echo "Archiving REH"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
echo "Building REH-web"
|
||||
npm run gulp minify-vscode-reh-web
|
||||
npm run gulp "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
|
||||
|
||||
# if [[ -n "${VERIFY_CXX11}" ]]; then
|
||||
# SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
|
||||
# fi
|
||||
|
||||
pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
|
||||
bash "../build/linux/${VSCODE_ARCH}/ripgrep.sh" "node_modules"
|
||||
fi
|
||||
|
||||
echo "Archiving REH-web"
|
||||
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
|
||||
popd
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
npm install -g checksum
|
||||
|
||||
sum_file() {
|
||||
if [[ -f "${1}" ]]; then
|
||||
echo "Calculating checksum for ${1}"
|
||||
checksum -a sha256 "${1}" > "${1}".sha256
|
||||
checksum "${1}" > "${1}".sha1
|
||||
fi
|
||||
}
|
||||
|
||||
cd assets
|
||||
|
||||
for FILE in *; do
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
sum_file "${FILE}"
|
||||
fi
|
||||
done
|
||||
|
||||
cd ..
|
||||
6
build/linux/ppc64le/electron.sh
Normal file
6
build/linux/ppc64le/electron.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="39.2.7"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"
|
||||
10
build/linux/ppc64le/electron.sha256sums
Normal file
10
build/linux/ppc64le/electron.sha256sums
Normal file
@@ -0,0 +1,10 @@
|
||||
bacff46523cea806df9788d9e24f7f53fad2317f18afdcbc596b86863dd40805 *chromedriver-v39.2.7-linux-ppc64le.zip
|
||||
b83820b37325c0a6ce0bbb98344b54f70ef7c2a949eea61bcb423b18c623a742 *electron-v39.2.7-linux-ppc64le-debug.zip
|
||||
7d3b4ff4320a54572f9e1e0286702a0bed3e1596a2cb34f8fdc455acf3b9234f *electron-v39.2.7-linux-ppc64le-symbols.zip
|
||||
6974cf1c8a550019b04762222742b8f1d9d76387594a191d3522cd65da075db1 *electron-v39.2.7-linux-ppc64le.zip
|
||||
40c772eb189d100087b75da6c2ad1aeb044f1d661c90543592546a654b0b6d5b *electron.d.ts
|
||||
0c923001d08e474d0dcd3b747b4f9a4bfca685d755ec08de8e44556a63f9ad3a *hunspell_dictionaries.zip
|
||||
ee57f79e88f50f199a6aeb87fa45c83d1bd0f92eb72e00787cfdf4cf11863562 *libcxx-objects-v39.2.7-linux-ppc64le.zip
|
||||
a8709029737d3073758ccb384161a37d91f16e5a3f8110ca8e2c30f83ef8d7e6 *libcxx_headers.zip
|
||||
238dcec817528659a86b0cd3d7dabe301e65b4cab25e45c5bbab7642a8849c02 *libcxxabi_headers.zip
|
||||
be033ed825bd8be92bb6ca86ff81f0907e60aa999aa011f5ddf1360abb19429b *mksnapshot-v39.2.7-linux-ppc64le.zip
|
||||
6
build/linux/riscv64/electron.sh
Executable file
6
build/linux/riscv64/electron.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="39.2.7"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1"
|
||||
11
build/linux/riscv64/electron.sha256sums
Normal file
11
build/linux/riscv64/electron.sha256sums
Normal file
@@ -0,0 +1,11 @@
|
||||
6759ef2bd69a2e31a3f0e17c4e4c0bf239b54f08525572201ae7760851168487 *chromedriver-v39.2.7-linux-riscv64.zip
|
||||
89562e30982d8ac71fbc1e0f549a4a6e19abd5cb98ea904d5f3cfceb7c61e582 *electron-v39.2.7-linux-riscv64-debug.tar.zst
|
||||
71c6f265a2ef065f478ef910a06466a21009c02783dcb7053767549a6dbeb80d *electron-v39.2.7-linux-riscv64-symbols.tar.zst
|
||||
136804dbd04f1c6b9a6047c4e7bb648876214ff453b62fb3bdc81505b6f5aab2 *electron-v39.2.7-linux-riscv64.zip
|
||||
1059d6cb97b87464b3bd415bb5f96fceaf91d6e3af1c9733724ab9f2e14e2a08 *ffmpeg-v39.2.7-linux-riscv64.zip
|
||||
224a84d4aaceb5ed8be3c4f65f8404d492dc86ded8ab336c2562dfdd21752068 *hunspell-dictionaries.zip
|
||||
b6cb4f8902aad5de811efd106ddbdbca79e43cb7c8fa67f7eeddaedf2efd82d5 *libcxx-headers.zip
|
||||
0664e200ec1eab1ce1957bc6e17ad89f6c0d4d904a9492d64fcf4175cd81e537 *libcxx-objects-v39.2.7-linux-riscv64.zip
|
||||
96f9b66be7ff11e79ec2e781a0025938eb5ef97cbab429c05e9b45d24d421abf *libcxxabi-headers.zip
|
||||
be0774857454f81b9407f6b941200f8843a0b3ecb86e2bb072209ef9f9bfe74a *mksnapshot-v39.2.7-linux-riscv64.zip
|
||||
a8fca541e8f9a18de73c78f6862cbf439723c80c5eb60fe50405dfb751d2ee13 *node-v39.2.7-headers.tar.gz
|
||||
18
build/linux/riscv64/ripgrep.sh
Executable file
18
build/linux/riscv64/ripgrep.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# microsoft/ripgrep-prebuilt doesn't support riscv64.
|
||||
# Tracking PR: https://github.com/microsoft/ripgrep-prebuilt/pull/41
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <path_to_node_modules>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RG_PATH="$1/@vscode/ripgrep/bin/rg"
|
||||
RG_VERSION="14.1.1-4"
|
||||
|
||||
echo "Replacing ripgrep binary with riscv64 one"
|
||||
|
||||
rm "${RG_PATH}"
|
||||
curl --silent --fail -L https://github.com/riscv-forks/ripgrep-riscv64-prebuilt/releases/download/${RG_VERSION}/rg -o "${RG_PATH}"
|
||||
chmod +x "${RG_PATH}"
|
||||
29
build/linux/verify_abi_requirements.sh
Executable file
29
build/linux/verify_abi_requirements.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
FILES=$(
|
||||
find "${SEARCH_PATH}" -type f -executable -name "node"
|
||||
find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*"
|
||||
)
|
||||
|
||||
echo "Verifying requirements for files: ${FILES}"
|
||||
|
||||
for FILE in ${FILES}; do
|
||||
CXXABI_VERSION="0.0.0"
|
||||
|
||||
while IFS= read -r LINE; do
|
||||
VERSION=${LINE#*_}
|
||||
|
||||
if [[ $( printf "%s\n%s" "${VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${VERSION}" ]]; then
|
||||
CXXABI_VERSION="${VERSION}"
|
||||
fi
|
||||
done < <( strings "${FILE}" | grep -i ^CXXABI )
|
||||
|
||||
if [[ $( printf "%s\n%s" "${EXPECTED_CXXABI_VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${EXPECTED_CXXABI_VERSION}" ]]; then
|
||||
echo "File ${FILE} has dependency on ABI ${CXXABI_VERSION} <= ${EXPECTED_CXXABI_VERSION}"
|
||||
else
|
||||
echo "Error: File ${FILE} has dependency on ABI ${CXXABI_VERSION} > ${EXPECTED_CXXABI_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
14
build/linux/verify_cxx11_requirements.sh
Executable file
14
build/linux/verify_cxx11_requirements.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
FILES=$( find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*" )
|
||||
|
||||
echo "Verifying requirements for files: ${FILES}"
|
||||
|
||||
for FILE in ${FILES}; do
|
||||
if [[ -n "$( strings "${FILE}" | grep cxx11 | tail -n1 )" ]]; then
|
||||
echo "Error: File ${FILE} has dependency on CXX11"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
11
build/osx/include.gypi
Normal file
11
build/osx/include.gypi
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
'target_defaults': {
|
||||
'conditions': [
|
||||
['OS=="mac"', {
|
||||
'xcode_settings': {
|
||||
'OTHER_CPLUSPLUSFLAGS': ['-std=c++20']
|
||||
}
|
||||
}]
|
||||
]
|
||||
}
|
||||
}
|
||||
14
build/windows/appx/build.sh
Executable file
14
build/windows/appx/build.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
# Add Windows SDK to path
|
||||
SDK='/C/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64'
|
||||
export PATH="${SDK}:${PATH}"
|
||||
|
||||
APPX_NAME="${BINARY_NAME//-/_}"
|
||||
|
||||
makeappx pack /d "../../../VSCode-win32-${VSCODE_ARCH}/appx/manifest" /p "../../../VSCode-win32-${VSCODE_ARCH}/appx/${APPX_NAME}_${VSCODE_ARCH}.appx" /nv
|
||||
|
||||
# Remove the raw manifest folder
|
||||
rm -rf "../../../VSCode-win32-${VSCODE_ARCH}/appx/manifest"
|
||||
20
build/windows/msi/build-updates-disabled.sh
Normal file
20
build/windows/msi/build-updates-disabled.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
CALLER_DIR=$( pwd )
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
|
||||
SCRIPT_DIR=$( pwd )
|
||||
|
||||
cd "../../../VSCode-win32-${VSCODE_ARCH}/resources/app"
|
||||
|
||||
jsonTmp=$( jq "del(.updateUrl)" product.json )
|
||||
echo "${jsonTmp}" > product.json && unset jsonTmp
|
||||
|
||||
cd "${SCRIPT_DIR}"
|
||||
|
||||
./build.sh "updates-disabled"
|
||||
|
||||
cd "${CALLER_DIR}"
|
||||
100
build/windows/msi/build.sh
Normal file
100
build/windows/msi/build.sh
Normal file
@@ -0,0 +1,100 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
CALLER_DIR=$( pwd )
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
|
||||
WIN_SDK_MAJOR_VERSION="10"
|
||||
WIN_SDK_FULL_VERSION="10.0.17763.0"
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
PRODUCT_NAME="VSCodium - Insiders"
|
||||
PRODUCT_CODE="VSCodiumInsiders"
|
||||
PRODUCT_UPGRADE_CODE="1C9B7195-5A9A-43B3-B4BD-583E20498467"
|
||||
ICON_DIR="..\\..\\..\\src\\insider\\resources\\win32"
|
||||
SETUP_RESOURCES_DIR=".\\resources\\insider"
|
||||
else
|
||||
PRODUCT_NAME="VSCodium"
|
||||
PRODUCT_CODE="VSCodium"
|
||||
PRODUCT_UPGRADE_CODE="965370CD-253C-4720-82FC-2E6B02A53808"
|
||||
ICON_DIR="..\\..\\..\\src\\stable\\resources\\win32"
|
||||
SETUP_RESOURCES_DIR=".\\resources\\stable"
|
||||
fi
|
||||
|
||||
PRODUCT_ID=$( powershell.exe -command "[guid]::NewGuid().ToString().ToUpper()" )
|
||||
PRODUCT_ID="${PRODUCT_ID%%[[:cntrl:]]}"
|
||||
|
||||
CULTURE="en-us"
|
||||
LANGIDS="1033"
|
||||
|
||||
SETUP_RELEASE_DIR=".\\releasedir"
|
||||
BINARY_DIR="..\\..\\..\\VSCode-win32-${VSCODE_ARCH}"
|
||||
LICENSE_DIR="..\\..\\..\\vscode"
|
||||
PROGRAM_FILES_86=$( env | sed -n 's/^ProgramFiles(x86)=//p' )
|
||||
|
||||
if [[ -z "${1}" ]]; then
|
||||
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${RELEASE_VERSION}"
|
||||
else
|
||||
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${1}-${RELEASE_VERSION}"
|
||||
fi
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "ia32" ]]; then
|
||||
export PLATFORM="x86"
|
||||
else
|
||||
export PLATFORM="${VSCODE_ARCH}"
|
||||
fi
|
||||
|
||||
sed -i "s|@@PRODUCT_UPGRADE_CODE@@|${PRODUCT_UPGRADE_CODE}|g" .\\includes\\vscodium-variables.wxi
|
||||
sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" .\\vscodium.xsl
|
||||
|
||||
find i18n -name '*.wxl' -print0 | xargs -0 sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g"
|
||||
|
||||
BuildSetupTranslationTransform() {
|
||||
local CULTURE=${1}
|
||||
local LANGID=${2}
|
||||
|
||||
LANGIDS="${LANGIDS},${LANGID}"
|
||||
|
||||
echo "Building setup translation for culture \"${CULTURE}\" with LangID \"${LANGID}\"..."
|
||||
|
||||
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
|
||||
|
||||
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" Product "${LANGID}"
|
||||
|
||||
"${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\x86\\msitran" -g "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
|
||||
|
||||
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst" "${LANGID}"
|
||||
|
||||
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi"
|
||||
|
||||
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi"
|
||||
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
|
||||
}
|
||||
|
||||
"${WIX}bin\\heat.exe" dir "${BINARY_DIR}" -out "Files-${OUTPUT_BASE_FILENAME}.wxs" -t vscodium.xsl -gg -sfrag -scom -sreg -srd -ke -cg "AppFiles" -var var.ManufacturerName -var var.AppName -var var.AppCodeName -var var.ProductVersion -var var.IconDir -var var.LicenseDir -var var.BinaryDir -dr APPLICATIONFOLDER -platform "${PLATFORM}"
|
||||
"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dManufacturerName="VSCodium" -dAppCodeName="${PRODUCT_CODE}" -dAppName="${PRODUCT_NAME}" -dProductVersion="${RELEASE_VERSION%-insider}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
|
||||
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
|
||||
|
||||
BuildSetupTranslationTransform de-de 1031
|
||||
BuildSetupTranslationTransform es-es 3082
|
||||
BuildSetupTranslationTransform fr-fr 1036
|
||||
BuildSetupTranslationTransform it-it 1040
|
||||
# WixUI_Advanced bug: https://github.com/wixtoolset/issues/issues/5909
|
||||
# BuildSetupTranslationTransform ja-jp 1041
|
||||
BuildSetupTranslationTransform ko-kr 1042
|
||||
BuildSetupTranslationTransform ru-ru 1049
|
||||
BuildSetupTranslationTransform zh-cn 2052
|
||||
BuildSetupTranslationTransform zh-tw 1028
|
||||
|
||||
# Add all supported languages to MSI Package attribute
|
||||
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" Package "${LANGIDS}"
|
||||
|
||||
# Remove files we do not need any longer.
|
||||
rm -rf "${TEMP}\\vscodium-cab-cache"
|
||||
rm -f "Files-${OUTPUT_BASE_FILENAME}.wxs"
|
||||
rm -f "Files-${OUTPUT_BASE_FILENAME}.wixobj"
|
||||
rm -f "vscodium.wixobj"
|
||||
|
||||
cd "${CALLER_DIR}"
|
||||
25
build/windows/msi/i18n/vscodium.de-de.wxl
Normal file
25
build/windows/msi/i18n/vscodium.de-de.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="de-de" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1031</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Paket mit @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Startmenü-Verknüpfung</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Startmenü-Symbol erstellen.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop-Verknüpfung</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Desktop-Symbol erstellen.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">Dateizuordnungen</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">@@PRODUCT_NAME@@ als Editor für unterstützte Dateitypen registrieren.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Dateikontextmenü</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Aktion "Mit @@PRODUCT_NAME@@ öffnen" dem Dateikontextmenü von Windows-Explorer hinzufügen.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Verzeichniskontextmenü</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Aktion "Mit @@PRODUCT_NAME@@ öffnen" dem Verzeichniskontextmenü von Windows-Explorer hinzufügen.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Zu PATH hinzufügen</String>
|
||||
<String Id="FeatureEnvironmentDescription">@@PRODUCT_NAME@@ zur PATH Variable hinzufügen. Nach dem Neustart verfügbar.</String>
|
||||
<String Id="LaunchApplication">@@PRODUCT_NAME@@ ausführen</String>
|
||||
<String Id="NewerVersionInstalled">Eine neuere Version von @@PRODUCT_NAME@@ ist bereits installiert.</String>
|
||||
<String Id="MinimumNetFramworkRequired">Diese Anwendung erfordert .NET Framework 4.5.2 oder höher. Bitte installieren Sie .NET Framework und führen Sie dieses Installationsprogramm erneut aus.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 oder neuer ist erforderlich.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.en-us.wxl
Normal file
25
build/windows/msi/i18n/vscodium.en-us.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="en-us" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1033</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file context menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory context menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.es-es.wxl
Normal file
25
build/windows/msi/i18n/vscodium.es-es.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="es-es" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">3082</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.fr-fr.wxl
Normal file
25
build/windows/msi/i18n/vscodium.fr-fr.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="fr-fr" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1036</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.it-it.wxl
Normal file
25
build/windows/msi/i18n/vscodium.it-it.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="it-it" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1040</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.ja-jp.wxl
Normal file
25
build/windows/msi/i18n/vscodium.ja-jp.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="ja-jp" Codepage="932" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1041</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.ko-kr.wxl
Normal file
25
build/windows/msi/i18n/vscodium.ko-kr.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="ko-kr" Codepage="949" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1042</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.ru-ru.wxl
Normal file
25
build/windows/msi/i18n/vscodium.ru-ru.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="ru-ru" Codepage="1251" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1049</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Пакет с @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Ярлык в меню «Пуск»</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Создайте значок в меню «Пуск».</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Ярлык рабочего стола</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Создать значок на рабочем столе.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">Ассоциации файлов</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Зарегистрировать @@PRODUCT_NAME@@ в качестве редактора поддерживаемых типов файлов.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Контекстное меню файлов</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Добавить действие «Открыть с помощью @@PRODUCT_NAME@@» в контекстное меню файлов Проводника Windows.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Контекстное меню каталога</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Добавить действие «Открыть с помощью @@PRODUCT_NAME@@» в контекстное меню каталога Проводника Windows.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Добавить в PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Добавить @@PRODUCT_NAME@@ в переменную среды PATH. Доступно после перезапуска.</String>
|
||||
<String Id="LaunchApplication">Запустить @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Новая версия @@PRODUCT_NAME@@ уже установлена.</String>
|
||||
<String Id="MinimumNetFramworkRequired">Приложению требуется .NET Framework 4.5.2 или более новая версии. Пожалуйста, установите .NET Framework, затем снова запустите установщик.</String>
|
||||
<String Id="OSVersionRequired">Требуется Windows 7 или более новая версия.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.zh-cn.wxl
Normal file
25
build/windows/msi/i18n/vscodium.zh-cn.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="zh-cn" Codepage="936" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">2052</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
25
build/windows/msi/i18n/vscodium.zh-tw.wxl
Normal file
25
build/windows/msi/i18n/vscodium.zh-tw.wxl
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="zh-tw" Codepage="950" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="ProductLanguage">1028</String>
|
||||
<String Id="ProductName">@@PRODUCT_NAME@@</String>
|
||||
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
|
||||
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
|
||||
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
|
||||
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
|
||||
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
|
||||
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
|
||||
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
|
||||
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||
</WixLocalization>
|
||||
24
build/windows/msi/includes/vscodium-variables.wxi
Normal file
24
build/windows/msi/includes/vscodium-variables.wxi
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Include>
|
||||
<!-- Setup UI strings. -->
|
||||
<?if $(env.Platform)=x86?>
|
||||
<?define ProgramFilesFolder="ProgramFilesFolder" ?>
|
||||
<?define Win64="no" ?>
|
||||
<?define Arch="(x86)" ?>
|
||||
<?else?>
|
||||
<?define ProgramFilesFolder="ProgramFiles64Folder" ?>
|
||||
<?define Win64="yes" ?>
|
||||
<?define Arch="(x64)" ?>
|
||||
<?endif?>
|
||||
|
||||
<?define ProductName="!(loc.ProductName)" ?>
|
||||
<?define ProductNameWithVersion="!(loc.ProductName) $(var.ProductVersion) $(var.Arch)" ?>
|
||||
<?define ProductLanguage="!(loc.ProductLanguage)" ?>
|
||||
<?define AppFolderName="$(var.AppName)" ?>
|
||||
<?define ProductManufacturerShort="$(var.ManufacturerName)" ?>
|
||||
<?define ProductManufacturerLong="$(var.ManufacturerName)" ?>
|
||||
|
||||
<!-- Static settings, DO NOT TOUCH or upgrades will break! -->
|
||||
<?define ProductUpgradeCode="{@@PRODUCT_UPGRADE_CODE@@}" ?>
|
||||
<?define RTMProductVersion="0.0.1" ?>
|
||||
</Include>
|
||||
BIN
build/windows/msi/resources/insider/wix-banner.bmp
Normal file
BIN
build/windows/msi/resources/insider/wix-banner.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
BIN
build/windows/msi/resources/insider/wix-dialog.bmp
Normal file
BIN
build/windows/msi/resources/insider/wix-dialog.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 451 KiB |
BIN
build/windows/msi/resources/stable/wix-banner.bmp
Normal file
BIN
build/windows/msi/resources/stable/wix-banner.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
BIN
build/windows/msi/resources/stable/wix-dialog.bmp
Normal file
BIN
build/windows/msi/resources/stable/wix-dialog.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 451 KiB |
1507
build/windows/msi/vscodium.wxs
Normal file
1507
build/windows/msi/vscodium.wxs
Normal file
File diff suppressed because it is too large
Load Diff
468
build/windows/msi/vscodium.xsl
Normal file
468
build/windows/msi/vscodium.xsl
Normal file
@@ -0,0 +1,468 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:wi="http://schemas.microsoft.com/wix/2006/wi">
|
||||
|
||||
<xsl:strip-space elements="*"/>
|
||||
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()" />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId1ToReplace" match="wi:Component[wi:File[contains(@Source,'@@PRODUCT_NAME@@.exe')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId1ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'@@PRODUCT_NAME@@.exe')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId2ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\bower.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId2ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">BOWER.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\bower.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">BOWER.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId3ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\c.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId3ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">C.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\c.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">C.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId4ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\config.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId4ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CONFIG.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\config.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CONFIG.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId5ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\cpp.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId5ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CPP.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\cpp.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CPP.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId7ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\csharp.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId7ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CSHARP.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\csharp.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CSHARP.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId8ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\css.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId8ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CSS.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\css.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">CSS.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId9ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\default.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId9ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">DEFAULT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\default.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">DEFAULT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId10ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\go.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId10ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">GO.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\go.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">GO.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId11ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\html.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId11ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">HTML.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\html.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">HTML.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId12ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\jade.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId12ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JADE.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\jade.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JADE.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId13ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\java.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId13ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JAVA.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\java.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JAVA.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId14ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\javascript.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId14ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JAVASCRIPT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\javascript.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JAVASCRIPT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId15ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\json.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId15ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JSON.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\json.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">JSON.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId16ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\less.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId16ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">LESS.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\less.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">LESS.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId17ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\markdown.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId17ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">MARKDOWN.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\markdown.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">MARKDOWN.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId18ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\php.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId18ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">PHP.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\php.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">PHP.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId19ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\powershell.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId19ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">POWERSHELL.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\powershell.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">POWERSHELL.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId20ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\python.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId20ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">PYTHON.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\python.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">PYTHON.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId21ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\react.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId21ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">REACT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\react.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">REACT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId22ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\ruby.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId22ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">RUBY.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\ruby.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">RUBY.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId23ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\sass.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId23ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">SASS.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\sass.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">SASS.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId24ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\shell.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId24ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">SHELL.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\shell.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">SHELL.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId25ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\sql.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId25ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">SQL.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\sql.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">SQL.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId26ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\typescript.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId26ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">TYPESCRIPT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\typescript.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">TYPESCRIPT.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId27ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\vue.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId27ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">VUE.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\vue.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">VUE.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId28ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\xml.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId28ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">XML.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\xml.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">XML.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:key name="vId29ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\yaml.ico')]]" use="@Id"/>
|
||||
<xsl:template match="node()[key('vId29ToReplace', @Id)]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">YAML.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\yaml.ico')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="Id">YAML.ICO</xsl:attribute>
|
||||
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||
<xsl:apply-templates />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Remove conflicting non-MSI updater -->
|
||||
<xsl:key name="FileToRemove" match="wi:Component[wi:File[contains(@Source,'tools\inno_updater.exe')]]" use="@Id" />
|
||||
<xsl:template match="*[self::wi:Component or self::wi:ComponentRef][key('FileToRemove', @Id)]" />
|
||||
|
||||
<xsl:key name="FileToRemove" match="wi:Component[wi:File[contains(@Source,'tools\vcruntime140.dll')]]" use="@Id" />
|
||||
<xsl:template match="*[self::wi:Component or self::wi:ComponentRef][key('FileToRemove', @Id)]" />
|
||||
</xsl:stylesheet>
|
||||
52
build/windows/package.sh
Executable file
52
build/windows/package.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar -xzf ./vscode.tar.gz
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
# delete native files built in the `compile` step
|
||||
find .build/extensions -type f -name '*.node' -print -delete
|
||||
|
||||
. ../build/windows/rtf/make.sh
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32
|
||||
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
. ../build_cli.sh
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
echo "Building REH"
|
||||
npm run gulp minify-vscode-reh
|
||||
npm run gulp "vscode-reh-win32-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
echo "Building REH-web"
|
||||
npm run gulp minify-vscode-reh-web
|
||||
npm run gulp "vscode-reh-web-win32-${VSCODE_ARCH}-min-ci"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ..
|
||||
20
build/windows/rtf/make.sh
Normal file
20
build/windows/rtf/make.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"/../../../vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
input=LICENSE.txt
|
||||
target=LICENSE.rtf
|
||||
|
||||
cat - >$target <<_EOF
|
||||
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Consolas;}}
|
||||
\viewkind4\uc1\pard\lang1033\f0\fs22
|
||||
|
||||
_EOF
|
||||
|
||||
sed -zE -e 's/([A-Za-z,])\r?\n([A-Za-z])/\1 \2/g' -e 's/\r?\n\r?\n/\\par\n\n/g' -e 's/(\\par\n)/\\line\1/g' -e 's/\s*(Copyright)/\\line\n\1/g' -e 's/(\\par)\\line/\1\n/g' $input >> $target
|
||||
|
||||
|
||||
cat - >>$target <<_EOF
|
||||
\par
|
||||
}
|
||||
_EOF
|
||||
97
build_cli.sh
Executable file
97
build_cli.sh
Executable file
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
cd cli
|
||||
|
||||
export CARGO_NET_GIT_FETCH_WITH_CLI="true"
|
||||
export VSCODE_CLI_APP_NAME="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
export VSCODE_CLI_BINARY_NAME="$( node -p "require(\"../product.json\").serverApplicationName" )"
|
||||
export VSCODE_CLI_UPDATE_ENDPOINT="https://raw.githubusercontent.com/VSCodium/versions/refs/heads/master"
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
export VSCODE_CLI_DOWNLOAD_ENDPOINT="https://github.com/VSCodium/vscodium-insiders/releases"
|
||||
else
|
||||
export VSCODE_CLI_DOWNLOAD_ENDPOINT="https://github.com/VSCodium/vscodium/releases"
|
||||
fi
|
||||
|
||||
TUNNEL_APPLICATION_NAME="$( node -p "require(\"../product.json\").tunnelApplicationName" )"
|
||||
NAME_SHORT="$( node -p "require(\"../product.json\").nameShort" )"
|
||||
|
||||
npm pack @vscode/openssl-prebuilt@0.0.11
|
||||
mkdir openssl
|
||||
tar -xvzf vscode-openssl-prebuilt-0.0.11.tgz --strip-components=1 --directory=openssl
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
VSCODE_CLI_TARGET="aarch64-apple-darwin"
|
||||
else
|
||||
VSCODE_CLI_TARGET="x86_64-apple-darwin"
|
||||
fi
|
||||
|
||||
export OPENSSL_LIB_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-osx/lib"
|
||||
export OPENSSL_INCLUDE_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-osx/include"
|
||||
|
||||
rustup target add "${VSCODE_CLI_TARGET}"
|
||||
|
||||
cargo build --release --target "${VSCODE_CLI_TARGET}" --bin=code
|
||||
|
||||
cp "target/${VSCODE_CLI_TARGET}/release/code" "../../VSCode-darwin-${VSCODE_ARCH}/${NAME_SHORT}.app/Contents/Resources/app/bin/${TUNNEL_APPLICATION_NAME}"
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
VSCODE_CLI_TARGET="aarch64-pc-windows-msvc"
|
||||
export VSCODE_CLI_RUST="-C target-feature=+crt-static -Clink-args=/guard:cf -Clink-args=/CETCOMPAT:NO"
|
||||
else
|
||||
VSCODE_CLI_TARGET="x86_64-pc-windows-msvc"
|
||||
export VSCODE_CLI_RUSTFLAGS="-Ctarget-feature=+crt-static -Clink-args=/guard:cf -Clink-args=/CETCOMPAT"
|
||||
fi
|
||||
|
||||
export VSCODE_CLI_CFLAGS="/guard:cf /Qspectre"
|
||||
export OPENSSL_LIB_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-windows-static/lib"
|
||||
export OPENSSL_INCLUDE_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-windows-static/include"
|
||||
|
||||
rustup target add "${VSCODE_CLI_TARGET}"
|
||||
|
||||
cargo build --release --target "${VSCODE_CLI_TARGET}" --bin=code
|
||||
|
||||
cp "target/${VSCODE_CLI_TARGET}/release/code.exe" "../../VSCode-win32-${VSCODE_ARCH}/bin/${TUNNEL_APPLICATION_NAME}.exe"
|
||||
else
|
||||
export OPENSSL_LIB_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-linux/lib"
|
||||
export OPENSSL_INCLUDE_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-linux/include"
|
||||
export VSCODE_SYSROOT_DIR="../.build/sysroots"
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
VSCODE_CLI_TARGET="aarch64-unknown-linux-gnu"
|
||||
|
||||
if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
|
||||
export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc
|
||||
export CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
fi
|
||||
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
VSCODE_CLI_TARGET="armv7-unknown-linux-gnueabihf"
|
||||
|
||||
export OPENSSL_LIB_DIR="$( pwd )/openssl/out/arm-linux/lib"
|
||||
export OPENSSL_INCLUDE_DIR="$( pwd )/openssl/out/arm-linux/include"
|
||||
|
||||
if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
|
||||
export CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc
|
||||
export CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
fi
|
||||
elif [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
VSCODE_CLI_TARGET="x86_64-unknown-linux-gnu"
|
||||
fi
|
||||
|
||||
if [[ -n "${VSCODE_CLI_TARGET}" ]]; then
|
||||
rustup target add "${VSCODE_CLI_TARGET}"
|
||||
|
||||
cargo build --release --target "${VSCODE_CLI_TARGET}" --bin=code
|
||||
|
||||
cp "target/${VSCODE_CLI_TARGET}/release/code" "../../VSCode-linux-${VSCODE_ARCH}/bin/${TUNNEL_APPLICATION_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ..
|
||||
38
check_cron_or_pr.sh
Executable file
38
check_cron_or_pr.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
set -e
|
||||
|
||||
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
|
||||
echo "It's a PR"
|
||||
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
elif [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
|
||||
echo "It's a Push"
|
||||
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
elif [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
|
||||
if [[ "${GENERATE_ASSETS}" == "true" ]]; then
|
||||
echo "It will generate the assets"
|
||||
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_DEPLOY="no"
|
||||
else
|
||||
echo "It's a Dispatch"
|
||||
|
||||
export SHOULD_DEPLOY="yes"
|
||||
fi
|
||||
else
|
||||
echo "It's a Cron"
|
||||
|
||||
export SHOULD_DEPLOY="yes"
|
||||
fi
|
||||
|
||||
if [[ "${GITHUB_ENV}" ]]; then
|
||||
echo "GITHUB_BRANCH=${GITHUB_BRANCH}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
|
||||
echo "VSCODE_QUALITY=${VSCODE_QUALITY}" >> "${GITHUB_ENV}"
|
||||
fi
|
||||
@@ -1,38 +0,0 @@
|
||||
echo "tag: $env:LATEST_MS_TAG"
|
||||
$REPO_URI = [uri]$env:BUILD_REPOSITORY_URI
|
||||
$USER_REPO = $REPO_URI."LocalPath"
|
||||
echo $USER_REPO
|
||||
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos$USER_REPO/releases/tags/$env:LATEST_MS_TAG"
|
||||
echo "Github response: ${GITHUB_RESPONSE}"
|
||||
$VSCODIUM_ASSETS = $GITHUB_RESPONSE | jq '.assets'
|
||||
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
|
||||
|
||||
# if we just don't have the github token, get out fast
|
||||
if (!$env:MAPPED_GITHUB_TOKEN -or $env:MAPPED_GITHUB_TOKEN -like "*GITHUB_TOKEN*") {
|
||||
echo "This build does not have the GH token"
|
||||
echo $env:MAPPED_GITHUB_TOKEN
|
||||
return
|
||||
}
|
||||
|
||||
if ($VSCODIUM_ASSETS -eq "null" -or !$VSCODIUM_ASSETS) {
|
||||
echo "Release assets do not exist at all, continuing build"
|
||||
$SHOULD_BUILD = 'yes'
|
||||
} else {
|
||||
$WindowsAssets = ($VSCODIUM_ASSETS | ConvertFrom-Json) | Where-Object { $_.name.Contains('exe') }
|
||||
$SYSTEM_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('Setup') }
|
||||
$USER_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('User') }
|
||||
if (!$SYSTEM_SETUP) {
|
||||
echo "Building on Windows because we have no system-setup.exe";
|
||||
$SHOULD_BUILD = 'yes'
|
||||
}
|
||||
elseif (!$USER_SETUP) {
|
||||
echo "Building on Windows because we have no user-setup.exe";
|
||||
$SHOULD_BUILD = 'yes'
|
||||
}
|
||||
else {
|
||||
echo "Already have all the Windows builds"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Write-Host "##vso[task.setvariable variable=SHOULD_BUILD]$SHOULD_BUILD"
|
||||
726
check_tags.sh
726
check_tags.sh
@@ -1,70 +1,672 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
REPOSITORY=${TRAVIS_REPO_SLUG:-"VSCodium/vscodium"}
|
||||
GITHUB_RESPONSE=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/$REPOSITORY/releases/tags/$LATEST_MS_TAG)
|
||||
echo "Github response: ${GITHUB_RESPONSE}"
|
||||
VSCODIUM_ASSETS=$(echo $GITHUB_RESPONSE | jq '.assets')
|
||||
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
|
||||
# Env Paramaters
|
||||
# CHECK_ALL: yes | no
|
||||
# CHECK_REH: yes | no
|
||||
# CHECK_ONLY_REH: yes | no
|
||||
# FORCE_LINUX_SNAP: true
|
||||
|
||||
# if we just don't have the github token, get out fast
|
||||
if [ "$GITHUB_TOKEN" != "" ]; then
|
||||
if [ "$VSCODIUM_ASSETS" != "null" ]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
HAVE_MAC=$(echo $VSCODIUM_ASSETS | jq --arg suffix "darwin-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
|
||||
if [[ "$HAVE_MAC" != "true" ]]; then
|
||||
echo "Building on Mac because we have no ZIP"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
elif [[ $BUILDARCH == "arm64" ]]; then
|
||||
# HAVE_ARM64_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.rpm"])')
|
||||
HAVE_ARM64_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.deb"])')
|
||||
HAVE_ARM64_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm64-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
||||
# if [[ "$HAVE_ARM64_RPM" != "true" ]]; then
|
||||
# echo "Building on Linux arm64 because we have no RPM"
|
||||
# export SHOULD_BUILD="yes"
|
||||
# fi
|
||||
if [[ "$HAVE_ARM64_DEB" != "true" ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
if [[ "$HAVE_ARM64_TAR" != "true" ]]; then
|
||||
echo "Building on Linux arm64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm64 builds"
|
||||
fi
|
||||
else
|
||||
HAVE_64_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["x86_64.rpm"])')
|
||||
HAVE_64_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["amd64.deb"])')
|
||||
HAVE_64_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "x64-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
||||
if [[ "$HAVE_64_RPM" != "true" ]]; then
|
||||
echo "Building on Linux x64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
if [[ "$HAVE_64_DEB" != "true" ]]; then
|
||||
echo "Building on Linux x64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
if [[ "$HAVE_64_TAR" != "true" ]]; then
|
||||
echo "Building on Linux x64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
set -e
|
||||
|
||||
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
|
||||
echo "Will not build because no GITHUB_TOKEN defined"
|
||||
exit 0
|
||||
else
|
||||
GITHUB_TOKEN="${GH_TOKEN:-${GITHUB_TOKEN:-${GH_ENTERPRISE_TOKEN:-${GITHUB_ENTERPRISE_TOKEN}}}}"
|
||||
fi
|
||||
|
||||
# Support for GitHub Enterprise
|
||||
GH_HOST="${GH_HOST:-github.com}"
|
||||
|
||||
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
if [[ "${SHOULD_DEPLOY}" == "no" ]]; then
|
||||
ASSETS="null"
|
||||
else
|
||||
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.${GH_HOST}/repos/${ASSETS_REPOSITORY}/releases/latest" )
|
||||
LATEST_VERSION=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.tag_name' )
|
||||
RECHECK_ASSETS="${SHOULD_BUILD}"
|
||||
|
||||
if [[ "${LATEST_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-5]) ]]; then
|
||||
if [[ "${MS_TAG}" != "${BASH_REMATCH[1]}" ]]; then
|
||||
echo "New VSCode version, new build"
|
||||
export SHOULD_BUILD="yes"
|
||||
elif [[ "${NEW_RELEASE}" == "true" ]]; then
|
||||
echo "New release build"
|
||||
export SHOULD_BUILD="yes"
|
||||
elif [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
BODY=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.body' )
|
||||
|
||||
if [[ "${BODY}" =~ \[([a-z0-9]+)\] ]]; then
|
||||
if [[ "${MS_COMMIT}" != "${BASH_REMATCH[1]}" ]]; then
|
||||
echo "New VSCode Insiders version, new build"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
export RELEASE_VERSION="${LATEST_VERSION}"
|
||||
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
|
||||
|
||||
echo "Switch to release version: ${RELEASE_VERSION}"
|
||||
|
||||
ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
|
||||
elif [[ "${RECHECK_ASSETS}" == "yes" ]]; then
|
||||
export SHOULD_BUILD="no"
|
||||
|
||||
ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
|
||||
else
|
||||
ASSETS="null"
|
||||
fi
|
||||
else
|
||||
echo "Release assets do not exist at all, continuing build"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
if git rev-parse $LATEST_MS_TAG >/dev/null 2>&1
|
||||
then
|
||||
export TRAVIS_TAG=$LATEST_MS_TAG
|
||||
else
|
||||
git config --local user.name "Travis CI"
|
||||
git config --local user.email "builds@travis-ci.com"
|
||||
git tag $LATEST_MS_TAG
|
||||
echo "can't check assets"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
contains() {
|
||||
# add " to match the end of a string so any hashs won't be matched by mistake
|
||||
echo "${ASSETS}" | grep "${1}\""
|
||||
}
|
||||
|
||||
# shellcheck disable=SC2153
|
||||
if [[ "${CHECK_ASSETS}" == "no" ]]; then
|
||||
echo "Don't check assets, yet"
|
||||
elif [[ "${ASSETS}" != "null" ]]; then
|
||||
if [[ "${IS_SPEARHEAD}" == "yes" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" ) || -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.zip" ) ]]; then
|
||||
echo "Building because we have no SRC"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
fi
|
||||
# macos
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on MacOS because we have no ZIP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains ".${VSCODE_ARCH}.${RELEASE_VERSION}.dmg" ) ]]; then
|
||||
echo "Building on MacOS because we have no DMG"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DMG="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the MacOS builds"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
|
||||
# windows-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no system setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_SYS="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no user setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_USR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no zip"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_REH="no"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows arm64 builds"
|
||||
fi
|
||||
|
||||
# windows-x64
|
||||
else
|
||||
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no system setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_SYS="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no user setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_USR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no zip"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no msi"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no updates-disabled msi"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows x64 builds"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
# linux-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "arm64.deb" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "aarch64.rpm" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "arm64.snap" ) || "${FORCE_LINUX_SNAP}" == "true" ]]; then
|
||||
echo "Building on Linux arm64 because we have no SNAP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-armhf
|
||||
if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "armhf.deb" ) ]]; then
|
||||
echo "Building on Linux arm because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
|
||||
echo "Building on Linux arm because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-ppc64le
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux PowerPC64LE builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-riscv64
|
||||
if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux riscv64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-loong64
|
||||
if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux Loong64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-s390x
|
||||
if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux s390x because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux s390x because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux s390x builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "amd64.deb" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "x86_64.rpm" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no AppImage"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "amd64.snap" ) || "${FORCE_LINUX_SNAP}" == "true" ]]; then
|
||||
echo "Building on Linux x64 because we have no SNAP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${OS_NAME}" == "alpine" ]] || [[ "${OS_NAME}" == "linux" && "${CHECK_ALL}" == "yes" ]]; then
|
||||
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
else
|
||||
|
||||
# alpine-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
# alpine-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [[ "${IS_SPEARHEAD}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
elif [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
SHOULD_BUILD_CLI="no"
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_CLI="no"
|
||||
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_CLI="no"
|
||||
elif [[ "${VSCODE_ARCH}" == "s390x" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
if [[ "${VSCODE_ARCH}" != "x64" || "${DISABLE_APPIMAGE}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Release assets do not exist at all, continuing build"
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
|
||||
|
||||
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_APPIMAGE=${SHOULD_BUILD_APPIMAGE}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_DEB=${SHOULD_BUILD_DEB}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_DMG=${SHOULD_BUILD_DMG}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_EXE_SYS=${SHOULD_BUILD_EXE_SYS}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_EXE_USR=${SHOULD_BUILD_EXE_USR}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_MSI=${SHOULD_BUILD_MSI}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_MSI_NOUP=${SHOULD_BUILD_MSI_NOUP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_REH=${SHOULD_BUILD_REH}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_REH_WEB=${SHOULD_BUILD_REH_WEB}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_CLI=${SHOULD_BUILD_CLI}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_RPM=${SHOULD_BUILD_RPM}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_SNAP=${SHOULD_BUILD_SNAP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_TAR=${SHOULD_BUILD_TAR}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_ZIP=${SHOULD_BUILD_ZIP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_SRC=${SHOULD_BUILD_SRC}" >> "${GITHUB_ENV}"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
||||
# install a dep needed for this process
|
||||
sudo apt-get install desktop-file-utils
|
||||
|
||||
# download pkg2appimage from github
|
||||
curl -LO "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
|
||||
|
||||
bash -e pkg2appimage ../VSCodium-AppImage-Recipe.yml
|
||||
fi
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
create-dmg VSCodium.app ..
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
zip -r -X -y ../VSCodium-darwin-${LATEST_MS_TAG}.zip ./*.app
|
||||
elif [[ "$BUILDARCH" == "arm64" ]]; then
|
||||
cd VSCode-linux-arm64
|
||||
tar czf ../VSCodium-linux-arm64-${LATEST_MS_TAG}.tar.gz .
|
||||
else
|
||||
cd VSCode-linux-x64
|
||||
tar czf ../VSCodium-linux-x64-${LATEST_MS_TAG}.tar.gz .
|
||||
fi
|
||||
|
||||
cd ..
|
||||
fi
|
||||
6
dev/build.ps1
Executable file
6
dev/build.ps1
Executable file
@@ -0,0 +1,6 @@
|
||||
# powershell -ExecutionPolicy ByPass -File .\build\build.ps1
|
||||
|
||||
# first so `bash` is the one installed with `git`, avoid conflict with WSL
|
||||
$env:Path = "C:\Program Files\Git\bin;" + $env:Path
|
||||
|
||||
bash ./dev/build.sh
|
||||
162
dev/build.sh
Executable file
162
dev/build.sh
Executable file
@@ -0,0 +1,162 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091,SC2129
|
||||
|
||||
### Windows
|
||||
# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./dev/build.sh
|
||||
###
|
||||
|
||||
export APP_NAME="VSCodium"
|
||||
export ASSETS_REPOSITORY="VSCodium/vscodium"
|
||||
export BINARY_NAME="codium"
|
||||
export CI_BUILD="no"
|
||||
export GH_REPO_PATH="VSCodium/vscodium"
|
||||
export ORG_NAME="VSCodium"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SKIP_ASSETS="yes"
|
||||
export SKIP_BUILD="no"
|
||||
export SKIP_SOURCE="no"
|
||||
export VSCODE_LATEST="no"
|
||||
export VSCODE_QUALITY="stable"
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK="yes"
|
||||
|
||||
while getopts ":ilops" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export ASSETS_REPOSITORY="VSCodium/vscodium-insiders"
|
||||
export BINARY_NAME="codium-insiders"
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
l)
|
||||
export VSCODE_LATEST="yes"
|
||||
;;
|
||||
o)
|
||||
export SKIP_BUILD="yes"
|
||||
;;
|
||||
p)
|
||||
export SKIP_ASSETS="no"
|
||||
;;
|
||||
s)
|
||||
export SKIP_SOURCE="yes"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
case "${OSTYPE}" in
|
||||
darwin*)
|
||||
export OS_NAME="osx"
|
||||
;;
|
||||
msys* | cygwin*)
|
||||
export OS_NAME="windows"
|
||||
;;
|
||||
*)
|
||||
export OS_NAME="linux"
|
||||
;;
|
||||
esac
|
||||
|
||||
UNAME_ARCH=$( uname -m )
|
||||
|
||||
if [[ "${UNAME_ARCH}" == "aarch64" || "${UNAME_ARCH}" == "arm64" ]]; then
|
||||
export VSCODE_ARCH="arm64"
|
||||
elif [[ "${UNAME_ARCH}" == "ppc64le" ]]; then
|
||||
export VSCODE_ARCH="ppc64le"
|
||||
elif [[ "${UNAME_ARCH}" == "riscv64" ]]; then
|
||||
export VSCODE_ARCH="riscv64"
|
||||
elif [[ "${UNAME_ARCH}" == "loongarch64" ]]; then
|
||||
export VSCODE_ARCH="loong64"
|
||||
elif [[ "${UNAME_ARCH}" == "s390x" ]]; then
|
||||
export VSCODE_ARCH="s390x"
|
||||
else
|
||||
export VSCODE_ARCH="x64"
|
||||
fi
|
||||
|
||||
export NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
echo "OS_NAME=\"${OS_NAME}\""
|
||||
echo "SKIP_SOURCE=\"${SKIP_SOURCE}\""
|
||||
echo "SKIP_BUILD=\"${SKIP_BUILD}\""
|
||||
echo "SKIP_ASSETS=\"${SKIP_ASSETS}\""
|
||||
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
|
||||
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
|
||||
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
|
||||
|
||||
if [[ "${SKIP_SOURCE}" == "no" ]]; then
|
||||
rm -rf vscode* VSCode*
|
||||
|
||||
. get_repo.sh
|
||||
. version.sh
|
||||
|
||||
# save variables for later
|
||||
echo "MS_TAG=\"${MS_TAG}\"" > dev/build.env
|
||||
echo "MS_COMMIT=\"${MS_COMMIT}\"" >> dev/build.env
|
||||
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> dev/build.env
|
||||
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> dev/build.env
|
||||
else
|
||||
if [[ "${SKIP_ASSETS}" != "no" ]]; then
|
||||
rm -rf vscode-* VSCode-*
|
||||
fi
|
||||
|
||||
. dev/build.env
|
||||
|
||||
echo "MS_TAG=\"${MS_TAG}\""
|
||||
echo "MS_COMMIT=\"${MS_COMMIT}\""
|
||||
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
|
||||
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
|
||||
fi
|
||||
|
||||
if [[ "${SKIP_BUILD}" == "no" ]]; then
|
||||
if [[ "${SKIP_SOURCE}" != "no" ]]; then
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
rm -rf .build out*
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [[ -f "./include_${OS_NAME}.gypi" ]]; then
|
||||
echo "Installing custom ~/.gyp/include.gypi"
|
||||
|
||||
mkdir -p ~/.gyp
|
||||
|
||||
if [[ -f "${HOME}/.gyp/include.gypi" ]]; then
|
||||
mv ~/.gyp/include.gypi ~/.gyp/include.gypi.pre-vscodium
|
||||
else
|
||||
echo "{}" > ~/.gyp/include.gypi.pre-vscodium
|
||||
fi
|
||||
|
||||
cp ./build/osx/include.gypi ~/.gyp/include.gypi
|
||||
fi
|
||||
|
||||
. build.sh
|
||||
|
||||
if [[ -f "./include_${OS_NAME}.gypi" ]]; then
|
||||
mv ~/.gyp/include.gypi.pre-vscodium ~/.gyp/include.gypi
|
||||
fi
|
||||
|
||||
if [[ "${VSCODE_LATEST}" == "yes" ]]; then
|
||||
jsonTmp=$( cat "./upstream/${VSCODE_QUALITY}.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )
|
||||
echo "${jsonTmp}" > "./upstream/${VSCODE_QUALITY}.json" && unset jsonTmp
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
if [[ "${OS_NAME}" == "windows" ]]; then
|
||||
rm -rf build/windows/msi/releasedir
|
||||
fi
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" && -f "dev/osx/codesign.env" ]]; then
|
||||
. dev/osx/macos-codesign.env
|
||||
|
||||
echo "CERTIFICATE_OSX_ID: ${CERTIFICATE_OSX_ID}"
|
||||
fi
|
||||
|
||||
. prepare_assets.sh
|
||||
fi
|
||||
53
dev/build_docker.sh
Executable file
53
dev/build_docker.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
exists() { type -t "$1" &> /dev/null; }
|
||||
|
||||
export APP_NAME="VSCodium"
|
||||
export CI_BUILD="no"
|
||||
export OS_NAME="linux"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SKIP_ASSETS="yes"
|
||||
export VSCODE_LATEST="no"
|
||||
export VSCODE_QUALITY="stable"
|
||||
|
||||
while getopts ":ilp" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
l)
|
||||
export VSCODE_LATEST="yes"
|
||||
;;
|
||||
p)
|
||||
export SKIP_ASSETS="no"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
UNAME_ARCH=$( uname -m )
|
||||
|
||||
if [[ "${UNAME_ARCH}" == "x86_64" ]]; then
|
||||
export VSCODE_ARCH="x64"
|
||||
else
|
||||
export npm_config_arch=armv7l
|
||||
export npm_config_force_process_config="true"
|
||||
export VSCODE_ARCH="armhf"
|
||||
fi
|
||||
|
||||
echo "OS_NAME=\"${OS_NAME}\""
|
||||
echo "SKIP_ASSETS=\"${SKIP_ASSETS}\""
|
||||
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
|
||||
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
|
||||
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
|
||||
|
||||
rm -rf vscode* VSCode*
|
||||
|
||||
. get_repo.sh
|
||||
. build.sh
|
||||
|
||||
if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
. prepare_assets.sh
|
||||
fi
|
||||
12
dev/cli.sh
Executable file
12
dev/cli.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
export CARGO_NET_GIT_FETCH_WITH_CLI="true"
|
||||
export VSCODE_CLI_APP_NAME="vscodium"
|
||||
export VSCODE_CLI_BINARY_NAME="codium-server-insiders"
|
||||
export VSCODE_CLI_DOWNLOAD_URL="https://github.com/VSCodium/vscodium-insiders/releases"
|
||||
export VSCODE_CLI_QUALITY="insider"
|
||||
export VSCODE_CLI_UPDATE_URL="https://raw.githubusercontent.com/VSCodium/versions/refs/heads/master"
|
||||
|
||||
cargo build --release --target aarch64-apple-darwin --bin=code
|
||||
|
||||
cp target/aarch64-apple-darwin/release/code "../../VSCode-darwin-arm64/VSCodium - Insiders.app/Contents/Resources/app/bin/codium-tunnel-insiders"
|
||||
|
||||
"../../VSCode-darwin-arm64/VSCodium - Insiders.app/Contents/Resources/app/bin/codium-insiders" serve-web
|
||||
64
dev/merge-patches.sh
Executable file
64
dev/merge-patches.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
normalize_file() {
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="${1}"
|
||||
else
|
||||
FILE="${1}.patch"
|
||||
fi
|
||||
|
||||
if [[ "${FILE}" == patches/* ]]; then
|
||||
FILE="../${FILE}"
|
||||
else
|
||||
FILE="../patches/${FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
git apply --reject "../patches/helper/settings.patch"
|
||||
git add .
|
||||
git commit --no-verify -q -m "VSCODIUM HELPER"
|
||||
|
||||
while [ $# -gt 1 ]; do
|
||||
normalize_file "${1}"
|
||||
|
||||
echo "FILE: ${FILE}"
|
||||
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
if [[ -f "${FILE}.bak" ]]; then
|
||||
mv -f $FILE{.bak,}
|
||||
fi
|
||||
|
||||
git apply --reject "${FILE}" || true
|
||||
fi
|
||||
|
||||
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
|
||||
echo
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
done
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
normalize_file "${1}"
|
||||
|
||||
git add .
|
||||
git diff --staged -U1 > "${FILE}"
|
||||
|
||||
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
|
||||
git reset -q --hard HEAD
|
||||
else
|
||||
git reset -q --hard HEAD~
|
||||
fi
|
||||
|
||||
echo "The patch has been generated."
|
||||
5
dev/osx/codesign.env.template
Normal file
5
dev/osx/codesign.env.template
Normal file
@@ -0,0 +1,5 @@
|
||||
CERTIFICATE_OSX_APP_PASSWORD=
|
||||
CERTIFICATE_OSX_ID=
|
||||
CERTIFICATE_OSX_P12_DATA=
|
||||
CERTIFICATE_OSX_P12_PASSWORD=
|
||||
CERTIFICATE_OSX_TEAM_ID=
|
||||
74
dev/patch.sh
Executable file
74
dev/patch.sh
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
normalize_file() {
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="${1}"
|
||||
else
|
||||
FILE="${1}.patch"
|
||||
fi
|
||||
|
||||
if [[ "${FILE}" == patches/* ]]; then
|
||||
FILE="../${FILE}"
|
||||
else
|
||||
FILE="../patches/${FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
normalize_file "${1}"
|
||||
|
||||
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
|
||||
git apply --reject "../patches/helper/settings.patch"
|
||||
|
||||
while [ $# -gt 1 ]; do
|
||||
echo "Parameter: $1"
|
||||
normalize_file "${1}"
|
||||
|
||||
git apply --reject "${FILE}"
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
git add .
|
||||
git commit --no-verify -q -m "VSCODIUM HELPER"
|
||||
|
||||
normalize_file "${1}"
|
||||
fi
|
||||
|
||||
echo "FILE: ${FILE}"
|
||||
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
if [[ -f "${FILE}.bak" ]]; then
|
||||
mv -f $FILE{.bak,}
|
||||
fi
|
||||
|
||||
git apply --reject "${FILE}" || true
|
||||
fi
|
||||
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
|
||||
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
|
||||
echo
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
done
|
||||
|
||||
git add .
|
||||
git diff --staged -U1 > "${FILE}"
|
||||
|
||||
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
|
||||
git reset -q --hard HEAD
|
||||
else
|
||||
git reset -q --hard HEAD~
|
||||
fi
|
||||
|
||||
echo "The patch has been generated."
|
||||
45
dev/update_api.sh
Executable file
45
dev/update_api.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
export VSCODE_QUALITY="stable"
|
||||
|
||||
while getopts ":i" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
URL=$( curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/' )
|
||||
# echo "url: ${URL}"
|
||||
FILE="${URL##*/}"
|
||||
# echo "file: ${FILE}"
|
||||
DIRECTORY="${FILE%.zip}"
|
||||
# echo "directory: ${DIRECTORY}"
|
||||
|
||||
if [[ ! -f "${FILE}" ]]; then
|
||||
wget "${URL}"
|
||||
fi
|
||||
|
||||
if [[ ! -d "${DIRECTORY}" ]]; then
|
||||
unzip "${FILE}" -d "${DIRECTORY}"
|
||||
fi
|
||||
|
||||
BIN_PATH=$(find "${DIRECTORY}/bin" -type f ! -name "*.*")
|
||||
|
||||
LINE="$( grep -E '^[[:space:]]*(export[[:space:]]+)?VERSIONFOLDER[[:space:]]*=' "$BIN_PATH" | tail -n1 )"
|
||||
VERSIONFOLDER="${LINE#*=}"
|
||||
VERSIONFOLDER="${VERSIONFOLDER#\"}"
|
||||
VERSIONFOLDER="${VERSIONFOLDER%\"}"
|
||||
|
||||
APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/${VERSIONFOLDER}/resources/app/product.json" )
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-wsl": ["resolvers", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
echo "$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )" > product.json
|
||||
|
||||
APIS=$( jq -r '.extensionsEnabledWithApiProposalVersion' "${DIRECTORY}/${VERSIONFOLDER}/resources/app/product.json" )
|
||||
echo "$( jq --argjson v "${APIS}" 'setpath(["extensionsEnabledWithApiProposalVersion"]; $v)' product.json )" > product.json
|
||||
190
dev/update_patches.sh
Executable file
190
dev/update_patches.sh
Executable file
@@ -0,0 +1,190 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
export VSCODE_QUALITY="stable"
|
||||
|
||||
while getopts ":i" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
generate_rejects() {
|
||||
local PATCH_FILE="$1"
|
||||
|
||||
if ! command -v python3 >/dev/null 2>&1; then
|
||||
echo "python3 not found; cannot create reject files for ${PATCH_FILE}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
PATCH_FOR_REJECT="${PATCH_FILE}" python3 <<'PY'
|
||||
import os
|
||||
import pathlib
|
||||
import re
|
||||
import subprocess
|
||||
|
||||
|
||||
def chunk_needs_reject(raw_chunk: str) -> bool:
|
||||
"""Return True when a patch chunk cannot be applied nor reversed."""
|
||||
|
||||
chunk = raw_chunk if raw_chunk.endswith("\n") else raw_chunk + "\n"
|
||||
|
||||
def _run_git(extra_args):
|
||||
return subprocess.run(
|
||||
["git", "apply", "--check", "--ignore-whitespace", *extra_args],
|
||||
input=chunk,
|
||||
text=True,
|
||||
capture_output=True,
|
||||
)
|
||||
|
||||
forward = _run_git([])
|
||||
if forward.returncode == 0:
|
||||
return False
|
||||
|
||||
reverse = _run_git(["--reverse"])
|
||||
if reverse.returncode == 0:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
patch_path = os.environ["PATCH_FOR_REJECT"]
|
||||
with open(patch_path, "r", encoding="utf-8", errors="ignore") as src:
|
||||
content = src.read()
|
||||
|
||||
chunks = re.split(r'(?m)^diff --git ', content)
|
||||
for chunk in chunks:
|
||||
chunk = chunk.strip()
|
||||
if not chunk:
|
||||
continue
|
||||
chunk = "diff --git " + chunk
|
||||
match = re.search(r'^diff --git a/(.*?) b/(.*?)$', chunk, re.MULTILINE)
|
||||
if not match:
|
||||
continue
|
||||
a_path, b_path = match.groups()
|
||||
candidate = b_path if b_path != "/dev/null" else a_path
|
||||
if candidate in ("/dev/null", ""):
|
||||
continue
|
||||
if candidate.startswith("../") or candidate.startswith("..\\") or candidate.startswith("/"):
|
||||
continue
|
||||
dest = pathlib.Path(candidate + ".rej")
|
||||
if not chunk_needs_reject(chunk):
|
||||
continue
|
||||
dest.parent.mkdir(parents=True, exist_ok=True)
|
||||
with dest.open("w", encoding="utf-8") as fh:
|
||||
fh.write(chunk)
|
||||
if not chunk.endswith("\n"):
|
||||
fh.write("\n")
|
||||
print(f"generated reject: {dest}")
|
||||
PY
|
||||
}
|
||||
|
||||
check_file() {
|
||||
while [ $# -gt 1 ]; do
|
||||
git apply --reject "${1}"
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ -f "${1}.bak" ]]; then
|
||||
mv -f $1{.bak,}
|
||||
fi
|
||||
|
||||
if [[ -f "${1}" ]]; then
|
||||
git apply --reject "../patches/helper/settings.patch"
|
||||
git add .
|
||||
git commit --no-verify -q -m "VSCODIUM HELPER"
|
||||
|
||||
echo applying patch: "${1}"
|
||||
|
||||
if ! git apply --ignore-whitespace "${1}"; then
|
||||
echo failed to apply patch "${1}"
|
||||
|
||||
git apply --reject --verbose "${1}"
|
||||
|
||||
if [[ -z "$( find . -name '*.rej' -print )" ]]; then
|
||||
echo "no .rej generated by git; creating fallback rejects for ${1}"
|
||||
|
||||
if ! generate_rejects "${1}"; then
|
||||
echo "failed to generate reject files for ${1}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$( find . -name '*.rej' -print )" ]]; then
|
||||
echo "still no .rej after attempting to create them for ${1}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
|
||||
find . -name '*.rej' -print
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
echo
|
||||
done
|
||||
|
||||
git restore .vscode/settings.json
|
||||
git add .
|
||||
git diff --staged -U1 > "${1}"
|
||||
fi
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD~
|
||||
fi
|
||||
}
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
for FILE in ../patches/*.patch; do
|
||||
if [[ "${FILE}" == *"/fix-policies.patch" ]]; then
|
||||
check_file "../patches/fix-keymap.patch" "../patches/fix-policies.patch"
|
||||
else
|
||||
check_file "${FILE}"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
for FILE in ../patches/insider/*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
fi
|
||||
|
||||
for ARCH in alpine linux osx windows; do
|
||||
for FILE in "../patches/${ARCH}/"*.patch; do
|
||||
if [[ "${ARCH}" == "linux" && "${FILE}" == *"/arch-"* ]] || [[ "${ARCH}" == "linux" && "${FILE}" == *"/fix-dependencies.patch" ]] || [[ "${ARCH}" == "windows" && "${FILE}" == *"/cli"* ]]; then
|
||||
echo "skip ${FILE}"
|
||||
else
|
||||
check_file "${FILE}"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "${ARCH}" == "linux" ]]; then
|
||||
check_file "../patches/optional-tree-sitter.patch" "../patches/linux/fix-dependencies.patch"
|
||||
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch"
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch"
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch"
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch" "../patches/linux/arch-3-loong64.patch"
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch" "../patches/linux/arch-3-loong64.patch" "../patches/linux/arch-4-s390x.patch"
|
||||
elif [[ "${ARCH}" == "windows" ]]; then
|
||||
check_file "../patches/cli.patch" "../patches/windows/cli.patch"
|
||||
fi
|
||||
|
||||
for TARGET in client reh; do
|
||||
for FILE in "../patches/${ARCH}/${TARGET}/"*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
|
||||
for FILE in "../patches/${ARCH}/${TARGET}/"*/*.patch; do
|
||||
check_file "${FILE}"
|
||||
done
|
||||
done
|
||||
done
|
||||
19
docs/accounts-authentication.md
Normal file
19
docs/accounts-authentication.md
Normal file
@@ -0,0 +1,19 @@
|
||||
<!-- order: 0 -->
|
||||
|
||||
# Accounts authentication
|
||||
|
||||
## GitHub
|
||||
|
||||
The GitHub authentication has been patched to use personal access tokens.
|
||||
|
||||
Here is how to create a new personal access token: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
|
||||
|
||||
## Microsoft
|
||||
|
||||
The Microsoft authentication hasn't been patched so its status is unknown.
|
||||
|
||||
## When does it happen?
|
||||
|
||||
An account authentication occurs only when an extension is asking for it.
|
||||
|
||||
For `GitLens`, since the `12 non-plus` version, it won't ask for any new authentication.
|
||||
22
docs/ext-github-copilot.md
Normal file
22
docs/ext-github-copilot.md
Normal file
@@ -0,0 +1,22 @@
|
||||
<!-- order: 16 -->
|
||||
|
||||
# Extension: GitHub Copilot
|
||||
|
||||
Unlike Visual Studio Code, in VSCodium, Copilot features are disabled and not configured.
|
||||
|
||||
## Update your settings
|
||||
|
||||
In your settings, sets:
|
||||
```
|
||||
"chat.disableAIFeatures": false,
|
||||
```
|
||||
|
||||
## Configure product.json
|
||||
|
||||
You need to create a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
|
||||
- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
|
||||
- macOS: `~/Library/Application Support/VSCodium`
|
||||
- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
|
||||
|
||||
Then you will need to follow the guide [Running with Code OSS](https://github.com/microsoft/vscode-copilot-chat/blob/main/CONTRIBUTING.md#running-with-code-oss) with the `product.json` file created previously.
|
||||
You will need to add the properties: `trustedExtensionAuthAccess` and `defaultChatAgent`.
|
||||
44
docs/extensions-compatibility.md
Normal file
44
docs/extensions-compatibility.md
Normal file
@@ -0,0 +1,44 @@
|
||||
<!-- order: 0 -->
|
||||
|
||||
# Extensions compatibility
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Incompatibility](#incompatibility)
|
||||
- [Replacements](#replacements)
|
||||
- [C/C++](#cc)
|
||||
- [Python](#python)
|
||||
- [Remote](#remote)
|
||||
|
||||
## <a id="incompatibility"></a>Incompatibility
|
||||
|
||||
Most Microsoft extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
|
||||
|
||||
Extensions incompatible with VSCodium **include**:
|
||||
- [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
|
||||
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) (explicitly unsupported, as [indicated in the FAQ](https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported))
|
||||
- [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
|
||||
- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
|
||||
- [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
|
||||
- [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
|
||||
- [Remote - SSH: Editing Configuration Files](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit)
|
||||
- [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
|
||||
|
||||
## <a id="replacements"></a>Replacements
|
||||
|
||||
The following extensions are functional replacements for incompatible extensions:
|
||||
|
||||
### <a id="cc"></a>C/C++
|
||||
|
||||
- [clangd](https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd) for full featured editing (including IntelliSense)
|
||||
- [Native Debug](https://open-vsx.org/extension/webfreak/debug) for Debugging with GDB + LLDB
|
||||
Note that there are many working debugging extensions and specialized ones including for microcontrollers.
|
||||
|
||||
### <a id="python"></a>Python
|
||||
|
||||
- [BasedPyright](https://open-vsx.org/extension/detachhead/basedpyright)
|
||||
|
||||
### <a id="remote"></a>Remote Development
|
||||
|
||||
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh) (SSH server must be configured with the setting `AllowTcpForwarding yes`.)
|
||||
- [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)
|
||||
136
docs/extensions.md
Normal file
136
docs/extensions.md
Normal file
@@ -0,0 +1,136 @@
|
||||
<!-- order: 15 -->
|
||||
|
||||
# Extensions + Marketplace
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Marketplace](#marketplace)
|
||||
- [How to use the OpenVSX Marketplace](#howto-openvsx-marketplace)
|
||||
- [How to use a different extension gallery](#howto-switch-marketplace)
|
||||
- [How to self host your own extension gallery](#howto-selfhost-marketplace)
|
||||
- [Visual Studio Marketplace](#visual-studio-marketplace)
|
||||
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
|
||||
- [Proprietary Extensions](#proprietary-extensions)
|
||||
- [Using the "VSIX Manager" Extension](#vsix-manager)
|
||||
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
|
||||
|
||||
## <a id="marketplace"></a>Marketplace
|
||||
|
||||
Being a vscode based editor, VSCodium gets additional features by installing Visual Studio Code extensions.
|
||||
Unfortunately, as Microsoft [prohibits usages of the Microsoft marketplace by any other products](https://github.com/microsoft/vscode/issues/31168) or redistribution of `.vsix` files from it, in order to use Visual Studio Code extensions in non-Microsoft products those need to be installed differently.
|
||||
|
||||
By default, the `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by Visual Studio Code. Since that is a rather new project, you will likely miss some extensions you know from the Visual Studio Marketplace. You have the following options to obtain such missing extensions:
|
||||
|
||||
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the Visual Studio Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
|
||||
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
|
||||
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix), for example from the release page in their source repository.
|
||||
|
||||
## <a id="howto-openvsx-marketplace"></a>How to use the Open VSX Registry
|
||||
|
||||
As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
|
||||
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
|
||||
|
||||
## <a id="howto-switch-marketplace"></a>How to use a different extension gallery
|
||||
|
||||
You can switch from the pre-set Open VSX Registry by configuring the endpoints using the following solutions.
|
||||
|
||||
You can either use the following environment variables:
|
||||
- `VSCODE_GALLERY_SERVICE_URL` ***(required)***
|
||||
- `VSCODE_GALLERY_ITEM_URL` ***(required)***
|
||||
- `VSCODE_GALLERY_CACHE_URL`
|
||||
- `VSCODE_GALLERY_CONTROL_URL`
|
||||
- `VSCODE_GALLERY_EXTENSION_URL_TEMPLATE` ***(required)***
|
||||
- `VSCODE_GALLERY_RESOURCE_URL_TEMPLATE`
|
||||
|
||||
Or by creating a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
|
||||
- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
|
||||
- macOS: `~/Library/Application Support/VSCodium`
|
||||
- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
|
||||
|
||||
with the content like:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"extensionsGallery": {
|
||||
"serviceUrl": "", // required
|
||||
"itemUrl": "", // required
|
||||
"cacheUrl": "",
|
||||
"controlUrl": "",
|
||||
"extensionUrlTemplate": "", // required
|
||||
"resourceUrlTemplate": "",
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## <a id="howto-selfhost-marketplace"></a>How to self-host your own extension gallery
|
||||
|
||||
Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery.
|
||||
|
||||
There are likely other options, but the following were reported to work:
|
||||
|
||||
* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
|
||||
While the public instance which is run by the Eclipse Foundation is the pre-set endpoint in VSCodium, you can host your own instance.
|
||||
|
||||
> Open VSX is a [vendor-neutral](https://projects.eclipse.org/projects/ecd.openvsx) open-source alternative to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode). It provides a server application that manages [Visual Studio Code extensions](https://code.visualstudio.com/api) in a database, a web application similar to the Visual Studio Marketplace, and a command-line tool for publishing extensions similar to [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce).
|
||||
|
||||
* [code-marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) open-source project
|
||||
|
||||
> `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
|
||||
|
||||
## <a id="visual-studio-marketplace"></a>Visual Studio Marketplace
|
||||
|
||||
As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU) which include:
|
||||
> Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services.
|
||||
|
||||
So, we can't provide any help if you intend to infringe their terms of use.
|
||||
|
||||
Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicitly forbid using them in non-Microsoft products, along with using telemetry.
|
||||
|
||||
## <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
|
||||
|
||||
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the official Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
|
||||
|
||||
A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
|
||||
|
||||
## <a id="proprietary-extensions"></a>Proprietary Extensions
|
||||
|
||||
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the official Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the `extensionAllowedProposedApi` property of the product.json in your VSCodium installation. For example:
|
||||
|
||||
```jsonc
|
||||
"extensionAllowedProposedApi": [
|
||||
// ...
|
||||
"ms-vscode-remote.vscode-remote-extensionpack",
|
||||
"ms-vscode-remote.remote-wsl",
|
||||
// ...
|
||||
],
|
||||
```
|
||||
|
||||
In some cases, the above change won't help because the extension is hard-coded to only work with the official Visual Studio Code product.
|
||||
|
||||
## <a id="vsix-manager"></a>Using the "VSIX Manager" Extension
|
||||
|
||||
The [**VSIX Manager**](https://github.com/zokugun/vscode-vsix-manager) extension provides a powerful and user-friendly interface for managing `.vsix` files directly within VSCodium. Its author is the main maintainer of VSCodium ;)
|
||||
|
||||
It is particularly beneficial for:
|
||||
- **Support for Multiple Marketplaces**: Seamlessly install and manage extensions from several marketplaces at the same time, allowing access to a broader range of extensions.
|
||||
- **Local Files**: Manage a collection of `.vsix` files stored locally.
|
||||
- **GitHub/Forgejo Release**: Install the extension directly from its GitHub/Forgejo release pages.
|
||||
- **Fallback Options**
|
||||
|
||||
### <a id="use-cases"></a>Use Cases
|
||||
|
||||
- Developers working offline can easily manage `.vsix` files.
|
||||
- Teams can distribute specific versions of extensions across systems.
|
||||
- Enterprises with restricted environments can maintain control over installed extensions.
|
||||
- Users can connect to multiple marketplaces and access a wider range of extensions or switch seamlessly between them.
|
||||
|
||||
### <a id="marketplace-support"></a>Marketplace Support
|
||||
|
||||
The **VSIX Manager** extension supports managing extensions from several marketplaces simultaneously. This feature enables:
|
||||
- **Access to Diverse Extensions**: Install extensions from different sources like Open VSX or private repositories.
|
||||
- **Fallback Options**: Ensure extension availability even if one marketplace is temporarily inaccessible.
|
||||
- **Enterprise Flexibility**: Use private or self-hosted marketplaces alongside public ones to meet security and compliance requirements.
|
||||
- **Custom Configurations**: Prioritize specific marketplaces for particular needs while keeping access to others.
|
||||
|
||||
## [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
|
||||
|
||||
50
docs/getting-started.md
Normal file
50
docs/getting-started.md
Normal file
@@ -0,0 +1,50 @@
|
||||
<!-- order: 5 -->
|
||||
|
||||
# Getting Started with VSCodium
|
||||
|
||||
This guide will help you get started with VSCodium.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Installation](#installation)
|
||||
- [First Steps](#first-steps)
|
||||
- [Basic Usage](#basic-usage)
|
||||
- [Keyboard Shortcuts](#keyboard-shortcuts)
|
||||
- [Next Steps](#next-steps)
|
||||
|
||||
## <a id="installation"></a>Installation
|
||||
|
||||
VSCodium can be installed on Windows, macOS, and Linux. Visit the [download page](https://vscodium.com/#install) for installation instructions.
|
||||
|
||||
## <a id="first-steps"></a>First Steps
|
||||
|
||||
After installing VSCodium, here are some first steps to get started:
|
||||
|
||||
1. **Open a folder**: Use File > Open Folder to open your project
|
||||
2. **Install extensions**: Click on the Extensions icon in the sidebar to browse and install extensions
|
||||
3. **Configure settings**: Use File > Preferences > Settings to customize your editor
|
||||
|
||||
## <a id="basic-usage"></a>Basic Usage
|
||||
|
||||
VSCodium works just like Visual Studio Code, with a few differences:
|
||||
|
||||
- It uses Open VSX for extensions by default instead of the Visual Studio Marketplace
|
||||
- It doesn't include Microsoft telemetry or branding
|
||||
- Some proprietary features may not be available
|
||||
|
||||
## <a id="keyboard-shortcuts"></a>Keyboard Shortcuts
|
||||
|
||||
Here are some essential keyboard shortcuts to get you started:
|
||||
|
||||
- `Ctrl+P` (Windows/Linux) or `Cmd+P` (macOS): Quick Open, Go to File
|
||||
- `Ctrl+Shift+P` (Windows/Linux) or `Cmd+Shift+P` (macOS): Show Command Palette
|
||||
- `Ctrl+,` (Windows/Linux) or `Cmd+,` (macOS): User Settings
|
||||
- `Ctrl+K Ctrl+S` (Windows/Linux) or `Cmd+K Cmd+S` (macOS): Keyboard Shortcuts
|
||||
|
||||
## <a id="next-steps"></a>Next Steps
|
||||
|
||||
Once you're comfortable with the basics, you might want to:
|
||||
|
||||
- Explore the [documentation](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) for more details
|
||||
- Join the [community](https://github.com/VSCodium/vscodium/discussions) to ask questions and share tips
|
||||
- Contribute to the [project](https://github.com/VSCodium/vscodium/blob/master/CONTRIBUTING.md) if you're interested
|
||||
215
docs/howto-build.md
Normal file
215
docs/howto-build.md
Normal file
@@ -0,0 +1,215 @@
|
||||
<!-- order: 35 -->
|
||||
|
||||
# How to build VSCodium
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Dependencies](#dependencies)
|
||||
- [Linux](#dependencies-linux)
|
||||
- [MacOS](#dependencies-macos)
|
||||
- [Windows](#dependencies-windows)
|
||||
- [Build for Development](#build-dev)
|
||||
- [Build for CI/Downstream](#build-ci)
|
||||
- [Build Snap](#build-snap)
|
||||
- [Patch Update Process](#patch-update-process)
|
||||
- [Semi-Automated](#patch-update-process-semiauto)
|
||||
- [Manual](#patch-update-process-manual)
|
||||
|
||||
## <a id="dependencies"></a>Dependencies
|
||||
|
||||
- node (check [.nvmrc](../.nvmrc) for version)
|
||||
- jq
|
||||
- git
|
||||
- python3 3.11
|
||||
- rustup
|
||||
|
||||
### <a id="dependencies-linux"></a>Linux
|
||||
|
||||
- gcc
|
||||
- g++
|
||||
- make
|
||||
- pkg-config
|
||||
- libx11-dev
|
||||
- libxkbfile-dev
|
||||
- libsecret-1-dev
|
||||
- libkrb5-dev
|
||||
- fakeroot
|
||||
- rpm
|
||||
- rpmbuild
|
||||
- dpkg
|
||||
- imagemagick (for AppImage)
|
||||
- snapcraft
|
||||
|
||||
### <a id="dependencies-macos"></a>MacOS
|
||||
|
||||
see [the common dependencies](#dependencies)
|
||||
|
||||
### <a id="dependencies-windows"></a>Windows
|
||||
|
||||
The build scripts are written in Bash, so on Windows you must run them inside **Git Bash** (bundled with [Git for Windows](https://gitforwindows.org/)) or **WSL2**.
|
||||
|
||||
#### Required tools
|
||||
|
||||
- **Git for Windows** — provides Git Bash, `sed`, and POSIX utilities used by the build scripts:
|
||||
|
||||
```cmd
|
||||
winget install --id Git.Git -e
|
||||
```
|
||||
|
||||
- **Node.js** — exact version is specified in [`.nvmrc`](../.nvmrc). Use [nvm-windows](https://github.com/coreybutler/nvm-windows) to manage versions:
|
||||
|
||||
```cmd
|
||||
nvm install <version-from-.nvmrc>
|
||||
nvm use <version-from-.nvmrc>
|
||||
```
|
||||
|
||||
Alternatively, download directly from [nodejs.org](https://nodejs.org/). During installation, enable **"Automatically install the necessary tools"** to get the C++ build tools (required for native Node addons).
|
||||
|
||||
- **jq** — JSON processor used throughout the build scripts:
|
||||
|
||||
```cmd
|
||||
winget install --id jqlang.jq -e
|
||||
```
|
||||
|
||||
- **7-Zip** — used to package `.zip` archives:
|
||||
|
||||
```cmd
|
||||
winget install --id 7zip.7zip -e
|
||||
```
|
||||
|
||||
- **Python 3.11** — required by the VS Code build system:
|
||||
|
||||
```cmd
|
||||
winget install --id Python.Python.3.11 -e
|
||||
```
|
||||
|
||||
Ensure `python` / `python3` is on your `PATH` after installation.
|
||||
|
||||
- **Rustup** — required to compile some native VS Code modules:
|
||||
|
||||
```cmd
|
||||
winget install --id Rustlang.Rustup -e
|
||||
```
|
||||
|
||||
Restart your shell afterwards so `cargo` and `rustc` are on your `PATH`.
|
||||
|
||||
#### Optional tools
|
||||
|
||||
- **WiX Toolset v3** _(only needed for `.msi` installer packaging, i.e., the `-p` flag)_:
|
||||
|
||||
Download from [wixtoolset.org](https://wixtoolset.org/releases/) and ensure `candle.exe` / `light.exe` are on your `PATH`.
|
||||
|
||||
#### PATH verification
|
||||
|
||||
After installing all tools, verify each is discoverable from Git Bash:
|
||||
|
||||
```bash
|
||||
node --version # should match .nvmrc
|
||||
npm --version
|
||||
jq --version
|
||||
python3 --version # should be 3.11.x
|
||||
cargo --version
|
||||
7z i 2>&1 | head -1
|
||||
git --version
|
||||
```
|
||||
|
||||
If any command is not found, add its install directory to your `PATH` via **System Properties → Environment Variables → Path**.
|
||||
|
||||
## <a id="build-dev"></a>Build for Development
|
||||
|
||||
A build helper script can be found at `dev/build.sh`.
|
||||
|
||||
- Linux: `./dev/build.sh`
|
||||
- MacOS: `./dev/build.sh`
|
||||
- Windows (Git Bash — **recommended**): `"C:\Program Files\Git\bin\bash.exe" ./dev/build.sh`
|
||||
- Windows (PowerShell): `powershell -ExecutionPolicy ByPass -File .\dev\build.ps1`
|
||||
|
||||
> **Note for Windows users**: Git Bash is the recommended shell because the build scripts rely on POSIX utilities (`sed`, `grep`, `find`, etc.) bundled with Git for Windows. If you use WSL2, follow the Linux dependencies section instead.
|
||||
|
||||
### Insider
|
||||
|
||||
The `insider` version can be built with `./dev/build.sh -i` on the `insider` branch.
|
||||
|
||||
You can try the latest version with the command `./dev/build.sh -il` but the patches might not be up to date.
|
||||
|
||||
### Flags
|
||||
|
||||
The script `dev/build.sh` provides several flags:
|
||||
|
||||
- `-i`: build the Insiders version
|
||||
- `-l`: build with latest version of Visual Studio Code
|
||||
- `-o`: skip the build step
|
||||
- `-p`: generate the packages/assets/installers
|
||||
- `-s`: do not retrieve the source code of Visual Studio Code, it won't delete the existing build
|
||||
|
||||
## <a id="build-ci"></a>Build for CI/Downstream
|
||||
|
||||
Here is the base script to build VSCodium:
|
||||
|
||||
```bash
|
||||
# Export necessary environment variables
|
||||
export SHOULD_BUILD="yes"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
export CI_BUILD="no"
|
||||
export OS_NAME="linux"
|
||||
export VSCODE_ARCH="${vscode_arch}"
|
||||
export VSCODE_QUALITY="stable"
|
||||
export RELEASE_VERSION="${version}"
|
||||
|
||||
. get_repo.sh
|
||||
. build.sh
|
||||
```
|
||||
|
||||
To go further, you should look at how we build it:
|
||||
|
||||
- Linux: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-linux.yml
|
||||
- macOS: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-macos.yml
|
||||
- Windows: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-windows.yml
|
||||
|
||||
The `./dev/build.sh` script is for development purpose and must be avoided for a packaging purpose.
|
||||
|
||||
## <a id="build-snap"></a>Build Snap
|
||||
|
||||
```
|
||||
# for the stable version
|
||||
cd ./stores/snapcraft/stable
|
||||
|
||||
# for the insider version
|
||||
cd ./stores/snapcraft/insider
|
||||
|
||||
# create the snap
|
||||
snapcraft --use-lxd
|
||||
|
||||
# verify the snap
|
||||
review-tools.snap-review --allow-classic codium*.snap
|
||||
```
|
||||
|
||||
## <a id="patch-update-process"></a>Patch Update Process
|
||||
|
||||
## <a id="patch-update-process-semiauto"></a>Semi-Automated
|
||||
|
||||
- run `./dev/build.sh`, if a patch is failing then,
|
||||
- run `./dev/update_patches.sh`
|
||||
- when the script pauses at `Press any key when the conflict have been resolved...`, open `vscode` directory in **VSCodium**
|
||||
- fix all the `*.rej` files
|
||||
- run `npm run watch`
|
||||
- run `./script/code.sh` until everything is ok
|
||||
- press any key to continue the script `update_patches.sh`
|
||||
|
||||
## <a id="patch-update-process-manual"></a>Manual
|
||||
|
||||
- run `./dev/build.sh`, if a patch is failing then,
|
||||
- run `./dev/patch.sh <name>.patch` where `<name>.patch` is the failed patch
|
||||
- open `vscode` directory in a new **VSCodium**'s window
|
||||
- fix all the `*.rej` files
|
||||
- run `npm run watch`
|
||||
- run `./script/code.sh` until everything is ok
|
||||
- go back to the command line running `./dev/patch.sh`, press `enter` to validate the changes and it will update the patch
|
||||
|
||||
### <a id="icons"></a>icons/build_icons.sh
|
||||
|
||||
To run `icons/build_icons.sh`, you will need:
|
||||
|
||||
- imagemagick
|
||||
- png2icns (`npm install png2icns -g`)
|
||||
- librsvg
|
||||
44
docs/index.md
Normal file
44
docs/index.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Documentation
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Getting Started with VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md)
|
||||
- [Installation](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#installation)
|
||||
- [First Steps](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#first-steps)
|
||||
- [Basic Usage](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#basic-usage)
|
||||
- [Keyboard Shortcuts](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#keyboard-shortcuts)
|
||||
- [Next Steps](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#next-steps)
|
||||
- [Getting all the Telemetry Out](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md)
|
||||
- [Telemetry in VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#telemetry)
|
||||
- [Replacements to Microsoft Online Services](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#replacements)
|
||||
- [Checking for Telemetry](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#checking)
|
||||
- [Additional Privacy Settings](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#additional-settings)
|
||||
- [VSCodium Announcements](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#announcements)
|
||||
- [Malicious & Deprecated Extensions](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#malicious-extensions)
|
||||
- [Extensions and Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md)
|
||||
- [Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#marketplace)
|
||||
- [How to use the OpenVSX Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#howto-openvsx-marketplace)
|
||||
- [How to use a different extension gallery](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#howto-switch-marketplace)
|
||||
- [How to self host your own extension gallery](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#howto-selfhost-marketplace)
|
||||
- [Visual Studio Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#visual-studio-marketplace)
|
||||
- [Proprietary Debugging Tools](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-debugging-tools)
|
||||
- [Proprietary Extensions](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-extensions)
|
||||
- [Using the "VSIX Manager" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#vsix-manager)
|
||||
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
|
||||
- [Ext: GitHub Copilot](https://github.com/VSCodium/vscodium/blob/master/docs/ext-github-copilot.md)
|
||||
- [Migration](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md)
|
||||
- [Manual Migration from Visual Studio Code to VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#manual-migration)
|
||||
- [Semi-Automatic Migration with "Sync Settings" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#semi-automatic-migration)
|
||||
- [Usage](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md)
|
||||
- [Sign in with GitHub](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#signin-github)
|
||||
- [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)
|
||||
- [How do I run VSCodium in portable mode?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#portable)
|
||||
- [How do I fix the default file manager?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#file-manager)
|
||||
- [How do I press and hold a key and have it repeat in VSCodium?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#press-and-hold)
|
||||
- [How do I open VSCodium from the terminal?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#terminal-support)
|
||||
- [Troubleshooting](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md)
|
||||
- [Linux](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md#linux)
|
||||
- [Other Resources](https://github.com/VSCodium/vscodium/blob/master/docs/others.md)
|
||||
- [What are reh and reh-web archives?](https://github.com/VSCodium/vscodium/blob/master/docs/others.md#reh)
|
||||
- [Contributing Guidelines](https://github.com/VSCodium/vscodium/blob/master/CONTRIBUTING.md)
|
||||
- [Building VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)
|
||||
54
docs/migration.md
Normal file
54
docs/migration.md
Normal file
@@ -0,0 +1,54 @@
|
||||
<!-- order: 20 -->
|
||||
|
||||
# Migration
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Manual Migration from Visual Studio Code to VSCodium](#manual-migration)
|
||||
- [Semi-Automatic Migration with "Sync Settings" Extension](#semi-automatic-migration)
|
||||
|
||||
## <a id="manual-migration"></a>Manual Migration from Visual Studio Code to VSCodium
|
||||
|
||||
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
|
||||
|
||||
Visual Studio Code stores its `keybindings.json` and `settings.json` file in these locations:
|
||||
|
||||
- __Windows__: `%APPDATA%\Code\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/Code/User`
|
||||
- __Linux__: `$HOME/.config/Code/User`
|
||||
|
||||
You can copy these files to the VSCodium user settings folder:
|
||||
|
||||
- __Windows__: `%APPDATA%\VSCodium\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
|
||||
- __Linux__: `$HOME/.config/VSCodium/User`
|
||||
|
||||
To copy your settings manually:
|
||||
|
||||
- In Visual Studio Code, go to Settings (`Meta+,`)
|
||||
- Click the three dots `...` and choose 'Open settings.json'
|
||||
- Copy the contents of settings.json into the same place in VSCodium
|
||||
|
||||
## <a id="semi-automatic-migration"></a>Semi-Automatic Migration with "Sync Settings" Extension
|
||||
|
||||
The [**Sync Settings**](https://github.com/zokugun/vscode-sync-settings) extension can simplify the migration process by enabling synchronization of settings, keybindings, extensions, and more between Visual Studio Code and VSCodium. Its author is the main maintainer of VSCodium ;)
|
||||
|
||||
The extension is available in the Visual Studio Marketplace, OpenVSX or directly in its GitHub repository.
|
||||
|
||||
### Steps:
|
||||
|
||||
1. Install the **Sync Settings** extension in both Visual Studio Code and VSCodium.
|
||||
2. Configure the extension on both Visual Studio Code and VSCodium:
|
||||
- Open Command Palette (`Meta+Shift+P`).
|
||||
- Search for `Sync Settings: Open the repository settings` and execute the command.
|
||||
- Configure the repository
|
||||
3. Export your current settings from Visual Studio Code:
|
||||
- Open Command Palette (`Meta+Shift+P`).
|
||||
- Search for `Sync Settings: Upload (user -> repository)` and execute the command.
|
||||
4. Import the settings into VSCodium:
|
||||
- I recommend the setting `"syncSettings.openOutputOnActivity": true,`.
|
||||
- Open Command Palette (`Meta+Shift+P`).
|
||||
- Search for `Sync Settings: Download (repository -> user)` and execute the command.
|
||||
- Wait for all the extensions to be downloaded and installed (follow logs in the `Output` panel) before restarting VSCodium.
|
||||
|
||||
This method ensures that all supported configurations are seamlessly transferred.
|
||||
12
docs/others.md
Normal file
12
docs/others.md
Normal file
@@ -0,0 +1,12 @@
|
||||
<!-- order: 30 -->
|
||||
|
||||
# Other Resources
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [What are reh and reh-web archives?](#reh)
|
||||
|
||||
## <a id="reh"></a>What are reh and reh-web archives?
|
||||
|
||||
- Remote Host (`reh`) is the server component for remote ssh/wsl which runs it on a "remote" computer and makes that remote computer accessible via VSCodium.
|
||||
- Web Host (`reh-web`) is the server component of the command `codium serve-web` which runs it locally and makes VSCodium accessible via a browser.
|
||||
43
docs/patches.md
Normal file
43
docs/patches.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Patches
|
||||
|
||||
Documentation for VSCodium patches applied on top of VS Code.
|
||||
|
||||
---
|
||||
|
||||
## fix-policies
|
||||
|
||||
**Replace `@vscode/policy-watcher` with `@vscodium/policy-watcher`**
|
||||
|
||||
VS Code uses `@vscode/policy-watcher` to enforce Group Policy Objects (GPOs) on
|
||||
Windows. That package reads from:
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\Microsoft\<productName>
|
||||
```
|
||||
|
||||
VSCodium forks this into `@vscodium/policy-watcher`, which takes a separate
|
||||
`vendorName` argument. The `createWatcher()` call becomes:
|
||||
|
||||
```ts
|
||||
createWatcher('VSCodium', this.productName, ...)
|
||||
```
|
||||
|
||||
Because VSCodium sets `product.nameLong = 'VSCodium'` (via `prepare_vscode.sh`),
|
||||
`this.productName` resolves to `'VSCodium'` at runtime. Therefore, the final
|
||||
Windows registry key that VSCodium reads policies from is:
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName>
|
||||
```
|
||||
|
||||
(or `HKCU\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName>` for per-user policies)
|
||||
|
||||
This differs from VS Code's path (`Microsoft\VSCode`) and is the root cause of
|
||||
[issue #2714](https://github.com/VSCodium/vscodium/issues/2714) where users mirror
|
||||
VS Code's registry structure and find their GPOs ignored. Enterprise admins must
|
||||
use the VSCodium-specific registry path.
|
||||
|
||||
### References
|
||||
|
||||
- [VSCodium issue #2714](https://github.com/VSCodium/vscodium/issues/2714)
|
||||
- [VSCodium/policy-watcher — RegistryPolicy.hh](https://github.com/VSCodium/policy-watcher/blob/main/src/windows/RegistryPolicy.hh)
|
||||
87
docs/telemetry.md
Normal file
87
docs/telemetry.md
Normal file
@@ -0,0 +1,87 @@
|
||||
<!-- order: 10 -->
|
||||
|
||||
# Getting all telemetry out
|
||||
|
||||
This page explains how VSCodium handles telemetry and how it enhances your privacy.
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [Telemetry in VSCodium](#telemetry)
|
||||
- [Replacements to Microsoft Online Services](#replacements)
|
||||
- [Checking for telemetry](#checking)
|
||||
- [VSCodium announcements](#announcements)
|
||||
- [Malicious & deprecated extensions](#malicious-extensions)
|
||||
|
||||
## <a id="telemetry"></a>Telemetry in VSCodium
|
||||
|
||||
Even though we do not pass the telemetry build flags and go out of our way to cripple the baked-in telemetry, Microsoft still can track usage by default depending on your settings.
|
||||
|
||||
We disable all the following telemetry-related settings by default to enhance your privacy:
|
||||
|
||||
```
|
||||
telemetry.telemetryLevel
|
||||
telemetry.enableCrashReporter
|
||||
telemetry.enableTelemetry
|
||||
telemetry.editStats.enabled
|
||||
workbench.enableExperiments
|
||||
workbench.settings.enableNaturalLanguageSearch
|
||||
workbench.commandPalette.experimental.enableNaturalLanguageSearch
|
||||
```
|
||||
|
||||
It is also recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). You can use the search filter `@tag:usesOnlineServices` to show such settings and review what to change.
|
||||
|
||||
**Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.**
|
||||
For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft. Be sure to check each extension's settings page to disable their telemetry if applicable.
|
||||
|
||||
### Update services
|
||||
|
||||
By default, the app periodically fetches connections to check for the latest version available to download and install.
|
||||
Extensions are also checked for updates automatically from time to time.
|
||||
|
||||
If you want to prevent such behaviors, modify the following preferences:
|
||||
|
||||
For the app itself:
|
||||
|
||||
- `update.mode` -> `manual` (or `none`)
|
||||
- `update.enableWindowsBackgroundUpdates` -> `false` (only applicable for Microsoft Windows)
|
||||
|
||||
For extensions:
|
||||
|
||||
- `extensions.autoUpdate` -> `false`
|
||||
- `extensions.autoCheckUpdates` -> `false`
|
||||
|
||||
_Note: on Linux, the app update service is disabled completely at build-time even if the `update.mode` preference is configured. This is because users will more likely use their package managers to update the app rather than updating via the app itself._
|
||||
|
||||
### Feedback telemetry
|
||||
|
||||
By default, we keep the preference `telemetry.feedback.enabled` enabled. It's used to allow the button `Report Issue...` to be used on the app depending on the context. It does not send any data by having it enabled (other options already cover it). If you want, you can disable this behavior by toggling the preference value.
|
||||
|
||||
## <a id="replacements"></a>Replacements to Microsoft Online Services
|
||||
|
||||
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/8cc366bb76d6c0ddb64374f9530b42094646a660/prepare_vscode.sh#L132-L133) in `product.json` directly to the GitHub page, so enabling that setting won't actually result in any calls to the Microsoft online service.
|
||||
|
||||
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/8cc366bb76d6c0ddb64374f9530b42094646a660/prepare_vscode.sh#L119) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft either.
|
||||
|
||||
## <a id="checking"></a>Checking for telemetry
|
||||
|
||||
If you want to verify that no telemetry is being sent, you can use network monitoring tools like:
|
||||
|
||||
- Wireshark
|
||||
- Little Snitch (macOS)
|
||||
- GlassWire (Windows)
|
||||
|
||||
Look for connections to Microsoft domains and telemetry endpoints.
|
||||
|
||||
## <a id="announcements"></a>VSCodium announcements
|
||||
|
||||
The welcome page in VSCodium displays announcements that are fetched via the internet from the project's GitHub repository.
|
||||
|
||||
If you prefer to disable this feature, you can disable the preference `workbench.welcomePage.extraAnnouncements`.
|
||||
|
||||
## <a id="malicious-extensions"></a>Malicious & deprecated extensions
|
||||
|
||||
The definitions for malicious and deprecated extensions are dynamically loaded from the following URL:
|
||||
https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json
|
||||
|
||||
If you prefer to avoid any external connections, you can disable the preference `extensions.excludeUnsafes`.
|
||||
However, this is not recommended as it may reduce the safety of your environment.
|
||||
154
docs/troubleshooting.md
Normal file
154
docs/troubleshooting.md
Normal file
@@ -0,0 +1,154 @@
|
||||
<!-- order: 25 -->
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Linux](#linux)
|
||||
- [Fonts showing up as rectangles](#linux-fonts-rectangle)
|
||||
- [Text and/or the entire interface not appearing](#linux-rendering-glitches)
|
||||
- [Global menu workaround for KDE](#linux-kde-global-menu)
|
||||
- [Flatpak most common issues](#linux-flatpak-most-common-issues)
|
||||
- [Remote SSH doesn't work](#linux-remote-ssh)
|
||||
- [The window doesn't show up](#linux-no-window)
|
||||
- [Windows](#windows)
|
||||
- [Group Policy Objects (GPOs) are ignored](#windows-gpo)
|
||||
- ["Open with VSCodium" missing from context menu](#windows-context-menu)
|
||||
- [Windows Defender flags the installer as malware](#windows-defender)
|
||||
|
||||
## <a id="linux"></a>Linux
|
||||
|
||||
### <a id="linux-fonts-rectangle"></a>_Fonts showing up as rectangles_
|
||||
|
||||
The following command should help:
|
||||
|
||||
```
|
||||
rm -rf ~/.cache/fontconfig
|
||||
rm -rf ~/snap/codium/common/.cache
|
||||
fc-cache -r
|
||||
```
|
||||
|
||||
### <a id="linux-rendering-glitches"></a>_Text and/or the entire interface not appearing_
|
||||
|
||||
You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82. The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.config/VSCodium/GPUCache
|
||||
```
|
||||
|
||||
### <a id="linux-kde-global-menu"></a>_Global menu workaround for KDE_
|
||||
|
||||
Install these packages on Fedora:
|
||||
|
||||
- libdbusmenu-devel
|
||||
- dbus-glib-devel
|
||||
- libdbusmenu
|
||||
|
||||
On Ubuntu this package is called `libdbusmenu-glib4`.
|
||||
|
||||
Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/91)
|
||||
|
||||
### <a id="linux-flatpak-most-common-issues"></a>_Flatpak most common issues_
|
||||
|
||||
- blurry screen with HiDPI on wayland run:
|
||||
```bash
|
||||
flatpak override --user --nosocket=wayland com.vscodium.codium
|
||||
```
|
||||
- To execute commands on the host system, run inside the sandbox
|
||||
```bash
|
||||
flatpak-spawn --host <COMMAND>
|
||||
# or
|
||||
host-spawn <COMMAND>
|
||||
```
|
||||
- Where is my X extension? AKA modify product.json
|
||||
TL;DR: use https://open-vsx.org/extension/zokugun/vsix-manager
|
||||
|
||||
- SDKs
|
||||
see [this](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#sdks)
|
||||
|
||||
- If you have any other problems with the flatpak package try to look on the [FAQ](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#faq) maybe the solution is already there or open an [issue](https://github.com/flathub/com.vscodium.codium/issues).
|
||||
|
||||
### <a id="linux-remote-ssh"></a>_Remote SSH doesn't work_
|
||||
|
||||
Use the VSCodium's compatible extension [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
|
||||
|
||||
On the server, in the `sshd` config, `AllowTcpForwarding` need to be set to `yes`.
|
||||
|
||||
It might requires additional dependencies due to the OS/distro (alpine).
|
||||
|
||||
### <a id="linux-no-window"></a>_The window doesn't show up_
|
||||
|
||||
If you are under Wayland:
|
||||
|
||||
- try the command `codium --verbose`
|
||||
- if you see an error like `:ERROR:ui/gl/egl_util.cc:92] EGL Driver message (Error) eglCreateContext: Requested version is not supported`
|
||||
- try `codium --ozone-platform=x11`
|
||||
|
||||
## <a id="windows"></a>Windows
|
||||
|
||||
### <a id="windows-gpo"></a>_Group Policy Objects (GPOs) are ignored_
|
||||
|
||||
VSCodium uses its own policy-watcher library (`@vscodium/policy-watcher`) which reads GPO values from a **different registry path** than VS Code.
|
||||
|
||||
**VSCodium reads policies from:**
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\VSCodium\VSCodium
|
||||
```
|
||||
|
||||
**VS Code reads policies from:**
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\Microsoft\VSCode
|
||||
```
|
||||
|
||||
If you are deploying VSCodium in an enterprise environment via Group Policy:
|
||||
|
||||
1. Copy the `.admx` template file to `C:\Windows\PolicyDefinitions\`
|
||||
2. Copy the `.adml` language file to `C:\Windows\PolicyDefinitions\en-US\`
|
||||
3. Open `gpedit.msc` and configure policies under the VSCodium group
|
||||
4. Verify the resulting registry key exists at `HKLM\SOFTWARE\Policies\VSCodium\VSCodium` (not `Microsoft\VSCodium`)
|
||||
|
||||
If you set policies manually via Registry Editor, make sure you create the key at the correct path:
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName> (REG_SZ or REG_DWORD)
|
||||
```
|
||||
|
||||
For example, to set `Update: Mode` to `none`:
|
||||
|
||||
```
|
||||
Registry key: HKLM\SOFTWARE\Policies\VSCodium\VSCodium
|
||||
Value name: update.mode
|
||||
Value type: REG_SZ
|
||||
Value data: none
|
||||
```
|
||||
|
||||
Per-user policies are also supported under `HKCU\SOFTWARE\Policies\VSCodium\VSCodium` (machine policies take precedence).
|
||||
|
||||
### <a id="windows-context-menu"></a>_"Open with VSCodium" missing from context menu_
|
||||
|
||||
If the **"Open with VSCodium"** option does not appear after installation (even with the checkbox checked during setup):
|
||||
|
||||
1. **Run the installer again** and ensure _"Add 'Open with VSCodium' action to Windows Explorer file context menu"_ is checked.
|
||||
2. **Windows 11 note**: Windows 11 hides most context menu entries behind **Shift + Right-click** ("Show more options"). VSCodium's entry may be present but hidden in the new condensed menu. Try Shift + Right-click to see the classic context menu.
|
||||
3. If the entry still does not appear, you can add it manually via Registry Editor:
|
||||
|
||||
```
|
||||
Key: HKEY_CLASSES_ROOT\*\shell\Open with VSCodium
|
||||
Value: (Default) = "Open with VSCodium"
|
||||
|
||||
Key: HKEY_CLASSES_ROOT\*\shell\Open with VSCodium\command
|
||||
Value: (Default) = "C:\Program Files\VSCodium\VSCodium.exe" "%1"
|
||||
```
|
||||
|
||||
Adjust the install path to match your actual installation directory.
|
||||
|
||||
### <a id="windows-defender"></a>_Windows Defender flags the installer as malware_
|
||||
|
||||
Some users report Windows Defender detecting the VSCodium installer as `Cinjo` or another threat. This is a **false positive** caused by the unsigned nature of certain build artifacts.
|
||||
|
||||
- Download VSCodium **only from the official [GitHub Releases page](https://github.com/VSCodium/vscodium/releases)**.
|
||||
- Verify the SHA256/SHA512 checksum of the downloaded file against the `.sha256` or `.sha512` file published alongside each release.
|
||||
- If Defender blocks the installer, add an exclusion for the downloaded file, run the install, then remove the exclusion.
|
||||
- You can also report the false positive directly to Microsoft via the [Windows Defender Security Intelligence submission portal](https://www.microsoft.com/en-us/wdsi/filesubmission).
|
||||
76
docs/usage.md
Normal file
76
docs/usage.md
Normal file
@@ -0,0 +1,76 @@
|
||||
<!-- order: 25 -->
|
||||
|
||||
# Usage
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Sign in with GitHub](#signin-github)
|
||||
- [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)
|
||||
- [How do I run VSCodium in portable mode?](#portable)
|
||||
- [How do I fix the default file manager?](#file-manager)
|
||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||
- [How do I open VSCodium from the terminal?](#terminal-support)
|
||||
- [From Linux .tar.gz](#from-linux-targz)
|
||||
|
||||
## <a id="signin-github"></a>Sign in with GitHub
|
||||
|
||||
In VSCodium, `Sign in with GitHub` is using a Personal Access Token.<br />
|
||||
Follow the documentation https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token to create your token.<br />
|
||||
Select the scopes dependending on the extension which needs access to GitHub. (GitLens requires the `repo` scope.)
|
||||
|
||||
### Linux
|
||||
|
||||
If you are getting the error `Writing login information to the keychain failed with error 'The name org.freedesktop.secrets was not provided by any .service files'.`, you need to install the package `gnome-keyring`.
|
||||
|
||||
## <a id="portable"></a>How do I run VSCodium in portable mode?
|
||||
You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) from the Visual Studio Code website.
|
||||
- **Windows** / **Linux** : the instructions can be followed as written.
|
||||
- **macOS** : portable mode is enabled by the existence of a specially named folder. For Visual Studio Code that folder name is `code-portable-data`. For VSCodium, that folder name is `codium-portable-data`. So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the [link above](https://code.visualstudio.com/docs/editor/portable), but create a folder named `codium-portable-data` instead of `code-portable-data`.
|
||||
|
||||
## <a id="file-manager"></a>How do I fix the default file manager (Linux)?
|
||||
|
||||
In some cases, VSCodium becomes the file manager used to open directories (instead of apps like Dolphin or Nautilus).<br />
|
||||
It's due to that no application was defined as the default file manager and so the system is using the latest capable application.
|
||||
|
||||
To set the default app, create the file `~/.config/mimeapps.list` with the content like:
|
||||
```
|
||||
[Default Applications]
|
||||
inode/directory=org.gnome.Nautilus.desktop;
|
||||
```
|
||||
|
||||
You can find your regular file manager with the command:
|
||||
```
|
||||
> grep directory /usr/share/applications/mimeinfo.cache
|
||||
inode/directory=codium.desktop;org.gnome.Nautilus.desktop;
|
||||
```
|
||||
|
||||
## <a id="press-and-hold"></a>How do I press and hold a key and have it repeat in VSCodium (Mac)?
|
||||
|
||||
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
|
||||
|
||||
```bash
|
||||
$ defaults write com.vscodium ApplePressAndHoldEnabled -bool false
|
||||
```
|
||||
|
||||
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
|
||||
|
||||
For macOS and Windows:
|
||||
- Go to the command palette (View | Command Palette...)
|
||||
- Choose `Shell command: Install 'codium' command in PATH`.
|
||||
|
||||

|
||||
|
||||
This allows you to open files or directories in VSCodium directly from your terminal:
|
||||
|
||||
```bash
|
||||
~/in-my-project $ codium . # open this directory
|
||||
~/in-my-project $ codium file.txt # open this file
|
||||
```
|
||||
|
||||
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=codium`).
|
||||
|
||||
On Linux, when installed with a package manager, `codium` has been installed in your `PATH`.
|
||||
|
||||
### <a id="from-linux-targz"></a>From Linux .tar.gz
|
||||
|
||||
When the archive `VSCodium-linux-<arch>-<version>.tar.gz` is extracted, the main entry point for VSCodium is `./bin/codium`.
|
||||
7
font-size/.artifactrc.yml
Normal file
7
font-size/.artifactrc.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
artifacts:
|
||||
"@daiyam/artifact-lang-js":
|
||||
version: 0.9.3
|
||||
requires:
|
||||
- "22"
|
||||
"@daiyam/artifact-lang-ts":
|
||||
version: 0.6.3
|
||||
17
font-size/.editorconfig
Normal file
17
font-size/.editorconfig
Normal file
@@ -0,0 +1,17 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
tab_width = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[{*.yml,*.yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
29
font-size/.fixpackrc
Normal file
29
font-size/.fixpackrc
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"sortToTop": [
|
||||
"name",
|
||||
"displayName",
|
||||
"description",
|
||||
"version",
|
||||
"private",
|
||||
"author",
|
||||
"publisher",
|
||||
"license",
|
||||
"homepage",
|
||||
"repository",
|
||||
"bugs",
|
||||
"engines",
|
||||
"type",
|
||||
"bin",
|
||||
"exports",
|
||||
"main",
|
||||
"module",
|
||||
"types",
|
||||
"typesVersions",
|
||||
"scripts",
|
||||
"dependencies",
|
||||
"devDependencies",
|
||||
"optionalDependencies",
|
||||
"keywords"
|
||||
],
|
||||
"finalNewLine": true
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user