Compare commits
2210 commits
helma_1_2_
...
main
Author | SHA1 | Date | |
---|---|---|---|
38181e8e00 | |||
8adbd23569 | |||
e3a7732837 | |||
d9d3c9b863 | |||
808bc48ab9 | |||
6ebdd6aa31 | |||
2ff29317e5 | |||
84333d05cd | |||
3a8997ca5c | |||
8212600d40 | |||
1bb5a093da | |||
2c6dd96cd7 | |||
6f6ea55b7b | |||
b1a14ad87b | |||
d1ead6e081 | |||
94557dd28e | |||
5bfcd0b6ea | |||
70337bda40 | |||
ff4b4b0f07 | |||
156db3ee98 | |||
45adacd5cd | |||
dd9e473310 | |||
e2e67cf2cc | |||
f7add5ec47 | |||
0fc7d91348 | |||
1341c241bd | |||
6d355fc5bd | |||
d18513fb76 | |||
d10f8d6d90 | |||
66fa98353e | |||
c2b37a8243 | |||
0c9b00dbb1 | |||
c1e9371f6b | |||
3284a1ca19 | |||
cbb6599ce0 | |||
49c1be97bb | |||
31bdcc6c27 | |||
bdd4f7e280 | |||
154a4a916a | |||
|
28887aaccd | ||
a00e2f730a | |||
9c2c603d4a | |||
b0260259ea | |||
|
d3098c892f | ||
a5fa58dc3d | |||
20ea2a8fb9 | |||
de34e49fc0 | |||
f7fe09a294 | |||
|
4ebbcb01ae | ||
|
e93c501149 | ||
|
3809198380 | ||
|
65ac2df0ba | ||
|
12e7f298ad | ||
3365a2ef58 | |||
44f2375749 | |||
|
a975930192 | ||
|
a54b27c4aa | ||
608fd695c4 | |||
87675fd6cd | |||
efb7ad89b3 | |||
5de4616df0 | |||
bd70d2fb62 | |||
0f8bace3dd | |||
c1ad40ef72 | |||
6b694a83ed | |||
79b7e8092b | |||
196794cd93 | |||
ed56cf72f7 | |||
3a9c14898b | |||
82c32bb448 | |||
def303c069 | |||
64bcb63e4a | |||
55dbc0359c | |||
f2feef4332 | |||
14ccdf0691 | |||
4ae840d3c9 | |||
132f8f4d7d | |||
048cdc39f5 | |||
|
6d7774fd2e | ||
0e8ce1d7a7 | |||
57642f6f10 | |||
dd0bdc62ec | |||
|
656a023b27 | ||
7c52b6ba46 | |||
47f7b19fe9 | |||
ebf9b22f55 | |||
399f81c1dc | |||
d02dd85a45 | |||
0bfa585cb9 | |||
8ffb7b0b08 | |||
a68c478dd5 | |||
77ea53d949 | |||
2ff75f7879 | |||
052bfc0db1 | |||
63c5aec4df | |||
cfbfea51d7 | |||
bca560e577 | |||
7f8c776c57 | |||
7fa9b805d6 | |||
|
2ecd5b4e36 | ||
d23268095a | |||
daf8da61b1 | |||
db4dfd0ba7 | |||
f0ac6cdb5f | |||
d7f9882596 | |||
d6b7c97518 | |||
|
b984877877 | ||
1a1b676604 | |||
46dd4a2c31 | |||
|
ee2384f35a | ||
d25b8d207e | |||
f4cd065c59 | |||
4b7f3b216d | |||
23f09d2d4f | |||
|
b6ed068e26 | ||
e96c224abc | |||
|
519adc3d37 | ||
|
7d57badb94 | ||
|
b0e319f3dd | ||
b8abe5a355 | |||
7fa3f48cff | |||
d64ca1c7a8 | |||
eae2848e9e | |||
581b17bc72 | |||
ab116b2af9 | |||
d7ab9ff461 | |||
|
fd15c4703f | ||
5e1435433a | |||
958a3c1cfc | |||
5a4ad8eeda | |||
54b9002bf4 | |||
2e45fa4b6a | |||
0fec3244e3 | |||
|
aafd5f8a4c | ||
752e4a0df7 | |||
bf29398ade | |||
|
7555411cdc | ||
2f34fb5e05 | |||
6eb1feb5cd | |||
6eaf097aef | |||
|
48ddd69f19 | ||
|
0223cb4ffe | ||
|
1fa13b9fef | ||
3ccf0af87b | |||
0774054470 | |||
e6a893a52e | |||
|
50ef602d42 | ||
2cff9188cb | |||
1540c5d24f | |||
|
db966fb4e8 | ||
b04b1cf4bf | |||
d2e09554cd | |||
647ca18d7b | |||
a580f08c17 | |||
94d6b2d1a1 | |||
d80ad0bf33 | |||
|
dbb0b6bcfd | ||
|
d419342ee9 | ||
a7ee467cdc | |||
b812b33213 | |||
0e8f04c0f5 | |||
d601ec689d | |||
6d5288f94b | |||
7eae3ba273 | |||
796a6e7337 | |||
|
4ca91f5b2e | ||
|
fb4b11a426 | ||
|
7fbad44166 | ||
e61b654238 | |||
a19eb278c7 | |||
6701ac8095 | |||
1b4624d437 | |||
5bd6e521ce | |||
|
090afa9656 | ||
|
6c61b9a02b | ||
58d893f044 | |||
ec67204d51 | |||
a692d7718c | |||
08a5233bc6 | |||
6a3a90c4f4 | |||
5fe68aef81 | |||
db2ebbed9c | |||
9a0cf1a22d | |||
|
276290add0 | ||
832a9069f1 | |||
f78e37905c | |||
|
4bee79eca7 | ||
411b9198e4 | |||
|
524578e8de | ||
4fc158d6eb | |||
5a3514440c | |||
84f4a5f396 | |||
85e8088e40 | |||
e0e78b1349 | |||
9d5a504702 | |||
8eb3c53818 | |||
9b63e208d9 | |||
d3c325cef4 | |||
e54b36bb2a | |||
34b3a5d578 | |||
|
6ed340675a | ||
|
7f23ded63d | ||
e8d9f05b72 | |||
a7fece6218 | |||
ed5aac7f66 | |||
9e2bf074b7 | |||
aea04da690 | |||
2f8160526c | |||
ac02b90699 | |||
8b990e29ca | |||
926f62ec57 | |||
47abd0e404 | |||
ae2c1c6221 | |||
|
b5c6afda24 | ||
|
b7a8e68537 | ||
|
425e3671ba | ||
7a5e470821 | |||
b31b0dc2a5 | |||
|
4b9b78bb0f | ||
7e39892c4a | |||
|
62291171e3 | ||
97db46a66c | |||
8305d30bad | |||
db18a003fe | |||
2ba24ccea8 | |||
244b92d750 | |||
b91ee88304 | |||
dfe9c5d1a3 | |||
8edc9db372 | |||
df3af8fab1 | |||
a5bc33db70 | |||
523d806b56 | |||
c984d3c4a2 | |||
657f66c0ce | |||
0bf39c8f4b | |||
2721db44ae | |||
ae50bc562e | |||
75f609d095 | |||
9950f4df46 | |||
5a958b2980 | |||
06eefa8e86 | |||
d6fd0ba6f7 | |||
75bda31376 | |||
9265d322a0 | |||
540d0eb0fc | |||
dd53c6f365 | |||
|
4d92cec456 | ||
91d052af48 | |||
768b7b5ed3 | |||
0c1f1d0beb | |||
060f6461cb | |||
23fdb31348 | |||
|
db8d239c32 | ||
|
9960e1c919 | ||
|
541286dc59 | ||
|
e0f590da98 | ||
|
37307708fd | ||
|
5abe737912 | ||
|
468a89bd05 | ||
|
7f3bb3a85b | ||
|
1acd176aa5 | ||
|
7cafee58c4 | ||
|
eda05c731a | ||
0929cd1e57 | |||
39f565252f | |||
|
be233eba03 | ||
f6656f7b4d | |||
0b938bf808 | |||
aa2a236d91 | |||
90e91ee9f7 | |||
a0f5729e58 | |||
708c02f670 | |||
9f49ad80b9 | |||
2a4ae9adcf | |||
265cf566b7 | |||
|
9f213ab7b9 | ||
8e973d1a1a | |||
cdc522b22e | |||
c2fcc1867a | |||
|
47fecff5b4 | ||
|
63b4ec8512 | ||
8433ed4f8c | |||
2fe0041d2d | |||
2f27921403 | |||
cb57b90c62 | |||
88b48b46ce | |||
c673e8e3f2 | |||
d985d1be0c | |||
bd552751f5 | |||
f29781e150 | |||
9cb7d08581 | |||
cfb31beeec | |||
39af201e78 | |||
2da9bcf00b | |||
56e9f6793b | |||
5cbeb9f01d | |||
cee0be52e0 | |||
7d6fb8f903 | |||
36b5ae6279 | |||
|
f7e52dbad5 | ||
dbbaa0fb1a | |||
74640c222a | |||
c07e4a9d7f | |||
8d62f24bee | |||
825ccb6463 | |||
e88c4f5d8f | |||
5902bf9d7f | |||
6571f4ff1b | |||
03e2718ff5 | |||
00762cf495 | |||
6e5d2061fa | |||
c399fd27e4 | |||
677cedd0eb | |||
5821630d7d | |||
1f1163704a | |||
cd05af552e | |||
|
74b927244e | ||
|
a9e1cf3f51 | ||
e246589cdf | |||
2ca34c70b5 | |||
a2d9dae06e | |||
d540b38a98 | |||
19a3961207 | |||
b90143adf7 | |||
e40b78230c | |||
a9163bd66f | |||
94ce6dac49 | |||
70a0b2d9a1 | |||
a4635aefb6 | |||
e4a36582f7 | |||
efd5617a89 | |||
387066f34d | |||
7eebeee1d0 | |||
ced560f0c7 | |||
c0cbe38fc5 | |||
1bc6653499 | |||
|
78ccdfced9 | ||
fcb01e21cd | |||
ad04d90940 | |||
938456e014 | |||
|
f1fa050ea5 | ||
|
e82aa34967 | ||
|
65381e7638 | ||
|
21739a54d8 | ||
|
d1fb7d312e | ||
1008524b35 | |||
7dc2ffe46c | |||
ffbf863046 | |||
e82dd613db | |||
468e8a9298 | |||
6860ea589e | |||
7185214a5d | |||
1054413a10 | |||
|
81f5e3cd8e | ||
|
75f0245817 | ||
|
021a24a100 | ||
|
390231e8dd | ||
c085492c27 | |||
98a8cdbc53 | |||
863c622631 | |||
12f9e1b1e3 | |||
655f965084 | |||
51b568f099 | |||
3927f86e58 | |||
7d07ac4f2d | |||
29743f0608 | |||
049ee71b43 | |||
5f68f40579 | |||
43cc3ca243 | |||
c50fec4abb | |||
8820821f41 | |||
5c0e36e48b | |||
c468e8e865 | |||
|
b0ff574e95 | ||
2a41085419 | |||
5f0ff9f635 | |||
4ebc1182f1 | |||
e322fb80dd | |||
6e196e857f | |||
ecb0003a37 | |||
dd822d4e24 | |||
948dc9a76b | |||
735de0bbf6 | |||
80dfe53204 | |||
ed8f6ce9b6 | |||
fc51cb398b | |||
835c56afcf | |||
2cfb7e4b15 | |||
f763a0896e | |||
60b31e6133 | |||
af2c37bda6 | |||
6ca7261976 | |||
7e6c6c6d5b | |||
32eb71677e | |||
b0eb4ecba3 | |||
69adddafed | |||
0d31d25d7b | |||
4c9114fac4 | |||
22a23c45a2 | |||
8a6c58ad74 | |||
e9e8a4aa34 | |||
48d77455f8 | |||
96a037d508 | |||
921b074e6b | |||
2acff557d0 | |||
e2fe90126b | |||
a7dd487d3e | |||
|
dd8f8b6caa | ||
|
61bafb72d6 | ||
|
5f18e3ae2d | ||
|
8d9bc3afb1 | ||
f6f6475908 | |||
b5adad0eaa | |||
59d127e089 | |||
ff7bba76cf | |||
|
826987d3a2 | ||
|
fd0b77bc11 | ||
f808a7b7f7 | |||
a9a6b0d753 | |||
|
4c6e405e06 | ||
|
67080b75c8 | ||
|
e1869189cf | ||
|
26cf7c9779 | ||
|
ca2b08a5df | ||
|
226552bc24 | ||
e28ad52e80 | |||
964fcc1e54 | |||
9310ccd2f8 | |||
|
bb4e494ec6 | ||
|
503005eac8 | ||
|
892078eb4e | ||
|
aff951c964 | ||
|
56871c7072 | ||
|
c7e9f4c6cb | ||
|
1db31dc405 | ||
|
d8757f6aa3 | ||
|
578c654541 | ||
|
786a5e86bd | ||
|
bb8aba7adc | ||
|
d0c555e62a | ||
|
d26bc06459 | ||
|
425350c39a | ||
a094f59a28 | |||
|
3906964d6a | ||
|
5774b583eb | ||
|
19e6f596c0 | ||
|
4f99d04c0a | ||
|
6bd0a80a02 | ||
|
3cf88a3a25 | ||
|
ea87601291 | ||
|
842d4fd92b | ||
|
7a2e89f4bd | ||
|
b072860a45 | ||
|
12a87c17ff | ||
|
edbeb4d8b2 | ||
|
dece309fce | ||
|
44e6dc30b4 | ||
|
0227e1bce6 | ||
|
5a95d1730a | ||
|
9ddc2a6f83 | ||
|
3cd206effc | ||
|
291e00bc6c | ||
|
36c1557c99 | ||
|
16ead75851 | ||
|
62db24a43c | ||
|
e14f335253 | ||
|
3250ba7c00 | ||
|
9323574f0f | ||
|
17047f9cfc | ||
|
807cd5c80d | ||
|
784e374f78 | ||
|
989ce36da0 | ||
|
9b7af555df | ||
|
0a9d8ff99b | ||
|
e2a5a82758 | ||
|
8c219d75a3 | ||
|
daf3b0b292 | ||
|
f2904d1f29 | ||
|
5d130c9ecb | ||
|
bd1e9dcc25 | ||
|
6af9357ba1 | ||
|
3cef3759a8 | ||
|
7483b7a8ad | ||
|
0dc5aed374 | ||
|
410226aa36 | ||
|
dc902a967e | ||
|
fe93d71133 | ||
|
e1b9630383 | ||
|
0f82126115 | ||
|
dc4cc8f3e1 | ||
|
219a5df9ff | ||
|
fc689d9a12 | ||
|
b65a8d5c6d | ||
|
ec3f04cab3 | ||
|
85586a0d0f | ||
|
19f8084873 | ||
|
98aff5cd1a | ||
|
82eda00edd | ||
|
e68e058e6a | ||
|
9490b2e48c | ||
|
f96e053417 | ||
|
7f15b6ab24 | ||
|
602130c0f7 | ||
|
fee6e34d34 | ||
|
37e375658e | ||
|
891308ffae | ||
|
e051184c12 | ||
|
1b58896a2e | ||
|
84d5f87eea | ||
|
b0c72c989e | ||
|
684346bb49 | ||
|
ee203ea4ad | ||
|
da1024e686 | ||
|
dc941ca543 | ||
|
b637cf7333 | ||
|
ff35a07fa3 | ||
|
64b778f11a | ||
|
b89989fa20 | ||
|
67b705117a | ||
|
545a46a0a1 | ||
|
6049832b09 | ||
|
473b05c77b | ||
|
d24fca3a89 | ||
|
db9227e95d | ||
|
51f31cac8a | ||
|
900a251d25 | ||
|
244a7529cb | ||
|
c50d8b9a3b | ||
|
04c809ad58 | ||
|
0241dc1f4e | ||
|
f6e5680a16 | ||
|
fc1d8dfb26 | ||
|
e1354889ec | ||
|
44b4a1fe9c | ||
|
a56cdaee59 | ||
|
d781142af1 | ||
|
4f5a119d6a | ||
|
e113cd9687 | ||
|
1f29452070 | ||
|
cac4b7d891 | ||
|
f0ebbdb6a4 | ||
|
66eb754564 | ||
|
507da18a8b | ||
|
032d6dcae7 | ||
|
cfae145756 | ||
|
235a1342f8 | ||
|
6d0427ff55 | ||
|
ed6db227cc | ||
|
b48fb4e277 | ||
|
afcb459c0d | ||
|
3a31940fe9 | ||
|
e12c90a529 | ||
|
3401440d3b | ||
|
3b25f65602 | ||
|
44233c5446 | ||
|
052b6fc4bb | ||
|
fbd4706604 | ||
|
567266fdfc | ||
|
f6663fe987 | ||
|
1182f46d8c | ||
|
9c123b41e9 | ||
|
3c44bb305d | ||
|
b0478b020b | ||
|
4875a85fce | ||
|
1af914b6b1 | ||
|
8b65614827 | ||
|
ea2d20c55f | ||
|
3f6010377e | ||
|
b3112585bb | ||
|
d6a51d3fc9 | ||
|
196bf97053 | ||
|
3d882de822 | ||
|
5fe2b74d30 | ||
|
a32b4f2c86 | ||
|
0a62df7875 | ||
|
d26410abc7 | ||
|
ed8637f449 | ||
|
95cb0c224f | ||
|
6d6f9ff341 | ||
|
fab316995a | ||
|
7044354843 | ||
|
f83909c67d | ||
|
829d4ead3c | ||
|
99cfdfd6f6 | ||
|
ca1aa7f02c | ||
|
4b2f195568 | ||
|
eba343b868 | ||
|
94d85929b4 | ||
|
6d3f6c3165 | ||
|
2ea2823a35 | ||
|
b20ef3074a | ||
|
c31f60ffa7 | ||
|
3673da711c | ||
|
a72c19adc5 | ||
|
c820cab550 | ||
|
256335adde | ||
|
0cb7e2a1aa | ||
|
6b12ae32ea | ||
|
9b8ef5d64c | ||
|
15ae889600 | ||
|
053237600e | ||
|
5c71734acb | ||
|
6141392ab9 | ||
|
941395437b | ||
|
57b5275705 | ||
|
b9a776c979 | ||
|
72341e832e | ||
|
d0ede5de85 | ||
|
a4811de1e0 | ||
|
9f2238c019 | ||
|
2fc811ccc0 | ||
|
a8677d1afc | ||
|
fb12fd3e4d | ||
|
ac28cd7542 | ||
|
8a5c065901 | ||
|
c28482264e | ||
|
9a0a61e698 | ||
|
f099d9ae69 | ||
|
1504777bcc | ||
|
99c9b3a867 | ||
|
0e7c4354c9 | ||
|
bff550c6d9 | ||
|
33fac6be68 | ||
|
a635964fc8 | ||
|
e827d0beb4 | ||
|
2c2f95253f | ||
|
f1dd9c6f37 | ||
|
ee391ae6db | ||
|
3af404d39e | ||
|
ffff56465f | ||
|
d3cb3afce8 | ||
|
4cdc177964 | ||
|
5217132767 | ||
|
fc8ce41184 | ||
|
3e1df369bf | ||
|
b556bc4bd4 | ||
|
c531985afe | ||
|
fd80b451d9 | ||
|
761ab5560b | ||
|
c15785a22d | ||
|
d25b8298ee | ||
|
50ab484fd0 | ||
|
60e56647eb | ||
|
fb9f5cf8cd | ||
|
f3c6c7a93f | ||
|
01e8b5ccbd | ||
|
51ba3dc963 | ||
|
41a422fd01 | ||
|
d1600d4783 | ||
|
b5b7d8ff0b | ||
|
8b6203fc0d | ||
|
277737f940 | ||
|
449cbd815e | ||
|
0aaa141a4b | ||
|
3104b4c48a | ||
|
d0d7dd55c3 | ||
|
24cecbaead | ||
|
2734f70d6a | ||
|
585725d9c6 | ||
|
f8f0ad0692 | ||
|
0592e44ad1 | ||
|
30c8f63155 | ||
|
a2640a9b70 | ||
|
f1577494a6 | ||
|
44c0745954 | ||
|
ae3c331c7d | ||
|
7d80ab10e0 | ||
|
3bd9e813a9 | ||
|
dc88734294 | ||
|
a96a4444a6 | ||
|
35ed7a58f8 | ||
|
02b00926ff | ||
|
30eb6663bc | ||
|
007f61b324 | ||
|
3e98b9e5c9 | ||
|
931117a6b6 | ||
|
03f6060525 | ||
|
6c5e37fb76 | ||
|
7e267af7fd | ||
|
1893ab3494 | ||
|
3526050006 | ||
|
b0723569b2 | ||
|
ce30c5aac4 | ||
|
17e8ea6d82 | ||
|
4f30dc3c0e | ||
|
ce879b2541 | ||
|
6bd3e78dfb | ||
|
24fbb853f4 | ||
|
f6d21299a0 | ||
|
ad613b629a | ||
|
58b7de53c4 | ||
|
a44af35c59 | ||
|
821f69150f | ||
|
add89add1a | ||
|
6063259455 | ||
|
b49ad9d2f1 | ||
|
3fbb4419c6 | ||
|
8897b240c8 | ||
|
b29bf58253 | ||
|
b5f7f14b2f | ||
|
b66a0eb8be | ||
|
08145e3965 | ||
|
1ccb272c82 | ||
|
e6fad59612 | ||
|
e75851c2a2 | ||
|
2f7407a8c7 | ||
|
6ef2eabdd9 | ||
|
41334905c0 | ||
|
d8149e0bee | ||
|
25bf45477d | ||
|
6995b9b6a1 | ||
|
f3bfee3a16 | ||
|
add43975fc | ||
|
1d9d306bca | ||
|
e4d04f1db0 | ||
|
48bd6d055b | ||
|
29cebb79a9 | ||
|
cb0d4e830d | ||
|
077e7b540b | ||
|
cdb9a335e4 | ||
|
389ab31d9e | ||
|
21c44962f1 | ||
|
911e8c3fbc | ||
|
891d0f74e1 | ||
|
3fcdfd72ce | ||
|
4afd475510 | ||
|
ec1b8b71d9 | ||
|
3f1069db50 | ||
|
9bf899098f | ||
|
29ec0ea10d | ||
|
3005f65f3e | ||
|
02d3e602cc | ||
|
70c50c5625 | ||
|
1e783a8c99 | ||
|
230469d544 | ||
|
c17e1df282 | ||
|
116a111d5a | ||
|
8cffcf5b57 | ||
|
61b41e098a | ||
|
ad635a3cf7 | ||
|
87ed97d3a3 | ||
|
7258b95fcb | ||
|
1b873d3e11 | ||
|
90c02cadc0 | ||
|
9858091c20 | ||
|
ad68ca97b3 | ||
|
e29a8aee38 | ||
|
ae83283fc5 | ||
|
2721d55139 | ||
|
54617d09c1 | ||
|
5cd2021502 | ||
|
ac4e78cb17 | ||
|
e0b814216e | ||
|
d896e79aeb | ||
|
12423bb9a7 | ||
|
1650407241 | ||
|
a21d31830e | ||
|
6d2f294252 | ||
|
8a27991087 | ||
|
e307d212fd | ||
|
beed995659 | ||
|
ae0536eb26 | ||
|
3c059e8778 | ||
|
b1980dceec | ||
|
a58b4a084f | ||
|
033659c8c5 | ||
|
9874ec1cd9 | ||
|
4ab4f0ef9c | ||
|
f232748501 | ||
|
2fa6005ee1 | ||
|
9b75760568 | ||
|
72fffb0aa1 | ||
|
a70b360310 | ||
|
a59ea3367e | ||
|
463a175753 | ||
|
f03f405f04 | ||
|
e9e11ddb9a | ||
|
ff20cddcda | ||
|
fd598f23cf | ||
|
f7f2604969 | ||
|
a35d3ea425 | ||
|
4b23a48c14 | ||
|
262eb22335 | ||
|
74b3b217ee | ||
|
9395ebcd06 | ||
|
a961a2d6cb | ||
|
797a719f15 | ||
|
e9fbe01c68 | ||
|
4648a7eee2 | ||
|
87722c3b8d | ||
|
3e54355ef5 | ||
|
a15d836297 | ||
|
880a312656 | ||
|
9066bd1b2e | ||
|
a5b8ce588e | ||
|
bc3130dd64 | ||
|
fca989d668 | ||
c6d5098e8c | |||
2af69af96f | |||
|
c6aa2b46b7 | ||
|
437d603faf | ||
|
54d348d904 | ||
|
62e88d817a | ||
|
fb20983640 | ||
|
de0c08ce5a | ||
|
00fa917e42 | ||
|
95530f2f0f | ||
|
f3ddd892de | ||
|
fb3029ed25 | ||
|
a5e5a0915e | ||
|
4bf021d45b | ||
|
460ace26be | ||
|
8579a68675 | ||
|
701a2671e9 | ||
|
d7618448fb | ||
|
25bfad73c5 | ||
|
917f48ccac | ||
|
62e678468c | ||
|
dd4beb2490 | ||
|
7c8404d57d | ||
|
43ee46e653 | ||
|
524028da3a | ||
|
acb9676f0c | ||
|
882dfacb2e | ||
|
82b35af983 | ||
|
c52a29741e | ||
|
1f362c1803 | ||
|
bf95a9c036 | ||
|
b783016a6b | ||
|
2c36528d98 | ||
|
5abdda6177 | ||
|
380ff54187 | ||
|
8e82dfe5d9 | ||
|
0068de78ec | ||
|
19c2858b32 | ||
|
22ec17d968 | ||
|
1205242715 | ||
|
ba15a17834 | ||
|
b659294a89 | ||
6f508612c8 | |||
e15b2bb521 | |||
|
40d0f45ba2 | ||
|
297b45439f | ||
|
2ae82c3baf | ||
|
a20913ab7f | ||
b5275719bb | |||
|
13365e16df | ||
|
43f0ea2da1 | ||
|
1091d34c77 | ||
|
c38a093d5c | ||
|
d8f5446d01 | ||
|
cd05f1679b | ||
|
84e03145e5 | ||
|
972bb8f232 | ||
|
657b86dee5 | ||
|
72db2bf08e | ||
39837792c3 | |||
|
0aa1a868d1 | ||
|
083422891f | ||
|
b097d65d52 | ||
|
1dcdb8e452 | ||
|
20ff053619 | ||
3548d309c1 | |||
dd72bd4804 | |||
82df79e01d | |||
|
52b3dca226 | ||
|
79970a0b77 | ||
|
cb03565e33 | ||
|
fdce5dc09e | ||
|
6a19c73e27 | ||
|
72feb3356a | ||
|
e18c085317 | ||
|
401d14d9eb | ||
ab188b2a70 | |||
2d278e8272 | |||
|
6deb0a2a9a | ||
|
f0bb5c322d | ||
|
49ba6fb0bb | ||
|
0d0171f07d | ||
|
e2dad09d4c | ||
|
b401e17301 | ||
|
170af5b845 | ||
|
7161df38b2 | ||
|
4b79e98a8b | ||
|
7ef2a3fcd0 | ||
|
0559d2d53e | ||
|
7f58c102bf | ||
|
a0ea3b31de | ||
|
a88aebf2fb | ||
|
ab4ea1e144 | ||
|
aa648dd876 | ||
|
4781c7a8ff | ||
|
2b5d5c089b | ||
|
dbcb600857 | ||
|
72487ca844 | ||
|
804b6b0075 | ||
|
83add89edb | ||
|
c836b73bf2 | ||
|
ecfa47bdc7 | ||
|
80740b46a4 | ||
|
86aedcff1e | ||
|
ad2b66c246 | ||
|
6514226078 | ||
|
b67a171983 | ||
|
05a978e901 | ||
|
900d16654a | ||
|
21dfa78b0b | ||
|
b4276f683b | ||
|
b2a6acdf97 | ||
|
4575142c60 | ||
|
bb03265ec0 | ||
|
11022c42b6 | ||
|
c04d2db80f | ||
|
ac0a5f1daa | ||
|
39cdaf045f | ||
|
9fe75abfba | ||
|
0dbf6751b7 | ||
|
731ec80ac1 | ||
|
dd899e67b9 | ||
|
b233ad0d4d | ||
|
3e20cadca1 | ||
|
4531ef6e4b | ||
|
0b363a4b96 | ||
|
b6d72d79af | ||
|
984c6a62a4 | ||
|
ba09754f48 | ||
|
159251911d | ||
|
3020e80650 | ||
|
18f79fd12a | ||
|
de09d0aac9 | ||
|
e4784f870d | ||
|
1ef63471aa | ||
|
dd20db9815 | ||
|
e9cf02914c | ||
|
4494d0bff5 | ||
|
2b7e92d9f6 | ||
|
c070627d99 | ||
|
504e5dba18 | ||
4b3b53775d | |||
|
6ec1380e56 | ||
|
c8ae4f4286 | ||
|
814f1307db | ||
|
6aba4c136f | ||
|
156e65909e | ||
|
eb692b71ec | ||
|
3016b4e32e | ||
|
6894e5446a | ||
|
9675c87a3e | ||
|
492be3029f | ||
|
60c118cae9 | ||
|
c3499a347b | ||
|
3b4a8e8a45 | ||
|
5b2d866d6b | ||
|
0c3af1fc19 | ||
|
afec346b39 | ||
|
6db9463c24 | ||
|
0b6d78a5ce | ||
|
4eb70e7b2e | ||
|
7fd724eca3 | ||
|
8a85d6d5cf | ||
|
0667f13290 | ||
|
f4b281a639 | ||
|
cecd2af590 | ||
|
43165e0bab | ||
|
c33c43f93c | ||
|
650d7c4810 | ||
|
8c6c3f56e6 | ||
|
350043980e | ||
|
04a9ce2d3a | ||
|
c0118398bb | ||
|
514ad900c5 | ||
|
3a263d9243 | ||
|
083035d3c8 | ||
|
2d25df3cbb | ||
|
fa5430a1d3 | ||
|
0f7cd80500 | ||
|
235d29fe26 | ||
|
7f6226ac17 | ||
|
486e9a5836 | ||
|
da7bdcfba0 | ||
|
fc7f7bab1a | ||
|
d718e290ac | ||
|
1cd44d18a3 | ||
|
d19b83008b | ||
|
d23d0af914 | ||
|
2e2603c4e0 | ||
|
29961b8006 | ||
|
134d1483da | ||
|
ab280132bd | ||
|
449a1a727a | ||
|
b0bbada2a5 | ||
|
3f7126bfa2 | ||
|
b1a958a394 | ||
|
00ea378a37 | ||
|
a7cac41923 | ||
|
2041c54dfe | ||
|
b80b83ffb3 | ||
|
740091f4d8 | ||
|
383c7b0e9c | ||
|
6315f6c10f | ||
|
9a4401d6c4 | ||
|
14ee73a230 | ||
|
a874998ffb | ||
|
dcc0accdb3 | ||
|
b11fce933f | ||
|
585666e577 | ||
|
21838fe606 | ||
|
e6c287b35f | ||
|
20354228a2 | ||
|
68756f4b3e | ||
|
2ec32f146a | ||
|
748779d346 | ||
|
4f7765259a | ||
|
6139814575 | ||
|
414b22836b | ||
|
d843138386 | ||
|
7e00def51c | ||
|
b210d5cd11 | ||
|
f3ce79f6c4 | ||
|
00c9d56922 | ||
|
572194d2bc | ||
|
54ab7ca121 | ||
|
bfdd643a99 | ||
|
aaa15f5670 | ||
|
8e71110ad4 | ||
|
5d5315f623 | ||
|
fb77729856 | ||
|
9a98f81710 | ||
|
a38f504db3 | ||
|
a40d1191ab | ||
|
15871d0155 | ||
|
2d69a460aa | ||
|
a06c6dd30b | ||
|
aabef79846 | ||
|
bc3336f29b | ||
|
847d6096d7 | ||
|
bb664d0864 | ||
|
078b0bc0a7 | ||
|
67142a197d | ||
|
d02fc19ac9 | ||
|
2199839a16 | ||
|
0ca4922081 | ||
|
f249f893c5 | ||
|
f1bb105b54 | ||
|
b2bf03b033 | ||
|
84e6a5f2f8 | ||
|
602f420f18 | ||
|
32f5f25b9e | ||
|
db03770c72 | ||
|
68db756b0e | ||
|
0eae6629ee | ||
|
694139d897 | ||
|
21117936ad | ||
|
d818de0d0a | ||
|
4e4cae0534 | ||
|
192f0b1df6 | ||
|
5ec24e7ba8 | ||
|
bc8653a873 | ||
|
578ecb148b | ||
|
e36bbce6d3 | ||
|
fe74d6e0ad | ||
|
377752ae02 | ||
|
a6c3cef342 | ||
|
ac544fe0dd | ||
|
9bd30b6a66 | ||
|
dfd673e7b6 | ||
|
78eabaa7cb | ||
|
cff3a556ee | ||
|
cbcc04c1fb | ||
|
db45092717 | ||
|
58e9431da1 | ||
|
bb0aebb02f | ||
|
5496bcfb04 | ||
|
3e7c260787 | ||
|
2108be3807 | ||
|
df7c3e0c86 | ||
|
e6d7fe7520 | ||
|
59d38d2ea8 | ||
|
dc9e49c665 | ||
|
ebfbdae001 | ||
|
e5033685db | ||
|
fc37ba8cb3 | ||
|
89dfbbdaa1 | ||
|
9def07d6e9 | ||
|
f779decdfc | ||
|
736769cc80 | ||
|
47b101827a | ||
|
5924f93f81 | ||
|
c32fec5dde | ||
|
6022d616b5 | ||
|
8c4273631d | ||
|
33d59c0c59 | ||
|
9a6757f75b | ||
|
16eca87022 | ||
|
9491159dbb | ||
|
d47a2de6ff | ||
|
4ee8b35d80 | ||
|
56f83cb75b | ||
|
37f26241c4 | ||
7860cbdde2 | |||
|
2c2e9fbbb5 | ||
|
f5b90c23f1 | ||
|
50d4eb0d93 | ||
|
bd8b266fa9 | ||
|
21be4d8651 | ||
b3c82d5a06 | |||
ef369a61bf | |||
80b6083da7 | |||
|
69cad60e86 | ||
|
9405046ee5 | ||
971a740a0a | |||
f2cc5103b4 | |||
|
29407f6444 | ||
|
e85a87f8d2 | ||
|
ddb6119b4d | ||
|
83dd1e7c1f | ||
|
6a96d0c7a0 | ||
|
7c658fa9db | ||
|
1213c464e3 | ||
|
332f98cbd0 | ||
|
118c9d9f2b | ||
|
46a14e1941 | ||
|
c41fed49cc | ||
|
0ccb0f1010 | ||
|
9eb4285880 | ||
|
5910237039 | ||
c9463fe57a | |||
|
1c51121bdc | ||
|
c82daee623 | ||
|
620ce4c305 | ||
|
cab28b406a | ||
|
f122e203b3 | ||
|
412ba832d2 | ||
|
e7a7969e9d | ||
|
63fc1fda7e | ||
|
22678cc604 | ||
|
9d6d477e4e | ||
|
3204eb14a6 | ||
|
b203fcc43e | ||
|
836ef1bb04 | ||
|
1121dcbfdc | ||
|
c8a3c3d702 | ||
|
7b232f7eb1 | ||
|
676f4a06f0 | ||
|
5c1714d855 | ||
|
16046c5e71 | ||
|
7298b70d3b | ||
|
3902f06136 | ||
|
1b26370377 | ||
|
7b622f8c54 | ||
|
ae6d3738d2 | ||
|
1611d75c3c | ||
|
7b82ff2e81 | ||
|
8edbd4e2bd | ||
|
6daa6c0794 | ||
|
36e9e09f7f | ||
|
ebf02d851d | ||
|
478df4b853 | ||
|
66876ba214 | ||
|
75ebaa75be | ||
|
1186a277ae | ||
|
d47c1f1643 | ||
|
7fadb9ce20 | ||
|
0aed9bbdc5 | ||
|
0cb7650e6a | ||
|
d4d13f5adc | ||
|
e431e18d45 | ||
|
65a11b1b08 | ||
|
820342fc6e | ||
|
a90c2e6615 | ||
|
f759dbfa91 | ||
|
edfdfd5a79 | ||
|
e6824fe0ee | ||
|
80e0d4e012 | ||
|
91a92b6072 | ||
|
55ab51da25 | ||
|
f6fe185e30 | ||
|
852543386c | ||
|
d4ac3d2726 | ||
|
34b1a8641a | ||
|
e41f6c02f1 | ||
|
2cea688e10 | ||
|
c3cd2be291 | ||
|
cd047f9371 | ||
|
181b7286d2 | ||
|
c06106ec8d | ||
|
afcef645b9 | ||
|
2f3f7d665c | ||
|
abf807e0ad | ||
|
cf875fbf48 | ||
|
d1279f6d41 | ||
|
f9f99408ab | ||
|
ad9da0be95 | ||
|
66016004d1 | ||
|
bea5a4a0d0 | ||
|
f2441616e1 | ||
|
729a7fa888 | ||
|
8509b4b6c3 | ||
|
0e43265cb8 | ||
|
41233a115d | ||
|
fb6c213f1c | ||
|
db95fb181c | ||
|
b81f231c70 | ||
|
a3fa56750c | ||
|
9cbe269390 | ||
|
c744b0624f | ||
|
752966cb47 | ||
|
4c50f96e3e | ||
|
4b72017330 | ||
|
e1fb468424 | ||
|
dcf63357f7 | ||
|
63b6b2843d | ||
|
379f778e98 | ||
|
6919ade74e | ||
|
39f8bbe85e | ||
|
cb92ec8469 | ||
|
f4eb8a9735 | ||
|
be96b27a88 | ||
|
e7bca045d1 | ||
|
fc0edbb269 | ||
|
9757afbffc | ||
|
d0d0517993 | ||
|
1336e51ba0 | ||
|
1aa4fe75c9 | ||
|
86d4f5dc5d | ||
|
c00c2cae25 | ||
|
c3c858f9a3 | ||
|
326f30a88b | ||
|
fa3ddd8a68 | ||
|
103f0f446f | ||
|
bc44143b14 | ||
|
06c8b33950 | ||
|
0854a71ca0 | ||
|
6e4bf10db0 | ||
|
8b05e95712 | ||
|
dbfcfdcd27 | ||
|
e7c799a813 | ||
|
45cc20d002 | ||
|
c3edc5407d | ||
|
11dc7d3651 | ||
|
f2f23f82e8 | ||
|
1ec82737bf | ||
|
ad8b7e11ec | ||
|
86e880c713 | ||
|
3e98b1f4bf | ||
|
f84ab79675 | ||
|
b64c845258 | ||
|
dd8ac80a09 | ||
|
b51be97d41 | ||
|
527a1bc846 | ||
|
ed6712719c | ||
|
4bb6f72baa | ||
|
d5d5fb49ba | ||
|
350ffd0d73 | ||
|
da0502ecfe | ||
|
d18ae12d12 | ||
|
613344a006 | ||
|
ef0176fec0 | ||
|
d8a508c55e | ||
|
61f9b6476e | ||
|
9593e25aed | ||
|
b1680f8ad0 | ||
|
cd7497c7bc | ||
|
3b4e89441c | ||
|
ddf4b1f8e7 | ||
|
96605d1c69 | ||
|
b7f0aa4ee2 | ||
|
8a30ebf693 | ||
|
25fd8cb805 | ||
|
67d7e915ee | ||
|
34eaf86d50 | ||
|
d2b9023500 | ||
|
623c639154 | ||
|
9fd550a27e | ||
|
e758330257 | ||
|
d0762a608c | ||
|
1ccd0fb75c | ||
|
2a0524aa6b | ||
|
1c872e712c | ||
|
1dabbb6e55 | ||
|
5e57c31411 | ||
|
58540c9493 | ||
|
ea2d716210 | ||
|
0d0b99f4c0 | ||
|
f752601c16 | ||
|
6385a1e0d1 | ||
|
f6d4aea699 | ||
|
1f0fdb922d | ||
|
b5f128a341 | ||
|
fb1f5154e4 | ||
|
a9553bb471 | ||
|
d76b720a8d | ||
|
d0660ac1b5 | ||
|
cd3fdb4fab | ||
|
ab378b0806 | ||
|
cf1d403ab3 | ||
|
435d2a5ee8 | ||
|
f9a327a9e8 | ||
|
e05d4eabc8 | ||
|
c57877dfb8 | ||
|
58a109b727 | ||
|
84751f86a6 | ||
|
58b09f4436 | ||
|
1a3434837d | ||
|
d728d7fe21 | ||
|
88b3579908 | ||
|
a156431e69 | ||
|
8783b0e01c | ||
|
3aa000e95b | ||
|
437dfb94d3 | ||
|
24e878c176 | ||
|
b5b60e3d92 | ||
|
02ce5cc92e | ||
|
5c804670cb | ||
|
c632c8f8bd | ||
|
05bce5953e | ||
|
3a55bd1b5e | ||
|
9f8774adc7 | ||
|
d76533a0c9 | ||
|
1a62a3db34 | ||
|
8044f33450 | ||
|
5efab894ef | ||
|
8b446fea01 | ||
|
0f3d15cee5 | ||
|
961f755c4f | ||
|
37574fbdfd | ||
|
af84ec19c9 | ||
|
3d6da7803d | ||
|
04d8589d29 | ||
|
97c5399c9b | ||
|
3b2a106503 | ||
|
ac0fc677a5 | ||
|
a878d5919a | ||
|
5050abc53d | ||
|
29f4faa3a1 | ||
|
e78b126148 | ||
|
b316462c69 | ||
|
42a088ef58 | ||
|
7e44b71d6d | ||
|
9b97203b3a | ||
|
5982de3b48 | ||
|
24fb08d1fc | ||
|
7218ddd4da | ||
|
f369c4ca1b | ||
|
1682808eca | ||
|
3c29cd2e32 | ||
|
42989de65e | ||
|
878b7ee06d | ||
|
56c1973ca5 | ||
|
904acb7b17 | ||
|
4539f0f74a | ||
|
06fa3713a7 | ||
|
6d4978f652 | ||
|
37e51812d6 | ||
|
bea4c3a5b7 | ||
|
eafca524bc | ||
|
3b539848c0 | ||
|
ab5694092e | ||
|
38b4f265ce | ||
|
5ebbfe70a3 | ||
|
d8feb2620b | ||
|
fa38fbc172 | ||
|
6bdb02ec6a | ||
|
9e43503ced | ||
|
7209fd9709 | ||
|
5e2494462a | ||
|
7991eb888f | ||
|
d743c82c89 | ||
|
365fab6a63 | ||
|
0c8b653c1e | ||
|
27a31bd736 | ||
|
8f4bfdd54b | ||
|
0ecfcd0fba | ||
|
879015efd5 | ||
|
df88235e04 | ||
|
96a8d6f95e | ||
|
f9ce4c8c07 | ||
|
2b2fdf59c1 | ||
|
04a1b2cb80 | ||
|
0e2aca1c07 | ||
|
23efbd457d | ||
|
e95169cfe6 | ||
|
70edf7bedf | ||
|
3a55c1b270 | ||
|
5bc692e923 | ||
|
107aaa6a59 | ||
|
1a7a054894 | ||
|
18dbec3dd8 | ||
|
a8b9ffd154 | ||
|
43b1b5edd8 | ||
|
1c9bdff6af | ||
|
a9aadfe00c | ||
|
ceebcdb96e | ||
|
828ba529dd | ||
|
e9c32f20a1 | ||
|
962d53336c | ||
|
fe455cb556 | ||
|
f671a6b838 | ||
|
e284f39be5 | ||
|
0eb623afd5 | ||
|
d26b968ae8 | ||
|
3c8f9f8890 | ||
|
525739eaa5 | ||
|
0deb7c3a53 | ||
|
70ea9f7aa3 | ||
|
4def8eed1e | ||
|
022bc2a2d8 | ||
|
fc9120d77f | ||
|
70eb0c5e5d | ||
|
95dd5feb63 | ||
|
6c44c5fa66 | ||
|
21e98e793e | ||
|
8651432157 | ||
|
2b916bc2df | ||
|
00070358f9 | ||
|
3eea4d97af | ||
|
f889624d86 | ||
|
c54d767b6e | ||
|
ed3220768a | ||
|
8e96cfb709 | ||
|
b8c6201d40 | ||
|
a021cbf791 | ||
|
2ab0f17678 | ||
|
47e6955aa2 | ||
|
530afc9f88 | ||
|
a74ec62b68 | ||
|
806260212e | ||
|
5d754c46a7 | ||
|
4d1e6868cd | ||
|
6b5713b80a | ||
|
67988a8d62 | ||
|
48489e8200 | ||
|
fdf3915d9e | ||
|
57efa85f29 | ||
|
c7d2534811 | ||
|
514d9a353c | ||
|
fde3b335db | ||
|
0856559870 | ||
|
7af9cc6a22 | ||
|
cb02290e3d | ||
|
c5996c52ea | ||
|
73e377dde1 | ||
|
908424d18a | ||
|
92da97550c | ||
|
11257b4765 | ||
|
e5514d7099 | ||
|
4f59be6597 | ||
|
14f8f1e8d2 | ||
|
d3e5eaca9d | ||
|
7c9e4b0fa5 | ||
|
2dc2851aee | ||
|
773ef11ab0 | ||
|
335f351c5c | ||
|
60b61d63ca | ||
|
a37a4e9216 | ||
|
3ff46c6dd3 | ||
|
034153f251 | ||
|
c4c3505545 | ||
|
892fe4b6e1 | ||
|
0dd4dba0f7 | ||
|
abaa492d2a | ||
|
c509e3a030 | ||
|
127395afdb | ||
|
9ef4316dd6 | ||
|
d8dc1fc61e | ||
|
e72037c35f | ||
|
b21a0d8ddb | ||
|
732fab12b8 | ||
|
b953e6e3b2 | ||
|
aaeba92e4b | ||
|
6ad5e1ae28 | ||
|
e51725aba0 | ||
|
301d589fae | ||
|
2127a6738f | ||
|
628cadcf49 | ||
|
4527bda2b5 | ||
|
dc394199be | ||
|
6a29c2b465 | ||
|
71c4482c76 | ||
|
856133d12a | ||
|
25fc5f7126 | ||
|
d4c3769bf5 | ||
|
0c4bb5b7d4 | ||
|
f7e929441c | ||
|
fb04c05289 | ||
|
2373d63719 | ||
|
1f84ed41ac | ||
|
344c0da36e | ||
|
bcf5542565 | ||
|
a77a6cf602 | ||
|
9f842e8c5d | ||
|
343fad7638 | ||
|
9bcdfd7cd0 | ||
|
0b2b5718aa | ||
|
4220bf13f1 | ||
|
78d647f521 | ||
|
bee76afeb7 | ||
|
46fc141e97 | ||
|
d66c3965d4 | ||
|
156ad8f721 | ||
|
183e222f67 | ||
|
21d0cffb54 | ||
|
05753dc7e5 | ||
|
4d0d1b33bb | ||
|
700f2b41ea | ||
|
91136fed4c | ||
|
0c3997ccc3 | ||
|
7aa8a8ac87 | ||
|
c93316078c | ||
|
3933fbf91b | ||
|
44dedeb839 | ||
|
4f7de157b1 | ||
|
8014a390cb | ||
|
4f074f329a | ||
|
0143f7a9dc | ||
|
9778df82eb | ||
|
51d814d56f | ||
|
479a70509d | ||
|
1c635f8b5c | ||
|
755a0f5606 | ||
|
7e45ee5fbf | ||
|
771c13d82d | ||
|
b3e46bd821 | ||
|
026dd7faad | ||
|
255d6e9812 | ||
|
d15113234e | ||
|
20851907c2 | ||
|
bb399fc79d | ||
|
24a973e662 | ||
|
e3d8976274 | ||
|
5cc104466c | ||
|
da007f9506 | ||
|
35791bf5fb | ||
|
9b9028df72 | ||
|
90ef29fb1b | ||
|
20ea453c35 | ||
|
0620912aa2 | ||
|
70b3069cb9 | ||
|
d1b5b820ad | ||
|
f042bbd36a | ||
|
ba42d67be6 | ||
|
1b27fedb9f | ||
|
e4343eb563 | ||
|
01edf54603 | ||
|
418976539e | ||
|
0ce19fb080 | ||
|
4e073785ab | ||
|
9d53d33ef9 | ||
|
a95dcd16a4 | ||
|
65115dfa9a | ||
|
2a7fa165ec | ||
|
79f1134805 | ||
|
5646c3881a | ||
|
59bec76b45 | ||
|
f2180bfa81 | ||
|
2664d31a7d | ||
|
e0592e5319 | ||
|
c7257e22d0 | ||
|
6f3f82f40a | ||
|
381e235e19 | ||
|
ac9e98e7cd | ||
|
8459618f36 | ||
|
1967c7d76b | ||
|
71aeea336e | ||
|
fad94431e0 | ||
|
426a0d0c9d | ||
|
f90f174719 | ||
|
c16fc50354 | ||
|
33808d06b3 | ||
|
08b2a25561 | ||
|
392265358a | ||
|
1138a509ec | ||
|
c444ada032 | ||
|
b8dd92a125 | ||
|
e3eed21f50 | ||
|
2b48e43964 | ||
|
6bd558bcb0 | ||
|
0dd94cd340 | ||
|
4df534a590 | ||
|
ed407c3188 | ||
|
e2c62701d8 | ||
|
a730e1b1c0 | ||
|
18d1d5ed60 | ||
|
23451becef | ||
|
6398e21b3b | ||
|
c491999cf5 | ||
|
112bc0f6c1 | ||
|
f89a057ffb | ||
|
b72efe9dfb | ||
|
d8a7f6c3d4 | ||
|
f8d3f0e25d | ||
|
7ac392b088 | ||
|
98a6050140 | ||
4f33588483 | |||
|
9192cde250 | ||
|
61872cfac8 | ||
|
0c20effa47 | ||
|
8934c855ea | ||
1854389d32 | |||
|
12dc7af723 | ||
|
659238c00b | ||
|
1eb454d97f | ||
d45f7a1e99 | |||
|
dc5bba8ddd | ||
|
4680e25ff6 | ||
|
9466ccd76e | ||
|
8573a3a5bd | ||
|
cdedb03d27 | ||
|
2eeeac908c | ||
|
29c4e2bcc3 | ||
|
f1f4dbf8c1 | ||
|
9f72af845f | ||
|
4704ab1770 | ||
|
3903309a06 | ||
|
413e2b09c4 | ||
|
8f501fc508 | ||
|
f51f991879 | ||
|
4af0757ca3 | ||
|
69c67ff4e6 | ||
|
f0e9bc064a | ||
|
61c16b9743 | ||
|
726c656689 | ||
|
8a718dc76e | ||
|
58270ab3a6 | ||
|
b4f0635ffa | ||
|
2a24c4f8aa | ||
|
e1139be0ff | ||
|
69bf4432a6 | ||
|
c36745a7f5 | ||
|
b3ee1d4060 | ||
|
fa49592735 | ||
|
8c7513a056 | ||
|
a788892f3e | ||
|
65c27906ac | ||
|
49ed56a83f | ||
|
252fb40ee0 | ||
|
63321fbae2 | ||
|
b326f01bb6 | ||
|
e03a831981 | ||
|
e861a86c30 | ||
|
0f40d6142b | ||
|
b19370cdbc | ||
|
6fd57e8598 | ||
|
1d8560ea28 | ||
|
ddbf06f173 | ||
|
0229f6bcc4 | ||
|
40861948b9 | ||
|
c8331a38e2 | ||
|
be5dcabf62 | ||
|
866f4fdf2e | ||
|
f334900a79 | ||
|
cf6d9b8330 | ||
|
b201bf8f35 | ||
|
1b223aef93 | ||
|
1b1b26c9db | ||
|
15cae3e3e7 | ||
|
3b93e81170 | ||
|
6f8907c6bd | ||
|
38ef27fbce | ||
|
477094bde7 | ||
|
75f6e3515b | ||
|
1e63855c80 | ||
|
11d95ce2f1 | ||
|
a3697b8d82 | ||
|
da7ba1dc51 | ||
|
33b48ff93a | ||
|
bc85445744 | ||
|
c3af34272f | ||
|
c908d1d097 | ||
|
0a030f932a | ||
|
ae38654a7a | ||
|
9934a5af4c | ||
|
7ad0968ea4 | ||
|
adbd17d6aa | ||
|
ff6b590148 | ||
|
57091f8943 | ||
|
1a5c665579 | ||
|
2a7fe39e24 | ||
|
06ded876ca | ||
|
833ca87ae4 | ||
|
a410c358e5 | ||
|
2b58650ee2 | ||
|
7ab7cff668 | ||
f1b50186fb | |||
|
05c39cbd92 | ||
|
fbe488ec6e | ||
|
f02fb895cd | ||
|
af52a36f3d | ||
|
f1ab90effd | ||
|
2c907f75c8 | ||
|
265fc2bf77 | ||
|
54f60eecef | ||
|
eee11438d7 | ||
|
750f209035 | ||
|
fbf6dfe693 | ||
|
cf1b70d48a | ||
|
1e80a31348 | ||
|
e7e5467d8f | ||
|
06685adbec | ||
|
4239bb201b | ||
|
7991f133d5 | ||
|
1271379eda | ||
|
68c69d7ba1 | ||
|
3670bafb9f | ||
|
dd4be4b6b6 | ||
|
b31871fdfb | ||
|
5e13b2c99e | ||
|
4d5e555051 | ||
|
5f327ae473 | ||
|
fd7b12c906 | ||
|
945c18b4ba | ||
|
460fe9c892 | ||
|
aa9cc97c07 | ||
|
997e01da64 | ||
|
11b45fe9c4 | ||
|
092070bb73 | ||
|
bebeecfa77 | ||
|
cdba357096 | ||
|
304c08f8a3 | ||
|
a21e6464f6 | ||
|
7a727927a9 | ||
|
b173eb0200 | ||
|
b565d6a166 | ||
|
2f51ace37c | ||
|
9b70db7a0e | ||
|
12dea26028 | ||
|
83d29f6a60 | ||
|
08c443ce6a | ||
|
38c9d74be6 | ||
|
5c8d774f47 | ||
|
e6da507d85 | ||
|
75b2dea067 | ||
|
99ba7d3e3c | ||
|
b972bee305 | ||
|
b703465f8e | ||
|
40a3b57be3 | ||
|
3a4877f84b | ||
|
53a34d861a | ||
|
df1c131648 | ||
|
7bfb70430e | ||
|
c1ef213150 | ||
|
82ed2fccd5 | ||
|
f15dea4217 | ||
|
a68eb60c94 | ||
|
53e006b9da | ||
|
21c33be366 | ||
|
37d086d5f3 | ||
|
4245d6d08f | ||
|
b735055492 | ||
|
d9ee5757fe | ||
|
5d03b49b07 | ||
|
209bfb1c35 | ||
|
6f3d080b34 | ||
|
e512386e9a | ||
|
2185848e6c | ||
|
2ec37bda9c | ||
|
5cf2dbc927 | ||
|
6b631e0f0e | ||
|
311ddd0732 | ||
|
d280a029e9 | ||
|
b64d52a118 | ||
|
a49b59190c | ||
|
e1b65bdc8b | ||
|
cecd13f7d2 | ||
|
f6b9841947 | ||
|
82c0524e00 | ||
|
8bccddd447 | ||
|
5a58a5ba8a | ||
|
a556621554 | ||
0def62ee5a | |||
|
736df12ef5 | ||
|
81d0a86897 | ||
|
f6cf3b758a | ||
|
67f3ccea47 | ||
|
229236b25c | ||
|
b9646ab20d | ||
|
c6e5dcbc95 | ||
|
3101e32ad3 | ||
|
e3cbb5a732 | ||
|
e64aa2780e | ||
|
d8e86948db | ||
|
f2ad5ea065 | ||
|
b379b9050e | ||
|
13a9f914be | ||
|
2f2b0ae051 | ||
|
969ef70c93 | ||
|
4ec134c41f | ||
|
c17acaf3a8 | ||
|
bb0bc89fee | ||
|
b0d1f7f5fa | ||
|
f36e390caa | ||
|
d170d73565 | ||
|
bb9152d2d1 | ||
|
529a6e7e8c | ||
|
d88c8c50d6 | ||
|
d62f95e941 | ||
|
67e4f11fdb | ||
|
609a8700c9 | ||
|
e596a60f64 | ||
|
908f8134cb | ||
|
8236ff3e18 | ||
|
df57e51235 | ||
|
1b08ced5c5 | ||
|
ebb39d0d9e | ||
|
3e6f4392c7 | ||
|
6f39e2109c | ||
|
6a1466b0bc | ||
|
237b785fa9 | ||
|
5b9fe8fbfc | ||
|
9e3d057aa8 | ||
|
a70cf2feaf | ||
|
68891eeb95 | ||
|
8d9c6504b8 | ||
fab69599fe | |||
142f2872ef | |||
7391f5e26b | |||
|
a5170ccd5b | ||
|
e8e2c7098a | ||
|
66e35b7704 | ||
|
98ad7be09b | ||
|
08d3a94429 | ||
|
6a9b9acc86 | ||
|
a2c2fea280 | ||
|
f19623564c | ||
|
577938a1fa | ||
|
f9618455ac | ||
|
4e36815f61 | ||
|
50be1bb115 | ||
|
c18761625b | ||
|
ed6e4d1125 | ||
|
b7a1f113b5 | ||
|
e57a939fa0 | ||
|
3f284fa899 | ||
|
19975df982 | ||
|
e1e09c943c | ||
|
03dd0ca1dc | ||
|
7880764599 | ||
|
27ba52be0e | ||
|
7cf471b69b | ||
|
026d6e1429 | ||
|
144dee55cd | ||
|
2c7bbc011c | ||
|
c0076898b0 | ||
|
a4ba238530 | ||
|
09d983bd29 | ||
|
f2802894fa | ||
|
0b399703b2 | ||
|
fb7c48416d | ||
|
01a7123cac | ||
|
0e6eca74ee | ||
|
90d5961546 | ||
|
f3a623cf95 | ||
|
ae1aa70fdf | ||
|
b85b9f206b | ||
|
c833015c1b | ||
|
b622dbd039 | ||
|
0f77c3461b | ||
|
2a8a21f822 | ||
|
9d6bd72355 | ||
|
04fd6b05fe | ||
|
f2938295ec | ||
|
d155ee6b1a | ||
|
6b443f211c | ||
|
bd499db5ab | ||
|
076b4f7a60 | ||
|
caf5bd02af | ||
|
277d20ac2e | ||
|
42e2552fbe | ||
|
a48bec8be4 | ||
|
415a6cbb27 | ||
|
6170e10a5a | ||
|
0e76a161a1 | ||
|
224085c159 | ||
|
1a090a7ad8 | ||
|
3ca0424f38 | ||
|
98386829cf | ||
|
18922d4e37 | ||
|
0c9ecfd10d | ||
|
275d882f92 | ||
|
bbc63c289b | ||
|
c4f51228fe | ||
|
811410599a | ||
|
d8b1f178ad | ||
|
874d9fcf97 | ||
|
1d73c147d0 | ||
|
8da0efb7c0 | ||
|
b1fc070efc | ||
|
48ed72b6b4 | ||
|
d0c7012318 | ||
|
a79dfbde18 | ||
|
5647d2bfdc | ||
|
6da249a73d | ||
|
846ff46e1e | ||
|
babe14b16f | ||
|
76abbbdddc | ||
|
88b2d41536 | ||
|
a8da2b48bd | ||
|
615c9c65d1 | ||
|
37436236df | ||
|
c37d1670d5 | ||
|
6453f53bd9 | ||
|
b97ba99e22 | ||
|
0ea547488b | ||
|
7040da5438 | ||
|
10540b83e3 | ||
|
e486bbb9b0 | ||
|
ea32bc9da4 | ||
|
0c6d25e038 | ||
|
6f213b481c | ||
|
ae56944420 | ||
|
49b08cc5a7 | ||
|
c57356a5cb | ||
|
0655b03c60 | ||
|
286d522f0d | ||
|
e6cd999687 | ||
|
2d23806586 | ||
|
2c44477ede | ||
|
646ef8f495 | ||
|
16621735c6 | ||
|
87aca52907 | ||
|
1e75ca9b90 | ||
|
3a61763cbc | ||
|
7b97a1314d | ||
|
b8914ce0fd | ||
|
2b3b10e1e1 | ||
|
45d32cc2da | ||
|
9e8f04aa4a | ||
|
e8fcab410a | ||
|
39d8683b84 | ||
|
e45ef47dee | ||
|
f08e350367 | ||
|
c0830be336 | ||
|
ccf197aeac | ||
|
72e12535f6 | ||
|
0f5abe0028 | ||
|
010fef5ee4 | ||
|
2efb42922d | ||
|
dac8f7d54c | ||
|
33175a07c8 | ||
|
0ca20d5842 | ||
|
84416e8a43 | ||
|
60cbbba73b | ||
|
822307984b | ||
|
3271f940cd | ||
|
c1ddf495ca | ||
|
c9efe6d8ea | ||
|
8b8afac449 | ||
|
710dd12e17 | ||
|
c55a192d5d | ||
|
fa4ce3ed6f | ||
|
a4e558cb85 | ||
|
36e0b31790 | ||
|
6f8c9b9837 | ||
|
507949310c | ||
|
8774a52e44 | ||
|
aa1e10691f | ||
|
1b5cbfd822 | ||
|
3a12fe94ef | ||
|
186f7d37d7 | ||
|
253ca75822 | ||
|
2015aeef89 | ||
|
d1a7cd1463 | ||
|
3a03afc09d | ||
|
a2dfb6a9b9 | ||
|
e6959610db | ||
|
4466c58864 | ||
|
a73d52d184 | ||
|
71fae17bf4 | ||
|
512cea20ac | ||
|
fad97efc60 | ||
|
7bdbcf1de8 | ||
|
976db3a463 | ||
|
2b9cee82da | ||
|
5577263f66 | ||
|
6eb8cf9442 | ||
|
fb3196cfd5 | ||
|
6d7a8eba66 | ||
|
76a07955d3 | ||
|
e3dfc52191 | ||
|
75c7dff23b | ||
|
262ba9d5e3 | ||
|
1857ff79c5 | ||
|
8e4c36d83e | ||
|
31987ea058 | ||
|
f9afc55c26 | ||
|
e787d2f209 | ||
|
18684f94ec | ||
|
2e315e21d9 | ||
|
7436ee2237 | ||
|
f5089a8c01 | ||
|
5c9df59014 | ||
|
c583133234 | ||
|
a5feff74f6 | ||
|
ebdf361ce5 | ||
|
a3995df1af | ||
|
1a45d7e049 | ||
|
303e0f4c55 | ||
|
3be7e4db54 | ||
|
2014f13cfd | ||
|
7dc1bb8a2f | ||
|
adba53e86a | ||
|
331dc61787 | ||
|
99a0c1ea84 | ||
|
cd10424299 | ||
|
d8236fb3b5 | ||
|
b25185451f | ||
|
bec04779ed | ||
|
bfc1b8914d | ||
|
d4b8b3c2af | ||
|
817262b331 | ||
|
dbdf74b27b | ||
|
dbd5d63853 | ||
|
be94b98311 | ||
|
17427e1e16 | ||
|
55b48fd484 | ||
|
bebce2ad3d | ||
|
4b91011578 | ||
|
8c080a5da3 | ||
|
2e9be2b71e | ||
|
092cb230c0 | ||
|
e8a45cb3b4 | ||
|
47f548afa4 | ||
|
4b594414ed | ||
|
84e4c9361d | ||
|
08b50f7c59 | ||
|
4a72e955ac | ||
|
fad3f06b5c | ||
|
a85de95c0b | ||
|
f0d4c51ef6 | ||
|
4485040fb3 | ||
|
1e16d82ba9 | ||
|
294dc989dd | ||
|
5045727f11 | ||
|
e55c0e05c2 | ||
|
5e8b1aebad | ||
|
83378773e9 | ||
|
260cca8971 | ||
|
28c6810fb0 | ||
|
b6fb19c935 | ||
|
4cc4742d6c | ||
|
ebcdef2622 | ||
|
e9954c5898 | ||
|
2790dde1b4 | ||
|
b8dea83bce | ||
|
672153dbfe | ||
|
4c94cba091 | ||
|
2f39d4f908 | ||
|
cc29ebbaf4 | ||
|
0a0f32e4ee | ||
|
663dae7289 | ||
|
8f53076707 | ||
|
77f84e9162 | ||
|
1f860b5fbf | ||
|
6236eba83e | ||
|
c08395ae39 | ||
|
c48346b4bb | ||
|
19d1f286e9 | ||
|
6dcb82dc2f | ||
|
69971e8756 | ||
|
7476233449 | ||
|
3d3b839395 | ||
|
bc1b067cf0 | ||
|
9ff623ac77 | ||
|
e2f6ff11a1 | ||
|
84d5d76fb8 | ||
|
9c2b288330 | ||
|
942bbfa1fe | ||
|
084b0e8e6c | ||
|
a70ace86bd | ||
|
fd2882e21d | ||
|
61b8a4a35a | ||
|
30e218b99e | ||
|
2623c03f62 | ||
|
1a9f3a1e21 | ||
|
9a05228c4c | ||
|
5618ac1b4e | ||
|
b98f8b6751 | ||
|
146d9d9285 | ||
|
89e9e1d32f | ||
|
ffc8956b8a | ||
|
7f213bf43a | ||
|
9e5ab59493 | ||
|
352f9c7fec | ||
|
d42fa49170 | ||
|
203e409bc6 | ||
|
84ae9050f7 | ||
|
1d5e54c134 | ||
|
284121edeb | ||
|
7db0c07fe2 | ||
|
51ef5f0ff3 | ||
|
33ea2b629a | ||
|
052b847c7a | ||
|
4236304e84 | ||
|
fcbfb8ace9 | ||
|
4651579309 | ||
|
f99141a97b | ||
|
0af3973929 | ||
|
b40e39c98c | ||
|
ec1aed6650 | ||
|
3c1c5b47b8 | ||
|
71ac4541ae | ||
|
b67b75c3b4 | ||
|
710631429e | ||
|
6109f475f0 | ||
|
0667d9d091 | ||
|
6ecee221e7 | ||
|
3443179755 | ||
|
358d59fc40 | ||
|
6f2647712d | ||
|
2f5c368124 | ||
|
a758a479d7 | ||
|
5a519db3c6 | ||
|
74a3137577 | ||
|
aff761a1ec | ||
|
6939b8cb26 | ||
|
2558a118a9 | ||
|
85a6afe857 | ||
|
9581df2ac4 | ||
|
2be8b10e8c | ||
|
5431daadcf | ||
|
5f46bdf3a2 | ||
|
3691b6d977 | ||
|
dd59d7e911 | ||
|
44a1235803 | ||
|
8aa7c6bf33 | ||
|
2a5c4a7c8f | ||
|
84eac337cf | ||
|
4d419c3a46 | ||
|
02f8ad1e3e | ||
|
6157bb0943 | ||
|
a31f2cee77 | ||
|
760e361b3f | ||
|
1515cc96af | ||
|
0c2ac1d781 | ||
|
67f38dceb8 | ||
|
534bba3d69 | ||
|
1ea945f82a | ||
|
78411bea50 | ||
|
575f00ac83 | ||
|
676b70519d | ||
|
65e4db3d8a | ||
|
350ce98d93 | ||
|
66663c8b20 | ||
|
df40e73b63 | ||
|
23c6c02b5c | ||
e646f24715 | |||
09b98dabec | |||
8287705a2c | |||
cee30e4833 | |||
|
c25ffcf69d | ||
|
ed15173b8c | ||
|
9d73c836ed | ||
|
9fdcecd9ff | ||
|
c3e422c8ec | ||
|
6b534edeab | ||
|
862cdef847 | ||
|
d5add243c7 | ||
|
544c791ddc | ||
|
1f9846f157 | ||
|
428b1ab1ef | ||
|
c52925d414 | ||
|
e34e5a0ee3 | ||
|
4505fb1ffc | ||
|
c709dd4c59 | ||
|
917502ba56 | ||
|
7bd5803a33 | ||
|
cd8ebdd41b | ||
|
604ab4f8ba | ||
|
7633e98eea | ||
76bbe4053b | |||
1d1da15b10 | |||
|
0e1ea8b8c0 | ||
5e1913d98b | |||
|
d3837363e9 | ||
|
38ec696cf2 | ||
|
ad6e93aa38 | ||
|
1b3d6adc79 | ||
2b491ebe39 | |||
c3b41519bf | |||
601f2d6885 | |||
|
2daf832db0 | ||
|
32663df930 | ||
|
baad4c0ef4 | ||
|
32d2230ef5 | ||
|
0e9738e95d | ||
52822f59e3 | |||
|
0524f54a47 | ||
|
a48d2fefc9 | ||
|
8f6503ae6b | ||
|
0dbab772a6 | ||
|
660ea666d9 | ||
|
ddd6149251 | ||
|
2a25fd3054 | ||
|
9e8d43a015 | ||
|
41fdae647f | ||
|
fb264c63e5 | ||
|
7d607250b6 | ||
|
078769bb43 | ||
|
bf86d54c67 | ||
|
891b5056c8 | ||
|
15221babdc | ||
|
fd73f252a0 | ||
|
eb6f593913 | ||
|
6374ce94fc | ||
|
cc36746efb | ||
|
c8be51599b | ||
|
b46c2f1f4f | ||
|
3c21f1a7d2 | ||
|
69f391d2d6 | ||
|
4a7616d5a0 |
1026 changed files with 157735 additions and 69448 deletions
16
.editorconfig
Normal file
16
.editorconfig
Normal file
|
@ -0,0 +1,16 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = spaces
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.java]
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
15
.eslintrc
Normal file
15
.eslintrc
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"extends": "eslint:recommended",
|
||||
"env": {
|
||||
"es6": true,
|
||||
"commonjs": true
|
||||
},
|
||||
"globals": {
|
||||
"app": "readonly",
|
||||
"HopObject": "readonly",
|
||||
"java": "readonly",
|
||||
"Packages": "readonly",
|
||||
"req": "readonly",
|
||||
"res": "readonly"
|
||||
}
|
||||
}
|
42
.github/actions/ssh/action.yml
vendored
Normal file
42
.github/actions/ssh/action.yml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
name: SSH setup
|
||||
description: Set up the SSH agent
|
||||
|
||||
inputs:
|
||||
config:
|
||||
description: The SSH configuration
|
||||
required: true
|
||||
key:
|
||||
description: The private SSH key
|
||||
required: true
|
||||
known-hosts:
|
||||
description: The list of known hosts
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
|
||||
steps:
|
||||
- name: Configure SSH
|
||||
shell: sh
|
||||
env:
|
||||
CONFIG: ${{ inputs.config }}
|
||||
KNOWN_HOSTS: ${{ inputs.known-hosts }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${CONFIG}" > ~/.ssh/config
|
||||
echo "${KNOWN_HOSTS}" > ~/.ssh/known_hosts
|
||||
|
||||
- name: Start SSH agent
|
||||
shell: bash
|
||||
env:
|
||||
SOCKET: /tmp/ssh-agent.sock
|
||||
run: |
|
||||
echo "SSH_AUTH_SOCK=${SOCKET}" >> $GITHUB_ENV
|
||||
ssh-agent -a ${SOCKET} > /dev/null
|
||||
|
||||
- name: Add SSH key
|
||||
shell: bash
|
||||
env:
|
||||
KEY: ${{ inputs.key }}
|
||||
run: |
|
||||
ssh-add - <<< "${KEY}"
|
22
.github/workflows/build.yml
vendored
Normal file
22
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- .github/workflows/build.yml
|
||||
- build.gradle
|
||||
- settings.gradle
|
||||
- src/**
|
||||
- launcher/build.gradle
|
||||
- launcher/src/**
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: antville
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Compile with Gradle
|
||||
run: ./gradlew :compileJava
|
15
.github/workflows/deploy.yml
vendored
Normal file
15
.github/workflows/deploy.yml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
name: Deploy (Production)
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: antville
|
||||
|
||||
environment:
|
||||
name: antville.org
|
||||
url: https://antville.org
|
||||
|
||||
steps:
|
||||
- name: Copy files to production server
|
||||
run: ssh staging-server deploy-helma
|
59
.github/workflows/release.yml
vendored
Normal file
59
.github/workflows/release.yml
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
name: Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags: '2*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: antville
|
||||
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
LC_TIME: en_US.UTF-8
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Create release notes
|
||||
id: create_release_notes
|
||||
run: |
|
||||
release_notes=$(npx git-cliff@latest --latest)
|
||||
# Write the release notes as a heredoc to the workflow output
|
||||
# ⚠️ No white space around `<<` is crucial!
|
||||
echo "release_notes<<.eot0x03" >> $GITHUB_OUTPUT
|
||||
echo "$release_notes" >> $GITHUB_OUTPUT
|
||||
echo ".eot0x03" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew assembleDist
|
||||
|
||||
- name: Create release
|
||||
uses: actions/forgejo-release@v2
|
||||
with:
|
||||
direction: upload
|
||||
url: https://code.host.antville.org
|
||||
token: ${{ github.token }}
|
||||
title: Helma ${{ github.ref_name }}
|
||||
release-dir: build/distributions
|
||||
release-notes: ${{ steps.create_release_notes.outputs.release_notes }}
|
||||
verbose: true
|
||||
|
||||
- name: Create release at GitHub
|
||||
run: |
|
||||
gh release create "$GITHUB_REF_NAME" \
|
||||
--repo "$GITHUB_REPOSITORY" \
|
||||
--title "Helma ${{ github.ref_name }}" \
|
||||
--notes "${{ steps.create_release_notes.outputs.release_notes }}"
|
||||
|
||||
- name: Upload release assets to GitHub
|
||||
run: |
|
||||
gh release upload "$GITHUB_REF_NAME" build/distributions/helma-*.* \
|
||||
--repo "$GITHUB_REPOSITORY" \
|
||||
--clobber
|
44
.github/workflows/renovate.yml
vendored
Normal file
44
.github/workflows/renovate.yml
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
name: Run Renovate
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "13 * * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
renovate:
|
||||
runs-on: antville
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run Renovate
|
||||
# See <https://docs.renovatebot.com/troubleshooting/#log-debug-levels>
|
||||
# debug | info | warn | error | fatal
|
||||
run: LOG_LEVEL=info npx renovate
|
||||
env:
|
||||
# Renovate is using this token to retrieve release notes
|
||||
GITHUB_COM_TOKEN: ${{ secrets.renovate_github_com_token }}
|
||||
# Autodiscover is better suited for an extra repo running Renovate on all desired repos
|
||||
#RENOVATE_AUTODISCOVER: 'true'
|
||||
RENOVATE_CONFIG_FILE: renovate.json
|
||||
RENOVATE_ENDPOINT: ${{ github.api_url }}
|
||||
RENOVATE_GIT_AUTHOR: Renovate Bot <mail+renovate@antville.org>
|
||||
#RENOVATE_GIT_IGNORED_AUTHORS:
|
||||
# - 29139614+renovate[bot]@users.noreply.github.com
|
||||
RENOVATE_IGNORE_PR_AUTHOR: 'true'
|
||||
RENOVATE_LOG_FILE: renovate-log.ndjson
|
||||
RENOVATE_LOG_FILE_LEVEL: debug
|
||||
RENOVATE_PLATFORM: gitea
|
||||
RENOVATE_REPOSITORIES: ${{ github.repository }}
|
||||
RENOVATE_REPOSITORY_CACHE: 'enabled'
|
||||
# github.token is not working here, it lacks some permissions required by Renovate
|
||||
RENOVATE_TOKEN: ${{ secrets.renovate_token }}
|
||||
|
||||
- name: Save log file
|
||||
# FIXME: v4 of this action causes an error on Forgejo (“You must configure a GitHub token”)
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: renovate-log.ndjson
|
||||
path: renovate-log.ndjson
|
32
.github/workflows/stage.yml
vendored
Normal file
32
.github/workflows/stage.yml
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
name: Deploy (Staging)
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
stage:
|
||||
runs-on: antville
|
||||
|
||||
environment:
|
||||
name: stage
|
||||
url: ${{ vars.stage_url }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew installDist
|
||||
|
||||
- name: Publish to staging server
|
||||
run: |
|
||||
rsync ./build/install/helma/ staging-server:./ \
|
||||
--verbose --archive --delete --compress \
|
||||
--filter '+ /bin' \
|
||||
--filter '+ /extras' \
|
||||
--filter '+ /launcher.jar' \
|
||||
--filter '- /lib/ext' \
|
||||
--filter '+ /lib' \
|
||||
--filter '+ /modules' \
|
||||
--filter '- /*'
|
||||
|
||||
- name: Restart Helma
|
||||
run: ssh staging-server restart
|
22
.gitignore
vendored
Normal file
22
.gitignore
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
.gradle
|
||||
.idea
|
||||
.settings
|
||||
build
|
||||
|
||||
/apps
|
||||
/bin
|
||||
/backups
|
||||
/db
|
||||
/docs
|
||||
/extras
|
||||
/lib
|
||||
/licenses
|
||||
/log
|
||||
/static
|
||||
|
||||
/*.properties
|
||||
/launcher.jar
|
||||
/passwd
|
||||
/start.*
|
||||
|
||||
!/gradle.properties
|
1
.java-version
Normal file
1
.java-version
Normal file
|
@ -0,0 +1 @@
|
|||
11.0
|
6
.vscode/extensions.json
vendored
Normal file
6
.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"recommendations": [
|
||||
"vscjava.vscode-java-pack",
|
||||
"vscjava.vscode-gradle"
|
||||
]
|
||||
}
|
6
.vscode/settings.json
vendored
Normal file
6
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"files.watcherExclude": {
|
||||
"apps/": true
|
||||
},
|
||||
"java.configuration.updateBuildConfiguration": "automatic"
|
||||
}
|
31
CHANGES.md
Normal file
31
CHANGES.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Change Log
|
||||
|
||||
## May 17, 2020
|
||||
|
||||
* Added support for colored log output
|
||||
* Added xgettext and po2js tasks (only running with Antville right now)
|
||||
|
||||
## April 13, 2020
|
||||
|
||||
* Added support for gzip compressed response in helma.Http
|
||||
* Fixed helma.Http.getURL() not following redirects if protocol changes (e.g. http → https)
|
||||
* Fixed references to obsolete Base64 encoder in modules
|
||||
* Updated JavaMail library to implementation package
|
||||
|
||||
## March 21, 2020
|
||||
|
||||
* Completely rewrote build system with Gradle
|
||||
* Separated launcher from main source as Gradle subproject
|
||||
* Launcher now includes all JARs found in `lib`
|
||||
* Upgraded Rhino to version 1.7.12
|
||||
* Upgraded Jetty to version 9.x
|
||||
* Fixed compatibility issues with Java 11
|
||||
* Removed support for Apache JServ Protocol (AJP)
|
||||
* Added support for CommonJS require() method
|
||||
* Allow variable arguments in res.write() and res.writeln()
|
||||
* Replaced Helma’s MD5 and Base64 methods with equivalent methods from Apache Commons
|
||||
* Refactored String methods from Java to JavaScript: encode(), encodeForm(), encodeXml(), stripTags()
|
||||
* Replaced custom String methods with Rhino’s built-in ones: endsWith(), repeat(), startsWith(), trim()
|
||||
* Refactored custom String.pad() method with built-in methods
|
||||
* Redefined custom Array.contains() method with built-in Array.includes()
|
||||
* Refactored custom Array methods with built-in methods: intersection(), union()
|
37
LICENSE.md
Normal file
37
LICENSE.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# License
|
||||
|
||||
Copyright (c) 1999-2025 Helma Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. Products derived from this software may not be called "Helma"
|
||||
or "Hop", nor may "Helma" or "Hop" appear in their name, without
|
||||
prior written permission of the Helma Project Group. For written
|
||||
permission, please contact helma@helma.org.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Helma includes third party software released under different specific
|
||||
license terms. See the licenses directory in the Helma distribution
|
||||
for a list of these licenses.
|
71
README.md
Normal file
71
README.md
Normal file
|
@ -0,0 +1,71 @@
|
|||
# How to Helma
|
||||
|
||||
## TL;DR
|
||||
|
||||
- Make sure you have Java 11 or higher installed
|
||||
- Download and unpack the [latest release](https://code.host.antville.org/antville/helma/releases)
|
||||
- Invoke `./bin/helma`, resp. `./bin/helma.bat`, depending on your platform
|
||||
- Direct your web browser to <http://localhost:8080>
|
||||
|
||||
## Introduction
|
||||
|
||||
Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications.
|
||||
|
||||
Helma is written in Java and employs JavaScript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there.
|
||||
|
||||
Helma pioneered the simple and codeless mapping of application objects to database tables, which has only recently come into vogue with other web frameworks. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.
|
||||
|
||||
Helma has proven itself to be stable and fast, capable of serving high traffic sites with hundreds of thousands of dynamic pages per day. The Austrian Broadcasting Corporation, popular weblog hosting sites such as antville.org, twoday.net, and blogger.de, among many others, have successfully been deploying Helma for several years now.
|
||||
|
||||
Although Helma became a Grande Dame of server-side JavaScript already decades ago when she performed in cozy Finnish clubs, she appears somehow retired nowadays. Nevertheless, she is here to stay for those last ones out there still tinkering with this nostalgic and wonderful piece of software.
|
||||
|
||||
## System Requirements
|
||||
|
||||
You need a Java virtual machine version 11 or higher to run Helma.
|
||||
|
||||
Please consult the documentation of your platform how to obtain and install Java.
|
||||
|
||||
You also can directly download a [Java runtime or development kit](https://www.oracle.com/java/technologies/javase-downloads.html#javasejdk) from Oracle.
|
||||
|
||||
Helma is built with [Gradle](https://gradle.org), the build task depends on the binaries [rsync](https://rsync.samba.org) and [npx](https://www.npmjs.com/package/npx) being installed on your system.
|
||||
|
||||
## Development
|
||||
|
||||
### Additional Prerequisites
|
||||
|
||||
* [Node.js](https://nodejs.org) LTS version
|
||||
* [Rsync](https://rsync.samba.org) version ≥ 3.1.0
|
||||
|
||||
Clone this repository to your machine and run Helma with `./gradlew run`.
|
||||
|
||||
To update the installation from a build, run `./gradlew update` and enter `yes` at the prompt.
|
||||
|
||||
> ⚠️
|
||||
> Please be aware that this step is going to overwrite files in the installation directory – escpecially at a later time when there might be substantial changes. Should this happen by accident you find the previous installation in the `backups` directory.
|
||||
>
|
||||
> Alternatively, you could move or copy the desired files manually from the installation directory `build/install/helma`.
|
||||
|
||||
After all files are put into place start Helma by invoking `./bin/helma.bat` or `./bin/helma`, depending on whether you are on Windows or Linux / Unix / OS X, respectively. If the `java` command is not found, try setting the `JAVA_HOME` environment variable to the location of your Java installation.
|
||||
|
||||
You can adjust server-wide settings in the `server.properties` file. For example, you could set the `smtp` property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the `apps.properties` file, or through the web interface using the management application that is part of Helma.
|
||||
|
||||
If all goes well you should be able to connect your browser to <http://localhost:8080> – port 8080 on the local machine, that is.
|
||||
|
||||
Helma comes with a version of [Jetty](http://eclipse.org/jetty/), a lightweight yet industrial strength web server.
|
||||
|
||||
While Jetty works well for development and in fact deploying real web sites, you might want to run Helma with the web server you are already using. This is most easily done by proxying Helma. Please consult the documentation of your web server how to achieve this.
|
||||
|
||||
Finally, Helma can be plugged into Servlet containers using Servlet classes that communicate with Helma either directly or via Java RMI. Be warned that these options may be harder to set up and maintain though, since most of the recent development efforts have been geared towards a proxied setup.
|
||||
|
||||
## Documentation and Further Information
|
||||
|
||||
After installing and running Helma, you will be able to access introductions to the features of Helma and the various included development tools. Further information you will find on the helma.org website:
|
||||
|
||||
> 😿
|
||||
> Unfortunately, the Helma website disappeard in the meantime. However, with some archaeological web digging and thanks to the great search engines and archive services out there it is still possible to find useful resources.
|
||||
|
||||
- [helma.org at Internet Archive](http://web.archive.org/web/20180122132315/http://helma.org)
|
||||
- [Documentation](http://web.archive.org/web/20100530234322/http://helma.org/documentation/)
|
||||
- [API Reference](https://helma.serverjs.org/reference/)
|
||||
- [Tutorial](http://web.archive.org/web/20100526182848/http://helma.org/Documentation/Object-Relational+Mapping+Tutorial/)
|
||||
- [DocBook](http://dev.orf.at/download/helma/documentation/documentation.pdf)
|
97
README.txt
97
README.txt
|
@ -1,97 +0,0 @@
|
|||
This is the README file for version 1.2 of Helma Object Publisher.
|
||||
|
||||
===========
|
||||
ABOUT HELMA
|
||||
===========
|
||||
|
||||
Helma is a scriptable platform for creating dynamic, database backed
|
||||
web sites.
|
||||
|
||||
Helma provides an easy way to map relational database tables to objects.
|
||||
These objects are wrapped with a layer of scripts and skins that allow
|
||||
them to be presented and manipulated over the web. The clue here is that
|
||||
both functions and skins work in an object oriented manner and force
|
||||
a clear separation between content, functionality and presentation.
|
||||
Actions are special functions that are callable over the web. Macros are
|
||||
special functions that expose functionality to the presentation layer.
|
||||
Skins are pieces of layout that do not contain any application logic,
|
||||
only macro tags as placeholders for parts that are dynamically provided
|
||||
by the application.
|
||||
|
||||
In short, Helma provides a one stop framework to create web applications
|
||||
with less code and in shorter time than most of the other software out
|
||||
there.
|
||||
|
||||
===================
|
||||
SYSTEM REQUIREMENTS
|
||||
===================
|
||||
|
||||
You need a Java virtual machine 1.3 or higher to run Helma.
|
||||
|
||||
For Windows, Linux and Solaris you can get a Java runtime or development
|
||||
kit from http://java.sun.com/j2se/downloads.html.
|
||||
|
||||
If you are on Mac OS X, you already have a Java runtime that will work
|
||||
well with Helma.
|
||||
|
||||
Unfortunately, there is no Java 2 interpreter for Mac OS Classic, so
|
||||
you can't use Helma on Mac OS 9.
|
||||
|
||||
============================
|
||||
INSTALLING AND RUNNING HELMA
|
||||
============================
|
||||
|
||||
Simply unzip or untar the contents of the archive file into any place
|
||||
on your hard disk. Start Helma by invoking hop.bat or hop.sh from the
|
||||
command line, depending on whether you are on Windows or
|
||||
Linux/Unix/MacOSX. If the java command is not found, try setting the
|
||||
JAVA_HOME variable in the start script to the location of your Java
|
||||
installation.
|
||||
|
||||
You may also want to have a look at the start script for other settings.
|
||||
You can adjust server wide settings in the server.properties file. For
|
||||
example, you should set the smtp property to the name of the SMTP server
|
||||
that Helma should use to send Email. Applications can be started or
|
||||
stopped by editing the apps.properties file through the web interface
|
||||
using the Management application that is part of Helma.
|
||||
|
||||
If you manage to get it running you should be able to connect your
|
||||
browser to http://localhost:8080/ or http://127.0.0.1:8080/
|
||||
(port 8080 on the local machine, that is).
|
||||
|
||||
Helma comes with a version of Jetty, a lightweight yet industrial strenth
|
||||
web server developed by Mortbay Consulting. See http://jetty.mortbay.com/
|
||||
for more information. While Jetty works well for deploying real web sites,
|
||||
you may want to run Helma behind an existing web server. This is most
|
||||
easily done by running Helma with the AJPv13 listener which allows you to
|
||||
plug Helma into any web server using the Apache mod_jk module. See
|
||||
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html for more
|
||||
information on mod_jk and AJPv13.
|
||||
|
||||
Finally, Helma can be plugged into Servlet containers using Servlet
|
||||
classes that communicate with Helma either directly or via Java RMI.
|
||||
(Be warned that these options may be harder to set up and maintain though,
|
||||
since most of the recent development efforts have been geared towards the
|
||||
mod_jk/AJPv13 setup.)
|
||||
|
||||
|
||||
=====================================
|
||||
DOCUMENTATION AND FURTHER INFORMATION
|
||||
=====================================
|
||||
|
||||
Currently, documentation-in-progress is available online at
|
||||
http://helma.org/. We know that it sucks and hope to do some substantial
|
||||
improvments within the coming weeks and months.
|
||||
|
||||
Your input is highly welcome. There is a mailing-list to discuss Helma at
|
||||
http://helma.org/lists/listinfo/hop. Don't hesitate to voice any questions,
|
||||
proposals, complaints, praise you may have on the list. We know we have
|
||||
a lot to do and to learn, and we're open to suggestions.
|
||||
|
||||
For questions, comments or suggestions also feel free to contact
|
||||
hannes@helma.at.
|
||||
|
||||
|
||||
--
|
||||
|
||||
Last modified on December 5, 2002 by Hannes Wallnoefer <hannes@helma.at>
|
|
@ -1,4 +0,0 @@
|
|||
# List of apps to start.
|
||||
|
||||
test
|
||||
|
298
build.gradle
Normal file
298
build.gradle
Normal file
|
@ -0,0 +1,298 @@
|
|||
plugins {
|
||||
id 'application'
|
||||
id 'com.github.jk1.dependency-license-report' version '2.9'
|
||||
}
|
||||
|
||||
import org.apache.tools.ant.filters.FixCrLfFilter
|
||||
|
||||
def jettyLogLevel = '-Dorg.eclipse.jetty.LEVEL=WARN'
|
||||
|
||||
// Suppress menu bar and default icon being shown in macos dock (Radar #5754483)
|
||||
// See https://developer.apple.com/library/content/releasenotes/Java/JavaLeopardUpdate1RN/ResolvedIssues/ResolvedIssues.html
|
||||
def suppressMacosDockIcon = '-Dapple.awt.UIElement=true'
|
||||
|
||||
// This list is used to determine which files need processing of line endings
|
||||
def textFiles = ['**/*.hac', '**/.html', '**/*.js', '**/*.md', '**/*.properties', '**/*.skin', '**/*.txt', '**/*.xml']
|
||||
|
||||
allprojects {
|
||||
apply plugin: 'java'
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
}
|
||||
|
||||
version = new Date().format("yy.M.d")
|
||||
|
||||
tasks.build.dependsOn javadoc, 'jsdoc', 'generateLicenseReport'
|
||||
tasks.compileJava.dependsOn 'processSource'
|
||||
|
||||
// Disable DocLint for now
|
||||
// See <https://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html>
|
||||
if (JavaVersion.current().isJava8Compatible()) {
|
||||
allprojects {
|
||||
tasks.withType(Javadoc) {
|
||||
options.addStringOption('Xdoclint:none', '-quiet')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
// Sources in `src` will be available here after processing
|
||||
srcDirs = ["$buildDir/src/main/java"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
// Wrapping implementation because it does not allow access to its files
|
||||
// (i.e. cannot be resolved)
|
||||
library.extendsFrom implementation
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.google.code.gson:gson:2.12.1'
|
||||
implementation 'commons-codec:commons-codec:1.18.0'
|
||||
implementation 'commons-fileupload:commons-fileupload:1.5'
|
||||
implementation 'commons-logging:commons-logging:1.3.5'
|
||||
implementation 'commons-net:commons-net:3.11.1'
|
||||
implementation 'com.sun.mail:javax.mail:1.6.2'
|
||||
implementation 'javax.servlet:javax.servlet-api:4.0.1'
|
||||
implementation 'org.ccil.cowan.tagsoup:tagsoup:1.2.1'
|
||||
implementation 'org.eclipse.jetty:jetty-servlet:9.4.57.v20241219'
|
||||
implementation 'org.eclipse.jetty:jetty-xml:9.4.57.v20241219'
|
||||
implementation 'org.mozilla:rhino-all:1.8.0'
|
||||
implementation 'org.sejda.imageio:webp-imageio:0.1.6'
|
||||
implementation 'xerces:xercesImpl:2.12.2'
|
||||
implementation 'xmlrpc:xmlrpc:2.0.1'
|
||||
}
|
||||
|
||||
def rhinoJar = configurations.library.files.find { jar ->
|
||||
jar.name.startsWith('rhino')
|
||||
}
|
||||
|
||||
run {
|
||||
jvmArgs jettyLogLevel, suppressMacosDockIcon
|
||||
classpath += fileTree(dir: 'lib/ext', include: '*.jar')
|
||||
}
|
||||
|
||||
application {
|
||||
mainClass = 'helma.main.Server'
|
||||
|
||||
applicationDistribution.from(projectDir) {
|
||||
include 'modules/**'
|
||||
include 'LICENSE.md'
|
||||
include 'README.md'
|
||||
include 'start.*'
|
||||
}
|
||||
|
||||
applicationDistribution.from(javadoc.destinationDir) {
|
||||
include '**'
|
||||
into 'docs/javadoc'
|
||||
}
|
||||
|
||||
applicationDistribution.from("${project.buildDir}/docs/jsdoc") {
|
||||
include '**'
|
||||
into 'docs/jsdoc'
|
||||
}
|
||||
|
||||
applicationDistribution.from("${project.buildDir}/reports/dependency-license") {
|
||||
include '**'
|
||||
into 'licenses'
|
||||
}
|
||||
}
|
||||
|
||||
startScripts {
|
||||
applicationName = 'helma'
|
||||
classpath = files('../launcher.jar')
|
||||
mainClass = 'helma.main.launcher.Main'
|
||||
|
||||
defaultJvmOpts = [jettyLogLevel, suppressMacosDockIcon]
|
||||
|
||||
doLast {
|
||||
// Work-around to make the classpath above work (launcher.jar is located outside of `lib` dir)
|
||||
// See https://discuss.gradle.org/t/classpath-in-application-plugin-is-building-always-relative-to-app-home-lib-directory/2012
|
||||
def unixScriptFile = file getUnixScript()
|
||||
def windowsScriptFile = file getWindowsScript()
|
||||
unixScriptFile.text = unixScriptFile.text.replace('$APP_HOME/lib', '$APP_HOME')
|
||||
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib', '%APP_HOME%')
|
||||
}
|
||||
}
|
||||
|
||||
distributions {
|
||||
main {
|
||||
contents {
|
||||
from project(':launcher').jar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
distTar {
|
||||
dependsOn ':generateLicenseReport', ':javadoc', ':jsdoc'
|
||||
|
||||
compression = Compression.GZIP
|
||||
|
||||
filesMatching(textFiles) {
|
||||
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("lf"))
|
||||
}
|
||||
}
|
||||
|
||||
distZip {
|
||||
dependsOn ':generateLicenseReport', ':javadoc', ':jsdoc'
|
||||
|
||||
filesMatching(textFiles) {
|
||||
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("crlf"))
|
||||
}
|
||||
}
|
||||
|
||||
installDist {
|
||||
dependsOn build
|
||||
}
|
||||
|
||||
tasks.register('processSource', Sync) {
|
||||
def gitOutput = new ByteArrayOutputStream()
|
||||
|
||||
exec {
|
||||
commandLine 'git', 'rev-parse', '--short', 'HEAD'
|
||||
standardOutput = gitOutput
|
||||
errorOutput = new ByteArrayOutputStream()
|
||||
ignoreExitValue = true
|
||||
}
|
||||
|
||||
from 'src'
|
||||
|
||||
filter {
|
||||
line -> line
|
||||
.replaceAll('__builddate__', new Date().format("d MMM yyyy"))
|
||||
.replaceAll('__commithash__', gitOutput.toString().trim())
|
||||
.replaceAll('__version__', version)
|
||||
} into "${project.buildDir}/src"
|
||||
}
|
||||
|
||||
tasks.register('update') {
|
||||
dependsOn installDist
|
||||
|
||||
def rsyncArgs = ['--archive', '--filter', '- backups']
|
||||
|
||||
def confirm = {
|
||||
ant.input(message: 'Update this installation?', validargs: 'yes,no', addproperty: 'continue')
|
||||
return ant.continue == 'yes'
|
||||
}
|
||||
|
||||
onlyIf { confirm() }
|
||||
|
||||
doFirst {
|
||||
def backupDir = 'backups/' + new Date().format('yyyyMMdd-HHmmss')
|
||||
|
||||
mkdir backupDir
|
||||
|
||||
exec {
|
||||
// Create a backup with rsync instead of a CopyTask because the latter chokes on multi-byte characters
|
||||
// See https://github.com/gradle/gradle/issues/789
|
||||
executable 'rsync'
|
||||
args rsyncArgs
|
||||
args "$projectDir/", backupDir
|
||||
}
|
||||
|
||||
print "Created backup of ${projectDir} in ${backupDir}"
|
||||
}
|
||||
|
||||
doLast {
|
||||
exec {
|
||||
// Using rsync to selectively update the repo directory
|
||||
executable 'rsync'
|
||||
args '--delete'
|
||||
args rsyncArgs
|
||||
args '--filter', '+ bin/***'
|
||||
args '--filter', '+ docs/***'
|
||||
args '--filter', '+ extras/***'
|
||||
args '--filter', '+ launcher.jar'
|
||||
args '--filter', '+ lib'
|
||||
args '--filter', '+ *.jar'
|
||||
args '--filter', '- *'
|
||||
args "${installDist.destinationDir}/", projectDir
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register('jsdoc', Exec) {
|
||||
description 'Generates JSDoc API documentation for the included JavaScript modules.'
|
||||
group 'Documentation'
|
||||
|
||||
def sources = ['modules/core', 'modules/helma', 'modules/jala/code']
|
||||
def destination = "${project.buildDir}/docs/jsdoc"
|
||||
|
||||
sources.each { dir -> inputs.dir dir }
|
||||
outputs.dir destination
|
||||
|
||||
executable 'npx'
|
||||
args = ['jsdoc', '-d', "$destination"].plus(sources)
|
||||
}
|
||||
|
||||
tasks.register('xgettext', JavaExec) {
|
||||
description 'Extracts translatable message strings from source code.'
|
||||
group 'i18n'
|
||||
|
||||
classpath = files('launcher.jar')
|
||||
mainClass = 'helma.main.launcher.Commandline'
|
||||
|
||||
// TODO: Decouple from Antville app
|
||||
args = [
|
||||
// Root.extractMessages is currently located in antville/code/Global/i18n.js
|
||||
'antville.extractMessages',
|
||||
'modules/jala/util/HopKit/scripts/MessageParser.js',
|
||||
'code compat',
|
||||
'apps/antville/i18n/antville.pot'
|
||||
]
|
||||
}
|
||||
|
||||
tasks.register('po2js', JavaExec) {
|
||||
description 'Converts translated message strings from PO format to JavaScript.'
|
||||
group 'i18n'
|
||||
|
||||
classpath = files(rhinoJar)
|
||||
mainClass = 'org.mozilla.javascript.tools.shell.Main'
|
||||
|
||||
// TODO: Decouple from Antville app
|
||||
args = [
|
||||
'modules/jala/util/HopKit/scripts/PoParser.js',
|
||||
'apps/antville/i18n',
|
||||
'apps/antville/i18n'
|
||||
]
|
||||
}
|
||||
|
||||
tasks.register('rhinoShell', JavaExec) {
|
||||
description 'Runs the interactive Rhino JavaScript shell.'
|
||||
group 'Application'
|
||||
|
||||
classpath = files(rhinoJar)
|
||||
mainClass = 'org.mozilla.javascript.tools.shell.Main'
|
||||
|
||||
standardInput = System.in
|
||||
}
|
||||
|
||||
// Call this task with a function definition using the `-P` parameter, e.g.
|
||||
// `./gradlew commandLine -Pfunction=manage.getAllApplications`
|
||||
tasks.register('commandLine', JavaExec) {
|
||||
description 'Runs a function in a Helma application with `-Pfunction=app.functionName`.'
|
||||
group 'Application'
|
||||
|
||||
classpath = files('launcher.jar')
|
||||
mainClass = 'helma.main.launcher.Commandline'
|
||||
args '-h', projectDir, function
|
||||
}
|
||||
|
||||
tasks.register('debug', JavaExec) {
|
||||
group = 'application'
|
||||
main = 'helma.main.Server'
|
||||
classpath = sourceSets.main.runtimeClasspath
|
||||
jvmArgs = ['-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005']
|
||||
classpath += fileTree(dir: 'lib/ext', include: '*.jar')
|
||||
}
|
93
build/README
93
build/README
|
@ -1,93 +0,0 @@
|
|||
This is the README file for the Helma build files as part of the Helma Object Publisher. It is included in the current distribution (version 1.2pre as of 8 November 2001) downloadable at <http://helma.org/download>.
|
||||
|
||||
|
||||
|
||||
The build directory consists of the following files:
|
||||
|
||||
ant.jar
|
||||
build.bat
|
||||
build.sh
|
||||
build.xml
|
||||
crimson.jar
|
||||
jaxp.jar
|
||||
README
|
||||
|
||||
|
||||
PREREQUISITES
|
||||
=============
|
||||
|
||||
The Helma build script is using a software called Ant. Ant is a build system that was developed for the Jakarta Tomcat project. For more information about Ant, see <http://jakarta.apache.org/ant/>.
|
||||
|
||||
To run Ant, you also need JDK 1.3 or higher <http://java.sun.com/j2se/>.
|
||||
|
||||
For checking out the source files from Helma's CVS you also need a local installation of a CVS command-line client. More information about CVS at <http://www.cvshome.org/>.
|
||||
|
||||
|
||||
STARTING BUILD
|
||||
==============
|
||||
|
||||
The build system is started by invoking the shell script appropriate to your platform, ie. build.sh for *nix (Linux, NetBSD etc.) and build.bat for Windows systems. You need to modify the script and set the JAVA_HOME to fit your system.
|
||||
|
||||
The generic syntax is
|
||||
|
||||
./build target
|
||||
|
||||
The parameter "target" specifies one of the following build targets.
|
||||
|
||||
|
||||
BUILD A SNAPSHOT
|
||||
================
|
||||
|
||||
To build a helma.jar with the most up-to-date version of helma yourself you need to run
|
||||
|
||||
./build checkout
|
||||
|
||||
and
|
||||
|
||||
./build snapshot
|
||||
|
||||
|
||||
BUILD TARGETS
|
||||
=============
|
||||
|
||||
checkout
|
||||
Fetches (or updates, resp.) the Helma source code in the src/-directory from the CVS. If you've still got the sourcecode that came with the distribution in there, you need to move that away first.
|
||||
|
||||
snapshot
|
||||
Runs snapshotcompile and stuffs the class files as .jar archive in the lib directory. The file is named helma-yyyymmdd.jar.
|
||||
|
||||
snapshotcompile
|
||||
Compiles the source files contained in the src/hop directory into the classes directory (which will be created if necessary). You can use the source files from your distribution or you can get the most recent version by checking out the "hop"-module from the cvs.
|
||||
|
||||
fullcheckout
|
||||
Fetches (or updates, resp.) everything that's needed to create a full Helma distribution (source files, build files, libs, demo-apps) from the CVS and copies them into the work/checkout/ directory (which will be created if necessary).
|
||||
|
||||
compile
|
||||
Compiles the source files contained in the work/checkout/hop/ directory into the work/classes/ directory (which will be created if necessary).
|
||||
|
||||
jar
|
||||
Stuffs the files in work/classes/ together and saves them as .jar archive in the work directory. The file is named helma-yyyymmdd.jar.
|
||||
|
||||
javadocs
|
||||
Creates the Java API documentation for the Helma classes. The resulting files are saved into the work/docs/api/ directory (which will be created if necessary).
|
||||
|
||||
helmadocs
|
||||
Gets the documentation from helma.org via http in a printable version. (still some way to go..)
|
||||
|
||||
package
|
||||
Builds all previous targets (checkout, compile, jar, javadoc) and saves the created files in the directory work/helma-1.x/ (with 1.x being the version number). All directories will be created if necessary.
|
||||
|
||||
package-zip
|
||||
Same as "package". Additionally, the files in the output directory will be compressed as .zip file.
|
||||
|
||||
package-tgz
|
||||
Same as "package". Additionall, the file in the output directory will be compressed as .tar.gz file.
|
||||
|
||||
package-all
|
||||
Builds all previous targets. The result is a complete and up-to-date (as in the CVS) installation of Helma, the API documentation, source and build files as well as compressed packages for *nix and Windows systems including all the files.
|
||||
|
||||
|
||||
--
|
||||
|
||||
This README was last updated on 26 April 2002. Questions? tobi@helma.org
|
||||
|
BIN
build/ant.jar
BIN
build/ant.jar
Binary file not shown.
|
@ -1,143 +0,0 @@
|
|||
==============
|
||||
ABOUT ANTCLICK
|
||||
==============
|
||||
|
||||
Antclick is an integrated Helma/Antville package. It comes with
|
||||
integrated web server and SQL database. It should run out of the
|
||||
box although you may have to modify the start script.
|
||||
|
||||
This version of Antclick contains Mckoi as the embedded database
|
||||
and Jetty as the embedded web server.
|
||||
|
||||
Although Antcklick comes preconfigured with the Mckoi database, it
|
||||
can easily be set up to run with other databases such as MySQL and
|
||||
Oracle. It is also possible to configure it to use a fully featured
|
||||
web server instead of the built-in web server.
|
||||
|
||||
|
||||
======================
|
||||
INSTALLING AND RUNNING
|
||||
======================
|
||||
|
||||
Simply uncompress the content of the archive file into any place on
|
||||
your hard disk. Start Helma on Windows by opening the file hop.bat.
|
||||
On Unix systems open a terminal window, change to the Antclick
|
||||
directory and type ./hop.sh.
|
||||
|
||||
If you manage to get it running you should be able to connect your
|
||||
browser to http://127.0.0.1:8080/ (port 8080, that is). Now you can
|
||||
set up and configure your antville site.
|
||||
|
||||
|
||||
==============
|
||||
ABOUT ANTVILLE
|
||||
==============
|
||||
|
||||
Antville is an open source project aimed to the development of an
|
||||
"easy to maintain and use" weblog-hosting system. It is not limited
|
||||
to just one weblog, it can easily host up to several hundred or
|
||||
thousand weblogs (the number of weblogs is more limited by the site
|
||||
owner's choice and server power than software limitations).
|
||||
|
||||
Antville is entirely written in JavaScript and based on the Helma
|
||||
Object Publisher, a powerful and fast scriptable open source web
|
||||
application server (which itself is written in Java). Antville works
|
||||
with a relational database in the backend.
|
||||
|
||||
Check out http://project.antville.org/ for more information.
|
||||
|
||||
===========
|
||||
ABOUT HELMA
|
||||
===========
|
||||
|
||||
Helma is a scriptable platform for creating dynamic, database backed
|
||||
web sites.
|
||||
|
||||
Helma provides an easy way to map relational database tables to objects.
|
||||
These objects are wrapped with a layer of scripts and skins that allow
|
||||
them to be presented and manipulated over the web. The clue here is that
|
||||
both functions and skins work in an object oriented manner and force
|
||||
a clear separation between content, functionality and presentation.
|
||||
Actions are special functions that are callable over the web. Macros are
|
||||
special functions that expose functionality to the presentation layer.
|
||||
Skins are pieces of layout that do not contain any application logic,
|
||||
only macro tags as placeholders for parts that are dynamically provided
|
||||
by the application.
|
||||
|
||||
In short, Helma provides a one stop framework to create web applications
|
||||
with less code and in shorter time than most of the other software out
|
||||
there.
|
||||
|
||||
===================
|
||||
SYSTEM REQUIREMENTS
|
||||
===================
|
||||
|
||||
You need a Java virtual machine 1.3 or higher to run Helma.
|
||||
|
||||
For Windows, Linux and Solaris you can get a Java runtime or development
|
||||
kit from http://java.sun.com/j2se/downloads.html.
|
||||
|
||||
If you are on Mac OS X, you already have a Java runtime that will work
|
||||
well with Helma.
|
||||
|
||||
Unfortunately, there is no Java 2 interpreter for Mac OS Classic, so
|
||||
you can't use Helma on Mac OS 9.
|
||||
|
||||
============================
|
||||
INSTALLING AND RUNNING HELMA
|
||||
============================
|
||||
|
||||
Simply unzip or untar the contents of the archive file into any place
|
||||
on your hard disk. Start Helma by invoking hop.bat or hop.sh from the
|
||||
command line, depending on whether you are on Windows or
|
||||
Linux/Unix/MacOSX. If the java command is not found, try setting the
|
||||
JAVA_HOME variable in the start script to the location of your Java
|
||||
installation.
|
||||
|
||||
You may also want to have a look at the start script for other settings.
|
||||
You can adjust server wide settings in the server.properties file. For
|
||||
example, you should set the smtp property to the name of the SMTP server
|
||||
that Helma should use to send Email. Applications can be started or
|
||||
stopped by editing the apps.properties file through the web interface
|
||||
using the Management application that is part of Helma.
|
||||
|
||||
If you manage to get it running you should be able to connect your
|
||||
browser to http://localhost:8080/ or http://127.0.0.1:8080/
|
||||
(port 8080 on the local machine, that is).
|
||||
|
||||
Helma comes with a version of Jetty, a lightweight yet industrial strenth
|
||||
web server developed by Mortbay Consulting. See http://jetty.mortbay.com/
|
||||
for more information. While Jetty works well for deploying real web sites,
|
||||
you may want to run Helma behind an existing web server. This is most
|
||||
easily done by running Helma with the AJPv13 listener which allows you to
|
||||
plug Helma into any web server using the Apache mod_jk module. See
|
||||
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html for more
|
||||
information on mod_jk and AJPv13.
|
||||
|
||||
Finally, Helma can be plugged into Servlet containers using Servlet
|
||||
classes that communicate with Helma either directly or via Java RMI.
|
||||
(Be warned that these options may be harder to set up and maintain though,
|
||||
since most of the recent development efforts have been geared towards the
|
||||
mod_jk/AJPv13 setup.)
|
||||
|
||||
|
||||
=====================================
|
||||
DOCUMENTATION AND FURTHER INFORMATION
|
||||
=====================================
|
||||
|
||||
Currently, documentation-in-progress is available online at
|
||||
http://helma.org/. We know that it sucks and hope to do some substantial
|
||||
improvments within the coming weeks and months.
|
||||
|
||||
Your input is highly welcome. There is a mailing-list to discuss Helma at
|
||||
http://helma.org/lists/listinfo/hop. Don't hesitate to voice any questions,
|
||||
proposals, complaints, praise you may have on the list. We know we have
|
||||
a lot to do and to learn, and we're open to suggestions.
|
||||
|
||||
For questions, comments or suggestions also feel free to contact
|
||||
antville@helma.org.
|
||||
|
||||
|
||||
--
|
||||
|
||||
Last modified on December 5, 2002 by Hannes Wallnoefer <hannes@helma.at>
|
|
@ -1,10 +0,0 @@
|
|||
# List of apps to start.
|
||||
|
||||
# mount antville as /managehop to avoid
|
||||
# conflict with antville's manage.hac action
|
||||
manage
|
||||
manage.mountpoint = /manage/hop
|
||||
|
||||
# mount antville as root application
|
||||
antville
|
||||
antville.mountpoint = /
|
|
@ -1,5 +0,0 @@
|
|||
# Properties of antville datasource
|
||||
antville.url=jdbc:mckoi:local://./db.conf
|
||||
antville.driver=com.mckoi.JDBCDriver
|
||||
antville.user=admin
|
||||
antville.password=entwil
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,318 +0,0 @@
|
|||
|
||||
#######################################################
|
||||
#
|
||||
# Configuration options for the Mckoi SQL Database.
|
||||
#
|
||||
# NOTE: Lines starting with '#' are comments.
|
||||
#
|
||||
#######################################################
|
||||
|
||||
#
|
||||
# database_path - The path where the database data files
|
||||
# are located.
|
||||
# See the 'root_path' configuration property for the
|
||||
# details of how the engine resolves this to an
|
||||
# absolute path in your file system.
|
||||
|
||||
database_path=./data
|
||||
|
||||
#
|
||||
# log_path - The path the log files are written.
|
||||
# See the 'root_path' configuration property for the
|
||||
# details of how the engine resolves this to an
|
||||
# absolute path in your file system.
|
||||
# The log path must point to a writable directory. If
|
||||
# no log files are to be kept, then comment out (or
|
||||
# remove) the 'log_path' variable.
|
||||
|
||||
log_path=./log
|
||||
|
||||
#
|
||||
# root_path - If this is set to 'jvm' then the root
|
||||
# path of all database files is the root path of the
|
||||
# JVM (Java virtual machine) running the database
|
||||
# engine. If this property is set to 'configuration'
|
||||
# or if it is not present then the root path is the
|
||||
# path of this configuration file.
|
||||
# This property is useful if you are deploying a
|
||||
# database and need this configuration file to be the
|
||||
# root of the directory tree of the database files.
|
||||
|
||||
root_path=configuration
|
||||
#root_path=jvm
|
||||
|
||||
#
|
||||
# jdbc_server_port - The TCP/IP port on this host where
|
||||
# the database server is mounted. The default port
|
||||
# of the Mckoi SQL Database server is '9157'
|
||||
|
||||
jdbc_server_port=9157
|
||||
|
||||
#
|
||||
# ignore_case_for_identifiers - If enabled all
|
||||
# identifiers are compared case insensitive. If
|
||||
# disabled (the default) the case of the identifier
|
||||
# is important.
|
||||
# For example, if a table called 'MyTable' contains
|
||||
# a column called 'my_column' and this property is
|
||||
# enabled, the identifier 'MYTAble.MY_COlumN' will
|
||||
# correctly reference the column of the table. If
|
||||
# this property is disable a not found error is
|
||||
# generated.
|
||||
# This property is intended for compatibility with
|
||||
# other database managements systems where the case
|
||||
# of identifiers is not important.
|
||||
|
||||
ignore_case_for_identifiers=disabled
|
||||
|
||||
#
|
||||
# socket_polling_frequency - Mckoi SQL maintains a pool
|
||||
# of connections on the server to manage dispatching
|
||||
# of commands to worker threads. All connections on
|
||||
# the jdbc port are polled frequently, and ping
|
||||
# requests are sent to determine if the TCP
|
||||
# connection has closed or not. This value determines
|
||||
# how frequently the connections are polled via the
|
||||
# 'available' method.
|
||||
# The value is the number of milliseconds between each
|
||||
# poll of the 'available' method of the connections
|
||||
# input socket stream. Different Java implementations
|
||||
# will undoubtedly require this value to be tweaked.
|
||||
# A value of '3' works great on the Sun NT Java 1.2.2
|
||||
# and 1.3 Java runtimes.
|
||||
#
|
||||
# NOTE: This 'socket polling' module is a horrible hack
|
||||
# and will be removed at some point when the threading
|
||||
# performance improves or there is an API for non-
|
||||
# blocking IO. I'll probably write an alternative
|
||||
# version for use with the improved Java version.
|
||||
|
||||
socket_polling_frequency=3
|
||||
|
||||
|
||||
|
||||
# ----- PLUG-INS -----
|
||||
|
||||
#
|
||||
# database_services - The services (as a Java class) that
|
||||
# are registered at database boot time. Each service
|
||||
# class is separated by a semi-colon (;) character.
|
||||
# A database service must extend
|
||||
# com.mckoi.database.ServerService
|
||||
#
|
||||
#database_services=mypackage.MyService
|
||||
|
||||
#
|
||||
# function_factories - Registers one or more FunctionFactory
|
||||
# classes with the database at boot time. A
|
||||
# FunctionFactory allows user-defined functions to be
|
||||
# incorporated into the SQL language. Each factory class
|
||||
# is separated by a semi-colon (;) character.
|
||||
#
|
||||
#function_factories=mypackage.MyFunctionFactory
|
||||
|
||||
#
|
||||
# The Java regular expression library to use. Currently
|
||||
# the engine supports the Apache Jakarta regular expression
|
||||
# library, and the GNU LGPL regular expression library.
|
||||
# These two regular expression libraries can be found at the
|
||||
# following web sites:
|
||||
#
|
||||
# GNU Regexp: http://www.cacas.org/~wes/java/
|
||||
# Apache Regexp: http://jakarta.apache.org/regexp/
|
||||
#
|
||||
# The libraries provide similar functionality, however they
|
||||
# are released under a different license. The GNU library
|
||||
# is released under the LGPL and is compatible with GPL
|
||||
# distributions of the database. The Apache Jakarta library
|
||||
# is released under the Apache Software License and must not
|
||||
# be linked into GPL distributions.
|
||||
#
|
||||
# Use 'regex_library=gnu.regexp' to use the GNU library, or
|
||||
# 'regex_library=org.apache.regexp' to use the Apache
|
||||
# library.
|
||||
#
|
||||
# NOTE: To use either library, you must include the
|
||||
# respective .jar package in the Java classpath.
|
||||
|
||||
regex_library=gnu.regexp
|
||||
|
||||
|
||||
|
||||
|
||||
# ----- PERFORMANCE -----
|
||||
|
||||
#
|
||||
# data_cache_size - The maximum amount of memory (in bytes)
|
||||
# to allow the memory cache to grow to. If this is set
|
||||
# to a value < 4096 then the internal cache is disabled.
|
||||
# It is recommended that a database server should provide
|
||||
# a cache of 4 Megabytes (4194304). A stand alone
|
||||
# database need not have such a large cache.
|
||||
|
||||
# data_cache_size=4194304
|
||||
data_cache_size=0
|
||||
|
||||
#
|
||||
# max_cache_entry_size - The maximum size of an element
|
||||
# in the data cache. This is available for tuning
|
||||
# reasons and the value here is dependant on the type
|
||||
# of data being stored. If your data has more larger
|
||||
# fields that would benefit from being stored in the
|
||||
# cache then increase this value from its default of
|
||||
# 8192 (8k).
|
||||
|
||||
max_cache_entry_size=8192
|
||||
|
||||
#
|
||||
# lookup_comparison_list - When this is set to 'enabled'
|
||||
# the database attempts to optimize sorting by generating
|
||||
# an internal lookup table that enables the database to
|
||||
# quickly calculate the order of a column without having
|
||||
# to look at the data directly. The column lookup
|
||||
# tables are only generated under certain query
|
||||
# conditions. Set this to 'disabled' if the memory
|
||||
# resources are slim.
|
||||
|
||||
lookup_comparison_list=enabled
|
||||
|
||||
#
|
||||
# lookup_comparison_cache_size - The maximum amount of
|
||||
# memory (in bytes) to allow for column lookup tables.
|
||||
# If the maximum amount of memory is reached, the lookup
|
||||
# table is either cached to disk so that is may be
|
||||
# reloaded later if necessary, or removed from memory
|
||||
# entirely. The decision is based on how long ago the
|
||||
# table was last used.
|
||||
#
|
||||
# This property only makes sense if the
|
||||
# 'lookup_comparison_list' property is enabled.
|
||||
#
|
||||
# NOTE: This property does nothing yet...
|
||||
|
||||
lookup_comparison_cache_size=2097152
|
||||
|
||||
#
|
||||
# index_cache_size - The maximum amount of memory (in
|
||||
# bytes) to allow for the storage of column indices.
|
||||
# If the number of column indices in memory reaches
|
||||
# this memory threshold then the index blocks are
|
||||
# cached to disk.
|
||||
#
|
||||
# ISSUE: This is really an implementation of internal
|
||||
# memory page caching but in Java. Is it necessary?
|
||||
# Why not let the OS handle it with its page file?
|
||||
#
|
||||
# NOTE: This property does nothing yet...
|
||||
|
||||
index_cache_size=2097152
|
||||
|
||||
#
|
||||
# max_worker_threads - The maximum number of worker
|
||||
# threads that can be spawned to handle incoming
|
||||
# requests. The higher this number, the more
|
||||
# 'multi-threaded' the database becomes. The
|
||||
# default setting is '4'.
|
||||
|
||||
maximum_worker_threads=4
|
||||
|
||||
#
|
||||
# soft_index_storage - If this is set to 'enabled', the
|
||||
# database engine will keep all column indices behind a
|
||||
# soft reference. This enables the JVM garbage collector
|
||||
# to reclaim memory used by the indexing system if the
|
||||
# memory is needed.
|
||||
#
|
||||
# This is useful for an embedded database where requests
|
||||
# are rare. When the database part is idle, the index
|
||||
# memory (that can take up significant space for large
|
||||
# tables) is reclaimed for other uses. For a dedicated
|
||||
# database server it is recommended this is disabled.
|
||||
#
|
||||
# Enable this if you need the engine to use less memory.
|
||||
# I would recommend the config property
|
||||
# 'lookup_comparison_list' is disabled if this is enabled.
|
||||
# The default setting is 'disabled'.
|
||||
|
||||
soft_index_storage=disabled
|
||||
|
||||
#
|
||||
# dont_synch_filesystem - If this is enabled, the engine
|
||||
# will not synchronize the file handle when a table change
|
||||
# is committed. This will mean the data is not as
|
||||
# safe but the 'commit' command will work faster. If this
|
||||
# is enabled, there is a chance that committed changes will
|
||||
# not get a chance to flush to the file system if the
|
||||
# system crashes.
|
||||
#
|
||||
# It is recommended this property is left commented out.
|
||||
#
|
||||
#dont_synch_filesystem=enabled
|
||||
|
||||
#
|
||||
# transaction_error_on_dirty_select - If this is disabled
|
||||
# the 4th conflict (dirty read on modified table) will
|
||||
# not be detected. This has transactional consequences
|
||||
# that will cause data modifications to sometimes be
|
||||
# out of syncronization. For example, one transaction
|
||||
# adds an entry, and another concurrent transaction
|
||||
# deletes all entries. If this is disabled this
|
||||
# conflict will not be detected. The table will end up
|
||||
# with the one entry added after commit.
|
||||
#
|
||||
# It is recommended this property is left commented out.
|
||||
#
|
||||
#transaction_error_on_dirty_select=disabled
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ----- SPECIAL -----
|
||||
|
||||
#
|
||||
# read_only - If this is set to 'enabled' then the database
|
||||
# is readable and not writable. You may boot a database
|
||||
# in read only mode from multiple VM's. If the database
|
||||
# data files are stored on a read only medium such as a
|
||||
# CD, then the property must be enabled else it will not
|
||||
# be possible to boot the database.
|
||||
# ( Uncomment the line below for read only mode )
|
||||
#read_only=enabled
|
||||
|
||||
|
||||
|
||||
|
||||
# ----- DEBUGGING -----
|
||||
|
||||
#
|
||||
# debug_log_file - The file that is used to log all debug
|
||||
# information. This file is stored in the 'log_path'
|
||||
# path.
|
||||
|
||||
debug_log_file=debug.log
|
||||
|
||||
#
|
||||
# debug_level - The minimum debug level of messages that
|
||||
# are written to the log file. Reducing this number
|
||||
# will cause more debug information to be written to
|
||||
# the log.
|
||||
# 10 = INFORMATION
|
||||
# 20 = WARNINGS
|
||||
# 30 = ALERTS
|
||||
# 40 = ERRORS
|
||||
|
||||
debug_level=20
|
||||
|
||||
#
|
||||
# table_lock_check - If this is enabled, every time a
|
||||
# table is accessed a check is performed to ensure that
|
||||
# the table owns the correct locks. If a lock assertion
|
||||
# fails then an error is generated in the log file.
|
||||
# This should not be enabled in a production system
|
||||
# because the lock assertion check is expensive. However
|
||||
# it should be used during testing because it helps to
|
||||
# ensure locks are being made correctly.
|
||||
|
||||
table_lock_check=disabled
|
|
@ -1,16 +0,0 @@
|
|||
# This is where you specify relational data sources to
|
||||
# map Helma types to relational databases.
|
||||
#
|
||||
# If you want to define a data source just for one
|
||||
# application, simply copy the db.properties file to
|
||||
# the application directory.
|
||||
#
|
||||
# The actual mapping of types is done in the
|
||||
# type.properties file in the prototype directories.
|
||||
#
|
||||
|
||||
# Properties of JDBC data sources
|
||||
myDataSource.url = jdbc:mysql://db.domain.com/space
|
||||
myDataSource.driver = org.gjt.mm.mysql.Driver
|
||||
myDataSource.user = username
|
||||
myDataSource.password = xyz
|
|
@ -1,79 +0,0 @@
|
|||
@echo off
|
||||
rem Batch file for Starting Helma with a JDK-like virtual machine.
|
||||
|
||||
rem To add jar files to the classpath, simply place them into the
|
||||
rem lib/ext directory of this Helma installation.
|
||||
|
||||
:: Initialize variables
|
||||
:: (don't touch this section)
|
||||
set JAVA_HOME=
|
||||
set HOP_HOME=
|
||||
set HTTP_PORT=
|
||||
set XMLRPC_PORT=
|
||||
set AJP13_PORT=
|
||||
set RMI_PORT=
|
||||
set OPTIONS=
|
||||
|
||||
:: Set TCP ports for Helma servers
|
||||
:: (comment/uncomment to de/activate)
|
||||
set HTTP_PORT=8080
|
||||
rem set XMLRPC_PORT=8081
|
||||
rem set AJP13_PORT=8009
|
||||
rem set RMI_PORT=5050
|
||||
|
||||
:: Uncomment to set HOP_HOME
|
||||
rem set HOP_HOME=c:\program files\helma
|
||||
|
||||
:: Uncomment to set JAVA_HOME variable
|
||||
rem set JAVA_HOME=c:\program files\java
|
||||
|
||||
:: Uncomment to pass options to the Java virtual machine
|
||||
rem set JAVA_OPTIONS=-server -Xmx128m
|
||||
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: No user configuration needed below this line :::::::
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
|
||||
:: Setting the script path
|
||||
set INSTALL_DIR=%~d0%~p0
|
||||
|
||||
:: Using JAVA_HOME variable if defined. Otherwise,
|
||||
:: Java executable must be contained in PATH variable
|
||||
if "%JAVA_HOME%"=="" goto default
|
||||
set JAVACMD=%JAVA_HOME%\bin\java
|
||||
goto end
|
||||
:default
|
||||
set JAVACMD=java
|
||||
:end
|
||||
|
||||
:: Setting HOP_HOME to script path if undefined
|
||||
if "%HOP_HOME%"=="" (
|
||||
set HOP_HOME=%INSTALL_DIR%
|
||||
)
|
||||
cd %HOP_HOME%
|
||||
|
||||
|
||||
:: Setting Helma server options
|
||||
if not "%HTTP_PORT%"=="" (
|
||||
echo Starting HTTP server on port %HTTP_PORT%
|
||||
set OPTIONS=%OPTIONS% -w %HTTP_PORT%
|
||||
)
|
||||
if not "%XMLRPC_PORT%"=="" (
|
||||
echo Starting XML-RPC server on port %XMLRPC_PORT%
|
||||
set OPTIONS=%OPTIONS% -x %XMLRPC_PORT%
|
||||
)
|
||||
if not "%AJP13_PORT%"=="" (
|
||||
echo Starting AJP13 listener on port %AJP13_PORT%
|
||||
set OPTIONS=%OPTIONS% -jk %AJP13_PORT%
|
||||
)
|
||||
if not "%RMI_PORT%"=="" (
|
||||
echo Starting RMI server on port %RMI_PORT%
|
||||
set OPTIONS=%OPTIONS% -p %RMI_PORT%
|
||||
)
|
||||
if not "%HOP_HOME%"=="" (
|
||||
echo Serving applications from %HOP_HOME%
|
||||
set OPTIONS=%OPTIONS% -h "%HOP_HOME%
|
||||
)
|
||||
|
||||
:: Invoking the Java virtual machine
|
||||
%JAVACMD% %JAVA_OPTIONS% -jar "%INSTALL_DIR%\launcher.jar" %OPTIONS%
|
|
@ -1,73 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Shell script for starting Helma with a JDK-like virtual machine.
|
||||
|
||||
# To add JAR files to the classpath, simply place them into the
|
||||
# lib/ext directory.
|
||||
|
||||
# uncomment to set JAVA_HOME variable
|
||||
# JAVA_HOME=/usr/lib/java
|
||||
|
||||
# uncomment to set HOP_HOME, otherwise we get it from the script path
|
||||
# HOP_HOME=/usr/local/helma
|
||||
|
||||
# options to pass to the Java virtual machine
|
||||
# JAVA_OPTIONS="-server -Xmx128m"
|
||||
|
||||
# Set TCP ports for Helma servers
|
||||
# (comment/uncomment to de/activate)
|
||||
HTTP_PORT=8080
|
||||
# XMLRPC_PORT=8081
|
||||
# AJP13_PORT=8009
|
||||
# RMI_PORT=5050
|
||||
|
||||
###########################################################
|
||||
###### No user configuration needed below this line #######
|
||||
###########################################################
|
||||
|
||||
# if JAVA_HOME variable is set, use it. Otherwise, Java executable
|
||||
# must be contained in PATH variable.
|
||||
if [ "$JAVA_HOME" ]; then
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
else
|
||||
JAVACMD=java
|
||||
fi
|
||||
|
||||
# Get the Helma installation directory
|
||||
INSTALL_DIR="${0%/*}"
|
||||
cd $INSTALL_DIR
|
||||
INSTALL_DIR=$PWD
|
||||
|
||||
# get HOP_HOME variable if it isn't set
|
||||
if test -z "$HOP_HOME"; then
|
||||
# try to get HOP_HOME from script file and pwd
|
||||
# strip everyting behind last slash
|
||||
HOP_HOME="${0%/*}"
|
||||
cd $HOP_HOME
|
||||
HOP_HOME=$PWD
|
||||
else
|
||||
cd $HOP_HOME
|
||||
fi
|
||||
echo "Starting Helma in directory $HOP_HOME"
|
||||
|
||||
if [ "$HTTP_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -w $HTTP_PORT"
|
||||
echo Starting HTTP server on port $HTTP_PORT
|
||||
fi
|
||||
if [ "$XMLRPC_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -x $XMLRPC_PORT"
|
||||
echo Starting XML-RPC server on port $XMLRPC_PORT
|
||||
fi
|
||||
if [ "$AJP13_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -jk $AJP13_PORT"
|
||||
echo Starting AJP13 listener on port $AJP13_PORT
|
||||
fi
|
||||
if [ "$RMI_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -p $RMI_PORT"
|
||||
echo Starting RMI server on port $RMI_PORT
|
||||
fi
|
||||
if [ "$HOP_HOME" ]; then
|
||||
SWITCHES="$SWITCHES -h $HOP_HOME"
|
||||
fi
|
||||
|
||||
# Invoke the Java VM
|
||||
$JAVACMD $JAVA_OPTIONS -jar "$INSTALL_DIR/launcher.jar" $SWITCHES
|
Binary file not shown.
|
@ -1,50 +0,0 @@
|
|||
Copyright (c) 1999-2001 Helma Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. The end-user documentation included with the redistribution,
|
||||
if any, must include the following acknowledgment:
|
||||
"This product includes software developed by the Helma Project
|
||||
for use in the Helma Object Publisher (http://www.helma.org/)."
|
||||
Alternately, this acknowledgment may appear in the software itself,
|
||||
if and wherever such third-party acknowledgments normally appear.
|
||||
|
||||
4. The names "Helma" and "Hop" must not be used to endorse or
|
||||
promote products derived from this software without prior written
|
||||
permission. For written permission, please contact
|
||||
helma@helma.org.
|
||||
|
||||
5. Products derived from this software may not be called "Helma"
|
||||
or "Hop", nor may "Helma" or "Hop" appear in their name, without
|
||||
prior written permission of the Helma Project Group.
|
||||
|
||||
6. We ask you to give credit to the Helma Project for sites which build
|
||||
upon Helma. This would normally consist of a text or graphic link
|
||||
to http://helma.org/ with the line "Powered by Helma" somewhere on the
|
||||
site. While it is not a breach of this license to omit this, it's a
|
||||
great way for you to make help the Helma Project to continue
|
||||
to flourish and grow.
|
||||
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -1,27 +0,0 @@
|
|||
# The SMTP server to use for sending mails. Set and
|
||||
# uncomment this line before trying to send mails from
|
||||
# Helma applications.
|
||||
#
|
||||
# smtp=mail.yourdomain.com
|
||||
|
||||
|
||||
# Some examples for server-wide locale settings
|
||||
# (please refer to http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
|
||||
# for country codes, resp. http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
|
||||
# for language codes).
|
||||
#
|
||||
# country = AT
|
||||
# language = de
|
||||
#
|
||||
# country = UK
|
||||
# language = en
|
||||
#
|
||||
# country = FR
|
||||
# language = fr
|
||||
#
|
||||
# country = CZ
|
||||
# language = cs
|
||||
|
||||
# list ip addresses for admin-application here:
|
||||
allowAdmin=127.0.0.1, 192.168.0.1
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
@echo off
|
||||
|
||||
set TARGET=%1%
|
||||
REM set JAVA_HOME=c:\programme\jdk13
|
||||
|
||||
REM --------------------------------------------
|
||||
REM No need to edit anything past here
|
||||
REM --------------------------------------------
|
||||
|
||||
set BUILDFILE=build.xml
|
||||
if "%TARGET%" == "" goto setdist
|
||||
goto cont1
|
||||
|
||||
:cont1
|
||||
if not "%2%" == "" goto setapp
|
||||
goto final
|
||||
|
||||
:setdist
|
||||
set TARGET=usage
|
||||
goto cont1
|
||||
|
||||
:setapp
|
||||
set APPNAME=-Dapplication=%2%
|
||||
goto final
|
||||
|
||||
:final
|
||||
|
||||
if "%JAVA_HOME%" == "" goto javahomeerror
|
||||
|
||||
set CP=%CLASSPATH%;ant.jar;jaxp.jar;crimson.jar
|
||||
if exist %JAVA_HOME%\lib\tools.jar set CP=%CP%;%JAVA_HOME%\lib\tools.jar
|
||||
|
||||
echo Classpath: %CP%
|
||||
echo JAVA_HOME: %JAVA_HOME%
|
||||
|
||||
%JAVA_HOME%\bin\java.exe -classpath "%CP%" %APPNAME% org.apache.tools.ant.Main -buildfile %BUILDFILE% %TARGET%
|
||||
|
||||
goto end
|
||||
|
||||
|
||||
REM -----------ERROR-------------
|
||||
:javahomeerror
|
||||
echo "ERROR: JAVA_HOME not found in your environment."
|
||||
echo "Please, set the JAVA_HOME variable in your environment to match the"
|
||||
echo "location of the Java Virtual Machine you want to use."
|
||||
|
||||
:end
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# export JAVA_HOME=/usr/lib/j2sdk1.4.0
|
||||
|
||||
#--------------------------------------------
|
||||
# No need to edit anything past here
|
||||
#--------------------------------------------
|
||||
if test -z "${JAVA_HOME}" ; then
|
||||
echo "ERROR: JAVA_HOME not found in your environment."
|
||||
echo "Please, set the JAVA_HOME variable in your environment to match the"
|
||||
echo "location of the Java Virtual Machine you want to use."
|
||||
exit
|
||||
fi
|
||||
|
||||
if test -f ${JAVA_HOME}/lib/tools.jar ; then
|
||||
CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib/tools.jar
|
||||
fi
|
||||
|
||||
if test -n "${2}" ; then
|
||||
APPNAME=-Dapplication=${2}
|
||||
fi
|
||||
|
||||
CP=${CLASSPATH}:ant.jar:jaxp.jar:../lib/crimson.jar
|
||||
|
||||
echo "Classpath: ${CP}"
|
||||
echo "JAVA_HOME: ${JAVA_HOME}"
|
||||
|
||||
BUILDFILE=build.xml
|
||||
|
||||
${JAVA_HOME}/bin/java -classpath ${CP} ${APPNAME} org.apache.tools.ant.Main -buildfile ${BUILDFILE} ${1}
|
||||
|
413
build/build.xml
413
build/build.xml
|
@ -1,413 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<project name="Helma" default="usage" basedir=".">
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Initializes some variables -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="init">
|
||||
<property name="Name" value="helma"/>
|
||||
<property name="year" value="1998-${year}"/>
|
||||
<property name="version" value="1.2-rc2"/>
|
||||
<property name="project" value="helma"/>
|
||||
<property name="build.compiler" value="classic"/>
|
||||
|
||||
<property name="cvs.root.apps" value=":pserver:anonymous@adele.helma.at:/opt/cvs/apps"/>
|
||||
<property name="cvs.root.helma" value=":pserver:anonymous@adele.helma.at:/opt/cvs/helma"/>
|
||||
|
||||
<property name="home.dir" value=".."/>
|
||||
<property name="build.dir" value="${home.dir}/build"/>
|
||||
<property name="build.src" value="${home.dir}/src"/>
|
||||
<property name="build.lib" value="${home.dir}/lib"/>
|
||||
<property name="build.classes" value="${home.dir}/classes"/>
|
||||
<property name="build.docs" value="${home.dir}/docs"/>
|
||||
<property name="build.javadocs" value="${home.dir}/docs/api"/>
|
||||
|
||||
<property name="build.work" value="${home.dir}/work"/>
|
||||
<property name="build.dist" value="${home.dir}/dist"/>
|
||||
|
||||
<property name="jar.name" value="${project}"/>
|
||||
<property name="package.name" value="${project}-${version}"/>
|
||||
<property name="antclick.name" value="antclick-1.0pre3"/>
|
||||
|
||||
<property name="debug" value="on"/>
|
||||
<property name="optimize" value="on"/>
|
||||
<property name="deprecation" value="off"/>
|
||||
|
||||
<path id="build.class.path">
|
||||
<fileset dir="${home.dir}/lib">
|
||||
<exclude name="**/helma*.jar" />
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<tstamp/>
|
||||
|
||||
<filter token="year" value="${year}"/>
|
||||
<filter token="version" value="${version}"/>
|
||||
<filter token="date" value="${TODAY}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Help on usage -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="help" depends="usage" />
|
||||
<target name="usage">
|
||||
<echo message=""/>
|
||||
<echo message=""/>
|
||||
<echo message="Helma build instructions"/>
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
<echo message=""/>
|
||||
<echo message=" available targets are:"/>
|
||||
<echo message=""/>
|
||||
<echo message=" compile --> compiles the source code to ./classes"/>
|
||||
<echo message=" jar --> generates the ./lib/helma-YYYYMMDD.jar file"/>
|
||||
<echo message=" javadocs --> generates the API docs"/>
|
||||
<echo message=" docs --> tries to retrieve the HTML documentation "/>
|
||||
<echo message=" (may need proxy settings in startscript)"/>
|
||||
<echo message=" package --> generates the distribution (zip and tar.gz)"/>
|
||||
<echo message=" antclick --> generates the distribution (zip and tar.gz)"/>
|
||||
<echo message=" with antville preconfigured"/>
|
||||
<echo message=" app [name] --> gets an application from the cvs and zips it"/>
|
||||
<echo message=""/>
|
||||
<echo message=" usage --> provides help on using the build tool (default)"/>
|
||||
<echo message=""/>
|
||||
<echo message=" See comments inside the build.xml file for more details."/>
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
<echo message=""/>
|
||||
<echo message=""/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Compiles the source directory -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="compile" depends="init">
|
||||
<mkdir dir="${build.classes}"/>
|
||||
<javac srcdir="${build.src}"
|
||||
destdir="${build.classes}"
|
||||
debug="${debug}"
|
||||
deprecation="${deprecation}"
|
||||
optimize="${optimize}">
|
||||
<classpath refid="build.class.path" />
|
||||
</javac>
|
||||
<rmic classname="helma.framework.core.RemoteApplication" base="${build.classes}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates a helma.jar file (snapshot) in the lib-directory -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="jar" depends="compile">
|
||||
<jar jarfile="${build.lib}/${jar.name}-${DSTAMP}.jar"
|
||||
basedir="${build.classes}"
|
||||
excludes="**/package.html,**/main/launcher/**"/>
|
||||
<jar jarfile="${home.dir}/launcher.jar"
|
||||
basedir="${build.classes}"
|
||||
includes="**/main/launcher/**"
|
||||
manifest="${build.src}/helma/main/launcher/manifest.txt"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the API documentation -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="javadocs" depends="init">
|
||||
<mkdir dir="${build.javadocs}"/>
|
||||
<javadoc packagenames="helma.*"
|
||||
sourcepath="${build.src}"
|
||||
destdir="${build.javadocs}"
|
||||
author="false"
|
||||
private="false"
|
||||
version="false"
|
||||
windowtitle="${Name} ${version} API"
|
||||
doctitle="${Name} ${version} API"
|
||||
bottom="Copyright © ${year} Helma.org. All Rights Reserved."
|
||||
classpathref="build.class.path"
|
||||
/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Get the documentation (currently can fail due to request time-out -->
|
||||
<!-- or missing support for proxies) -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="docs" depends="init">
|
||||
<get src="http://www.helma.org/docs/reference/print"
|
||||
dest="${build.docs}/reference.html"
|
||||
ignoreerrors="true"
|
||||
/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the full helma distribution -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package" depends="init">
|
||||
<mkdir dir="${build.work}"/>
|
||||
|
||||
<!-- create the main part of helma -->
|
||||
<antcall target="package-raw">
|
||||
<param name="distribution" value="main" />
|
||||
</antcall>
|
||||
|
||||
<chmod perm="755">
|
||||
<fileset dir="${build.work}">
|
||||
<include name="hop.sh"/>
|
||||
</fileset>
|
||||
</chmod>
|
||||
|
||||
<!-- checkout the demo apps (and zip manage-app) -->
|
||||
<antcall target="package-apps" />
|
||||
|
||||
<!-- zip up the whole thing -->
|
||||
<antcall target="package-zip">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
<antcall target="package-tgz">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
|
||||
<!-- make the src distributions -->
|
||||
<antcall target="package-src-zip">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
<antcall target="package-src-tgz">
|
||||
<param name="filename" value="${package.name}"/>
|
||||
</antcall>
|
||||
|
||||
<!-- clean up -->
|
||||
<delete dir="${build.work}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Compile Helma and prepare the skeleton in a temporary directory. -->
|
||||
<!-- Used by package and antclick. -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-raw" depends="init, jar">
|
||||
|
||||
<!-- copy the framework (apps.props, server.props, hop/db, hop/static) -->
|
||||
<copy todir="${build.work}">
|
||||
<fileset dir="${build.dir}/${distribution}" excludes="**/CVS**"/>
|
||||
</copy>
|
||||
|
||||
<!-- copy the launcher jar file -->
|
||||
<copy file="${home.dir}/launcher.jar" todir="${build.work}/"/>
|
||||
|
||||
<!-- copy README.txt -->
|
||||
<copy file="${home.dir}/README.txt" todir="${build.work}/"/>
|
||||
|
||||
<!-- copy the whole docs-directory -->
|
||||
<!-- copy todir="${build.work}/docs">
|
||||
<fileset dir="${build.docs}"/>
|
||||
</copy -->
|
||||
|
||||
<!-- copy all libraries except helma-YYYYMMDD.jar -->
|
||||
<copy todir="${build.work}/lib">
|
||||
<fileset dir="${home.dir}/lib">
|
||||
<exclude name="**/helma*.jar" />
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- copy the whole licenses-directory -->
|
||||
<copy todir="${build.work}/licenses">
|
||||
<fileset dir="${home.dir}/licenses" excludes="**/CVS**"/>
|
||||
</copy>
|
||||
|
||||
<!-- rename the current jar-file -->
|
||||
<copy file="${build.lib}/${jar.name}-${DSTAMP}.jar" tofile="${build.work}/lib/helma.jar"/>
|
||||
|
||||
<!-- zip the sourcecode -->
|
||||
<!-- mkdir dir="${build.work}/src"/>
|
||||
<tar tarfile="${build.work}/src/helma-src.tar" basedir="${build.src}/">
|
||||
<tarfileset dir="${build.src}">
|
||||
<include name="${build.src}/**"/>
|
||||
</tarfileset>
|
||||
</tar>
|
||||
<gzip zipfile="${build.work}/src/helma-src.tar.gz" src="${build.work}/src/helma-src.tar"/>
|
||||
<delete file="${build.work}/src/helma-src.tar"/ -->
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Checkout demo apps, put them in work directory and zip manage app -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-apps" depends="init">
|
||||
|
||||
<mkdir dir="${build.work}/apps" />
|
||||
|
||||
<!-- get demo apps -->
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="base" dest="${build.work}/apps" />
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="bloggerapi" dest="${build.work}/apps" />
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="himp" dest="${build.work}/apps" />
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="hopblog" dest="${build.work}/apps" />
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="lillebror" dest="${build.work}/apps" />
|
||||
|
||||
<antcall target="package-manage" />
|
||||
|
||||
<!-- write out apps.properties file -->
|
||||
<echo file="${build.work}/apps.properties" append="false">
|
||||
# list of applications to be started by helma
|
||||
base
|
||||
base.mountpoint = /
|
||||
bloggerapi
|
||||
himp
|
||||
hopblog
|
||||
lillebror
|
||||
manage
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Checkout and zip manage application -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-manage" depends="init">
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="manage" dest="${build.work}" />
|
||||
<mkdir dir="${build.work}/apps/manage"/>
|
||||
<zip zipfile="${build.work}/apps/manage/manage.zip" basedir="${build.work}/manage/" includes="**" excludes="**/properties,readme/**" />
|
||||
<copy todir="${build.work}/apps/manage">
|
||||
<fileset dir="${build.work}/manage" includes="app.properties,class.properties,readme.txt"/>
|
||||
</copy>
|
||||
<delete dir="${build.work}/manage" />
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the work directory with TAR-GZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-tgz" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin" />
|
||||
<tar tarfile="${build.dist}/${filename}.tar" basedir="${build.work}" excludes="**">
|
||||
<tarfileset prefix="${filename}" dir="${build.work}" mode="755">
|
||||
<include name="hop.sh"/>
|
||||
</tarfileset>
|
||||
<tarfileset prefix="${filename}" dir="${build.work}">
|
||||
<include name="**"/>
|
||||
<exclude name="hop.sh"/>
|
||||
</tarfileset>
|
||||
</tar>
|
||||
<gzip zipfile="${build.dist}/${filename}.tar.gz" src="${build.dist}/${filename}.tar"/>
|
||||
<delete file="${build.dist}/${filename}.tar"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the work directory with ZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-zip" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<fixcrlf srcdir="${build.work}" eol="crlf" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin, **/*.xml" />
|
||||
<zip zipfile="${build.dist}/${filename}.zip">
|
||||
<zipfileset dir="${build.work}" prefix="${filename}" includes="**" />
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages Helma src and build directories with TAR-GZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-src-tgz" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<tar tarfile="${build.dist}/${filename}-src.tar">
|
||||
<tarfileset prefix="${filename}" dir="${home.dir}"
|
||||
includes="src/**,build/**,license.txt,licenses/**"/>
|
||||
</tar>
|
||||
<gzip zipfile="${build.dist}/${filename}-src.tar.gz" src="${build.dist}/${filename}-src.tar"/>
|
||||
<delete file="${build.dist}/${filename}-src.tar"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages Helma src and build directories with ZIP -->
|
||||
<!-- needs parameter ${filename} for final dist-file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="package-src-zip" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<zip zipfile="${build.dist}/${filename}-src.zip">
|
||||
<zipfileset dir="${home.dir}" prefix="${filename}"
|
||||
includes="src/**,build/**,license.txt,licenses/**" />
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Make Antclick package (helma plus Antville and manage apps) -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="antclick" depends="init">
|
||||
<mkdir dir="${build.work}"/>
|
||||
|
||||
<!-- create the main part of helma -->
|
||||
<antcall target="package-raw">
|
||||
<param name="distribution" value="antclick" />
|
||||
</antcall>
|
||||
|
||||
<!-- get antville -->
|
||||
<mkdir dir="${build.work}/apps" />
|
||||
<!-- to retrieve special versions of antville insert additional attributes:
|
||||
tag="TAGNAME", date="1972-09-24" or date="1972-09-24 20:05" -->
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="antville" dest="${build.work}/apps" />
|
||||
|
||||
<!-- unzip images -->
|
||||
<mkdir dir="${build.work}/static/images"/>
|
||||
<unzip src="${build.work}/apps/antville/images.zip" dest="${build.work}/static/images">
|
||||
<patternset>
|
||||
<include name="**"/>
|
||||
</patternset>
|
||||
</unzip>
|
||||
|
||||
<!-- delete antville's mysql-scripts, image-zip etc -->
|
||||
<delete>
|
||||
<fileset dir="${build.work}/apps/antville" includes="images.zip,*.sql" />
|
||||
</delete>
|
||||
|
||||
<!-- get and zip manage-app -->
|
||||
<antcall target="package-manage" />
|
||||
|
||||
<!-- zip up the whole thing -->
|
||||
<antcall target="package-zip">
|
||||
<param name="filename" value="${antclick.name}"/>
|
||||
</antcall>
|
||||
<antcall target="package-tgz">
|
||||
<param name="filename" value="${antclick.name}"/>
|
||||
</antcall>
|
||||
|
||||
<!-- clean up -->
|
||||
<delete dir="${build.work}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Gets an application from the cvs and zips/targzs it -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="app" depends="init">
|
||||
<mkdir dir="${build.dist}" />
|
||||
<mkdir dir="${build.work}" />
|
||||
|
||||
<!-- to retrieve special versions of an application insert
|
||||
additional attributes: tag="TAGNAME" or date="1972-09-24 20:05" -->
|
||||
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="${application}" dest="${build.work}" />
|
||||
|
||||
<fixcrlf srcdir="${build.work}" eol="crlf" eof="add" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin, **/*.xml" />
|
||||
<zip zipfile="${build.dist}/${application}-${DSTAMP}.zip" basedir="${build.work}" includes="**"/>
|
||||
|
||||
<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin" />
|
||||
<tar tarfile="${build.dist}/${application}-${DSTAMP}.tar" basedir="${build.work}">
|
||||
<tarfileset dir="${build.work}">
|
||||
<include name="${build.work}/**"/>
|
||||
</tarfileset>
|
||||
</tar>
|
||||
<gzip zipfile="${build.dist}/${application}-${DSTAMP}.tar.gz" src="${build.dist}/${application}-${DSTAMP}.tar" />
|
||||
|
||||
<delete file="${build.dist}/${application}-${DSTAMP}.tar" />
|
||||
<delete dir="${build.work}" />
|
||||
</target>
|
||||
|
||||
</project>
|
Binary file not shown.
BIN
build/jaxp.jar
BIN
build/jaxp.jar
Binary file not shown.
|
@ -1,10 +0,0 @@
|
|||
# List of apps to start.
|
||||
|
||||
base
|
||||
base.mountpoint = /
|
||||
|
||||
manage
|
||||
|
||||
himp
|
||||
bloggerapi
|
||||
lillebror
|
|
@ -1,16 +0,0 @@
|
|||
# This is where you specify relational data sources to
|
||||
# map Helma types to relational databases.
|
||||
#
|
||||
# If you want to define a data source just for one
|
||||
# application, simply copy the db.properties file to
|
||||
# the application directory.
|
||||
#
|
||||
# The actual mapping of types is done in the
|
||||
# type.properties file in the prototype directories.
|
||||
#
|
||||
|
||||
# Properties of JDBC data sources
|
||||
myDataSource.url = jdbc:mysql://db.domain.com/space
|
||||
myDataSource.driver = org.gjt.mm.mysql.Driver
|
||||
myDataSource.user = username
|
||||
myDataSource.password = xyz
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- printed by helma object publisher -->
|
||||
<!-- created Fri May 31 16:36:44 CEST 2002 -->
|
||||
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
|
||||
<hopobject id="0" name="root" prototype="root" created="1022855750998" lastModified="1022855804064">
|
||||
<hop:child idref="3" prototyperef="weblogstory"/>
|
||||
</hopobject>
|
||||
</xmlroot>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- printed by helma object publisher -->
|
||||
<!-- created Fri May 31 16:36:30 CEST 2002 -->
|
||||
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
|
||||
<hopobject id="1" name="users" prototype="hopobject" created="1022855751010" lastModified="1022855790024">
|
||||
<helma idref="2" prototyperef="user"/>
|
||||
</hopobject>
|
||||
</xmlroot>
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- printed by helma object publisher -->
|
||||
<!-- created Fri May 31 16:36:30 CEST 2002 -->
|
||||
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
|
||||
<hopobject id="2" name="helma" prototype="user" created="1022855790020" lastModified="1022855790025">
|
||||
<hop:parent idref="1" prototyperef="hopobject"/>
|
||||
<email>admin@somedomain.at</email>
|
||||
<password>helma</password>
|
||||
<name>helma</name>
|
||||
</hopobject>
|
||||
</xmlroot>
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- printed by helma object publisher -->
|
||||
<!-- created Fri May 31 16:36:44 CEST 2002 -->
|
||||
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
|
||||
<hopobject id="3" name="weblogstory" prototype="weblogstory" created="1022855804062" lastModified="1022855804064">
|
||||
<hop:parent idref="0" prototyperef="root"/>
|
||||
<postdate type="date">31.05.2002 16:36:44 CEST</postdate>
|
||||
<day>2002.05.31</day>
|
||||
<author idref="2" prototyperef="user"/>
|
||||
<text>Congratulations! You successfully created your Helma HopBlog!
|
||||
|
||||
As a first step you can login to your HopBlog using "helma" as user name and password (certainly without the quotes) and create or edit stories.
|
||||
|
||||
Or you set-up HopBlog administration for yourself. You can do this by opening the file app.properties in the apps/hopblog directory of your Helma installation and editing the settings for siteAdmin, adminEmail and smtp.
|
||||
|
||||
After that you should register the new administrator as HopBlog user. Simply enter the data you chose for siteAdmin and adminEmail in the appropriate fields of the registration form, fill in the other form fields and submit your data. If you have set a valid e-mail address and smtp server, you should get a message confirming the registration.
|
||||
|
||||
Now you can login to your HopBlog using name and password of the newly created user.
|
||||
|
||||
Let the fun begin...
|
||||
:)</text>
|
||||
<moddate type="date">31.05.2002 16:36:44 CEST</moddate>
|
||||
</hopobject>
|
||||
</xmlroot>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- printed by helma object publisher -->
|
||||
<!-- created Fri May 31 16:36:44 CEST 2002 -->
|
||||
<xmlroot>
|
||||
<counter>3</counter>
|
||||
</xmlroot>
|
|
@ -1,79 +0,0 @@
|
|||
@echo off
|
||||
rem Batch file for Starting Helma with a JDK-like virtual machine.
|
||||
|
||||
rem To add jar files to the classpath, simply place them into the
|
||||
rem lib/ext directory of this Helma installation.
|
||||
|
||||
:: Initialize variables
|
||||
:: (don't touch this section)
|
||||
set JAVA_HOME=
|
||||
set HOP_HOME=
|
||||
set HTTP_PORT=
|
||||
set XMLRPC_PORT=
|
||||
set AJP13_PORT=
|
||||
set RMI_PORT=
|
||||
set OPTIONS=
|
||||
|
||||
:: Set TCP ports for Helma servers
|
||||
:: (comment/uncomment to de/activate)
|
||||
set HTTP_PORT=8080
|
||||
rem set XMLRPC_PORT=8081
|
||||
rem set AJP13_PORT=8009
|
||||
rem set RMI_PORT=5050
|
||||
|
||||
:: Uncomment to set HOP_HOME
|
||||
rem set HOP_HOME=c:\program files\helma
|
||||
|
||||
:: Uncomment to set JAVA_HOME variable
|
||||
rem set JAVA_HOME=c:\program files\java
|
||||
|
||||
:: Uncomment to pass options to the Java virtual machine
|
||||
rem set JAVA_OPTIONS=-server -Xmx128m
|
||||
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: No user configuration needed below this line :::::::
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
|
||||
:: Setting the script path
|
||||
set INSTALL_DIR=%~d0%~p0
|
||||
|
||||
:: Using JAVA_HOME variable if defined. Otherwise,
|
||||
:: Java executable must be contained in PATH variable
|
||||
if "%JAVA_HOME%"=="" goto default
|
||||
set JAVACMD=%JAVA_HOME%\bin\java
|
||||
goto end
|
||||
:default
|
||||
set JAVACMD=java
|
||||
:end
|
||||
|
||||
:: Setting HOP_HOME to script path if undefined
|
||||
if "%HOP_HOME%"=="" (
|
||||
set HOP_HOME=%INSTALL_DIR%
|
||||
)
|
||||
cd %HOP_HOME%
|
||||
|
||||
|
||||
:: Setting Helma server options
|
||||
if not "%HTTP_PORT%"=="" (
|
||||
echo Starting HTTP server on port %HTTP_PORT%
|
||||
set OPTIONS=%OPTIONS% -w %HTTP_PORT%
|
||||
)
|
||||
if not "%XMLRPC_PORT%"=="" (
|
||||
echo Starting XML-RPC server on port %XMLRPC_PORT%
|
||||
set OPTIONS=%OPTIONS% -x %XMLRPC_PORT%
|
||||
)
|
||||
if not "%AJP13_PORT%"=="" (
|
||||
echo Starting AJP13 listener on port %AJP13_PORT%
|
||||
set OPTIONS=%OPTIONS% -jk %AJP13_PORT%
|
||||
)
|
||||
if not "%RMI_PORT%"=="" (
|
||||
echo Starting RMI server on port %RMI_PORT%
|
||||
set OPTIONS=%OPTIONS% -p %RMI_PORT%
|
||||
)
|
||||
if not "%HOP_HOME%"=="" (
|
||||
echo Serving applications from %HOP_HOME%
|
||||
set OPTIONS=%OPTIONS% -h "%HOP_HOME%
|
||||
)
|
||||
|
||||
:: Invoking the Java virtual machine
|
||||
%JAVACMD% %JAVA_OPTIONS% -jar "%INSTALL_DIR%\launcher.jar" %OPTIONS%
|
|
@ -1,73 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Shell script for starting Helma with a JDK-like virtual machine.
|
||||
|
||||
# To add JAR files to the classpath, simply place them into the
|
||||
# lib/ext directory.
|
||||
|
||||
# uncomment to set JAVA_HOME variable
|
||||
# JAVA_HOME=/usr/lib/java
|
||||
|
||||
# uncomment to set HOP_HOME, otherwise we get it from the script path
|
||||
# HOP_HOME=/usr/local/helma
|
||||
|
||||
# options to pass to the Java virtual machine
|
||||
# JAVA_OPTIONS="-server -Xmx128m"
|
||||
|
||||
# Set TCP ports for Helma servers
|
||||
# (comment/uncomment to de/activate)
|
||||
HTTP_PORT=8080
|
||||
# XMLRPC_PORT=8081
|
||||
# AJP13_PORT=8009
|
||||
# RMI_PORT=5050
|
||||
|
||||
###########################################################
|
||||
###### No user configuration needed below this line #######
|
||||
###########################################################
|
||||
|
||||
# if JAVA_HOME variable is set, use it. Otherwise, Java executable
|
||||
# must be contained in PATH variable.
|
||||
if [ "$JAVA_HOME" ]; then
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
else
|
||||
JAVACMD=java
|
||||
fi
|
||||
|
||||
# Get the Helma installation directory
|
||||
INSTALL_DIR="${0%/*}"
|
||||
cd $INSTALL_DIR
|
||||
INSTALL_DIR=$PWD
|
||||
|
||||
# get HOP_HOME variable if it isn't set
|
||||
if test -z "$HOP_HOME"; then
|
||||
# try to get HOP_HOME from script file and pwd
|
||||
# strip everyting behind last slash
|
||||
HOP_HOME="${0%/*}"
|
||||
cd $HOP_HOME
|
||||
HOP_HOME=$PWD
|
||||
else
|
||||
cd $HOP_HOME
|
||||
fi
|
||||
echo "Starting Helma in directory $HOP_HOME"
|
||||
|
||||
if [ "$HTTP_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -w $HTTP_PORT"
|
||||
echo Starting HTTP server on port $HTTP_PORT
|
||||
fi
|
||||
if [ "$XMLRPC_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -x $XMLRPC_PORT"
|
||||
echo Starting XML-RPC server on port $XMLRPC_PORT
|
||||
fi
|
||||
if [ "$AJP13_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -jk $AJP13_PORT"
|
||||
echo Starting AJP13 listener on port $AJP13_PORT
|
||||
fi
|
||||
if [ "$RMI_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -p $RMI_PORT"
|
||||
echo Starting RMI server on port $RMI_PORT
|
||||
fi
|
||||
if [ "$HOP_HOME" ]; then
|
||||
SWITCHES="$SWITCHES -h $HOP_HOME"
|
||||
fi
|
||||
|
||||
# Invoke the Java VM
|
||||
$JAVACMD $JAVA_OPTIONS -jar "$INSTALL_DIR/launcher.jar" $SWITCHES
|
|
@ -1,49 +0,0 @@
|
|||
Copyright (c) 1999-2002 Helma Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. Products derived from this software may not be called "Helma"
|
||||
or "Hop", nor may "Helma" or "Hop" appear in their name, without
|
||||
prior written permission of the Helma Project Group. For written
|
||||
permission, please contact helma@helma.org.
|
||||
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
This product contains the FESI EcmaScript interpreter written by
|
||||
Jean-Marc Lugrin (http://home.worldcom.ch/jmlugrin/fesi/). FESI is
|
||||
released under the GNU Lesser General Public License (see licenses/lesser.txt).
|
||||
|
||||
This product contains software from the Acme package written by Jef
|
||||
Poskanzer. Please see the licensing terms in the Acme source code and check out
|
||||
Jef's site at http://www.acme.com/.
|
||||
|
||||
This product includes software developed by the Apache Software Foundation
|
||||
released under the Apache Software License (licenses/apache.txt).
|
||||
|
||||
This product includes software developed by the JDOM Project
|
||||
(http://www.jdom.org/). Please see the licensing terms in licenses/jdom.txt
|
||||
|
||||
This product includes software developed by the Word Wide Web Consortium
|
||||
(http://www.w3c.org/). Please see the licensing terms in licenses/w3c.html.
|
|
@ -1,27 +0,0 @@
|
|||
# The SMTP server to use for sending mails. Set and
|
||||
# uncomment this line before trying to send mails from
|
||||
# Helma applications.
|
||||
#
|
||||
# smtp=mail.yourdomain.com
|
||||
|
||||
|
||||
# Some examples for server-wide locale settings
|
||||
# (please refer to http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
|
||||
# for country codes, resp. http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
|
||||
# for language codes).
|
||||
#
|
||||
# country = AT
|
||||
# language = de
|
||||
#
|
||||
# country = UK
|
||||
# language = en
|
||||
#
|
||||
# country = FR
|
||||
# language = fr
|
||||
#
|
||||
# country = CZ
|
||||
# language = cs
|
||||
|
||||
# list ip addresses for admin-application here:
|
||||
allowAdmin=127.0.0.1, 192.168.0.1
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 721 B |
Binary file not shown.
Before Width: | Height: | Size: 134 KiB |
52
cliff.toml
Normal file
52
cliff.toml
Normal file
|
@ -0,0 +1,52 @@
|
|||
# git-cliff ~ default configuration file
|
||||
# https://git-cliff.org/docs/configuration
|
||||
#
|
||||
# Lines starting with "#" are comments.
|
||||
# Configuration options are organized into tables and keys.
|
||||
# See documentation for more information on available options.
|
||||
|
||||
[changelog]
|
||||
trim = true
|
||||
|
||||
header = "## Changes"
|
||||
|
||||
body = """
|
||||
{% for group, commits in commits | filter(attribute="merge_commit") | group_by(attribute="group") %}
|
||||
### {{ group | striptags | trim | upper_first }}
|
||||
{% for commit in commits %}
|
||||
* [<tt>{{ commit.id | split(pat="") | slice(end=11) | join() }}</tt>]\
|
||||
(https://code.host.antville.org/antville/helma/commit/{{ commit.id }}) \
|
||||
{% if commit.breaking %}**Breaking:** {% endif %}\
|
||||
{{ commit.message | split(pat="\\n") | first | upper_first | escape }}\
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
**Full Changelog:** [{{ previous.version }} → {{ version }}]\
|
||||
(https://code.host.antville.org/antville/helma/compare/\
|
||||
{{ previous.version | urlencode }}..{{ version | urlencode }})\n\n
|
||||
"""
|
||||
|
||||
footer = """
|
||||
Generated by [git-cliff](https://git-cliff.org/).
|
||||
"""
|
||||
|
||||
[git]
|
||||
conventional_commits = false
|
||||
filter_commits = false
|
||||
filter_unconventional = false
|
||||
protect_breaking_commits = false
|
||||
sort_commits = "newest"
|
||||
split_commits = false
|
||||
topo_order = false
|
||||
|
||||
commit_parsers = [
|
||||
{ message = "^Apply \\d+ suggestion", skip = true },
|
||||
{ message = "^Merge .*(branch|dependabot|dependency|renovate)", skip = true },
|
||||
{ message = "^Lock file maintenance", skip = true },
|
||||
{ message = "yarn\\.lock", skip = true },
|
||||
|
||||
{ message = "^[Ff]ix", group = "<!-- 0 --> 🐛 Bug Fixes" },
|
||||
{ field = "author.name", pattern = "[Rr]enovate|[Dd]ependabot", group = "<!-- 3 --> 📦 Dependency Updates" },
|
||||
{ message = "^Merge pull request", group = "<!-- 1 --> 🔀 Merges" },
|
||||
{ message = ".*", group = "<!-- 2 --> Uncategorized" },
|
||||
]
|
|
@ -1,6 +0,0 @@
|
|||
cd build
|
||||
./build.sh jar
|
||||
cd ..
|
||||
mv lib/helma-* lib/helma.jar
|
||||
./hop.sh
|
||||
|
2472
docs/reference.html
2472
docs/reference.html
File diff suppressed because it is too large
Load diff
3
gradle.properties
Normal file
3
gradle.properties
Normal file
|
@ -0,0 +1,3 @@
|
|||
org.gradle.console = plain
|
||||
|
||||
function =
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
Binary file not shown.
7
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
7
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
251
gradlew
vendored
Executable file
251
gradlew
vendored
Executable file
|
@ -0,0 +1,251 @@
|
|||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
} >&2
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
94
gradlew.bat
vendored
Normal file
94
gradlew.bat
vendored
Normal file
|
@ -0,0 +1,94 @@
|
|||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
79
hop.bat
79
hop.bat
|
@ -1,79 +0,0 @@
|
|||
@echo off
|
||||
rem Batch file for Starting Helma with a JDK-like virtual machine.
|
||||
|
||||
rem To add jar files to the classpath, simply place them into the
|
||||
rem lib/ext directory of this Helma installation.
|
||||
|
||||
:: Initialize variables
|
||||
:: (don't touch this section)
|
||||
set JAVA_HOME=
|
||||
set HOP_HOME=
|
||||
set HTTP_PORT=
|
||||
set XMLRPC_PORT=
|
||||
set AJP13_PORT=
|
||||
set RMI_PORT=
|
||||
set OPTIONS=
|
||||
|
||||
:: Set TCP ports for Helma servers
|
||||
:: (comment/uncomment to de/activate)
|
||||
set HTTP_PORT=8080
|
||||
rem set XMLRPC_PORT=8081
|
||||
rem set AJP13_PORT=8009
|
||||
rem set RMI_PORT=5050
|
||||
|
||||
:: Uncomment to set HOP_HOME
|
||||
rem set HOP_HOME=c:\program files\helma
|
||||
|
||||
:: Uncomment to set JAVA_HOME variable
|
||||
rem set JAVA_HOME=c:\program files\java
|
||||
|
||||
:: Uncomment to pass options to the Java virtual machine
|
||||
rem set JAVA_OPTIONS=-server -Xmx128m
|
||||
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: No user configuration needed below this line :::::::
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
|
||||
:: Setting the script path
|
||||
set INSTALL_DIR=%~d0%~p0
|
||||
|
||||
:: Using JAVA_HOME variable if defined. Otherwise,
|
||||
:: Java executable must be contained in PATH variable
|
||||
if "%JAVA_HOME%"=="" goto default
|
||||
set JAVACMD=%JAVA_HOME%\bin\java
|
||||
goto end
|
||||
:default
|
||||
set JAVACMD=java
|
||||
:end
|
||||
|
||||
:: Setting HOP_HOME to script path if undefined
|
||||
if "%HOP_HOME%"=="" (
|
||||
set HOP_HOME=%INSTALL_DIR%
|
||||
)
|
||||
cd %HOP_HOME%
|
||||
|
||||
|
||||
:: Setting Helma server options
|
||||
if not "%HTTP_PORT%"=="" (
|
||||
echo Starting HTTP server on port %HTTP_PORT%
|
||||
set OPTIONS=%OPTIONS% -w %HTTP_PORT%
|
||||
)
|
||||
if not "%XMLRPC_PORT%"=="" (
|
||||
echo Starting XML-RPC server on port %XMLRPC_PORT%
|
||||
set OPTIONS=%OPTIONS% -x %XMLRPC_PORT%
|
||||
)
|
||||
if not "%AJP13_PORT%"=="" (
|
||||
echo Starting AJP13 listener on port %AJP13_PORT%
|
||||
set OPTIONS=%OPTIONS% -jk %AJP13_PORT%
|
||||
)
|
||||
if not "%RMI_PORT%"=="" (
|
||||
echo Starting RMI server on port %RMI_PORT%
|
||||
set OPTIONS=%OPTIONS% -p %RMI_PORT%
|
||||
)
|
||||
if not "%HOP_HOME%"=="" (
|
||||
echo Serving applications from %HOP_HOME%
|
||||
set OPTIONS=%OPTIONS% -h "%HOP_HOME%
|
||||
)
|
||||
|
||||
:: Invoking the Java virtual machine
|
||||
%JAVACMD% %JAVA_OPTIONS% -jar "%INSTALL_DIR%\launcher.jar" %OPTIONS%
|
73
hop.sh
73
hop.sh
|
@ -1,73 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Shell script for starting Helma with a JDK-like virtual machine.
|
||||
|
||||
# To add JAR files to the classpath, simply place them into the
|
||||
# lib/ext directory.
|
||||
|
||||
# uncomment to set JAVA_HOME variable
|
||||
# JAVA_HOME=/usr/lib/java
|
||||
|
||||
# uncomment to set HOP_HOME, otherwise we get it from the script path
|
||||
# HOP_HOME=/usr/local/helma
|
||||
|
||||
# options to pass to the Java virtual machine
|
||||
# JAVA_OPTIONS="-server -Xmx128m"
|
||||
|
||||
# Set TCP ports for Helma servers
|
||||
# (comment/uncomment to de/activate)
|
||||
HTTP_PORT=8080
|
||||
# XMLRPC_PORT=8081
|
||||
# AJP13_PORT=8009
|
||||
# RMI_PORT=5050
|
||||
|
||||
###########################################################
|
||||
###### No user configuration needed below this line #######
|
||||
###########################################################
|
||||
|
||||
# if JAVA_HOME variable is set, use it. Otherwise, Java executable
|
||||
# must be contained in PATH variable.
|
||||
if [ "$JAVA_HOME" ]; then
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
else
|
||||
JAVACMD=java
|
||||
fi
|
||||
|
||||
# Get the Helma installation directory
|
||||
INSTALL_DIR="${0%/*}"
|
||||
cd $INSTALL_DIR
|
||||
INSTALL_DIR=$PWD
|
||||
|
||||
# get HOP_HOME variable if it isn't set
|
||||
if test -z "$HOP_HOME"; then
|
||||
# try to get HOP_HOME from script file and pwd
|
||||
# strip everyting behind last slash
|
||||
HOP_HOME="${0%/*}"
|
||||
cd $HOP_HOME
|
||||
HOP_HOME=$PWD
|
||||
else
|
||||
cd $HOP_HOME
|
||||
fi
|
||||
echo "Starting Helma in directory $HOP_HOME"
|
||||
|
||||
if [ "$HTTP_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -w $HTTP_PORT"
|
||||
echo Starting HTTP server on port $HTTP_PORT
|
||||
fi
|
||||
if [ "$XMLRPC_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -x $XMLRPC_PORT"
|
||||
echo Starting XML-RPC server on port $XMLRPC_PORT
|
||||
fi
|
||||
if [ "$AJP13_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -jk $AJP13_PORT"
|
||||
echo Starting AJP13 listener on port $AJP13_PORT
|
||||
fi
|
||||
if [ "$RMI_PORT" ]; then
|
||||
SWITCHES="$SWITCHES -p $RMI_PORT"
|
||||
echo Starting RMI server on port $RMI_PORT
|
||||
fi
|
||||
if [ "$HOP_HOME" ]; then
|
||||
SWITCHES="$SWITCHES -h $HOP_HOME"
|
||||
fi
|
||||
|
||||
# Invoke the Java VM
|
||||
$JAVACMD $JAVA_OPTIONS -jar "$INSTALL_DIR/launcher.jar" $SWITCHES
|
5
launcher/build.gradle
Normal file
5
launcher/build.gradle
Normal file
|
@ -0,0 +1,5 @@
|
|||
jar {
|
||||
manifest {
|
||||
from 'src/main/java/helma/main/launcher/manifest.txt'
|
||||
}
|
||||
}
|
59
launcher/src/main/java/helma/main/launcher/Commandline.java
Normal file
59
launcher/src/main/java/helma/main/launcher/Commandline.java
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* Helma License Notice
|
||||
*
|
||||
* The contents of this file are subject to the Helma License
|
||||
* Version 2.0 (the "License"). You may not use this file except in
|
||||
* compliance with the License. A copy of the License is available at
|
||||
* http://adele.helma.org/download/helma/license.txt
|
||||
*
|
||||
* Copyright 1998-2003 Helma Software. All Rights Reserved.
|
||||
*
|
||||
* $RCSfile$
|
||||
* $Author$
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*/
|
||||
|
||||
package helma.main.launcher;
|
||||
|
||||
import java.lang.reflect.*;
|
||||
|
||||
/**
|
||||
* Helma bootstrap class. Figures out Helma home directory, sets up class path and
|
||||
* lauchnes main class. This class must be invoked from a jar file in order to work.
|
||||
*
|
||||
* @author Stefan Pollach
|
||||
*/
|
||||
public class Commandline {
|
||||
|
||||
/**
|
||||
* boot method for running a request from the command line.
|
||||
* This retrieves the Helma home directory, creates the
|
||||
* classpath, get the request properties, creates the app and
|
||||
* runs it
|
||||
*-
|
||||
* @param args command line arguments
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
String installDir = Main.getInstallDir(args);
|
||||
|
||||
ClassLoader loader = Main.createClassLoader(installDir);
|
||||
|
||||
// get the main server class
|
||||
Class clazz = loader.loadClass("helma.main.CommandlineRunner");
|
||||
Class[] cargs = new Class[]{args.getClass()};
|
||||
Method main = clazz.getMethod("main", cargs);
|
||||
Object[] nargs = new Object[]{args};
|
||||
|
||||
// and invoke the static main(String, String[]) method
|
||||
main.invoke(null, nargs);
|
||||
} catch (Exception x) {
|
||||
// unable to get Helma installation dir from launcher jar
|
||||
x.printStackTrace();
|
||||
System.err.println("Unable to get Helma installation directory: ");
|
||||
System.err.println(x.getMessage());
|
||||
System.exit(2);
|
||||
}
|
||||
}
|
||||
}
|
234
launcher/src/main/java/helma/main/launcher/Main.java
Normal file
234
launcher/src/main/java/helma/main/launcher/Main.java
Normal file
|
@ -0,0 +1,234 @@
|
|||
/*
|
||||
* Helma License Notice
|
||||
*
|
||||
* The contents of this file are subject to the Helma License
|
||||
* Version 2.0 (the "License"). You may not use this file except in
|
||||
* compliance with the License. A copy of the License is available at
|
||||
* http://adele.helma.org/download/helma/license.txt
|
||||
*
|
||||
* Copyright 1998-2003 Helma Software. All Rights Reserved.
|
||||
*
|
||||
* $RCSfile$
|
||||
* $Author$
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*/
|
||||
|
||||
package helma.main.launcher;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.MalformedURLException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Helma bootstrap class. Basically this is a convenience wrapper that takes over
|
||||
* the job of setting the class path and helma install directory before launching
|
||||
* the static main(String[]) method in <code>helma.main.Server</code>. This class
|
||||
* should be invoked from a jar file in the Helma install directory in order to
|
||||
* be able to set up class and install paths.
|
||||
*/
|
||||
public class Main {
|
||||
private Class serverClass;
|
||||
private Object server;
|
||||
|
||||
private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
|
||||
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
|
||||
|
||||
/**
|
||||
* Helma boot method. This retrieves the Helma home directory, creates the
|
||||
* classpath and invokes main() in helma.main.Server.
|
||||
*
|
||||
* @param args command line arguments
|
||||
*
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
Main main = new Main();
|
||||
main.init(args);
|
||||
main.start();
|
||||
}
|
||||
|
||||
public void init(String[] args) {
|
||||
try {
|
||||
String installDir = getInstallDir(args);
|
||||
ClassLoader loader = createClassLoader(installDir);
|
||||
// get the main server class
|
||||
serverClass = loader.loadClass("helma.main.Server");
|
||||
Class[] cargs = new Class[]{args.getClass()};
|
||||
Method loadServer = serverClass.getMethod("loadServer", cargs);
|
||||
Object[] nargs = new Object[]{args};
|
||||
// and invoke the static loadServer(String[]) method
|
||||
server = loadServer.invoke(null, nargs);
|
||||
Method init = serverClass.getMethod("init", EMPTY_CLASS_ARRAY);
|
||||
init.invoke(server, EMPTY_OBJECT_ARRAY);
|
||||
} catch (Exception x) {
|
||||
// unable to get Helma installation dir from launcher jar
|
||||
System.err.println("Unable to load Helma: ");
|
||||
x.printStackTrace();
|
||||
System.exit(2);
|
||||
}
|
||||
}
|
||||
|
||||
public void start() {
|
||||
try {
|
||||
Method start = serverClass.getMethod("start", EMPTY_CLASS_ARRAY);
|
||||
start.invoke(server, EMPTY_OBJECT_ARRAY);
|
||||
} catch (Exception x) {
|
||||
// unable to get Helma installation dir from launcher jar
|
||||
System.err.println("Unable to start Helma: ");
|
||||
x.printStackTrace();
|
||||
System.exit(2);
|
||||
}
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
try {
|
||||
Method start = serverClass.getMethod("stop", EMPTY_CLASS_ARRAY);
|
||||
start.invoke(server, EMPTY_OBJECT_ARRAY);
|
||||
} catch (Exception x) {
|
||||
// unable to get Helma installation dir from launcher jar
|
||||
System.err.println("Unable to stop Helma: ");
|
||||
x.printStackTrace();
|
||||
System.exit(2);
|
||||
}
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
try {
|
||||
Method start = serverClass.getMethod("shutdown", EMPTY_CLASS_ARRAY);
|
||||
start.invoke(server, EMPTY_OBJECT_ARRAY);
|
||||
} catch (Exception x) {
|
||||
// unable to get Helma installation dir from launcher jar
|
||||
System.err.println("Unable to shutdown Helma: ");
|
||||
x.printStackTrace();
|
||||
System.exit(2);
|
||||
}
|
||||
}
|
||||
|
||||
static void addJars(ArrayList jarlist, File dir) throws MalformedURLException {
|
||||
File[] files = dir.listFiles(new FilenameFilter() {
|
||||
public boolean accept(File dir, String name) {
|
||||
String n = name.toLowerCase();
|
||||
return n.endsWith(".jar") || n.endsWith(".zip"); //$NON-NLS-1$//$NON-NLS-2$
|
||||
}
|
||||
});
|
||||
|
||||
if (files != null) {
|
||||
for (int i = 0; i < files.length; i++) {
|
||||
jarlist.add(new URL("file:" + files[i].getAbsolutePath())); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a server-wide ClassLoader from our install directory.
|
||||
* This will be used as parent ClassLoader for all application
|
||||
* ClassLoaders.
|
||||
*
|
||||
* @param installDir
|
||||
* @return the main classloader we'll be using
|
||||
* @throws MalformedURLException
|
||||
*/
|
||||
public static ClassLoader createClassLoader(String installDir)
|
||||
throws MalformedURLException, UnsupportedEncodingException {
|
||||
|
||||
// decode installDir in case it is URL-encoded
|
||||
installDir = URLDecoder.decode(installDir, System.getProperty("helma.urlEncoding", "UTF-8"));
|
||||
|
||||
// set up the class path
|
||||
File libdir = new File(installDir, "lib");
|
||||
ArrayList jarlist = new ArrayList();
|
||||
|
||||
// add all jar files from the lib directory
|
||||
addJars(jarlist, libdir);
|
||||
|
||||
// add all jar files from the lib/ext directory
|
||||
addJars(jarlist, new File(libdir, "ext")); //$NON-NLS-1$
|
||||
|
||||
URL[] urls = new URL[jarlist.size()];
|
||||
|
||||
jarlist.toArray(urls);
|
||||
|
||||
// find out if system classes should be excluded from class path
|
||||
String excludeSystemClasses = System.getProperty("helma.excludeSystemClasses");
|
||||
|
||||
ClassLoader loader;
|
||||
|
||||
if ("true".equalsIgnoreCase(excludeSystemClasses)) {
|
||||
loader = new URLClassLoader(urls, null);
|
||||
} else {
|
||||
loader = new URLClassLoader(urls);
|
||||
}
|
||||
|
||||
// set the new class loader as context class loader
|
||||
Thread.currentThread().setContextClassLoader(loader);
|
||||
return loader;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the Helma install directory from the command line -i argument or
|
||||
* from the Jar URL from which this class was loaded. Additionally, the
|
||||
* System property "helma.home" is set to the install directory path.
|
||||
*
|
||||
* @param args
|
||||
* @return the base install directory we're running in
|
||||
* @throws IOException
|
||||
* @throws MalformedURLException
|
||||
*/
|
||||
public static String getInstallDir(String[] args)
|
||||
throws IOException, MalformedURLException {
|
||||
// check if home directory is set via command line arg. If not,
|
||||
// we'll get it from the location of the jar file this class
|
||||
// has been loaded from.
|
||||
String installDir = null;
|
||||
|
||||
// first, try to get helma home dir from command line options
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
if (args[i].equals("-i") && ((i + 1) < args.length)) {
|
||||
installDir = args[i + 1];
|
||||
}
|
||||
}
|
||||
|
||||
// try to get Helma installation directory
|
||||
if (installDir == null) {
|
||||
URL launcherUrl = ClassLoader.getSystemClassLoader()
|
||||
.getResource("helma/main/launcher/Main.class"); //$NON-NLS-1$
|
||||
|
||||
// this is a JAR URL of the form
|
||||
// jar:<url>!/{entry}
|
||||
// we strip away the jar: prefix and the !/{entry} suffix
|
||||
// to get the original jar file URL
|
||||
|
||||
String jarUrl = launcherUrl.toString();
|
||||
|
||||
if (!jarUrl.startsWith("jar:") || jarUrl.indexOf("!") < 0) {
|
||||
installDir = System.getProperty("user.dir");
|
||||
System.err.println("Warning: Helma install dir not set by -i parameter ");
|
||||
System.err.println(" and not started from launcher.jar. Using ");
|
||||
System.err.println(" current working directory as install dir.");
|
||||
} else {
|
||||
jarUrl = jarUrl.substring(4);
|
||||
|
||||
int excl = jarUrl.indexOf("!");
|
||||
jarUrl = jarUrl.substring(0, excl);
|
||||
launcherUrl = new URL(jarUrl);
|
||||
|
||||
File f = new File(launcherUrl.getPath()).getAbsoluteFile();
|
||||
|
||||
installDir = f.getParentFile().getCanonicalPath();
|
||||
}
|
||||
}
|
||||
// set System property
|
||||
System.setProperty("helma.home", installDir);
|
||||
// and return install dir
|
||||
return installDir;
|
||||
}
|
||||
|
||||
}
|
Binary file not shown.
Binary file not shown.
BIN
lib/crimson.jar
BIN
lib/crimson.jar
Binary file not shown.
0
lib/ext/.keep
Normal file
0
lib/ext/.keep
Normal file
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue