mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2026-09-16 18:13:23 +00:00
Compare commits
498
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0051f121e6 | ||
|
|
a21396fa41 | ||
|
|
3e27055a8e | ||
|
|
89a7315905 | ||
|
|
9037ad3545 | ||
|
|
f65a3f0da1 | ||
|
|
ad020fe106 | ||
|
|
2dfebc9b9e | ||
|
|
7706b8560a | ||
|
|
0d8b704c21 | ||
|
|
975f017b90 | ||
|
|
58c0d62248 | ||
|
|
54091607c5 | ||
|
|
05cc667b51 | ||
|
|
6c749e8d20 | ||
|
|
801cb5075b | ||
|
|
e4db66a066 | ||
|
|
3a34eaa201 | ||
|
|
8fe7e1ecbc | ||
|
|
2496408ad4 | ||
|
|
573e317e01 | ||
|
|
4737496272 | ||
|
|
7d69fb289f | ||
|
|
a1827ed550 | ||
|
|
1cab716998 | ||
|
|
3885c48524 | ||
|
|
a90ff212b9 | ||
|
|
7b3aad825e | ||
|
|
77b1bbd180 | ||
|
|
6d3315f6fd | ||
|
|
2fad0aef35 | ||
|
|
099b7b26df | ||
|
|
49a3815038 | ||
|
|
458399dcf9 | ||
|
|
1d67feafa4 | ||
|
|
2f586f266a | ||
|
|
3bee9d0d5b | ||
|
|
36c55b60b9 | ||
|
|
f861833fa3 | ||
|
|
32470ef417 | ||
|
|
2fe97216a0 | ||
|
|
70c61921d1 | ||
|
|
2ec46f28a9 | ||
|
|
84762446cb | ||
|
|
f4426cf52d | ||
|
|
007397f269 | ||
|
|
477cfd0815 | ||
|
|
ed8f8519b0 | ||
|
|
6ab259ae87 | ||
|
|
d9aadb1a7d | ||
|
|
3d312dd248 | ||
|
|
8746cc47ee | ||
|
|
f935952160 | ||
|
|
a303296159 | ||
|
|
d92cd1d28c | ||
|
|
d24a4e223d | ||
|
|
94646f41f1 | ||
|
|
3a5c7ab475 | ||
|
|
1f9ae91cb1 | ||
|
|
3126e0e128 | ||
|
|
3a1d65965e | ||
|
|
88c0604a6f | ||
|
|
bec7914830 | ||
|
|
ac0503904d | ||
|
|
536b01c56f | ||
|
|
33c93c4dfe | ||
|
|
0985d8b36d | ||
|
|
ac09ab3386 | ||
|
|
7de8c85c0a | ||
|
|
94a085d2bc | ||
|
|
db15d4366b | ||
|
|
7dce05b785 | ||
|
|
32f23dd922 | ||
|
|
b3fa4568a6 | ||
|
|
c53fb72935 | ||
|
|
906a608ffa | ||
|
|
459e3f1424 | ||
|
|
a879ad83c9 | ||
|
|
928f99336e | ||
|
|
9521f6ef42 | ||
|
|
0a0039dcb0 | ||
|
|
2c29c915d4 | ||
|
|
7878155ed9 | ||
|
|
7aa6400210 | ||
|
|
cc0955e012 | ||
|
|
2899b205ba | ||
|
|
340785180d | ||
|
|
2bc06e4222 | ||
|
|
4f70d0f575 | ||
|
|
fd106b13c7 | ||
|
|
f59a05a0c0 | ||
|
|
860fc03a03 | ||
|
|
a2cf89ed5e | ||
|
|
6e8f26220a | ||
|
|
70d61333e8 | ||
|
|
cc1fced0d8 | ||
|
|
9b513c151a | ||
|
|
326104acd8 | ||
|
|
265814e487 | ||
|
|
5b6ea1e3bb | ||
|
|
1191057d56 | ||
|
|
5411098636 | ||
|
|
e63c849d6d | ||
|
|
013fed7669 | ||
|
|
1cae6a854f | ||
|
|
20d4486da9 | ||
|
|
cabce2d981 | ||
|
|
019c5c70e0 | ||
|
|
693fde6285 | ||
|
|
515d23de2c | ||
|
|
9a5e70f324 | ||
|
|
b57196f46e | ||
|
|
a565f66c76 | ||
|
|
b3808e3e8b | ||
|
|
3f51507ea7 | ||
|
|
0a082f3bfc | ||
|
|
35e2800858 | ||
|
|
4a56544cad | ||
|
|
9c2ac0c956 | ||
|
|
8d407356b7 | ||
|
|
42e5726313 | ||
|
|
9c28f38f9c | ||
|
|
1aff0f2a01 | ||
|
|
712eb22dd4 | ||
|
|
905f589169 | ||
|
|
b1139739b8 | ||
|
|
219389197a | ||
|
|
782740ef99 | ||
|
|
2ce90ecc93 | ||
|
|
b3a1dabf72 | ||
|
|
7928ae358b | ||
|
|
a204305226 | ||
|
|
0352e2fd07 | ||
|
|
af396f70ac | ||
|
|
8634cc1d37 | ||
|
|
a3a7e9f158 | ||
|
|
0d2c76cc0c | ||
|
|
a39f4248a2 | ||
|
|
97967c35e6 | ||
|
|
d92a8d14e0 | ||
|
|
c672e75db6 | ||
|
|
5ea45fcca1 | ||
|
|
df508d3535 | ||
|
|
dc8ac36265 | ||
|
|
0464f9bd66 | ||
|
|
ce64b89d1d | ||
|
|
232db55be7 | ||
|
|
584e3e0339 | ||
|
|
a6f0b34074 | ||
|
|
bf853d72c8 | ||
|
|
7f19645f20 | ||
|
|
e61146ea07 | ||
|
|
10809ad2ba | ||
|
|
3d2ff7b1e8 | ||
|
|
8998e37414 | ||
|
|
c3ae5760e8 | ||
|
|
89d4d3fd9a | ||
|
|
372afc6ba4 | ||
|
|
3908cc73b7 | ||
|
|
76d813f2f4 | ||
|
|
5edd1f7b43 | ||
|
|
12db1fcb17 | ||
|
|
3e4a793f5d | ||
|
|
fba08f9ab7 | ||
|
|
56300e35aa | ||
|
|
b4b0be82ae | ||
|
|
50f43f23d3 | ||
|
|
2ee5120413 | ||
|
|
7f861a9672 | ||
|
|
b199afcd7e | ||
|
|
7baf3fb0a1 | ||
|
|
54504b4962 | ||
|
|
1503134f77 | ||
|
|
71ed669795 | ||
|
|
7d9b7de8c8 | ||
|
|
7483212c1f | ||
|
|
3d30a5893b | ||
|
|
32666d167f | ||
|
|
b737483c18 | ||
|
|
4cdc281f7f | ||
|
|
f4c3ac7c84 | ||
|
|
af8c6c42c4 | ||
|
|
e61c08c650 | ||
|
|
cc14a39be4 | ||
|
|
c910fa2b40 | ||
|
|
3050c9deb4 | ||
|
|
1ce98f09aa | ||
|
|
6dc927e668 | ||
|
|
68155ef5a6 | ||
|
|
e5e0a7f76d | ||
|
|
ea4c12a836 | ||
|
|
d949a778ef | ||
|
|
099ac2ddeb | ||
|
|
b0bc6a38d5 | ||
|
|
1d1e89a86d | ||
|
|
517b20859e | ||
|
|
e27d6f1a70 | ||
|
|
10557e500d | ||
|
|
f7e4ea1b5c | ||
|
|
7838649c81 | ||
|
|
deaf4c06b8 | ||
|
|
067d751193 | ||
|
|
c0658f3a94 | ||
|
|
e378eec194 | ||
|
|
01e79d6953 | ||
|
|
b00ee7f5e5 | ||
|
|
6e5445a271 | ||
|
|
388f74eea3 | ||
|
|
2db3051599 | ||
|
|
8bb094b61a | ||
|
|
a4e79cc569 | ||
|
|
c14887f549 | ||
|
|
4e225147ea | ||
|
|
c5e92bdc25 | ||
|
|
ef59a6a39a | ||
|
|
42dc3659bd | ||
|
|
5d1fb4f4d9 | ||
|
|
185c4ad2bd | ||
|
|
0b85afc6fd | ||
|
|
9db0f5cff1 | ||
|
|
243f94227b | ||
|
|
330c66a1be | ||
|
|
ab4927afeb | ||
|
|
c48dffea69 | ||
|
|
b3391a67c3 | ||
|
|
465aa3de5a | ||
|
|
b32a78b7b3 | ||
|
|
7bd5c58136 | ||
|
|
5b21775793 | ||
|
|
1d551d1895 | ||
|
|
766847585e | ||
|
|
b366ae3ddd | ||
|
|
19369a23b5 | ||
|
|
93c28f5dde | ||
|
|
7792574dae | ||
|
|
e8976addea | ||
|
|
a7f2db61e8 | ||
|
|
2926a9ae83 | ||
|
|
246ae7a138 | ||
|
|
387a584aa1 | ||
|
|
edd8d8317b | ||
|
|
eb30a2d9e2 | ||
|
|
cf777840be | ||
|
|
efec137a10 | ||
|
|
210bee7d76 | ||
|
|
534e70a2c4 | ||
|
|
0fcec384fd | ||
|
|
9d1c2feaf2 | ||
|
|
709b820f2c | ||
|
|
217f135006 | ||
|
|
64843588f8 | ||
|
|
f1a7e645e4 | ||
|
|
e3ae54be9b | ||
|
|
2871883c7d | ||
|
|
3661a06206 | ||
|
|
436b9a455a | ||
|
|
5418b57325 | ||
|
|
376815c746 | ||
|
|
b76bb5730c | ||
|
|
7c4fc7a700 | ||
|
|
62dc99e9c6 | ||
|
|
ccee83f92d | ||
|
|
0027ef3ec4 | ||
|
|
32d286cb50 | ||
|
|
7017b057ea | ||
|
|
bb3780d31d | ||
|
|
2954b72765 | ||
|
|
13f6457fbd | ||
|
|
29006d1e93 | ||
|
|
301d0e81a0 | ||
|
|
4002c01134 | ||
|
|
64d53e0fe6 | ||
|
|
d1fb454772 | ||
|
|
cdcf9c6a96 | ||
|
|
9d7c80a147 | ||
|
|
beae915836 | ||
|
|
a6a199ad50 | ||
|
|
328faa3a5a | ||
|
|
cdaa995422 | ||
|
|
8617c29300 | ||
|
|
d2e21a38c6 | ||
|
|
a01573eff8 | ||
|
|
079b916d46 | ||
|
|
37275bcbf1 | ||
|
|
7d521e9f27 | ||
|
|
a7211c206b | ||
|
|
862c998542 | ||
|
|
29fdb576ab | ||
|
|
271ba3977f | ||
|
|
a1cbc0687d | ||
|
|
408fda1fd3 | ||
|
|
cb50841385 | ||
|
|
0d91902752 | ||
|
|
43405d037f | ||
|
|
4b98ff5846 | ||
|
|
45cf124566 | ||
|
|
0f500fab25 | ||
|
|
26c4364063 | ||
|
|
0c391693e4 | ||
|
|
92886f2ee9 | ||
|
|
991caa2191 | ||
|
|
f99521a851 | ||
|
|
49b489f181 | ||
|
|
424e6a5a26 | ||
|
|
a2b5e64848 | ||
|
|
6ae42f8fc0 | ||
|
|
c2ab1cf80a | ||
|
|
c7c4c49446 | ||
|
|
efbfc8fbba | ||
|
|
6e5bf3a757 | ||
|
|
4722c14121 | ||
|
|
d2c4dcc015 | ||
|
|
972c96ba0f | ||
|
|
067473669b | ||
|
|
3b0c2ddc9b | ||
|
|
9068c3209b | ||
|
|
4651f0a941 | ||
|
|
6bef9222eb | ||
|
|
a97975acec | ||
|
|
f0e604bd8c | ||
|
|
48a3eb6d7d | ||
|
|
0b79b0a71d | ||
|
|
3b25a7549c | ||
|
|
50c5c82f36 | ||
|
|
fff6bc4a41 | ||
|
|
c9a991698d | ||
|
|
97f0ea6119 | ||
|
|
7bf16b467b | ||
|
|
29c6a08066 | ||
|
|
00839a8170 | ||
|
|
646899610d | ||
|
|
126d31646e | ||
|
|
4c2ac6db7d | ||
|
|
6cd3e0c0c2 | ||
|
|
c6fbb76a39 | ||
|
|
706a6c2ccd | ||
|
|
c2f94e35bd | ||
|
|
8dd1ba923a | ||
|
|
0d158017e4 | ||
|
|
2c9fc00ea4 | ||
|
|
32a27e4f53 | ||
|
|
0577fcc168 | ||
|
|
c4dd6b01e6 | ||
|
|
eae6c13de5 | ||
|
|
0ca57b20a1 | ||
|
|
82cb58f472 | ||
|
|
779d53a051 | ||
|
|
5a35c948ca | ||
|
|
42a4805d93 | ||
|
|
1f18d34e8e | ||
|
|
3873d2907e | ||
|
|
86049b91bf | ||
|
|
8ff7f929e2 | ||
|
|
1fb478e77a | ||
|
|
f023ca2878 | ||
|
|
a891119b84 | ||
|
|
c84d0d4c87 | ||
|
|
d268c20c3a | ||
|
|
5291dc6e97 | ||
|
|
697ab7c3ec | ||
|
|
52a6938a66 | ||
|
|
7edac56eed | ||
|
|
fa828dede5 | ||
|
|
f5e3552283 | ||
|
|
ab9f384830 | ||
|
|
dced89eda6 | ||
|
|
3bced985d6 | ||
|
|
f0210c173a | ||
|
|
ea521ba7ee | ||
|
|
865ae6fd38 | ||
|
|
017dfcbff8 | ||
|
|
c25417e702 | ||
|
|
448b5c2929 | ||
|
|
ab29cc53fa | ||
|
|
228a98c566 | ||
|
|
82b7886a51 | ||
|
|
012dc70f43 | ||
|
|
b8377041a5 | ||
|
|
9071965850 | ||
|
|
1e5db412f7 | ||
|
|
37c26cfaa8 | ||
|
|
1cd4b82037 | ||
|
|
758ab83faf | ||
|
|
8862d67acd | ||
|
|
e4402a741f | ||
|
|
b1facc65de | ||
|
|
7668096829 | ||
|
|
ce7c374c1e | ||
|
|
68dda3b211 | ||
|
|
47a329a762 | ||
|
|
3ae8d043aa | ||
|
|
ba36d1ad5e | ||
|
|
f54fb5e3d3 | ||
|
|
1a8d8b76b6 | ||
|
|
55ac6917b7 | ||
|
|
993d5dcefe | ||
|
|
0411bc5b1d | ||
|
|
07bb743cfd | ||
|
|
ccb9f3d86f | ||
|
|
aebda9bf06 | ||
|
|
b7dbbe8995 | ||
|
|
c9b33b4f59 | ||
|
|
93dde46f51 | ||
|
|
addbc750c4 | ||
|
|
e302055caf | ||
|
|
3b7e32df20 | ||
|
|
8178eac5b8 | ||
|
|
b5ec7b415d | ||
|
|
278ba7f600 | ||
|
|
fef948b982 | ||
|
|
245a51402d | ||
|
|
3630cced6d | ||
|
|
892920c114 | ||
|
|
24500024ed | ||
|
|
85c7e11bb6 | ||
|
|
aede276f9b | ||
|
|
264d326bf2 | ||
|
|
d2868bdfae | ||
|
|
673461b6e2 | ||
|
|
6f1d01394d | ||
|
|
f5404b9d40 | ||
|
|
e6394e25b7 | ||
|
|
0fd842192b | ||
|
|
be8e10a556 | ||
|
|
3031b401a2 | ||
|
|
723b309670 | ||
|
|
051e967240 | ||
|
|
1f46a9e2ff | ||
|
|
3cbdb5dc8e | ||
|
|
07543c68d3 | ||
|
|
a07219e6e6 | ||
|
|
4e26291761 | ||
|
|
c2ac314930 | ||
|
|
08acf1f433 | ||
|
|
b9331c365f | ||
|
|
63bd9a63c0 | ||
|
|
f1dbb608d9 | ||
|
|
657d16b91c | ||
|
|
7739556c94 | ||
|
|
d7b0805cef | ||
|
|
0b8db99cd8 | ||
|
|
eba635c8f8 | ||
|
|
2782f30a42 | ||
|
|
a32a537206 | ||
|
|
49160034cf | ||
|
|
50dac567c2 | ||
|
|
9a7630acfb | ||
|
|
be11344137 | ||
|
|
db9d7d637c | ||
|
|
04fe0678d7 | ||
|
|
b46f173fb4 | ||
|
|
d69f7e4937 | ||
|
|
788347a5dd | ||
|
|
d6f11dd977 | ||
|
|
f0955cff98 | ||
|
|
05b2cfbb1e | ||
|
|
558d4b422c | ||
|
|
3010c9773a | ||
|
|
b7fff632e7 | ||
|
|
5b3b5d3914 | ||
|
|
9b5db76577 | ||
|
|
43ad42aac8 | ||
|
|
9c5f1e9e0d | ||
|
|
c46b0b86d2 | ||
|
|
99031d5def | ||
|
|
0bdacc4787 | ||
|
|
b6e170a0ce | ||
|
|
a37b121cb6 | ||
|
|
c7591ca848 | ||
|
|
54a067325a | ||
|
|
ceed7af6fe | ||
|
|
377aaa5459 | ||
|
|
b226302572 | ||
|
|
876f6286fc | ||
|
|
5d59d6cd27 | ||
|
|
6d4b901129 | ||
|
|
0854929d99 | ||
|
|
8415da72b0 | ||
|
|
14cd4be39c | ||
|
|
f2f5698a3b | ||
|
|
5b83b99549 | ||
|
|
181951ed99 | ||
|
|
a4711142e6 | ||
|
|
78d1466220 | ||
|
|
d99539c9b0 | ||
|
|
30bfc14422 | ||
|
|
641aa6bb8e | ||
|
|
f031c76a41 | ||
|
|
2ad03e3f5c | ||
|
|
7275ba32e8 | ||
|
|
9bf50267dd | ||
|
|
bbe3de2abb | ||
|
|
5c01e8127c | ||
|
|
9a1b97e64d | ||
|
|
b3955a1b4f | ||
|
|
2e546a1cae | ||
|
|
9dd9f530bb | ||
|
|
3e7a6d83a9 |
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
|
||||||
|
<servers>
|
||||||
|
<server>
|
||||||
|
<id>central</id>
|
||||||
|
<username>${MAVEN_CENTRAL_USERNAME}</username>
|
||||||
|
<password>${MAVEN_CENTRAL_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-private-repository</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>activiti-private-repository</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-public-snapshots</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-public</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-plugin-public</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-plugin-public-snapshots</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-internal-snapshots</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-internal</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>central-releases-staging</id>
|
||||||
|
<username>${env.MAVEN_CENTRAL_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_CENTRAL_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
</servers>
|
||||||
|
</settings>
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
version: 2
|
||||||
|
registries:
|
||||||
|
maven-alfresco-internal:
|
||||||
|
type: maven-repository
|
||||||
|
url: https://artifacts.alfresco.com/nexus/content/groups/internal
|
||||||
|
username: ${{secrets.NEXUS_USERNAME}}
|
||||||
|
password: ${{secrets.NEXUS_PASSWORD}}
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "maven"
|
||||||
|
directory: "/"
|
||||||
|
registries:
|
||||||
|
- maven-alfresco-internal
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
time: "22:00"
|
||||||
|
timezone: "Europe/London"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
allow:
|
||||||
|
- dependency-type: "direct"
|
||||||
|
ignore:
|
||||||
|
- dependency-name: "org.alfresco.maven:*"
|
||||||
|
- dependency-name: "org.alfresco.maven.plugin:*"
|
||||||
|
- dependency-name: "org.alfresco.maven.archetype:*"
|
||||||
|
groups:
|
||||||
|
spring:
|
||||||
|
patterns:
|
||||||
|
- "org.springframework*"
|
||||||
|
alfresco:
|
||||||
|
patterns:
|
||||||
|
- "org.alfresco*"
|
||||||
|
apache-maven:
|
||||||
|
patterns:
|
||||||
|
- "org.apache.maven*"
|
||||||
|
commons:
|
||||||
|
patterns:
|
||||||
|
- "commons-*"
|
||||||
|
- "org.apache.commons*"
|
||||||
|
slf4j:
|
||||||
|
patterns:
|
||||||
|
- "org.slf4j*"
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "monthly"
|
||||||
|
groups:
|
||||||
|
github-actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
env:
|
||||||
|
global:
|
||||||
|
# Both variables are required to be set before the release process starts.
|
||||||
|
# As the release is triggered by a commit message with "[release]" keyword,
|
||||||
|
# setting these variables to new values can be done in the same commit and will indicate the release and the dev versions in it.
|
||||||
|
- RELEASE_VERSION=4.17.0-A2
|
||||||
|
- DEVELOPMENT_VERSION=4.17.0-A3-SNAPSHOT
|
||||||
@@ -0,0 +1,265 @@
|
|||||||
|
name: Alfresco SDK CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- fix/**
|
||||||
|
- feature/**
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- fix/**
|
||||||
|
- feature/**
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
JAVA_VERSION: '21'
|
||||||
|
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||||
|
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
|
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }}
|
||||||
|
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }}
|
||||||
|
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 90
|
||||||
|
# Note: RELEASE_VERSION and DEVELOPMENT_VERSION are loaded from .github/release-versions.yml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
pre_commit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v15.7.1
|
||||||
|
|
||||||
|
build:
|
||||||
|
name: "Build application"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [pre_commit]
|
||||||
|
if: "!contains(github.event.head_commit.message, '[skip tests]')"
|
||||||
|
env:
|
||||||
|
MAVEN_CLI_OPTS: >
|
||||||
|
-B -q -e -fae -V -DinstallAtEnd=true -U
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||||
|
with:
|
||||||
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
|
- name: "Build"
|
||||||
|
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
||||||
|
- name: "Verify"
|
||||||
|
run: mvn $MAVEN_CLI_OPTS verify -Dlogging.root.level=off -Dspring.main.banner-mode=off
|
||||||
|
|
||||||
|
tests:
|
||||||
|
name: ${{ matrix.name }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build]
|
||||||
|
if: >
|
||||||
|
!(failure() || cancelled()) &&
|
||||||
|
!contains(github.event.head_commit.message, '[skip tests]')
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: "current version Java 21"
|
||||||
|
java-version: 21
|
||||||
|
- name: "26.1 Enterprise Java 21"
|
||||||
|
java-version: 21
|
||||||
|
suite: -Penterprise-261-tests
|
||||||
|
- name: "26.1 Community Java 21"
|
||||||
|
java-version: 21
|
||||||
|
suite: -Pcommunity-261-tests
|
||||||
|
- name: "25.4 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-254-tests
|
||||||
|
- name: "25.2 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-252-tests
|
||||||
|
- name: "25.2 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-252-tests
|
||||||
|
- name: "25.1 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-251-tests
|
||||||
|
- name: "25.1 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-251-tests
|
||||||
|
- name: "23.5 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-235-tests
|
||||||
|
- name: "23.4 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-234-tests
|
||||||
|
- name: "23.4 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-234-tests
|
||||||
|
- name: "23.3 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-233-tests
|
||||||
|
- name: "23.3 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-233-tests
|
||||||
|
- name: "23.2 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-232-tests
|
||||||
|
- name: "23.2 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-232-tests
|
||||||
|
- name: "23.1 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-231-tests
|
||||||
|
- name: "23.1 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-231-tests
|
||||||
|
- name: "7.4 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-74-tests
|
||||||
|
- name: "7.4 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-74-tests
|
||||||
|
- name: "7.4 Enterprise Java 11"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Penterprise-74-tests
|
||||||
|
- name: "7.4 Community Java 11"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Pcommunity-74-tests
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||||
|
with:
|
||||||
|
java-version: ${{ matrix.java-version }}
|
||||||
|
- name: "Login to Docker Hub"
|
||||||
|
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
- name: "Login to Quay.io"
|
||||||
|
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
|
||||||
|
with:
|
||||||
|
registry: quay.io
|
||||||
|
username: ${{ secrets.QUAY_USERNAME }}
|
||||||
|
password: ${{ secrets.QUAY_PASSWORD }}
|
||||||
|
- name: "Build"
|
||||||
|
run: mvn clean install -B ${{ matrix.suite }}
|
||||||
|
|
||||||
|
release:
|
||||||
|
name: "Release"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
needs: [tests]
|
||||||
|
outputs:
|
||||||
|
release_tag: ${{ steps.release_meta.outputs.release_tag }}
|
||||||
|
env:
|
||||||
|
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||||
|
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
|
if: >
|
||||||
|
needs.tests.result == 'success' &&
|
||||||
|
(github.ref_name == 'master' || startsWith(github.ref_name, 'fix/') || startsWith(github.ref_name, 'feature/')) &&
|
||||||
|
!contains(github.event.head_commit.message, '[no release]') &&
|
||||||
|
github.event_name != 'pull_request' &&
|
||||||
|
contains(github.event.head_commit.message, '[release]')
|
||||||
|
steps:
|
||||||
|
- name: "Generate GitHub App token"
|
||||||
|
id: app-token
|
||||||
|
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
||||||
|
with:
|
||||||
|
client-id: ${{ vars.GH_APP_ENGINEERING_CONTRIB_CLIENT_ID }}
|
||||||
|
private-key: ${{ secrets.GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY }}
|
||||||
|
permission-contents: write
|
||||||
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
token: ${{ steps.app-token.outputs.token }}
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/env-load-from-yaml@v18.21.2
|
||||||
|
with:
|
||||||
|
yml_path: .github/release-versions.yml
|
||||||
|
- name: "Export release metadata"
|
||||||
|
id: release_meta
|
||||||
|
run: echo "release_tag=${RELEASE_VERSION}" >> "$GITHUB_OUTPUT"
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v18.21.2
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v18.21.2
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v18.21.2
|
||||||
|
with:
|
||||||
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/maven-release-slim@v18.21.2
|
||||||
|
with:
|
||||||
|
token: ${{ steps.app-token.outputs.token }}
|
||||||
|
release-version: ${{ env.RELEASE_VERSION }}
|
||||||
|
development-version: ${{ env.DEVELOPMENT_VERSION }}
|
||||||
|
maven-args: >
|
||||||
|
-DskipTests
|
||||||
|
-DbuildNumber=${{ github.run_number }}
|
||||||
|
|
||||||
|
check_version:
|
||||||
|
name: "Check version"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [tests, release]
|
||||||
|
if: >
|
||||||
|
needs.tests.result == 'success' &&
|
||||||
|
contains(github.event.head_commit.message, '[publish]') &&
|
||||||
|
(needs.release.result == 'success' || needs.release.result == 'skipped')
|
||||||
|
outputs:
|
||||||
|
is_ga: ${{ steps.publish_version.outputs.is_ga }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
with:
|
||||||
|
ref: ${{ needs.release.outputs.release_tag || github.ref }}
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||||
|
with:
|
||||||
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
|
- name: "Check version"
|
||||||
|
id: publish_version
|
||||||
|
run: |
|
||||||
|
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
|
||||||
|
if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
echo "is_ga=true" >> $GITHUB_OUTPUT
|
||||||
|
echo "GA version detected: $VERSION"
|
||||||
|
else
|
||||||
|
echo "is_ga=false" >> $GITHUB_OUTPUT
|
||||||
|
echo "Non GA version detected: $VERSION"
|
||||||
|
fi
|
||||||
|
|
||||||
|
publish:
|
||||||
|
name: "Publish artifacts"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [tests, check_version, release]
|
||||||
|
if: >
|
||||||
|
needs.tests.result == 'success' &&
|
||||||
|
contains(github.event.head_commit.message, '[publish]') &&
|
||||||
|
needs.check_version.result == 'success' &&
|
||||||
|
needs.check_version.outputs.is_ga == 'true' &&
|
||||||
|
(needs.release.result == 'success' || needs.release.result == 'skipped')
|
||||||
|
env:
|
||||||
|
GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
with:
|
||||||
|
ref: ${{ needs.release.outputs.release_tag || github.ref }}
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||||
|
with:
|
||||||
|
java-version: ${{ env.JAVA_VERSION }}
|
||||||
|
- name: "Build"
|
||||||
|
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
||||||
|
- name: Set up Maven Central credentials
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.m2
|
||||||
|
envsubst < ${{ github.workspace }}/.ci.settings.xml > ~/.m2/settings.xml
|
||||||
|
env:
|
||||||
|
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
|
||||||
|
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
|
||||||
|
- name: Import GPG key
|
||||||
|
env:
|
||||||
|
GPG_TTY: $(tty)
|
||||||
|
run: |
|
||||||
|
echo "${{ secrets.GPG_SIGNING_PRIVATE_KEY }}" | gpg --batch --import
|
||||||
|
echo "use-agent" >> ~/.gnupg/gpg.conf
|
||||||
|
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
|
||||||
|
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
|
||||||
|
gpg --batch --yes --pinentry-mode loopback --passphrase $GPG_SIGNING_PASSPHRASE --list-keys
|
||||||
|
- name: "Publish"
|
||||||
|
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||||
|
run: |
|
||||||
|
mvn --batch-mode clean package gpg:sign central-publishing:publish -P sdk-release -DskipTests=true -Dgpg.passphrase=$GPG_SIGNING_PASSPHRASE
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
name: "Load Dependency Graph"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "master"
|
||||||
|
schedule:
|
||||||
|
- cron: '0 6 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
scan-dependencies:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 10
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/maven-dependency-scan@v17.0.0
|
||||||
|
with:
|
||||||
|
java-version: '21'
|
||||||
|
maven-version: '3.9.9'
|
||||||
|
maven-args: -Dscopes=compile,runtime
|
||||||
|
maven-username: ${{ secrets.NEXUS_USERNAME }}
|
||||||
|
maven-password: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
|
maven-settings-path: ".ci.settings.xml"
|
||||||
@@ -12,3 +12,4 @@ pom.xml.next
|
|||||||
release.properties
|
release.properties
|
||||||
**.settings
|
**.settings
|
||||||
**bin
|
**bin
|
||||||
|
*.DS_Store
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
default_language_version:
|
||||||
|
# force all unspecified python hooks to run python3
|
||||||
|
python: python3
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v3.4.0
|
||||||
|
hooks:
|
||||||
|
- id: check-yaml
|
||||||
|
args: [--allow-multiple-documents]
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
If you are reporting a new issue, make sure that we do not have any duplicates
|
||||||
|
already open. You can ensure this by searching the issue list for this
|
||||||
|
repository. If there is a duplicate, please close your issue and add a comment
|
||||||
|
to the existing issue instead.
|
||||||
|
|
||||||
|
If you suspect your issue is a bug, please edit your issue description to
|
||||||
|
include the BUG REPORT INFORMATION shown below. If you fail to provide this
|
||||||
|
information within 7 days, we cannot debug your issue and will close it. We
|
||||||
|
will, however, reopen it if you later provide the information.
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
GENERAL SUPPORT INFORMATION
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
The GitHub issue tracker is for bug reports and feature requests.
|
||||||
|
General support can be found at the following locations:
|
||||||
|
|
||||||
|
- Alfresco Community - https://community.alfresco.com/community/ecm
|
||||||
|
- Post a question on StackOverflow, using the Alfresco tag
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
## I'm submitting a ... (check one with "x")
|
||||||
|
```
|
||||||
|
[ ] bug report => search github for a similar issue or PR before submitting
|
||||||
|
[ ] feature request
|
||||||
|
```
|
||||||
|
|
||||||
|
<!--- Provide a general summary of the issue in the Title above -->
|
||||||
|
|
||||||
|
## Expected Behavior
|
||||||
|
<!--- If you're describing a bug, tell us what should happen -->
|
||||||
|
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
||||||
|
|
||||||
|
## Current Behavior
|
||||||
|
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
||||||
|
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
|
||||||
|
|
||||||
|
## Possible Solution
|
||||||
|
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
||||||
|
<!--- or ideas how to implement the addition or change -->
|
||||||
|
|
||||||
|
## Steps to Reproduce (for bugs)
|
||||||
|
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
||||||
|
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
4.
|
||||||
|
5.
|
||||||
|
|
||||||
|
## Context
|
||||||
|
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
||||||
|
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
||||||
|
|
||||||
|
## Your Environment
|
||||||
|
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
||||||
|
* Alfresco SDK version used: <!-- 2.1 / 2.2 / 3.0betaX-->
|
||||||
|
* Alfresco version used: <!-- Enterprise 5.1, Community 5.0.f or ...-->
|
||||||
|
* Output of command 'mvn -version': <!-- Maven/JDK version-->
|
||||||
|
* Link to your project: <!-- optional for having a minimal example-->
|
||||||
|
|
||||||
|
## Additional information
|
||||||
|
<!-- include screenshots or any other hint you mave have for us -->
|
||||||
@@ -1,57 +1,157 @@
|
|||||||
# [](#features) Alfresco SDK
|
# [](#features) Alfresco SDK
|
||||||
|
|
||||||
This is the home of the Alfresco SDK. The Alfresco SDK is used by developers to build extensions for the Alfresco content management system. It is based on [Apache Maven](http://maven.apache.org/), compatible with major IDEs and enables Rapid Application Development (RAD) and Test Driven Development (TDD).
|
|
||||||
|
[](https://github.com/Alfresco/alfresco-sdk/actions/workflows/ci.yml)
|
||||||
|
[](https://github.com/pre-commit/pre-commit)
|
||||||
|

|
||||||
|
|
||||||
|
This is the home of the Alfresco SDK. The Alfresco SDK is used by developers to build extensions for the Alfresco Digital Business Platform. It is based on
|
||||||
|
[Apache Maven](http://maven.apache.org/), compatible with major IDEs and enables [Rapid Application Development (RAD)](https://en.wikipedia.org/wiki/Rapid_application_development)
|
||||||
|
and [Test Driven Development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
|
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) license.
|
||||||
|
If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
|
||||||
|
|
||||||
## News
|
## News
|
||||||
|
- 2026-06: Alfresco SDK 4.16.0 released
|
||||||
- 2015-10-19: SDK 2.1.1 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
|
- 2026-03: Alfresco SDK 4.15.0 released
|
||||||
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
|
- 2026-03: Alfresco SDK 4.14.0 released
|
||||||
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
|
- 2026-01: Alfresco SDK 4.13.0 released
|
||||||
|
- 2025-07: Alfresco SDK 4.12.0 released
|
||||||
|
- 2025-03: Alfresco SDK 4.11.0 released
|
||||||
|
- 2024-11: Alfresco SDK 4.10.0 released
|
||||||
|
- 2024-08: Alfresco SDK 4.9.0 released
|
||||||
|
- 2024-03: Alfresco SDK 4.8.0 released
|
||||||
|
- 2023-11: Alfresco SDK 4.7.0 released
|
||||||
|
- 2023-06: Alfresco SDK 4.6.0 released
|
||||||
|
- 2022-10: Alfresco SDK 4.5.0 released
|
||||||
|
- 2022-03: Alfresco SDK 4.4.0 released
|
||||||
|
- 2021-10: Alfresco SDK 4.3.0 released
|
||||||
|
- 2021-02: Alfresco SDK 4.2.0 released
|
||||||
|
- 2019-10: Alfresco SDK 4.1.0 released
|
||||||
|
- 2019-03: Alfresco SDK 4.0.0 released
|
||||||
|
- 2019-03: Alfresco SDK 3.1.0 released
|
||||||
|
- 2017-06-23: Alfresco SDK 3.0.1 released, [containing a critical bugfix](https://github.com/Alfresco/alfresco-sdk/issues/461)
|
||||||
|
- 2017-04-01: Alfresco SDK 3.0.0 released
|
||||||
|
- 2017-03-27: After years of hard work, countless iterations and gathering feedback, SDK 3.0 has finally been merged into the master branch, ready for release in the coming days
|
||||||
|
- 2016-02-20: SDK 2.2.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
|
||||||
|
- 2015-10-19: SDK 2.1.1 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||||
|
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||||
|
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
|
||||||
- 2014-08-22: First SNAPSHOT of SDK 2.0.0 in the [OSS Sonatype Repository](https://oss.sonatype.org/content/repositories/snapshots/org/alfresco/maven/alfresco-sdk-parent/2.0.0-SNAPSHOT/)!
|
- 2014-08-22: First SNAPSHOT of SDK 2.0.0 in the [OSS Sonatype Repository](https://oss.sonatype.org/content/repositories/snapshots/org/alfresco/maven/alfresco-sdk-parent/2.0.0-SNAPSHOT/)!
|
||||||
- 2014-07: Project fully migrated from [Google Code](https://code.google.com/p/maven-alfresco-archetypes).
|
- 2014-07: Project fully migrated from [Google Code](https://code.google.com/p/maven-alfresco-archetypes).
|
||||||
|
|
||||||
## User Getting Started
|
## User Getting Started
|
||||||
|
|
||||||
|
### Important Notice about ACS 7.2
|
||||||
|
|
||||||
|
Please refer to https://github.com/Alfresco/alfresco-sdk/issues/635 to fix the Search Services 403 problem.
|
||||||
|
|
||||||
|
### Important Notice about ACS 7.1
|
||||||
|
|
||||||
|
#### Share Version Number
|
||||||
|
|
||||||
|
Since ACS 7.1, Share build pipeline has been refactored, and you now have to specify the internal
|
||||||
|
Share version number, in addition to the version of the image, because they are not the same anymore.
|
||||||
|
|
||||||
|
This number can be located in the main pom.xml of the project used to build Share, hence:
|
||||||
|
|
||||||
|
- property `<alfresco-community-share.version>` of [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging/blob/7.1.0/pom.xml#L17) (Community)
|
||||||
|
- property `<alfresco-enterprise-share.version>`of [acs-packaging](https://github.com/Alfresco/acs-packaging/blob/7.1.0.1/pom.xml#L18) (Enterprise)
|
||||||
|
|
||||||
|
So, if for example you want to use the community version of `7.1.0.1`, you can go on acs-community-packaging,
|
||||||
|
open the `7.1.0.1` release tag, browse its files, open the pom.xml in the root,
|
||||||
|
then copy the value of `<alfresco-community-share.version>`.
|
||||||
|
|
||||||
|
You'll then need to paste this value inside the SDK property `<alfresco.share.version>`.
|
||||||
|
|
||||||
|
#### Alternate Docker User
|
||||||
|
|
||||||
|
- ACS 6 used to run everything as `root`.
|
||||||
|
- ACS 7 introduced an `alfresco` user, that should've been used after the `root` user completed its configurations in the Dockerfile.
|
||||||
|
|
||||||
|
Due to a bug, this wasn't working in earlier SDKs, and has been fixed in SDK 4.3.
|
||||||
|
|
||||||
|
In order to be retro-compatible with ACS 6, however, the user is specified in the SDK property `<alfresco.platform.docker.user>`.
|
||||||
|
|
||||||
|
Hence, its values (already in place) are `root` for ACS 6, and `alfresco` for ACS 7+.
|
||||||
|
|
||||||
|
#### Log file location
|
||||||
|
|
||||||
|
To prevent writing permission problems when logging with the non-root user,
|
||||||
|
the `alfresco.log` file has also been moved to a more appropriate location (Tomcat logs instead of Tomcat root).
|
||||||
|
|
||||||
|
### Important Notice about Version Numbers
|
||||||
|
|
||||||
|
In Q4 2020, Alfresco Platform has undergone a major structural refactoring.
|
||||||
|
|
||||||
|
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, 4.14, 4.15 instead of SDK 4.16.0.
|
||||||
|
|
||||||
|
- For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used
|
||||||
|
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used
|
||||||
|
- For Enterprise and Community versions of 6.0.x, 6.1.x, 6.2.x older than November 2020, SDK 4.1 must be used
|
||||||
|
- For Enterprise and Community versions of 25.1.x and 25.2.x, SDK 4.12 or 4.13 must be used
|
||||||
|
- For Enterprise and Community versions of 26.1.x, SDK 4.14 must be used
|
||||||
|
|
||||||
|
It's also important to remember that:
|
||||||
|
|
||||||
|
- Community Platform versions are built by [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging)
|
||||||
|
- Community Docker images are published on [Docker Hub](https://hub.docker.com/r/alfresco/alfresco-content-repository-community/tags?page=1&ordering=last_updated)
|
||||||
|
- Enterprise Platform versions are built by [acs-packaging](https://github.com/Alfresco/acs-packaging)
|
||||||
|
- Enterprise Docker images are published on *Quay.io*
|
||||||
|
|
||||||
### Latest Documentation
|
### Latest Documentation
|
||||||
To get started with Alfresco SDK 2.1.1 (latest) visit the offical Alfresco Documentation for:
|
To get started with **Alfresco SDK 4.16.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||||
|
|
||||||
- [Alfresco Community 5.0.d and above](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
|
#### Documentation about Previous Versions
|
||||||
- [Alfresco Enterprise 5.0.1 and above](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||||
|
|-------------|:----------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------|
|
||||||
#### Previous versions Documentation
|
| SDK 4.16.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 25.4.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
- Documentation for [Alfresco SDK 2.0](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html) (compatible with Alfresco 5.0.d Community and 5.0.0 Enterprise)
|
| SDK 4.15.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
- Documentation for [Alfresco SDK 1.1.1](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html) (compatible with Alfresco 4.2)
|
| SDK 4.14.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.13.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
### Samples
|
| SDK 4.12.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
Sample extension projects that use the SDK, maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
|
| SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
### Command reference
|
| SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
A list of supported features and commands, explanation of Maven profiles and commands is kept in the [Alfresco Official Docs](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-cmd-reference.html).
|
| SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
### Want to get up to speed quickly in Eclipse? Check out this video!
|
| SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
[](https://www.youtube.com/watch?v=utYZaVe9Nd0)
|
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
|
||||||
|
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
|
||||||
|
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||||
|
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||||
|
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
|
||||||
|
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
|
||||||
|
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
|
||||||
|
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
|
||||||
|
|
||||||
## Reporting Issues and Community Support
|
## Reporting Issues and Community Support
|
||||||
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open). You can also join the [Alfresco list on Google Groups](https://groups.google.com/forum/#!forum/maven-alfresco) or join us on the [IRC Channel](http://chat.alfresco.com/).
|
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).
|
||||||
|
|
||||||
## Alfresco Enterprise Customers and Partners Support
|
## Alfresco Enterprise Customers and Partners Support
|
||||||
If you are an Alfresco Customer please check the [SDK Support status](http://www.alfresco.com/services/subscription/technical-support/product-support-status) for the version you are using and the [Compatibily Matrix](http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html) for the SDK / Alfresco compatibility. If your version is in Limited or Full Support, you can raise issues via the [Support Portal](http://support.alfresco.com).
|
If you are an Alfresco Customer
|
||||||
|
please check the [SDK Support status](http://www.alfresco.com/services/subscription/technical-support/product-support-status)
|
||||||
|
for the version you are using. If your version is in Limited or Full Support and you need help, visit the [Support Portal](http://support.alfresco.com).
|
||||||
|
|
||||||
## Maven repositories
|
## Maven repositories
|
||||||
- As of version 2.0-beta-1, The Alfresco SDK is released in [Maven Central](http://search.maven.org/#search|ga|1|alfresco-sdk). Previous versions are available in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
- As of version 2.0-beta-1, The Alfresco SDK is released in [Maven Central](http://search.maven.org/#search|ga|1|alfresco-sdk). Previous versions are available
|
||||||
|
in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
||||||
- Alfresco (Community and Enterprise) artifacts are hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
- Alfresco (Community and Enterprise) artifacts are hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
||||||
- Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
|
- Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
|
||||||
|
|
||||||
*NOTE:* For Enterprise and Premiere licensed software access you need to get credential via the Alfresco Enterprise Support. See [Maven Alfresco Enterprise setup](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-using-enterprise-edition.html).
|
*NOTE:* By default the Alfresco SDK will use Community Edition releases but it can be configured to use Enterprise Edition releases. Enterprise and Premier
|
||||||
|
customers can use the SDK with Enterprise Edition releases by following the process described in [Working with Enterprise](docs/advanced-topics/working-with-enterprise/README.md).
|
||||||
|
|
||||||
### Alfresco Artifacts Repository
|
### Alfresco Artifacts Repository
|
||||||
|
|
||||||
#### Alfresco Releases
|
#### Alfresco Releases
|
||||||
You can use the following snippet in your pom.xml to access releases on Alfresco Artifact repository:
|
You can use the following snippet in your pom.xml to access releases from the Alfresco Artifact repository:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<repository>
|
<repository>
|
||||||
@@ -70,6 +170,13 @@ To test new unreleased (unsupported) features, you can use the following snippet
|
|||||||
</repository>
|
</repository>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Docker registries
|
||||||
|
- Alfresco Community Docker images are publicly available at the [Alfresco's Docker Hub profile](https://hub.docker.com/u/alfresco/).
|
||||||
|
- Alfresco Enterprise Docker images are hosted at [Quay.io](https://quay.io/). Its configuration process is described in detail in [How to configure private Alfresco Docker registry](docs/advanced-topics/working-with-enterprise/enterprise-docker-registry.md).
|
||||||
|
|
||||||
## For Developers that want to contribute to the SDK
|
## For Developers that want to contribute to the SDK
|
||||||
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
|
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
|
||||||
|
|
||||||
|
## Releasing the SDK
|
||||||
|
|
||||||
|
See [docs/release-process.md](docs/release-process.md) for the current automated release process (Nexus, verified commits, tags, and Maven Central publishing).
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
*.DS_Store
|
||||||
@@ -5,16 +5,16 @@
|
|||||||
<groupId>org.alfresco.maven.archetype</groupId>
|
<groupId>org.alfresco.maven.archetype</groupId>
|
||||||
<artifactId>alfresco-allinone-archetype</artifactId>
|
<artifactId>alfresco-allinone-archetype</artifactId>
|
||||||
<packaging>maven-archetype</packaging>
|
<packaging>maven-archetype</packaging>
|
||||||
<name>Maven Alfresco SDK - All-in-One Archetype</name>
|
<name>Alfresco SDK - All-in-One Archetype</name>
|
||||||
<description>Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository WAR overlay, Repository AMP, Share WAR overlay, Solr configuration, and embedded Tomcat runner</description>
|
<description>Sample multi-module project for All-in-One development on the Alfresco platform. Includes modules for Platform/Repository JAR and Share JAR</description>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco.maven</groupId>
|
<groupId>org.alfresco.maven</groupId>
|
||||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||||
<version>3.0.0-beta-3</version>
|
<version>4.17.0-A3-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<resources>
|
<resources>
|
||||||
<resource>
|
<resource>
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
<include>archetype-resources/pom.xml</include>
|
<include>archetype-resources/pom.xml</include>
|
||||||
<include>archetype-resources/run.sh</include>
|
<include>archetype-resources/run.sh</include>
|
||||||
<include>archetype-resources/run.bat</include>
|
<include>archetype-resources/run.bat</include>
|
||||||
<include>archetype-resources/runner/src/main/webapp/index.html</include>
|
|
||||||
<include>META-INF/maven/archetype-metadata.xml</include>
|
<include>META-INF/maven/archetype-metadata.xml</include>
|
||||||
</includes>
|
</includes>
|
||||||
<filtering>true</filtering>
|
<filtering>true</filtering>
|
||||||
@@ -34,7 +33,6 @@
|
|||||||
<exclude>archetype-resources/pom.xml</exclude>
|
<exclude>archetype-resources/pom.xml</exclude>
|
||||||
<exclude>archetype-resources/run.sh</exclude>
|
<exclude>archetype-resources/run.sh</exclude>
|
||||||
<exclude>archetype-resources/run.bat</exclude>
|
<exclude>archetype-resources/run.bat</exclude>
|
||||||
<exclude>archetype-resources/runner/src/main/webapp/index.html</exclude>
|
|
||||||
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
|
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
<filtering>false</filtering>
|
<filtering>false</filtering>
|
||||||
@@ -43,13 +41,14 @@
|
|||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<version>2.7</version>
|
|
||||||
<configuration>
|
<configuration>
|
||||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||||
<delimiters>
|
<delimiters>
|
||||||
<delimiter>@@</delimiter>
|
<delimiter>@@</delimiter>
|
||||||
</delimiters>
|
</delimiters>
|
||||||
|
<addDefaultExcludes>false</addDefaultExcludes>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
|||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
def file = new File( request.getOutputDirectory(), request.getArtifactId()+"/run.sh" );
|
||||||
|
file.setExecutable(true, false);
|
||||||
+89
-28
@@ -10,14 +10,14 @@
|
|||||||
</requiredProperty>
|
</requiredProperty>
|
||||||
</requiredProperties>
|
</requiredProperties>
|
||||||
<modules>
|
<modules>
|
||||||
<module id="${rootArtifactId}-platform-jar"
|
<module id="${rootArtifactId}-platform"
|
||||||
name="${rootArtifactId}-platform-jar"
|
name="${rootArtifactId}-platform"
|
||||||
dir="__rootArtifactId__-platform-jar">
|
dir="__rootArtifactId__-platform">
|
||||||
<fileSets>
|
<fileSets>
|
||||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||||
<directory>src/main/assembly</directory>
|
<directory>src/main/assembly</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*.xml</include>
|
<include>**</include>
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
@@ -39,35 +39,27 @@
|
|||||||
</includes>
|
</includes>
|
||||||
<excludes>
|
<excludes>
|
||||||
<exclude>**/*-context.xml</exclude>
|
<exclude>**/*-context.xml</exclude>
|
||||||
<exclude>**/log4j.properties</exclude>
|
|
||||||
</excludes>
|
</excludes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||||
<directory>src/main/resources</directory>
|
<directory>src/main/resources</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*-context.xml</include>
|
<include>**/*-context.xml</include>
|
||||||
<include>**/log4j.properties</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
|
||||||
<directory>src/test/resources</directory>
|
|
||||||
<includes>
|
|
||||||
<include>**</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
|
||||||
<directory>src/test/properties</directory>
|
|
||||||
<includes>
|
|
||||||
<include>**/*.properties</include>
|
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
</fileSets>
|
</fileSets>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
<module id="${rootArtifactId}-share-jar"
|
<module id="${rootArtifactId}-share"
|
||||||
name="${rootArtifactId}-share-jar"
|
name="${rootArtifactId}-share"
|
||||||
dir="__rootArtifactId__-share-jar" >
|
dir="__rootArtifactId__-share">
|
||||||
<fileSets>
|
<fileSets>
|
||||||
|
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||||
|
<directory>src/main/assembly</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**</include>
|
||||||
|
</includes>
|
||||||
|
</fileSet>
|
||||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
<directory>src/main/java</directory>
|
<directory>src/main/java</directory>
|
||||||
<includes>
|
<includes>
|
||||||
@@ -102,27 +94,96 @@
|
|||||||
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
</fileSets>
|
||||||
<directory>src/test/resources</directory>
|
</module>
|
||||||
|
|
||||||
|
<module id="${rootArtifactId}-integration-tests"
|
||||||
|
name="${rootArtifactId}-integration-tests"
|
||||||
|
dir="__rootArtifactId__-integration-tests">
|
||||||
|
<fileSets>
|
||||||
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
|
<directory>src/main/java</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**</include>
|
<include>**/*.java</include>
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
|
<directory>src/test/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.java</include>
|
||||||
|
</includes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module id="${rootArtifactId}-platform-docker"
|
||||||
|
name="${rootArtifactId}-platform-docker"
|
||||||
|
dir="__rootArtifactId__-platform-docker">
|
||||||
|
<fileSets>
|
||||||
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>license/**</include>
|
||||||
|
<include>Dockerfile</include>
|
||||||
|
<include>disable-webscript-caching-context.xml</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.properties</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>license/**</exclude>
|
||||||
|
<exclude>Dockerfile</exclude>
|
||||||
|
<exclude>disable-webscript-caching-context.xml</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module id="${rootArtifactId}-share-docker"
|
||||||
|
name="${rootArtifactId}-share-docker"
|
||||||
|
dir="__rootArtifactId__-share-docker">
|
||||||
|
<fileSets>
|
||||||
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>Dockerfile</include>
|
||||||
|
<include>share-config-custom.xml</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.properties</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>Dockerfile</exclude>
|
||||||
|
<exclude>share-config-custom.xml</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
</fileSets>
|
</fileSets>
|
||||||
</module>
|
</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<fileSets>
|
<fileSets>
|
||||||
<fileSet encoding="UTF-8">
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
<directory>src</directory>
|
<directory>docker</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**</include>
|
<include>**</include>
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
<fileSet encoding="UTF-8">
|
|
||||||
<directory></directory>
|
<directory></directory>
|
||||||
<includes>
|
<includes>
|
||||||
|
<include>.gitignore</include>
|
||||||
<include>run.sh</include>
|
<include>run.sh</include>
|
||||||
<include>run.bat</include>
|
<include>run.bat</include>
|
||||||
<include>README.md</include>
|
<include>README.md</include>
|
||||||
|
|||||||
+38
@@ -0,0 +1,38 @@
|
|||||||
|
**.log*
|
||||||
|
|
||||||
|
# Maven
|
||||||
|
target/
|
||||||
|
pom.xml.tag
|
||||||
|
pom.xml.releaseBackup
|
||||||
|
pom.xml.versionsBackup
|
||||||
|
pom.xml.next
|
||||||
|
release.properties
|
||||||
|
dependency-reduced-pom.xml
|
||||||
|
buildNumber.properties
|
||||||
|
.mvn/timing.properties
|
||||||
|
.mvn/wrapper/maven-wrapper.jar
|
||||||
|
|
||||||
|
# Eclipse
|
||||||
|
.metadata
|
||||||
|
.project
|
||||||
|
.classpath
|
||||||
|
bin/
|
||||||
|
tmp/
|
||||||
|
*.tmp
|
||||||
|
.settings/
|
||||||
|
.loadpath
|
||||||
|
.recommenders
|
||||||
|
|
||||||
|
# IntelliJ IDEA
|
||||||
|
**.idea
|
||||||
|
**.iml
|
||||||
|
|
||||||
|
# Visual Studio Code
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
|
||||||
|
# macOS
|
||||||
|
*.DS_Store
|
||||||
+31
-19
@@ -1,34 +1,46 @@
|
|||||||
# Alfresco AIO Project - SDK 3
|
# Alfresco AIO Project - SDK 4.11.0
|
||||||
|
|
||||||
This is an All-In-One (AIO) project for Alfresco SDK 3.0.
|
This is an All-In-One (AIO) project for Alfresco SDK 4.11.0.
|
||||||
|
|
||||||
Run with `mvn clean install -DskipTests=true alfresco:run` or `./run.sh` and verify that it
|
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
|
||||||
|
|
||||||
* Runs the embedded Tomcat + H2 DB
|
* Runs Alfresco Content Service (ACS)
|
||||||
* Runs Alfresco Platform (Repository)
|
|
||||||
* Runs Alfresco Solr4
|
|
||||||
* Runs Alfresco Share
|
* Runs Alfresco Share
|
||||||
* Packages both as JAR and AMP assembly for modules
|
* Runs Alfresco Search Service (ASS)
|
||||||
|
* Runs PostgreSQL database
|
||||||
|
* Deploys the JAR assembled modules
|
||||||
|
|
||||||
|
All the services of the project are now run as docker containers. The run script offers the next tasks:
|
||||||
|
|
||||||
|
* `build_start`. Build the whole project, recreate the ACS and Share docker images, start the dockerised environment composed by ACS, Share, ASS and
|
||||||
|
PostgreSQL and tail the logs of all the containers.
|
||||||
|
* `build_start_it_supported`. Build the whole project including dependencies required for IT execution, recreate the ACS and Share docker images, start the
|
||||||
|
dockerised environment composed by ACS, Share, ASS and PostgreSQL and tail the logs of all the containers.
|
||||||
|
* `start`. Start the dockerised environment without building the project and tail the logs of all the containers.
|
||||||
|
* `stop`. Stop the dockerised environment.
|
||||||
|
* `purge`. Stop the dockerised container and delete all the persistent data (docker volumes).
|
||||||
|
* `tail`. Tail the logs of all the containers.
|
||||||
|
* `reload_share`. Build the Share module, recreate the Share docker image and restart the Share container.
|
||||||
|
* `reload_acs`. Build the ACS module, recreate the ACS docker image and restart the ACS container.
|
||||||
|
* `build_test`. Build the whole project, recreate the ACS and Share docker images, start the dockerised environment, execute the integration tests from the
|
||||||
|
`integration-tests` module and stop the environment.
|
||||||
|
* `test`. Execute the integration tests (the environment must be already started).
|
||||||
|
|
||||||
# Few things to notice
|
# Few things to notice
|
||||||
|
|
||||||
* No parent pom
|
* No parent pom
|
||||||
* No WAR projects, all handled by the Alfresco Maven Plugin
|
* No WAR projects, the jars are included in the custom docker images
|
||||||
* No runner project - it's all in the Alfresco Maven Plugin
|
* No runner project - the Alfresco environment is now managed through [Docker](https://www.docker.com/)
|
||||||
* Standard JAR packaging and layout
|
* Standard JAR packaging and layout
|
||||||
* Works seamlessly with Eclipse and IntelliJ IDEA
|
* Works seamlessly with Eclipse and IntelliJ IDEA
|
||||||
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml, agent usage: `MAVEN_OPTS=-Xms256m -Xmx1G -agentpath:/home/martin/apps/jrebel/lib/libjrebel64.so`
|
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml [JRebel integration documentation]
|
||||||
* AMP as an assembly
|
* AMP as an assembly
|
||||||
* [Configurable Run mojo](https://github.com/Alfresco/alfresco-sdk/blob/sdk-3.0/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/RunMojo.java) in the `alfresco-maven-plugin`
|
* Persistent test data through restart thanks to the use of Docker volumes for ACS, ASS and database data
|
||||||
* No unit testing/functional tests just yet
|
* Integration tests module to execute tests against the final environment (dockerised)
|
||||||
* Resources loaded from META-INF
|
* Resources loaded from META-INF
|
||||||
* Web Fragment (this includes a sample servlet configured via web fragment)
|
* Web Fragment (this includes a sample servlet configured via web fragment)
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
|
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
|
||||||
* Purge
|
* Functional/remote unit tests
|
||||||
* Functional/remote unit tests
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+76
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>${artifactId}</artifactId>
|
||||||
|
<name>Integration Tests Module</name>
|
||||||
|
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.11.0</description>
|
||||||
|
<packaging>jar</packaging> <!-- Note. this just runs Integration Tests, but it needs to be a JAR otherwise
|
||||||
|
nothing is compiled (i.e. you cannot set it to pom) -->
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<!-- Bring in any custom module that should be tested, by default we bring in the Platform JAR module
|
||||||
|
that is generated for the AIO project -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-platform</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<testResources>
|
||||||
|
<testResource>
|
||||||
|
<directory>src/test/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</testResource>
|
||||||
|
</testResources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.zeroturnaround</groupId>
|
||||||
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<rebelXmlDirectory>${project.build.testOutputDirectory}</rebelXmlDirectory>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Make sure we attach the tests so we can include them when running -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>test-jar</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Runs the integration tests, any class that follows naming convention
|
||||||
|
"**/IT*.java", "**/*IT.java", and "**/*ITCase.java" will be considered an integration test -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<systemPropertyVariables>
|
||||||
|
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
|
||||||
|
</systemPropertyVariables>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
+191
@@ -0,0 +1,191 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* 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
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.rad.test.AbstractAlfrescoIT;
|
||||||
|
import org.alfresco.rad.test.AlfrescoTestRunner;
|
||||||
|
import org.alfresco.repo.content.MimetypeMap;
|
||||||
|
import org.alfresco.repo.nodelocator.CompanyHomeNodeLocator;
|
||||||
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration Test sample for a custom content model.
|
||||||
|
* See {@link DemoComponentIT} for more info.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
@RunWith(value = AlfrescoTestRunner.class)
|
||||||
|
public class CustomContentModelIT extends AbstractAlfrescoIT {
|
||||||
|
private static final String ACME_MODEL_NS = "{http://www.acme.org/model/content/1.0}";
|
||||||
|
private static final String ACME_MODEL_LOCALNAME = "contentModel";
|
||||||
|
private static final String ACME_DOCUMENT_TYPE = "document";
|
||||||
|
private static final String ACME_SECURITY_CLASSIFIED_ASPECT = "securityClassified";
|
||||||
|
private static final String ACME_DOCUMENT_ID_PROPNAME = "documentId";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCustomContentModelPresence() {
|
||||||
|
Collection<QName> allContentModels = getServiceRegistry().getDictionaryService().getAllModels();
|
||||||
|
QName customContentModelQName = createQName(ACME_MODEL_LOCALNAME);
|
||||||
|
assertTrue("Custom content model " + customContentModelQName.toString() +
|
||||||
|
" is not present", allContentModels.contains(customContentModelQName));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCreateAcmeDocument() {
|
||||||
|
// Create the ACME Doc file
|
||||||
|
QName type = createQName(ACME_DOCUMENT_TYPE);
|
||||||
|
String textContent = "Hello World!";
|
||||||
|
String documentId = "DOC001";
|
||||||
|
Map<QName, Serializable> nodeProperties = new HashMap<>();
|
||||||
|
nodeProperties.put(createQName(ACME_DOCUMENT_ID_PROPNAME), documentId);
|
||||||
|
nodeProperties.put(createQName("securityClassification"), "Company Confidential");
|
||||||
|
NodeRef nodeRef = createNode("AcmeFile.txt", type, nodeProperties);
|
||||||
|
addFileContent(nodeRef, textContent);
|
||||||
|
|
||||||
|
// Add an Aspect to the file (could be a custom aspect...)
|
||||||
|
Map<QName, Serializable> aspectProperties = new HashMap<>();
|
||||||
|
aspectProperties.put(ContentModel.PROP_TITLE, "Some Doc Title");
|
||||||
|
aspectProperties.put(ContentModel.PROP_DESCRIPTION, "Some Doc Description");
|
||||||
|
getServiceRegistry().getNodeService().addAspect(nodeRef, ContentModel.ASPECT_TITLED, aspectProperties);
|
||||||
|
|
||||||
|
// Assert that the file is created correctly
|
||||||
|
assertEquals("Invalid type", type, getServiceRegistry().getNodeService().getType(nodeRef));
|
||||||
|
assertTrue("Missing security aspect",
|
||||||
|
getServiceRegistry().getNodeService().hasAspect(nodeRef, createQName(ACME_SECURITY_CLASSIFIED_ASPECT)));
|
||||||
|
assertTrue("Missing titled aspect",
|
||||||
|
getServiceRegistry().getNodeService().hasAspect(nodeRef, ContentModel.ASPECT_TITLED));
|
||||||
|
assertEquals("Invalid property value", documentId,
|
||||||
|
getServiceRegistry().getNodeService().getProperty(nodeRef, createQName(ACME_DOCUMENT_ID_PROPNAME)));
|
||||||
|
readTextContent(nodeRef).equals(textContent);
|
||||||
|
|
||||||
|
// Clean up node
|
||||||
|
if (nodeRef != null) {
|
||||||
|
getServiceRegistry().getNodeService().deleteNode(nodeRef);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ==================== Helper Methods ============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a QName for the ACME content model
|
||||||
|
*
|
||||||
|
* @param localname the local content model name without namespace specified
|
||||||
|
* @return the full ACME QName including namespace
|
||||||
|
*/
|
||||||
|
private QName createQName(String localname) {
|
||||||
|
return QName.createQName(ACME_MODEL_NS + localname);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new node, such as a file or a folder, with passed in type and properties
|
||||||
|
*
|
||||||
|
* @param name the name of the file or folder
|
||||||
|
* @param type the content model type
|
||||||
|
* @param properties the properties from the content model
|
||||||
|
* @return the Node Reference for the newly created node
|
||||||
|
*/
|
||||||
|
private NodeRef createNode(String name, QName type, Map<QName, Serializable> properties) {
|
||||||
|
NodeRef parentFolderNodeRef = getCompanyHomeNodeRef();
|
||||||
|
QName associationType = ContentModel.ASSOC_CONTAINS;
|
||||||
|
QName associationQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI,
|
||||||
|
QName.createValidLocalName(name));
|
||||||
|
properties.put(ContentModel.PROP_NAME, name);
|
||||||
|
ChildAssociationRef parentChildAssocRef = getServiceRegistry().getNodeService().createNode(
|
||||||
|
parentFolderNodeRef, associationType, associationQName, type, properties);
|
||||||
|
|
||||||
|
return parentChildAssocRef.getChildRef();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add some text content to a file node
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference for the file that should have some text content added to it
|
||||||
|
* @param fileContent the text content
|
||||||
|
*/
|
||||||
|
private void addFileContent(NodeRef nodeRef, String fileContent) {
|
||||||
|
boolean updateContentPropertyAutomatically = true;
|
||||||
|
ContentWriter writer = getServiceRegistry().getContentService().getWriter(nodeRef, ContentModel.PROP_CONTENT,
|
||||||
|
updateContentPropertyAutomatically);
|
||||||
|
writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
|
||||||
|
writer.setEncoding("UTF-8");
|
||||||
|
writer.putContent(fileContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read text content for passed in file Node Reference
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference for a file containing text
|
||||||
|
* @return the text content
|
||||||
|
*/
|
||||||
|
private String readTextContent(NodeRef nodeRef) {
|
||||||
|
ContentReader reader = getServiceRegistry().getContentService().getReader(nodeRef, ContentModel.PROP_CONTENT);
|
||||||
|
if (reader == null) {
|
||||||
|
return ""; // Maybe it was a folder after all
|
||||||
|
}
|
||||||
|
|
||||||
|
InputStream is = reader.getContentInputStream();
|
||||||
|
try {
|
||||||
|
return IOUtils.toString(is, "UTF-8");
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
throw new RuntimeException(ioe);
|
||||||
|
} finally {
|
||||||
|
if (is != null) {
|
||||||
|
try {
|
||||||
|
is.close();
|
||||||
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the node reference for the /Company Home top folder in Alfresco.
|
||||||
|
* Use the standard node locator service.
|
||||||
|
*
|
||||||
|
* @return the node reference for /Company Home
|
||||||
|
*/
|
||||||
|
private NodeRef getCompanyHomeNodeRef() {
|
||||||
|
return getServiceRegistry().getNodeLocatorService().getNode(CompanyHomeNodeLocator.NAME, null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
+67
@@ -0,0 +1,67 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* 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
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.alfresco.rad.test.AbstractAlfrescoIT;
|
||||||
|
import org.alfresco.rad.test.AlfrescoTestRunner;
|
||||||
|
import org.alfresco.rad.test.Remote;
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration Test of the DemoComponent using the Alfresco Test Runner.
|
||||||
|
* The Alfresco Test Runner (i.e. AlfrescoTestRunner.class) will check if it is running in an Alfresco instance,
|
||||||
|
* if so it will execute normally locally. On the other hand, if it detects no
|
||||||
|
* Alfresco Spring context, then it will make a call to a custom Web Script that
|
||||||
|
* will execute this test in the running container remotely. The remote location is
|
||||||
|
* determined by the @Remote config.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
@RunWith(value = AlfrescoTestRunner.class)
|
||||||
|
public class DemoComponentIT extends AbstractAlfrescoIT {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetCompanyHome() {
|
||||||
|
DemoComponent demoComponent = (DemoComponent) getApplicationContext().getBean("${package}.DemoComponent");
|
||||||
|
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||||
|
assertNotNull(companyHome);
|
||||||
|
String companyHomePath = getServiceRegistry().getNodeService().getPath(companyHome).toPrefixString(getServiceRegistry().getNamespaceService());
|
||||||
|
assertNotNull(companyHomePath);
|
||||||
|
assertEquals("/app:company_home", companyHomePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testChildNodesCount() {
|
||||||
|
DemoComponent demoComponent = (DemoComponent) getApplicationContext().getBean("${package}.DemoComponent");
|
||||||
|
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||||
|
int childNodeCount = demoComponent.childNodesCount(companyHome);
|
||||||
|
assertNotNull(childNodeCount);
|
||||||
|
// There are 7 folders by default under Company Home
|
||||||
|
assertEquals(7, childNodeCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
+85
@@ -0,0 +1,85 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* 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
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.http.HttpEntity;
|
||||||
|
import org.apache.http.HttpResponse;
|
||||||
|
import org.apache.http.HttpStatus;
|
||||||
|
import org.apache.http.auth.AuthScope;
|
||||||
|
import org.apache.http.auth.UsernamePasswordCredentials;
|
||||||
|
import org.apache.http.client.CredentialsProvider;
|
||||||
|
import org.apache.http.client.methods.HttpGet;
|
||||||
|
import org.apache.http.impl.client.BasicCredentialsProvider;
|
||||||
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
|
import org.apache.http.impl.client.HttpClientBuilder;
|
||||||
|
import org.apache.http.util.EntityUtils;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration Test (IT) for Hello World web script.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @version 1.0
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
public class HelloWorldWebScriptIT {
|
||||||
|
|
||||||
|
private static final String ACS_ENDPOINT_PROP = "acs.endpoint.path";
|
||||||
|
private static final String ACS_DEFAULT_ENDPOINT = "http://localhost:8080/alfresco";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testWebScriptCall() throws Exception {
|
||||||
|
String webscriptURL = getPlatformEndpoint() + "/service/sample/helloworld";
|
||||||
|
String expectedResponse = "Message: 'Hello from JS!' 'HelloFromJava'";
|
||||||
|
|
||||||
|
// Login credentials for Alfresco Repo
|
||||||
|
CredentialsProvider provider = new BasicCredentialsProvider();
|
||||||
|
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("admin", "admin");
|
||||||
|
provider.setCredentials(AuthScope.ANY, credentials);
|
||||||
|
|
||||||
|
// Create HTTP Client with credentials
|
||||||
|
CloseableHttpClient httpclient = HttpClientBuilder.create()
|
||||||
|
.setDefaultCredentialsProvider(provider)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// Execute Web Script call
|
||||||
|
try {
|
||||||
|
HttpGet httpget = new HttpGet(webscriptURL);
|
||||||
|
HttpResponse httpResponse = httpclient.execute(httpget);
|
||||||
|
assertEquals("Incorrect HTTP Response Status",
|
||||||
|
HttpStatus.SC_OK, httpResponse.getStatusLine().getStatusCode());
|
||||||
|
HttpEntity entity = httpResponse.getEntity();
|
||||||
|
assertNotNull("Response from Web Script is null", entity);
|
||||||
|
assertEquals("Incorrect Web Script Response", expectedResponse, EntityUtils.toString(entity));
|
||||||
|
} finally {
|
||||||
|
httpclient.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getPlatformEndpoint() {
|
||||||
|
final String platformEndpoint = System.getProperty(ACS_ENDPOINT_PROP);
|
||||||
|
return StringUtils.isNotBlank(platformEndpoint) ? platformEndpoint : ACS_DEFAULT_ENDPOINT;
|
||||||
|
}
|
||||||
|
}
|
||||||
+130
@@ -0,0 +1,130 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>${artifactId}</artifactId>
|
||||||
|
<name>Alfresco Platform/Repository Docker Module</name>
|
||||||
|
<description>Platform/Repo Docker Module to generate the final Docker image</description>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-platform</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-integration-tests</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
<classifier>tests</classifier>
|
||||||
|
</dependency>
|
||||||
|
<!-- Add any additional AMPs or extension JARs here that you want to be deployed in Alfresco -->
|
||||||
|
<!-- IMPORTANT:
|
||||||
|
If using amp extensions only, add <includeTypes>amp</includeTypes> to the "collect-extensions" execution below.
|
||||||
|
If using both amp and jar extensions, you have to add:
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>*</groupId>
|
||||||
|
<artifactId>*</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
to each amp dependency definition.
|
||||||
|
-->
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<!-- Copy the repository extension and the dependencies required for execute integration tests -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-test-artifacts</id>
|
||||||
|
<phase>pre-integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<excludeScope>compile</excludeScope>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<!-- Collect extensions (JARs or AMPs) declared in this module do be deployed to docker -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-extensions</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<includeScope>runtime</includeScope>
|
||||||
|
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- Filter the Dockerfile and the other files added to the container to be able to replace maven properties -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.jar</exclude>
|
||||||
|
<exclude>**/*.so</exclude>
|
||||||
|
<exclude>**/*.gz</exclude>
|
||||||
|
</excludes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources-non-filtered</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.jar</include>
|
||||||
|
<include>**/*.so</include>
|
||||||
|
<include>**/*.gz</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
FROM ${docker.acs.image}:${alfresco.platform.version}
|
||||||
|
|
||||||
|
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||||
|
ARG USERNAME=${alfresco.platform.docker.user}
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no JARs exist
|
||||||
|
COPY Dockerfile extensions/*.jar $TOMCAT_DIR/webapps/alfresco/WEB-INF/lib/
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no AMPs exist
|
||||||
|
COPY Dockerfile extensions/*.amp $TOMCAT_DIR/amps/
|
||||||
|
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
|
||||||
|
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
|
||||||
|
|
||||||
|
COPY alfresco-global.properties $TOMCAT_DIR/shared/classes/alfresco-global.properties
|
||||||
|
COPY dev-log4j2.properties $TOMCAT_DIR/shared/classes/alfresco/extension/dev-log4j2.properties
|
||||||
|
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no license file exists
|
||||||
|
COPY Dockerfile license/*.* $TOMCAT_DIR/webapps/alfresco/WEB-INF/classes/alfresco/extension/license/
|
||||||
|
|
||||||
|
# Move the log file
|
||||||
|
RUN sed -i -e "s_appender.rolling.fileName\=alfresco.log_appender.rolling.fileName\=${TOMCAT_DIR}/logs\/alfresco.log_" \
|
||||||
|
${TOMCAT_DIR}/shared/classes/alfresco/extension/dev-log4j2.properties && \
|
||||||
|
sed -i -e "s_appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}_appender.rolling.filePattern\=${TOMCAT_DIR}/logs\/alfresco.log.%d{yyyy-MM-dd}_" \
|
||||||
|
${TOMCAT_DIR}/shared/classes/alfresco/extension/dev-log4j2.properties
|
||||||
|
|
||||||
|
USER ${USERNAME}
|
||||||
+37
-22
@@ -1,3 +1,6 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
# this work for additional information regarding copyright ownership.
|
# this work for additional information regarding copyright ownership.
|
||||||
@@ -15,15 +18,12 @@
|
|||||||
# RUN TIME PROPERTIES
|
# RUN TIME PROPERTIES
|
||||||
# -------------------
|
# -------------------
|
||||||
|
|
||||||
########################################################################################################################
|
#
|
||||||
# Alfresco configuration for running locally
|
# Alfresco configuration for running locally with PostgreSQL Database
|
||||||
#
|
#
|
||||||
# Configuration when running Tomcat embedded from Maven.
|
# Configuration when running Tomcat embedded from Maven.
|
||||||
# This will create the alf_data_dev directory relative to Tomcat run folder.
|
|
||||||
# Property values from the POM but it can also be edited here.
|
# Property values from the POM but it can also be edited here.
|
||||||
########################################################################################################################
|
#
|
||||||
|
|
||||||
dir.root=${alfresco.data.location}
|
|
||||||
|
|
||||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||||
alfresco.context=alfresco
|
alfresco.context=alfresco
|
||||||
@@ -34,19 +34,11 @@ alfresco.protocol=http
|
|||||||
# Alfresco Share Webapp (share.war) context, ports etc
|
# Alfresco Share Webapp (share.war) context, ports etc
|
||||||
share.context=share
|
share.context=share
|
||||||
share.host=localhost
|
share.host=localhost
|
||||||
share.port=8080
|
share.port=8180
|
||||||
share.protocol=http
|
share.protocol=http
|
||||||
|
|
||||||
index.subsystem.name=solr4
|
|
||||||
solr.host=localhost
|
|
||||||
solr.port=8080
|
|
||||||
solr.secureComms=none
|
|
||||||
|
|
||||||
# Don't try and recover any index
|
# Don't try and recover any index
|
||||||
index.recovery.mode=NONE
|
index.recovery.mode=NONE
|
||||||
# As we run embedded, we set Lucene
|
|
||||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
|
||||||
#index.subsystem.name=buildonly
|
|
||||||
|
|
||||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||||
@@ -58,16 +50,39 @@ wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
|||||||
# Fail or not when there are node integrity checker errors
|
# Fail or not when there are node integrity checker errors
|
||||||
integrity.failOnError=true
|
integrity.failOnError=true
|
||||||
|
|
||||||
# Database connection properties
|
# Alfresco Repository PostgreSQL Database configuration.
|
||||||
db.driver=${alfresco.db.datasource.class}
|
# The PostgreSQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||||
db.url=${alfresco.db.url}
|
db.driver=org.postgresql.Driver
|
||||||
db.username=${alfresco.db.username}
|
|
||||||
db.password=${alfresco.db.password}
|
# This Alfresco Platform Configuration file should be used for custom properties that are introduced by this module.
|
||||||
|
# Define default values for all properties here.
|
||||||
|
# System Administrators can override these values in environment specific configurations in
|
||||||
|
# alfresco/tomcat/shared/classes/alfresco-global.properties.
|
||||||
|
#
|
||||||
|
index.subsystem.name=solr6
|
||||||
|
solr.host=${rootArtifactId}-ass
|
||||||
|
solr.port=8983
|
||||||
|
solr.secureComms=secret
|
||||||
|
solr.sharedSecret=secret
|
||||||
|
|
||||||
|
db.username=alfresco
|
||||||
|
db.password=alfresco
|
||||||
db.pool.initial=10
|
db.pool.initial=10
|
||||||
db.pool.max=100
|
db.pool.max=100
|
||||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
|
||||||
|
db.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco
|
||||||
|
|
||||||
# File servers related properties
|
# File servers related properties
|
||||||
# For local runs we disable CIFS and FTP
|
# For local runs we disable CIFS and FTP
|
||||||
cifs.enabled=false
|
cifs.enabled=false
|
||||||
ftp.enabled=false
|
ftp.enabled=false
|
||||||
|
|
||||||
|
csrf.filter.enabled=false
|
||||||
|
|
||||||
|
# Embedded broker without persistence
|
||||||
|
messaging.broker.url=vm://localhost?broker.persistent=false
|
||||||
|
|
||||||
|
# Disable ATS
|
||||||
|
transform.service.enabled=false
|
||||||
|
local.transform.service.enabled=false
|
||||||
|
legacy.transform.service.enabled=false
|
||||||
+412
@@ -0,0 +1,412 @@
|
|||||||
|
rootLogger.level=error
|
||||||
|
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||||
|
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||||
|
|
||||||
|
# All outputs currently set to be a ConsoleAppender.
|
||||||
|
appender.console.type=Console
|
||||||
|
appender.console.name=ConsoleAppender
|
||||||
|
appender.console.layout.type=PatternLayout
|
||||||
|
# use log4j NDC to replace %x with tenant domain / username
|
||||||
|
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
|
||||||
|
# File appender definition #
|
||||||
|
appender.rolling.type=RollingFile
|
||||||
|
appender.rolling.name=RollingAppender
|
||||||
|
appender.rolling.fileName=alfresco.log
|
||||||
|
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
|
||||||
|
appender.rolling.layout.type=PatternLayout
|
||||||
|
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
appender.rolling.policies.type = Policies
|
||||||
|
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
|
||||||
|
appender.rolling.policies.time.interval = 1
|
||||||
|
|
||||||
|
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4J2HierarchyInit)
|
||||||
|
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
|
||||||
|
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
|
||||||
|
# Log4j2 addLoggerMBean as long as the logger exists and has been loaded.
|
||||||
|
|
||||||
|
# Hibernate
|
||||||
|
logger.hibernate.name=org.hibernate
|
||||||
|
logger.hibernate.level=error
|
||||||
|
|
||||||
|
logger.hibernate-util-JDBCExceptionReporter.name=org.hibernate.util.JDBCExceptionReporter
|
||||||
|
logger.hibernate-util-JDBCExceptionReporter.level=fatal
|
||||||
|
|
||||||
|
logger.hibernate-event-def-AbstractFlushingEventListener.name=org.hibernate.event.def.AbstractFlushingEventListener
|
||||||
|
logger.hibernate-event-def-AbstractFlushingEventListener.level=fatal
|
||||||
|
|
||||||
|
logger.hibernate-type.name=org.hibernate.type
|
||||||
|
logger.hibernate-type.level=warn
|
||||||
|
|
||||||
|
logger.hibernate-cfg-SettingsFactory.name=org.hibernate.cfg.SettingsFactory
|
||||||
|
logger.hibernate-cfg-SettingsFactory.level=warn
|
||||||
|
|
||||||
|
# Spring
|
||||||
|
logger.springframework.name=org.springframework
|
||||||
|
logger.springframework.level=warn
|
||||||
|
# Turn off Spring remoting warnings that should really be info or debug.
|
||||||
|
logger.springframework-remoting-support.name=org.springframework.remoting.support
|
||||||
|
logger.springframework-remoting-support.level=error
|
||||||
|
|
||||||
|
logger.springframework-util.name=org.springframework.util
|
||||||
|
logger.springframework-util.level=error
|
||||||
|
|
||||||
|
# Axis/WSS4J
|
||||||
|
logger.apache-axis.name=org.apache.axis
|
||||||
|
logger.apache-axis.level=info
|
||||||
|
|
||||||
|
logger.apache-ws.name=org.apache.ws
|
||||||
|
logger.apache-ws.level=info
|
||||||
|
|
||||||
|
# CXF
|
||||||
|
logger.apache-cxf.name=org.apache.cxf
|
||||||
|
logger.apache-cxf.level=error
|
||||||
|
|
||||||
|
# MyFaces
|
||||||
|
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
|
||||||
|
logger.apache-myfaces-util-DebugUtils.level=info
|
||||||
|
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
|
||||||
|
logger.apache-myfaces-taglib.level=error
|
||||||
|
|
||||||
|
# OpenOfficeConnection
|
||||||
|
logger.sf-jooreports-openoffice-connection.name=net.sf.jooreports.openoffice.connection
|
||||||
|
logger.sf-jooreports-openoffice-connection.level=fatal
|
||||||
|
|
||||||
|
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
||||||
|
|
||||||
|
# Alfresco
|
||||||
|
logger.alfresco.name=org.alfresco
|
||||||
|
logger.alfresco.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-admin.name=org.alfresco.repo.admin
|
||||||
|
logger.alfresco-repo-admin.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
|
||||||
|
logger.alfresco-repo-transaction.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
|
||||||
|
logger.alfresco-repo-cache-TransactionalCache.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
|
||||||
|
logger.alfresco-repo-model-filefolder.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
|
||||||
|
logger.alfresco-repo-tenant.level=info
|
||||||
|
|
||||||
|
logger.alfresco-config.name=org.alfresco.config
|
||||||
|
logger.alfresco-config.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
|
||||||
|
logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
|
||||||
|
logger.alfresco-repo-management-subsystems.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
|
||||||
|
logger.alfresco-repo-security-sync.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
|
||||||
|
logger.alfresco-repo-security-person.level=info
|
||||||
|
|
||||||
|
logger.alfresco-sample.name=org.alfresco.sample
|
||||||
|
logger.alfresco-sample.level=info
|
||||||
|
|
||||||
|
logger.alfresco-web.name=org.alfresco.web
|
||||||
|
logger.alfresco-web.level=info
|
||||||
|
|
||||||
|
logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
|
||||||
|
logger.alfresco-service-descriptor-DescriptorService.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
|
||||||
|
logger.alfresco-repo-importer-ImporterBootstrap.level=error
|
||||||
|
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-admin-patch-PatchExecuter.name=org.alfresco.repo.admin.patch.PatchExecuter
|
||||||
|
logger.alfresco-repo-admin-patch-PatchExecuter.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.name=org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl
|
||||||
|
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.level=info
|
||||||
|
|
||||||
|
# Specific patches
|
||||||
|
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.name=org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch
|
||||||
|
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-version-VersionMigrator.name=org.alfresco.repo.version.VersionMigrator
|
||||||
|
logger.alfresco-repo-version-VersionMigrator.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-module-ModuleServiceImpl.name=org.alfresco.repo.module.ModuleServiceImpl
|
||||||
|
logger.alfresco-repo-module-ModuleServiceImpl.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-SchemaBootstrap.name=org.alfresco.repo.domain.schema.SchemaBootstrap
|
||||||
|
logger.alfresco-repo-domain-schema-SchemaBootstrap.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-admin-ConfigurationChecker.name=org.alfresco.repo.admin.ConfigurationChecker
|
||||||
|
logger.alfresco-repo-admin-ConfigurationChecker.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-index-AbstractReindexComponent.name=org.alfresco.repo.node.index.AbstractReindexComponent
|
||||||
|
logger.alfresco-repo-node-index-AbstractReindexComponent.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-index-IndexTransactionTracker.name=org.alfresco.repo.node.index.IndexTransactionTracker
|
||||||
|
logger.alfresco-repo-node-index-IndexTransactionTracker.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.name=org.alfresco.repo.node.index.FullIndexRecoveryComponent
|
||||||
|
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.level=info
|
||||||
|
|
||||||
|
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.name=org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl
|
||||||
|
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.name=org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor
|
||||||
|
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-transaction-RetryingTransactionHelper.name=org.alfresco.repo.transaction.RetryingTransactionHelper
|
||||||
|
logger.alfresco-repo-transaction-RetryingTransactionHelper.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.name=org.alfresco.util.transaction.SpringAwareUserTransaction.trace
|
||||||
|
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-util-AbstractTriggerBean.name=org.alfresco.util.AbstractTriggerBean
|
||||||
|
logger.alfresco-util-AbstractTriggerBean.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-enterprise-repo-cluster.name=org.alfresco.enterprise.repo.cluster
|
||||||
|
logger.alfresco-enterprise-repo-cluster.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-version-Version2ServiceImpl.name=org.alfresco.repo.version.Version2ServiceImpl
|
||||||
|
logger.alfresco-repo-version-Version2ServiceImpl.level=warn
|
||||||
|
|
||||||
|
#logger.alfresco-web-app-DebugPhaseListener.name=org.alfresco.web.app.DebugPhaseListener
|
||||||
|
#logger.alfresco-web-app-DebugPhaseListener.level=debug
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-db-NodeStringLengthWorker.name=org.alfresco.repo.node.db.NodeStringLengthWorker
|
||||||
|
logger.alfresco-repo-node-db-NodeStringLengthWorker.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-workflow.name=org.alfresco.repo.workflow
|
||||||
|
logger.alfresco-repo-workflow.level=info
|
||||||
|
|
||||||
|
# FTP server debugging
|
||||||
|
logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
|
||||||
|
logger.alfresco-ftp-protocol.level=error
|
||||||
|
|
||||||
|
# WebDAV debugging
|
||||||
|
logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
|
||||||
|
logger.alfresco-webdav-protocol.level=info
|
||||||
|
|
||||||
|
# NTLM servlet filters
|
||||||
|
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
|
||||||
|
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
|
||||||
|
|
||||||
|
# Kerberos servlet filters
|
||||||
|
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
|
||||||
|
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
|
||||||
|
|
||||||
|
# File servers
|
||||||
|
logger.alfresco-fileserver.name=org.alfresco.fileserver
|
||||||
|
logger.alfresco-fileserver.level=warn
|
||||||
|
|
||||||
|
# Repo filesystem debug logging
|
||||||
|
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
|
||||||
|
|
||||||
|
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
|
||||||
|
logger.alfresco-repo-node-integrity.name=org.alfresco.repo.node.integrity
|
||||||
|
logger.alfresco-repo-node-integrity.level=error
|
||||||
|
|
||||||
|
# Indexer debugging
|
||||||
|
logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
|
||||||
|
logger.alfresco-repo-search-Indexer.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.name=org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl
|
||||||
|
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.level=warn
|
||||||
|
|
||||||
|
# Audit debugging
|
||||||
|
# log4j.logger.org.alfresco.repo.audit=DEBUG
|
||||||
|
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
|
||||||
|
|
||||||
|
# Property sheet and modelling debugging
|
||||||
|
# change to error to hide the warnings about missing properties and associations
|
||||||
|
logger.missingProperties.name=alfresco.missingProperties
|
||||||
|
logger.missingProperties.level=warn
|
||||||
|
|
||||||
|
# Dictionary/Model debugging
|
||||||
|
logger.alfresco-repo-dictionary.name=org.alfresco.repo.dictionary
|
||||||
|
logger.alfresco-repo-dictionary.level=warn
|
||||||
|
|
||||||
|
# Virtualization Server Registry
|
||||||
|
logger.alfresco-mbeans-VirtServerRegistry.name=org.alfresco.mbeans.VirtServerRegistry
|
||||||
|
logger.alfresco-mbeans-VirtServerRegistry.level=error
|
||||||
|
|
||||||
|
# Spring context runtime property setter
|
||||||
|
logger.alfresco-util-RuntimeSystemPropertiesSetter.name=org.alfresco.util.RuntimeSystemPropertiesSetter
|
||||||
|
logger.alfresco-util-RuntimeSystemPropertiesSetter.level=info
|
||||||
|
|
||||||
|
# Debugging options for clustering
|
||||||
|
logger.alfresco-repo-content-ReplicatingContentStore.name=org.alfresco.repo.content.ReplicatingContentStore
|
||||||
|
logger.alfresco-repo-content-ReplicatingContentStore.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-content-replication.name=org.alfresco.repo.content.replication
|
||||||
|
logger.alfresco-repo-content-replication.level=error
|
||||||
|
|
||||||
|
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
|
||||||
|
|
||||||
|
# Activity service
|
||||||
|
logger.alfresco-repo-activities.name=org.alfresco.repo.activities
|
||||||
|
logger.alfresco-repo-activities.level=warn
|
||||||
|
|
||||||
|
# User usage tracking
|
||||||
|
logger.alfresco-repo-usage.name=org.alfresco.repo.usage
|
||||||
|
logger.alfresco-repo-usage.level=info
|
||||||
|
|
||||||
|
# Sharepoint
|
||||||
|
logger.alfresco-module-vti.name=org.alfresco.module.vti
|
||||||
|
logger.alfresco-module-vti.level=info
|
||||||
|
|
||||||
|
# Forms Engine
|
||||||
|
logger.alfresco-web-config-forms.name=org.alfresco.web.config.forms
|
||||||
|
logger.alfresco-web-config-forms.level=info
|
||||||
|
|
||||||
|
logger.alfresco-web-scripts-forms.name=org.alfresco.web.scripts.forms
|
||||||
|
logger.alfresco-web-scripts-forms.level=info
|
||||||
|
|
||||||
|
# CMIS
|
||||||
|
logger.alfresco-opencmis.name=org.alfresco.opencmis
|
||||||
|
logger.alfresco-opencmis.level=error
|
||||||
|
|
||||||
|
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.name=org.alfresco.opencmis.AlfrescoCmisServiceInterceptor
|
||||||
|
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.level=error
|
||||||
|
|
||||||
|
logger.alfresco-cmis.name=org.alfresco.cmis
|
||||||
|
logger.alfresco-cmis.level=error
|
||||||
|
|
||||||
|
logger.alfresco-cmis-dictionary.name=org.alfresco.cmis.dictionary
|
||||||
|
logger.alfresco-cmis-dictionary.level=warn
|
||||||
|
|
||||||
|
logger.apache-chemistry-opencmis.name=org.apache.chemistry.opencmis
|
||||||
|
logger.apache-chemistry-opencmis.level=info
|
||||||
|
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.name=org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.level=off
|
||||||
|
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.name=org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.level=off
|
||||||
|
|
||||||
|
# IMAP
|
||||||
|
logger.alfresco-repo-imap.name=org.alfresco.repo.imap
|
||||||
|
logger.alfresco-repo-imap.level=info
|
||||||
|
|
||||||
|
# JBPM
|
||||||
|
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
|
||||||
|
logger.jbpm-graph-def-GraphElement.name=org.jbpm.graph.def.GraphElement
|
||||||
|
logger.jbpm-graph-def-GraphElement.level=fatal
|
||||||
|
|
||||||
|
# Web Framework
|
||||||
|
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
|
||||||
|
logger.springframework-extensions-webscripts.level=info
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
|
||||||
|
|
||||||
|
# Repository
|
||||||
|
logger.alfresco-repo-web-scripts.name=org.alfresco.repo.web.scripts
|
||||||
|
logger.alfresco-repo-web-scripts.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-web-scripts-BaseWebScriptTest.name=org.alfresco.repo.web.scripts.BaseWebScriptTest
|
||||||
|
logger.alfresco-repo-web-scripts-BaseWebScriptTest.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.name=org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger
|
||||||
|
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.level=off
|
||||||
|
|
||||||
|
logger.alfresco-repo-jscript.name=org.alfresco.repo.jscript
|
||||||
|
logger.alfresco-repo-jscript.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
|
||||||
|
logger.alfresco-repo-jscript-ScriptLogger.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-cmis-rest-CMISTest.name=org.alfresco.repo.cmis.rest.CMISTest
|
||||||
|
logger.alfresco-repo-cmis-rest-CMISTest.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.level=off
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptExecutorImpl
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.name=org.alfresco.repo.domain.schema.script.DeleteNotExistsExecutor
|
||||||
|
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.level=off
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.name=org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl
|
||||||
|
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.level=info
|
||||||
|
|
||||||
|
# Bulk Filesystem Import Tool
|
||||||
|
logger.alfresco-repo-bulkimport.name=org.alfresco.repo.bulkimport
|
||||||
|
logger.alfresco-repo-bulkimport.level=warn
|
||||||
|
|
||||||
|
# Freemarker
|
||||||
|
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||||
|
logger.runtime.name=freemarker.runtime
|
||||||
|
logger.runtime.level=
|
||||||
|
|
||||||
|
# Metadata extraction
|
||||||
|
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.name=org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter
|
||||||
|
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.level=warn
|
||||||
|
|
||||||
|
# Reduces PDFont error level due to ALF-7105
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.name=org.apache.pdfbox.pdmodel.font.PDSimpleFont
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.level=fatal
|
||||||
|
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDCIDFont.name=org.apache.pdfbox.pdmodel.font.PDCIDFont
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDCIDFont.level=fatal
|
||||||
|
|
||||||
|
# no index support
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.name=org.alfresco.repo.search.impl.noindex.NoIndexIndexer
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.level=fatal
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.name=org.alfresco.repo.search.impl.noindex.NoIndexSearchService
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.level=fatal
|
||||||
|
|
||||||
|
# lucene index warnings
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.name=org.alfresco.repo.search.impl.lucene.index.IndexInfo
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.level=warn
|
||||||
|
|
||||||
|
# Warn about RMI socket bind retries.
|
||||||
|
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.name=org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory
|
||||||
|
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-usage-RepoUsageMonitor.name=org.alfresco.repo.usage.RepoUsageMonitor
|
||||||
|
logger.alfresco-repo-usage-RepoUsageMonitor.level=info
|
||||||
|
|
||||||
|
# Authorization
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationService.name=org.alfresco.enterprise.repo.authorization.AuthorizationService
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationService.level=info
|
||||||
|
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.name=org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.level=warn
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Platform module logging
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
logger.platformsample-DemoComponent.name=${package}.platformsample.DemoComponent
|
||||||
|
logger.platformsample-DemoComponent.level=debug
|
||||||
|
logger.platformsample-HelloWorldWebScript.name=${package}.platformsample.HelloWorldWebScript
|
||||||
|
logger.platformsample-HelloWorldWebScript.level=debug
|
||||||
|
|
||||||
|
|
||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
# Enable hotswap so that changes in this module will be automatically reloaded
|
||||||
|
# Watch for changed class files on watchResources path and reload class definition in the running application.
|
||||||
|
autoHotswap=true
|
||||||
|
#autoHotswap.port=8000
|
||||||
|
|
||||||
|
# Add a directory prior to application classpath (load classes and resources).
|
||||||
|
#
|
||||||
|
# This may be useful for example in multi module maven project to load class changes from upstream project
|
||||||
|
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to
|
||||||
|
# classes from built JAR file.
|
||||||
|
# i.e. monitor /target/classes
|
||||||
|
# should work with extraClasspath=${project.build.outputDirectory}
|
||||||
|
# If not try
|
||||||
|
extraClasspath=/usr/local/tomcat/hotswap-agent
|
||||||
|
|
||||||
|
# Comma separated list of disabled plugins
|
||||||
|
# Use plugin name - e.g.
|
||||||
|
# Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat,
|
||||||
|
# ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox, Proxy, WebObjects, Weld, JBossModules, Resteasy, Gae
|
||||||
|
disabledPlugins=Hibernate,Spring
|
||||||
|
|
||||||
|
# Add a directory prior to webapp path (load webapp resources).
|
||||||
|
#
|
||||||
|
# Load web application resources (such as HTML, JSP, CSS, ...) from this directory prior to default processing.
|
||||||
|
# Use this setting to set to serve resources from source directory directly (e.g. src/main/webapp).
|
||||||
|
extraWebappContext=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-platform/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Load static web resources from different directory.
|
||||||
|
#
|
||||||
|
# This setting is dependent on application server plugin(Jetty, Tomcat, JBoss, ...)
|
||||||
|
webappDir=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-platform/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Watch for changes in a directory (resources only).
|
||||||
|
#
|
||||||
|
# Similar to extraClasspath this property adds classpath when searching for resources (not classes).
|
||||||
|
# While extra classpath just modifies the classloader, this setting does nothing until the resource
|
||||||
|
# is really changed.
|
||||||
|
#
|
||||||
|
# Sometimes it is not possible to point extraClasspath to your i.e. src/main/resources, because there are multiple
|
||||||
|
# replacements of resources in a building step (maven filtering resource option).
|
||||||
|
# This setting will leave i.e. src/target/classes as default source for resources, but after the resource is modified
|
||||||
|
# in src/main/resources, the new changed resource is served instead.
|
||||||
|
# watchResources=
|
||||||
|
|
||||||
|
LOGGER.org.hotswap.agent=DEBUG
|
||||||
|
#LOGGER.org.hotswap.agent.plugin=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.watch=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.command=TRACE
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
# Enterprise License location
|
||||||
|
|
||||||
|
Put the Alfresco Enterprise license file in this directory.
|
||||||
|
It will then be copied into the ACS container in the
|
||||||
|
$TOMCAT_DIR/WEB-INF/classes/alfresco/extension/license directory.
|
||||||
|
|
||||||
-27
@@ -1,27 +0,0 @@
|
|||||||
<assembly
|
|
||||||
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
|
|
||||||
|
|
||||||
<id>build-amp-file</id>
|
|
||||||
|
|
||||||
<formats>
|
|
||||||
<format>amp</format>
|
|
||||||
</formats>
|
|
||||||
|
|
||||||
<includeBaseDirectory>false</includeBaseDirectory>
|
|
||||||
|
|
||||||
<files>
|
|
||||||
<file>
|
|
||||||
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
|
||||||
<filtered>true</filtered>
|
|
||||||
</file>
|
|
||||||
</files>
|
|
||||||
|
|
||||||
<dependencySets>
|
|
||||||
<dependencySet>
|
|
||||||
<outputDirectory>lib</outputDirectory>
|
|
||||||
</dependencySet>
|
|
||||||
</dependencySets>
|
|
||||||
|
|
||||||
</assembly>
|
|
||||||
-18
@@ -1,18 +0,0 @@
|
|||||||
#set( $symbol_pound = '#' )
|
|
||||||
#set( $symbol_dollar = '$' )
|
|
||||||
#set( $symbol_escape = '\' )
|
|
||||||
package ${package}.platformsample;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class does nothing except dump some output to <i>system.out</i>.
|
|
||||||
* This is a sample taken from Maven Alfresco SDK
|
|
||||||
*
|
|
||||||
* @author Derek Hulley
|
|
||||||
*/
|
|
||||||
public class Demo
|
|
||||||
{
|
|
||||||
public void init()
|
|
||||||
{
|
|
||||||
System.out.println("Platform JAR Module class has been loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-43
@@ -1,43 +0,0 @@
|
|||||||
#set($symbol_pound='#')
|
|
||||||
#set($symbol_dollar='$')
|
|
||||||
#set($symbol_escape='\' )
|
|
||||||
/*
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You 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
|
|
||||||
|
|
||||||
http://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.
|
|
||||||
*/
|
|
||||||
package ${package}.platformsample;
|
|
||||||
|
|
||||||
import org.springframework.extensions.webscripts.Cache;
|
|
||||||
import org.springframework.extensions.webscripts.DeclarativeWebScript;
|
|
||||||
import org.springframework.extensions.webscripts.Status;
|
|
||||||
import org.springframework.extensions.webscripts.WebScriptRequest;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A demonstration Java controller for the Hello World Web Script.
|
|
||||||
*
|
|
||||||
* @author martin.bergljung@alfresco.com
|
|
||||||
* @since 2.1.0
|
|
||||||
*/
|
|
||||||
public class HelloWorldWebScript extends DeclarativeWebScript {
|
|
||||||
protected Map<String, Object> executeImpl(
|
|
||||||
WebScriptRequest req, Status status, Cache cache) {
|
|
||||||
Map<String, Object> model = new HashMap<String, Object>();
|
|
||||||
model.put("fromJava", "HelloFromJava");
|
|
||||||
return model;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-42
@@ -1,42 +0,0 @@
|
|||||||
#set( $symbol_pound = '#' )
|
|
||||||
#set( $symbol_dollar = '$' )
|
|
||||||
#set( $symbol_escape = '\' )
|
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You 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
|
|
||||||
|
|
||||||
http://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.
|
|
||||||
-->
|
|
||||||
<beans>
|
|
||||||
|
|
||||||
<!-- A simple class that is initialized by Spring -->
|
|
||||||
<bean id="${package}.exampleBean" class="${package}.platformsample.Demo" init-method="init" />
|
|
||||||
|
|
||||||
<!-- A simple module component that will be executed once.
|
|
||||||
Note. this module component will only be executed once, and then there will be an entry for it in the Repo.
|
|
||||||
So doing for example $ mvn clean install -Prun twice will only execute this component the first time.
|
|
||||||
You need to remove /alf_data_dev for it to be executed again. -->
|
|
||||||
<bean id="${package}.exampleComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
|
|
||||||
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
|
|
||||||
<property name="name" value="exampleComponent" />
|
|
||||||
<property name="description" value="A demonstration component" />
|
|
||||||
<property name="sinceVersion" value="1.0" />
|
|
||||||
<property name="appliesFromVersion" value="1.0" />
|
|
||||||
<property name="nodeService" ref="NodeService" />
|
|
||||||
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
|
|
||||||
</beans>
|
|
||||||
-43
@@ -1,43 +0,0 @@
|
|||||||
#set( $symbol_pound = '#' )
|
|
||||||
#set( $symbol_dollar = '$' )
|
|
||||||
#set( $symbol_escape = '\' )
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You 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
|
|
||||||
#
|
|
||||||
# http://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.
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
# ${artifactId} module log4j.properties
|
|
||||||
#
|
|
||||||
# NOTE
|
|
||||||
# ----
|
|
||||||
# Log4j uses the following logging levels:
|
|
||||||
# debug,info,warn,error,fatal
|
|
||||||
#
|
|
||||||
# To set the logging level of {fullClassName} to {loglevel},
|
|
||||||
# add a line to this file of the following form:
|
|
||||||
#
|
|
||||||
# log4j.logger.{fullClassName}={loglevel}
|
|
||||||
#
|
|
||||||
# For example, to make 'com.example.MyExample' produce 'debug'
|
|
||||||
# logs, add a line like this:
|
|
||||||
#
|
|
||||||
# log4j.logger.com.example.MyExample=debug
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# WARNING
|
|
||||||
# -------
|
|
||||||
# Log properties in this log4j.properties file override/augment
|
|
||||||
# those in the webapp's main log4j.properties.
|
|
||||||
#
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
log4j.logger.${package}.platformsample.DemoComponent=debug
|
|
||||||
-21
@@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn"
|
|
||||||
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
|
|
||||||
xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema"
|
|
||||||
expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
|
|
||||||
|
|
||||||
<process id="my-process">
|
|
||||||
|
|
||||||
<startEvent id="start" />
|
|
||||||
<sequenceFlow id="flow1" sourceRef="start" targetRef="someTask" />
|
|
||||||
|
|
||||||
<userTask id="someTask" name="Activiti is awesome!" />
|
|
||||||
<sequenceFlow id="flow2" sourceRef="someTask" targetRef="end" />
|
|
||||||
|
|
||||||
<endEvent id="end" />
|
|
||||||
|
|
||||||
</process>
|
|
||||||
|
|
||||||
</definitions>
|
|
||||||
+2
-10
@@ -3,8 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>${artifactId}</artifactId>
|
<artifactId>${artifactId}</artifactId>
|
||||||
<name>Alfresco Platform/Repository JAR Module</name>
|
<name>Alfresco Platform/Repository JAR Module</name>
|
||||||
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 3
|
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.11.0</description>
|
||||||
</description>
|
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
@@ -17,13 +16,6 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>alfresco-repository</artifactId>
|
|
||||||
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@@ -35,4 +27,4 @@
|
|||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
+66
@@ -0,0 +1,66 @@
|
|||||||
|
<assembly
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Note that the Module dependency specified in the configuration section for the Alfresco Maven Plugin
|
||||||
|
needs to be set to amp if any 3rd party libs should be applied by MMT:
|
||||||
|
`
|
||||||
|
<platformModules>
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-platform</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<id>build-amp-file</id>
|
||||||
|
|
||||||
|
<formats>
|
||||||
|
<format>amp</format>
|
||||||
|
</formats>
|
||||||
|
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
|
|
||||||
|
<files>
|
||||||
|
<!-- Filter module.properties and put at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||||
|
<filtered>true</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/assembly/file-mapping.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
|
||||||
|
<fileSets>
|
||||||
|
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||||
|
<fileSet>
|
||||||
|
<directory>src/main/assembly/web</directory>
|
||||||
|
<outputDirectory>web</outputDirectory>
|
||||||
|
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||||
|
<excludes>
|
||||||
|
<exclude>README.md</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
|
||||||
|
<!-- Include the project artifact (JAR) in the /lib directory in the AMP, and any 3rd party libraries (JARs)
|
||||||
|
used by the customization.
|
||||||
|
-->
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib</outputDirectory>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
|
||||||
|
</assembly>
|
||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
# Custom AMP to WAR location mappings
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following property can be used to include the standard set of mappings.
|
||||||
|
# The contents of this file will override any defaults. The default is
|
||||||
|
# 'true', i.e. the default mappings will be augmented or modified by values in
|
||||||
|
# this file.
|
||||||
|
#
|
||||||
|
# Default mappings are:
|
||||||
|
#
|
||||||
|
# /config=/WEB-INF/classes
|
||||||
|
# /lib=/WEB-INF/lib
|
||||||
|
# /licenses=/WEB-INF/licenses
|
||||||
|
# /web/jsp=/jsp
|
||||||
|
# /web/css=/css
|
||||||
|
# /web/images=/images
|
||||||
|
# /web/scripts=/scripts
|
||||||
|
# /web/php=/php
|
||||||
|
#
|
||||||
|
include.default=true
|
||||||
|
|
||||||
|
#
|
||||||
|
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||||
|
# Map /web to / in AMP so we can override things like favicon.ico
|
||||||
|
#
|
||||||
|
/web=/
|
||||||
|
|
||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
# Web resources that should override out-of-the-box files
|
||||||
|
|
||||||
|
Put here any web resources that should override out-of-the-box
|
||||||
|
web resources, such as favicon.ico. They will then end up in the
|
||||||
|
*/web* directory in the AMP, and applied to the WAR, and override
|
||||||
|
any existing web resources in the Alfresco.WAR.
|
||||||
|
|
||||||
|
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||||
|
|
||||||
|
`
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-platform</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
`
|
||||||
|
|
||||||
|
**Important**. New web resources should not be located here, but instead
|
||||||
|
in the usual place in the *src/main/resources/META-INF/resources* directory.
|
||||||
|
|
||||||
|
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* 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
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class does nothing except dump some output to <i>system.out</i>.
|
||||||
|
* This is a sample taken from Maven Alfresco SDK
|
||||||
|
*
|
||||||
|
* @author Derek Hulley
|
||||||
|
*/
|
||||||
|
public class Demo
|
||||||
|
{
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
System.out.println("Platform JAR Module class has been loaded");
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
-19
@@ -1,22 +1,23 @@
|
|||||||
#set($symbol_pound='#')
|
#set($symbol_pound='#')
|
||||||
#set($symbol_dollar='$')
|
#set($symbol_dollar='$')
|
||||||
#set($symbol_escape='\' )
|
#set($symbol_escape='\' )
|
||||||
/*
|
/**
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
* <p/>
|
||||||
this work for additional information regarding copyright ownership.
|
* This file is part of the Alfresco SDK project.
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
* <p/>
|
||||||
(the "License"); you may not use this file except in compliance with
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
the License. You may obtain a copy of the License at
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
Unless required by applicable law or agreed to in writing, software
|
* <p/>
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
See the License for the specific language governing permissions and
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
limitations under the License.
|
* See the License for the specific language governing permissions and
|
||||||
*/
|
* limitations under the License.
|
||||||
|
*/
|
||||||
package ${package}.platformsample;
|
package ${package}.platformsample;
|
||||||
|
|
||||||
import org.alfresco.repo.module.AbstractModuleComponent;
|
import org.alfresco.repo.module.AbstractModuleComponent;
|
||||||
@@ -35,7 +36,7 @@ import org.apache.commons.logging.LogFactory;
|
|||||||
* @author Maurizio Pillitu
|
* @author Maurizio Pillitu
|
||||||
*/
|
*/
|
||||||
public class DemoComponent extends AbstractModuleComponent {
|
public class DemoComponent extends AbstractModuleComponent {
|
||||||
Log log = LogFactory.getLog(DemoComponent.class);
|
private static Log logger = LogFactory.getLog(DemoComponent.class);
|
||||||
|
|
||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
|
|
||||||
@@ -55,8 +56,8 @@ public class DemoComponent extends AbstractModuleComponent {
|
|||||||
@Override
|
@Override
|
||||||
protected void executeInternal() throws Throwable {
|
protected void executeInternal() throws Throwable {
|
||||||
System.out.println("DemoComponent has been executed");
|
System.out.println("DemoComponent has been executed");
|
||||||
log.debug("Test debug logging. Congratulation your JAR Module is working");
|
logger.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||||
log.info("This is only for information purposed. Better remove me from the log in Production");
|
logger.info("This is only for information purposes. Better remove me from the log in Production");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* 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
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.springframework.extensions.webscripts.Cache;
|
||||||
|
import org.springframework.extensions.webscripts.DeclarativeWebScript;
|
||||||
|
import org.springframework.extensions.webscripts.Status;
|
||||||
|
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A demonstration Java controller for the Hello World Web Script.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @since 2.1.0
|
||||||
|
*/
|
||||||
|
public class HelloWorldWebScript extends DeclarativeWebScript {
|
||||||
|
private static Log logger = LogFactory.getLog(HelloWorldWebScript.class);
|
||||||
|
|
||||||
|
protected Map<String, Object> executeImpl(
|
||||||
|
WebScriptRequest req, Status status, Cache cache) {
|
||||||
|
Map<String, Object> model = new HashMap<String, Object>();
|
||||||
|
model.put("fromJava", "HelloFromJava");
|
||||||
|
|
||||||
|
logger.debug("Your 'Hello World' Web Script was called!");
|
||||||
|
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
}
|
||||||
+7
-2
@@ -5,13 +5,13 @@
|
|||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
|
||||||
<!-- The bootstrap-context.xml file is used for patch definitions, importers,
|
<!-- The bootstrap-context.xml file is used for patch definitions, importers,
|
||||||
workflow, and loading custom content models. -->
|
workflow, and loading custom content models. -->
|
||||||
|
|
||||||
<!-- Registration of new models -->
|
<!-- Registration of new models -->
|
||||||
<bean id="${package}.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
|
<bean id="${artifactId}.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
|
||||||
<property name="models">
|
<property name="models">
|
||||||
<list>
|
<list>
|
||||||
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
|
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
|
||||||
@@ -36,5 +36,10 @@
|
|||||||
</props>
|
</props>
|
||||||
</list>
|
</list>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="labels">
|
||||||
|
<list>
|
||||||
|
<value>alfresco/module/${project.artifactId}/messages/workflow-messages</value>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
</beans>
|
</beans>
|
||||||
+44
@@ -0,0 +1,44 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You 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
|
||||||
|
|
||||||
|
http://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.
|
||||||
|
-->
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
|
||||||
|
<!-- A simple class that is initialized by Spring -->
|
||||||
|
<bean id="${package}.Demo" class="${package}.platformsample.Demo" init-method="init" />
|
||||||
|
|
||||||
|
<!-- A simple module component that will be executed once.
|
||||||
|
Note. this module component will only be executed once, and then there will be an entry for it in the Repo DB.
|
||||||
|
So doing for example $ mvn clean install alfresco:run twice will only execute this component the first time.
|
||||||
|
You need to remove /alf_data_dev for it to be executed again. -->
|
||||||
|
<bean id="${package}.DemoComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
|
||||||
|
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
|
||||||
|
<property name="name" value="DemoComponent" />
|
||||||
|
<property name="description" value="A demonstration component" />
|
||||||
|
<property name="sinceVersion" value="1.0" />
|
||||||
|
<property name="appliesFromVersion" value="0.99" /> <!-- 1.0 would not work here when using SNAPSHOT version in project -->
|
||||||
|
<property name="nodeService" ref="NodeService" />
|
||||||
|
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
|
||||||
|
</beans>
|
||||||
+4
-2
@@ -2,7 +2,6 @@
|
|||||||
#set( $symbol_dollar = '$' )
|
#set( $symbol_dollar = '$' )
|
||||||
#set( $symbol_escape = '\' )
|
#set( $symbol_escape = '\' )
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
|
||||||
<!--
|
<!--
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -19,7 +18,10 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<beans>
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
<bean id="webscript.alfresco.tutorials.helloworld.get"
|
<bean id="webscript.alfresco.tutorials.helloworld.get"
|
||||||
class="${package}.platformsample.HelloWorldWebScript"
|
class="${package}.platformsample.HelloWorldWebScript"
|
||||||
parent="webscript">
|
parent="webscript">
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
# Add here module-specific custom log4j2.properties configuration
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
#
|
||||||
|
# Activiti My Process Workflow
|
||||||
|
#
|
||||||
|
my-process.workflow.title=My Process
|
||||||
|
my-process.workflow.description=This is my custom process
|
||||||
-1
@@ -73,7 +73,6 @@
|
|||||||
<atomic>true</atomic>
|
<atomic>true</atomic>
|
||||||
<stored>false</stored>
|
<stored>false</stored>
|
||||||
<tokenised>false</tokenised>
|
<tokenised>false</tokenised>
|
||||||
<facetable>true</facetable>
|
|
||||||
</index>
|
</index>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint ref="acme:securityClassificationOptions"/>
|
<constraint ref="acme:securityClassificationOptions"/>
|
||||||
+9
-3
@@ -15,12 +15,18 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
-->
|
-->
|
||||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
|
||||||
|
|
||||||
<beans>
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
|
||||||
<!-- This is filtered by Maven at build time, so that module name is single sourced. -->
|
<!-- This is filtered by Maven at build time, so that module name is single sourced. -->
|
||||||
|
<!-- Note. The bootstrap-context.xml file has to be loaded first.
|
||||||
|
Otherwise your custom models are not yet loaded when your service beans are instantiated and you
|
||||||
|
cannot for example register policies on them. -->
|
||||||
|
<import resource="classpath:alfresco/module/${project.artifactId}/context/bootstrap-context.xml" />
|
||||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/service-context.xml" />
|
<import resource="classpath:alfresco/module/${project.artifactId}/context/service-context.xml" />
|
||||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/bootstrap-context.xml" />
|
|
||||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/webscript-context.xml" />
|
<import resource="classpath:alfresco/module/${project.artifactId}/context/webscript-context.xml" />
|
||||||
|
|
||||||
</beans>
|
</beans>
|
||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<definitions
|
||||||
|
xmlns:activiti="http://activiti.org/bpmn"
|
||||||
|
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" typeLanguage="http://www.w3.org/2001/XMLSchema"
|
||||||
|
expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
|
||||||
|
|
||||||
|
<process id="my-process">
|
||||||
|
|
||||||
|
<startEvent id="start" activiti:formKey="wf:submitAdhocTask"/>
|
||||||
|
<sequenceFlow id="flow1" sourceRef="start" targetRef="someTask"/>
|
||||||
|
|
||||||
|
<userTask id="someTask" name="Activiti is awesome!" activiti:formKey="wf:adhocTask">
|
||||||
|
<humanPerformer>
|
||||||
|
<resourceAssignmentExpression>
|
||||||
|
<formalExpression>${bpm_assignee.properties.userName}</formalExpression>
|
||||||
|
</resourceAssignmentExpression>
|
||||||
|
</humanPerformer>
|
||||||
|
</userTask>
|
||||||
|
<sequenceFlow id="flow2" sourceRef="someTask" targetRef="end"/>
|
||||||
|
|
||||||
|
<endEvent id="end"/>
|
||||||
|
|
||||||
|
</process>
|
||||||
|
|
||||||
|
</definitions>
|
||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* 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
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.springframework.extensions.webscripts.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit testing the Web Script Java Controller
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @version 1.0
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
public class HelloWorldWebScriptControllerTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testController() {
|
||||||
|
WebScriptRequest req = Mockito.mock(WebScriptRequest.class);
|
||||||
|
Status status = Mockito.mock(Status.class);
|
||||||
|
Cache cache = Mockito.mock(Cache.class);
|
||||||
|
|
||||||
|
String helloPropName = "fromJava";
|
||||||
|
String helloPropExpectedValue = "HelloFromJava";
|
||||||
|
HelloWorldWebScript ws = new HelloWorldWebScript();
|
||||||
|
Map<String, Object> model = ws.executeImpl(req, status, cache);
|
||||||
|
|
||||||
|
assertNotNull("Response from Web Script Java Controller is null", model);
|
||||||
|
assertEquals("Incorrect Web Script Java Controller Response",
|
||||||
|
helloPropExpectedValue, model.get(helloPropName));
|
||||||
|
}
|
||||||
|
}
|
||||||
+73
@@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>${artifactId}</artifactId>
|
||||||
|
<name>Alfresco Share Docker Module</name>
|
||||||
|
<description>Share Docker Module to generate the final Docker image</description>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-share</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<!-- Collect extensions (JARs or AMPs) declared in this module do be deployed to docker -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-extensions</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<includeScope>runtime</includeScope>
|
||||||
|
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- Filter the Dockerfile and the other files added to the container to be able to replace maven properties -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
FROM ${docker.share.image}:${alfresco.share.docker.version}
|
||||||
|
|
||||||
|
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no JARs exist
|
||||||
|
COPY Dockerfile extensions/*.jar $TOMCAT_DIR/webapps/share/WEB-INF/lib/
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no AMPs exist
|
||||||
|
COPY Dockerfile extensions/*.amp $TOMCAT_DIR/amps_share/
|
||||||
|
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
|
||||||
|
$TOMCAT_DIR/amps_share $TOMCAT_DIR/webapps/share -directory -nobackup -force
|
||||||
|
|
||||||
|
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
|
||||||
|
|
||||||
|
COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||||
|
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||||
+52
@@ -0,0 +1,52 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
# Enable hotswap so that changes in this module will be automatically reloaded
|
||||||
|
# Watch for changed class files on watchResources path and reload class definition in the running application.
|
||||||
|
autoHotswap=true
|
||||||
|
#autoHotswap.port=8000
|
||||||
|
|
||||||
|
# Add a directory prior to application classpath (load classes and resources).
|
||||||
|
#
|
||||||
|
# This may be useful for example in multi module maven project to load class changes from upstream project
|
||||||
|
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to
|
||||||
|
# classes from built JAR file.
|
||||||
|
# i.e. monitor /target/classes
|
||||||
|
# should work with extraClasspath=${project.build.outputDirectory}
|
||||||
|
# If not try
|
||||||
|
extraClasspath=/usr/local/tomcat/hotswap-agent
|
||||||
|
|
||||||
|
|
||||||
|
# Comma separated list of disabled plugins
|
||||||
|
# Use plugin name - e.g.
|
||||||
|
# Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat,
|
||||||
|
# ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox, Proxy, WebObjects, Weld, JBossModules, Resteasy, Gae
|
||||||
|
disabledPlugins=Hibernate,Spring
|
||||||
|
|
||||||
|
# Add a directory prior to webapp path (load webapp resources).
|
||||||
|
#
|
||||||
|
# Load web application resources (such as HTML, JSP, CSS, ...) from this directory prior to default processing.
|
||||||
|
# Use this setting to set to serve resources from source directory directly (e.g. src/main/webapp).
|
||||||
|
extraWebappContext=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-share/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Load static web resources from different directory.
|
||||||
|
#
|
||||||
|
# This setting is dependent on application server plugin(Jetty, Tomcat, JBoss, ...)
|
||||||
|
webappDir=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-share/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Watch for changes in a directory (resources only).
|
||||||
|
#
|
||||||
|
# Similar to extraClasspath this property adds classpath when searching for resources (not classes).
|
||||||
|
# While extra classpath just modifies the classloader, this setting does nothing until the resource
|
||||||
|
# is really changed.
|
||||||
|
#
|
||||||
|
# Sometimes it is not possible to point extraClasspath to your i.e. src/main/resources, because there are multiple
|
||||||
|
# replacements of resources in a building step (maven filtering resource option).
|
||||||
|
# This setting will leave i.e. src/target/classes as default source for resources, but after the resource is modified
|
||||||
|
# in src/main/resources, the new changed resource is served instead.
|
||||||
|
# watchResources=
|
||||||
|
|
||||||
|
LOGGER.org.hotswap.agent=DEBUG
|
||||||
|
#LOGGER.org.hotswap.agent.plugin=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.watch=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.command=TRACE
|
||||||
+89
@@ -0,0 +1,89 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
# Set root logger level to error
|
||||||
|
#log4j.rootLogger=error, Console, File
|
||||||
|
rootLogger.level=error
|
||||||
|
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||||
|
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||||
|
|
||||||
|
# Console appender definition #
|
||||||
|
|
||||||
|
# All outputs currently set to be a ConsoleAppender.
|
||||||
|
appender.console.type=Console
|
||||||
|
appender.console.name=ConsoleAppender
|
||||||
|
appender.console.layout.type=PatternLayout
|
||||||
|
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
|
||||||
|
# use log4j NDC to replace %x with tenant domain / username
|
||||||
|
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
|
||||||
|
# File appender definition #
|
||||||
|
appender.rolling.type=RollingFile
|
||||||
|
appender.rolling.name=RollingAppender
|
||||||
|
appender.rolling.fileName=alfresco.log
|
||||||
|
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
|
||||||
|
appender.rolling.layout.type=PatternLayout
|
||||||
|
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
appender.rolling.policies.type = Policies
|
||||||
|
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
|
||||||
|
appender.rolling.policies.time.interval = 1
|
||||||
|
|
||||||
|
# Spring
|
||||||
|
logger.springframework.name=org.springframework
|
||||||
|
logger.springframework.level=warn
|
||||||
|
|
||||||
|
# Turn off Spring remoting warnings that should really be info or debug.
|
||||||
|
logger.springframework-remoting-support.name=org.springframework.remoting.support
|
||||||
|
logger.springframework-remoting-support.level=error
|
||||||
|
|
||||||
|
logger.springframework-util.name=org.springframework.util
|
||||||
|
logger.springframework-util.level=error
|
||||||
|
|
||||||
|
# MyFaces
|
||||||
|
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
|
||||||
|
logger.apache-myfaces-util-DebugUtils.level=info
|
||||||
|
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
|
||||||
|
logger.apache-myfaces-taglib.level=error
|
||||||
|
|
||||||
|
# Alfresco
|
||||||
|
logger.alfresco.name=org.alfresco
|
||||||
|
logger.alfresco.level=error
|
||||||
|
|
||||||
|
logger.alfresco-config.name=org.alfresco.config
|
||||||
|
logger.alfresco-config.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-web.name=org.alfresco.web
|
||||||
|
logger.alfresco-web.level=info
|
||||||
|
|
||||||
|
# Web Framework
|
||||||
|
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
|
||||||
|
logger.springframework-extensions-webscripts.level=info
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
|
||||||
|
|
||||||
|
# Freemarker
|
||||||
|
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||||
|
logger.freemarker-runtime.name=freemarker.runtime
|
||||||
|
logger.freemarker-runtime.level=
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Custom Share module logging goes here...
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+113
@@ -0,0 +1,113 @@
|
|||||||
|
<alfresco-config>
|
||||||
|
|
||||||
|
<config evaluator="string-compare" condition="WebFramework">
|
||||||
|
<web-framework>
|
||||||
|
<autowire>
|
||||||
|
<!-- Changing this to 'development' currently breaks the Admin Console.
|
||||||
|
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
|
||||||
|
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
|
||||||
|
</autowire>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
|
||||||
|
|
||||||
|
If resource caching has been disabled then all the dependency caches will be cleared
|
||||||
|
before processing the Aikau jsonModel request...
|
||||||
|
(i.e. this.dojoDependencyHandler.clearCaches() )
|
||||||
|
|
||||||
|
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
|
||||||
|
-->
|
||||||
|
<disable-resource-caching>false</disable-resource-caching>
|
||||||
|
</web-framework>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Global config section -->
|
||||||
|
<config replace="true">
|
||||||
|
<flags>
|
||||||
|
<!--
|
||||||
|
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
|
||||||
|
-->
|
||||||
|
<client-debug>true</client-debug>
|
||||||
|
<!--
|
||||||
|
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
|
||||||
|
This flag automatically activates logging on page load.
|
||||||
|
-->
|
||||||
|
<client-debug-autologging>false</client-debug-autologging>
|
||||||
|
</flags>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Disable CSRF completely for now
|
||||||
|
It seems Share has issues on 4.x with the embedded tomcat and CSRFPolicy
|
||||||
|
-->
|
||||||
|
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||||
|
<filter/>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Change so it is picked up from property where the Alfresco Repo Webapp is running
|
||||||
|
(e.g. http://localhost:8080/alfresco)
|
||||||
|
-->
|
||||||
|
<config evaluator="string-compare" condition="Remote">
|
||||||
|
<remote>
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco-noauth</id>
|
||||||
|
<name>Alfresco - unauthenticated access</name>
|
||||||
|
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
|
||||||
|
<connector-id>alfresco</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
|
||||||
|
<identity>none</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco</id>
|
||||||
|
<name>Alfresco - user access</name>
|
||||||
|
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||||
|
<connector-id>alfresco</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco-feed</id>
|
||||||
|
<name>Alfresco Feed</name>
|
||||||
|
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||||
|
<connector-id>http</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
|
||||||
|
<basic-auth>true</basic-auth>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>activiti-admin</id>
|
||||||
|
<name>Activiti Admin UI - user access</name>
|
||||||
|
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||||
|
<connector-id>activiti-admin-connector</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/activiti-admin</endpoint-url>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco-api</id>
|
||||||
|
<parent-id>alfresco</parent-id>
|
||||||
|
<name>Alfresco Public API - user access</name>
|
||||||
|
<description>Access to Alfresco Repository Public API that require user authentication.
|
||||||
|
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
|
||||||
|
<connector-id>alfresco</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/api</endpoint-url>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
</remote>
|
||||||
|
</config>
|
||||||
|
<config evaluator="string-compare" condition="Users" replace="true">
|
||||||
|
<users>
|
||||||
|
<username-min-length>2</username-min-length>
|
||||||
|
<password-min-length>3</password-min-length>
|
||||||
|
<show-authorization-status>false</show-authorization-status>
|
||||||
|
</users>
|
||||||
|
<enable-external-users-panel>false</enable-external-users-panel>
|
||||||
|
</config>
|
||||||
|
</alfresco-config>
|
||||||
|
|
||||||
-26
@@ -1,26 +0,0 @@
|
|||||||
<assembly
|
|
||||||
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
|
|
||||||
|
|
||||||
<id>build-amp-file</id>
|
|
||||||
|
|
||||||
<formats>
|
|
||||||
<format>amp</format>
|
|
||||||
</formats>
|
|
||||||
|
|
||||||
<includeBaseDirectory>false</includeBaseDirectory>
|
|
||||||
<files>
|
|
||||||
<file>
|
|
||||||
<source>${project.basedir}/src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
|
||||||
<filtered>true</filtered>
|
|
||||||
</file>
|
|
||||||
</files>
|
|
||||||
|
|
||||||
<dependencySets>
|
|
||||||
<dependencySet>
|
|
||||||
<outputDirectory>lib</outputDirectory>
|
|
||||||
</dependencySet>
|
|
||||||
</dependencySets>
|
|
||||||
|
|
||||||
</assembly>
|
|
||||||
+12
-9
@@ -5,7 +5,7 @@
|
|||||||
<artifactId>${artifactId}</artifactId>
|
<artifactId>${artifactId}</artifactId>
|
||||||
<name>Alfresco Share JAR Module</name>
|
<name>Alfresco Share JAR Module</name>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 3</description>
|
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.11.0</description>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>${groupId}</groupId>
|
<groupId>${groupId}</groupId>
|
||||||
@@ -22,15 +22,18 @@
|
|||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
<artifactId>${alfresco.share.war.artifactId}</artifactId>
|
<artifactId>share</artifactId>
|
||||||
<classifier>classes</classifier>
|
<classifier>classes</classifier>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.alfresco.surf</groupId>
|
|
||||||
<artifactId>spring-surf-api</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
||||||
+66
@@ -0,0 +1,66 @@
|
|||||||
|
<assembly
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Note that the Module dependency specified in the configuration section for the Alfresco Maven Plugin
|
||||||
|
needs to be set to amp if any 3rd party libs should be applied by MMT:
|
||||||
|
`
|
||||||
|
<shareModules>
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-share</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<id>build-amp-file</id>
|
||||||
|
|
||||||
|
<formats>
|
||||||
|
<format>amp</format>
|
||||||
|
</formats>
|
||||||
|
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
|
|
||||||
|
<files>
|
||||||
|
<!-- Filter module.properties and put at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||||
|
<filtered>true</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/assembly/file-mapping.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
|
||||||
|
<fileSets>
|
||||||
|
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||||
|
<fileSet>
|
||||||
|
<directory>src/main/assembly/web</directory>
|
||||||
|
<outputDirectory>web</outputDirectory>
|
||||||
|
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||||
|
<excludes>
|
||||||
|
<exclude>README.md</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
|
||||||
|
<!-- Include the project artifact (JAR) in the /lib directory in the AMP, and any 3rd party libraries (JARs)
|
||||||
|
used by the customization.
|
||||||
|
-->
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib</outputDirectory>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
|
||||||
|
</assembly>
|
||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
# Custom AMP to WAR location mappings
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following property can be used to include the standard set of mappings.
|
||||||
|
# The contents of this file will override any defaults. The default is
|
||||||
|
# 'true', i.e. the default mappings will be augmented or modified by values in
|
||||||
|
# this file.
|
||||||
|
#
|
||||||
|
# Default mappings are:
|
||||||
|
#
|
||||||
|
# /config=/WEB-INF/classes
|
||||||
|
# /lib=/WEB-INF/lib
|
||||||
|
# /licenses=/WEB-INF/licenses
|
||||||
|
# /web/jsp=/jsp
|
||||||
|
# /web/css=/css
|
||||||
|
# /web/images=/images
|
||||||
|
# /web/scripts=/scripts
|
||||||
|
# /web/php=/php
|
||||||
|
#
|
||||||
|
include.default=true
|
||||||
|
|
||||||
|
#
|
||||||
|
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||||
|
# Map /web to / in AMP so we can override things like favicon.ico
|
||||||
|
#
|
||||||
|
/web=/
|
||||||
|
|
||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
# Web resources that should override out-of-the-box files
|
||||||
|
|
||||||
|
Put here any web resources that should override out-of-the-box
|
||||||
|
web resources, such as favicon.ico. They will then end up in the
|
||||||
|
*/web* directory in the AMP, and applied to the WAR, and override
|
||||||
|
any existing web resources in the Share.WAR.
|
||||||
|
|
||||||
|
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||||
|
|
||||||
|
`
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-share</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
`
|
||||||
|
|
||||||
|
**Important**. New web resources should not be located here, but instead
|
||||||
|
in the usual place in the *src/main/resources/META-INF/resources/<module-id>/* directory.
|
||||||
|
|
||||||
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
# Add here module-specific custom log4j2.properties configuration
|
||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Define beans related to this Share extension here, such as
|
Define beans related to this Share extension here, such as
|
||||||
+77
@@ -0,0 +1,77 @@
|
|||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
version: '3.4'
|
||||||
|
services:
|
||||||
|
${rootArtifactId}-share:
|
||||||
|
image: alfresco-share-${rootArtifactId}:development
|
||||||
|
build:
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
context: ../../../${rootArtifactId}-share-docker/target
|
||||||
|
environment:
|
||||||
|
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||||
|
REPO_HOST: ${rootArtifactId}-acs
|
||||||
|
REPO_PORT: 8080
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{share.port}:8080"
|
||||||
|
- "${symbol_dollar}{share.debug.port}:8888"
|
||||||
|
${rootArtifactId}-acs:
|
||||||
|
image: alfresco-content-services-${rootArtifactId}:development
|
||||||
|
build:
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
context: ../../../${rootArtifactId}-platform-docker/target
|
||||||
|
environment:
|
||||||
|
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
|
||||||
|
JAVA_OPTS: "
|
||||||
|
-Dsolr.secureComms=secret
|
||||||
|
-Dsolr.sharedSecret=secret
|
||||||
|
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||||
|
"
|
||||||
|
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{acs.port}:8080"
|
||||||
|
- "${symbol_dollar}{acs.debug.port}:8888"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-acs-volume:/usr/local/tomcat/alf_data
|
||||||
|
depends_on:
|
||||||
|
- ${rootArtifactId}-postgres
|
||||||
|
${rootArtifactId}-postgres:
|
||||||
|
image: postgres:16.5
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: alfresco
|
||||||
|
POSTGRES_USER: alfresco
|
||||||
|
POSTGRES_PASSWORD: alfresco
|
||||||
|
command: postgres -c max_connections=300 -c log_min_messages=LOG
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{postgres.port}:5432"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
|
||||||
|
${rootArtifactId}-ass:
|
||||||
|
image: alfresco/alfresco-search-services:2.0.15
|
||||||
|
environment:
|
||||||
|
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
|
||||||
|
SOLR_ALFRESCO_PORT: 8080
|
||||||
|
SOLR_SOLR_HOST: ${rootArtifactId}-ass
|
||||||
|
SOLR_SOLR_PORT: 8983
|
||||||
|
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
||||||
|
ALFRESCO_SECURE_COMMS: "secret"
|
||||||
|
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
|
||||||
|
ports:
|
||||||
|
- "8983:8983"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
|
||||||
|
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
|
||||||
|
${rootArtifactId}-activemq:
|
||||||
|
image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8
|
||||||
|
mem_limit: 1g
|
||||||
|
ports:
|
||||||
|
- 8161:8161 # Web Console
|
||||||
|
- 5672:5672 # AMQP
|
||||||
|
- 61616:61616 # OpenWire
|
||||||
|
- 61613:61613 # STOMP
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
${rootArtifactId}-acs-volume:
|
||||||
|
external: true
|
||||||
|
${rootArtifactId}-db-volume:
|
||||||
|
external: true
|
||||||
|
${rootArtifactId}-ass-volume:
|
||||||
|
external: true
|
||||||
+309
-151
@@ -5,70 +5,87 @@
|
|||||||
<groupId>${groupId}</groupId>
|
<groupId>${groupId}</groupId>
|
||||||
<artifactId>${artifactId}</artifactId>
|
<artifactId>${artifactId}</artifactId>
|
||||||
<version>${version}</version>
|
<version>${version}</version>
|
||||||
<name>AIO - SDK 3.0 Beta</name>
|
<name>AIO - SDK 4.16.0</name>
|
||||||
<description>All-In-One (AIO) project for SDK 3.0</description>
|
<description>All-In-One (AIO) project for SDK 4.16.0</description>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
<prerequisites>
|
||||||
|
<maven>3.3.0</maven>
|
||||||
|
</prerequisites>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<!-- Alfresco Maven Plugin version to use -->
|
<!-- Alfresco Maven Plugin version to use -->
|
||||||
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||||
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
||||||
<!-- Alfresco Data directory, which will contain:
|
|
||||||
Content Store (i.e. the files we upload)
|
|
||||||
Database (i.e. the metadata for the uploaded files)
|
|
||||||
Search index (i.e. the indexed content and metadata)
|
|
||||||
Configured in alfresco-global.properties with the 'dir.root' property.
|
|
||||||
-->
|
|
||||||
<alfresco.data.location>${session.executionRootDirectory}/alf_data_dev</alfresco.data.location>
|
|
||||||
|
|
||||||
<!-- Duplicated with alfresco.solrHome in the plugin, we need them out here to do filtering -->
|
|
||||||
<solr.home>${alfresco.data.location}/solr</solr.home>
|
|
||||||
<solr.model.dir>${solr.home}/alfrescoModels</solr.model.dir>
|
|
||||||
<solr.content.dir>${solr.home}/index</solr.content.dir>
|
|
||||||
|
|
||||||
<!-- Properties used in dependency declarations, you don't need to change these -->
|
<!-- Properties used in dependency declarations, you don't need to change these -->
|
||||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||||
<alfresco.platform.war.artifactId>alfresco-platform</alfresco.platform.war.artifactId>
|
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||||
<alfresco.share.war.artifactId>share</alfresco.share.war.artifactId>
|
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||||
|
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
|
||||||
|
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
|
||||||
|
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
|
||||||
|
|
||||||
<!-- Alfresco Platform and Share webapp versions, these are the original Alfresco webapps that will be
|
<!-- Docker images -->
|
||||||
customized and then deployed and run by the tomcat maven plugin when
|
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||||
executing for example $ mvn clean install alfresco:run -->
|
<docker.share.image>@@alfresco.share.docker.image@@</docker.share.image>
|
||||||
<alfresco.platform.version>5.2.a-EA</alfresco.platform.version>
|
|
||||||
<alfresco.share.version>5.1.g</alfresco.share.version>
|
|
||||||
|
|
||||||
<!-- Alfresco Surf version, if you change Share version you might need to change Surf version -->
|
<keystore.settings>@@keystore.settings@@</keystore.settings>
|
||||||
<alfresco.surf.version>6.5</alfresco.surf.version>
|
|
||||||
|
|
||||||
<!-- Aikau framework version, it is released separately, so it can be useful to be able
|
|
||||||
to bring in newer versions with bug fixes etc -->
|
|
||||||
<aikau.version>1.0.82</aikau.version>
|
|
||||||
|
|
||||||
<!-- Alfresco Repo Database configuration.
|
|
||||||
By default it uses a flat file H2 database to be able to run embedded.
|
|
||||||
The H2 database implementation is brought in via the tomcat7-maven-plugin as a dependency.
|
|
||||||
The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
|
|
||||||
see alfresco.db.url below.
|
|
||||||
For more information about the db parameters see:http://www.h2database.com/html/features.html
|
|
||||||
-->
|
|
||||||
<alfresco.db.name>alf_dev</alfresco.db.name>
|
|
||||||
<alfresco.db.username>alfresco</alfresco.db.username>
|
|
||||||
<alfresco.db.password>alfresco</alfresco.db.password>
|
|
||||||
<alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
|
||||||
</alfresco.db.params>
|
|
||||||
<alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}
|
|
||||||
</alfresco.db.url>
|
|
||||||
<alfresco.db.datasource.class>org.h2.jdbcx.JdbcDataSource</alfresco.db.datasource.class>
|
|
||||||
|
|
||||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||||
<jrebel.version>1.1.6</jrebel.version>
|
<jrebel.version>1.1.8</jrebel.version>
|
||||||
|
|
||||||
|
<!-- Environment configuration properties -->
|
||||||
|
<share.port>8180</share.port>
|
||||||
|
<share.debug.port>9898</share.debug.port>
|
||||||
|
<acs.host>${artifactId}-acs</acs.host>
|
||||||
|
<acs.port>8080</acs.port>
|
||||||
|
<acs.debug.port>8888</acs.debug.port>
|
||||||
|
<postgres.port>5555</postgres.port>
|
||||||
|
<!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) -->
|
||||||
|
<test.acs.endpoint.path>@@test.acs.endpoint.path@@</test.acs.endpoint.path>
|
||||||
|
|
||||||
<!-- Environment to use, Alfresco Maven Plugin will copy alfresco-global.properties from this directory -->
|
|
||||||
<env>local</env>
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
<!-- Libs used in Unit and Integration tests -->
|
||||||
|
<!-- IMPORTANT - Test dependencies need to be here in the top parent POM as
|
||||||
|
the Alfresco Maven IT Mojo runs as part of the parent project ... -->
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-core</artifactId>
|
||||||
|
<version>4.2.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
|
<artifactId>httpclient</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
|
<artifactId>alfresco-remote-api</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.alfresco.maven</groupId>
|
||||||
|
<artifactId>alfresco-rad</artifactId>
|
||||||
|
<version>${alfresco.sdk.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
|
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
|
||||||
@@ -79,7 +96,7 @@
|
|||||||
-->
|
-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
<artifactId>alfresco-platform-distribution</artifactId>
|
<artifactId>${alfresco.bomDependencyArtifactId}</artifactId>
|
||||||
<version>${alfresco.platform.version}</version>
|
<version>${alfresco.platform.version}</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
@@ -88,14 +105,14 @@
|
|||||||
They are defined in alfresco-platform-distribution... -->
|
They are defined in alfresco-platform-distribution... -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
<artifactId>${alfresco.share.war.artifactId}</artifactId>
|
<artifactId>share</artifactId>
|
||||||
<version>${alfresco.share.version}</version>
|
<version>${alfresco.share.version}</version>
|
||||||
<type>war</type>
|
<type>war</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
<artifactId>${alfresco.share.war.artifactId}</artifactId>
|
<artifactId>share</artifactId>
|
||||||
<version>${alfresco.share.version}</version>
|
<version>${alfresco.share.version}</version>
|
||||||
<classifier>classes</classifier>
|
<classifier>classes</classifier>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
@@ -108,27 +125,20 @@
|
|||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Redefine the following surf dependencies as they have no resolvable version in the
|
|
||||||
alfresco-platform-distribution artifact -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.alfresco.surf</groupId>
|
|
||||||
<artifactId>spring-surf</artifactId>
|
|
||||||
<version>${alfresco.surf.version}</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.alfresco.surf</groupId>
|
|
||||||
<artifactId>spring-surf-api</artifactId>
|
|
||||||
<version>${alfresco.surf.version}</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<pluginManagement>
|
<pluginManagement>
|
||||||
<plugins>
|
<plugins>
|
||||||
<!-- Build an AMP if 3rd party libs are needed by the extensions -->
|
<!--
|
||||||
|
Build an AMP if 3rd party libs are needed by the extensions
|
||||||
|
JARs are the default artifact produced in your modules, if you want to build an amp for each module
|
||||||
|
you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize
|
||||||
|
the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your
|
||||||
|
module.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
@@ -154,105 +164,197 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Filter resources in any sub-project with this config -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<configuration>
|
||||||
|
<encoding>UTF-8</encoding>
|
||||||
|
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||||
|
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||||
|
</nonFilteredFileExtensions>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.zeroturnaround</groupId>
|
||||||
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
|
<version>${jrebel.version}</version>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<version>3.5.5</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>integration-test</id>
|
||||||
|
<phase>integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>integration-test</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>verify-test</id>
|
||||||
|
<phase>verify</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>verify</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven.surefire</groupId>
|
||||||
|
<artifactId>surefire-junit47</artifactId>
|
||||||
|
<version>3.0.0-M1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<version>3.1.1</version>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</pluginManagement>
|
</pluginManagement>
|
||||||
|
|
||||||
|
<!-- Make sure resources in sub-projects are filtered -->
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
<!--
|
|
||||||
The Alfresco Maven Plugin contains all the logic to run the extension
|
|
||||||
in an embedded Tomcat with the H2 database.
|
|
||||||
-->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.alfresco.maven.plugin</groupId>
|
|
||||||
<artifactId>alfresco-maven-plugin</artifactId>
|
|
||||||
<version>${alfresco.sdk.version}</version>
|
|
||||||
<configuration>
|
|
||||||
<!-- Default is to run with a Community edition, change to 'enterprise' if using Enterprise edition -->
|
|
||||||
<alfrescoEdition>community</alfrescoEdition>
|
|
||||||
|
|
||||||
<!-- We need the flat file H2 database to run the Repo -->
|
|
||||||
<enableH2>true</enableH2>
|
|
||||||
<!-- We always need the Platform/Repo webapp - alfresco.war -->
|
|
||||||
<enablePlatform>true</enablePlatform>
|
|
||||||
<!-- Enable Solr webapp so we can use search -->
|
|
||||||
<enableSolr>true</enableSolr>
|
|
||||||
<!-- We need Share webapp, so we got a UI for working with the Repo -->
|
|
||||||
<enableShare>true</enableShare>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
JARs and AMPs that should be overlayed/applied to the Platform/Repository WAR
|
|
||||||
(i.e. alfresco.war)
|
|
||||||
-->
|
|
||||||
<platformModules>
|
|
||||||
<moduleDependency>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>alfresco-share-services</artifactId>
|
|
||||||
<version>${alfresco.share.version}</version>
|
|
||||||
<type>amp</type>
|
|
||||||
</moduleDependency>
|
|
||||||
|
|
||||||
<!-- Bring in custom Modules -->
|
|
||||||
<moduleDependency>
|
|
||||||
<groupId>${project.groupId}</groupId>
|
|
||||||
<artifactId>${artifactId}-platform-jar</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</moduleDependency>
|
|
||||||
</platformModules>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
JARs and AMPs that should be overlayed/applied to the Share WAR (i.e. share.war)
|
|
||||||
-->
|
|
||||||
<shareModules>
|
|
||||||
<moduleDependency>
|
|
||||||
<!-- Bring in a newer version of Aikau, can coexist with older versions in the
|
|
||||||
WAR distribution, newest version is picked. -->
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>aikau</artifactId>
|
|
||||||
<version>${aikau.version}</version>
|
|
||||||
</moduleDependency>
|
|
||||||
|
|
||||||
<!-- Bring in custom Modules -->
|
|
||||||
<moduleDependency>
|
|
||||||
<groupId>${project.groupId}</groupId>
|
|
||||||
<artifactId>${artifactId}-share-jar</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</moduleDependency>
|
|
||||||
</shareModules>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
|
|
||||||
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
|
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
|
||||||
We need this here to get it done before the Alfresco Maven Plugin run is executed. -->
|
We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. -->
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<version>3.0.1</version>
|
<inherited>false</inherited>
|
||||||
<inherited>false</inherited> <!-- Run only for the AIO parent Project -->
|
<!-- Run only for the AIO parent Project -->
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>copy-and-filter-test-resources</id>
|
<id>copy-and-filter-docker-resources</id>
|
||||||
<phase>validate</phase>
|
<phase>validate</phase>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>copy-resources</goal>
|
<goal>copy-resources</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
|
<outputDirectory>${project.build.outputDirectory}/docker</outputDirectory>
|
||||||
<resources>
|
<resources>
|
||||||
<testResource>
|
<resource>
|
||||||
<directory>src/test/resources</directory>
|
<directory>docker</directory>
|
||||||
<filtering>true</filtering>
|
<filtering>true</filtering>
|
||||||
</testResource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Compress JavaScript files and store as *.min.js -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.github.blutorange</groupId>
|
||||||
|
<artifactId>closure-compiler-maven-plugin</artifactId>
|
||||||
|
<version>2.28.0</version>
|
||||||
|
<executions>
|
||||||
|
<!-- Compress the JS files under the assembly folder -->
|
||||||
|
<execution>
|
||||||
|
<id>compress-assembly</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>minify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir>
|
||||||
|
<baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir>
|
||||||
|
<sourceDir>web</sourceDir>
|
||||||
|
<targetDir>web</targetDir>
|
||||||
|
<skipMerge>true</skipMerge>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.js</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/webscripts/**</exclude>
|
||||||
|
<exclude>**/site-webscripts/**</exclude>
|
||||||
|
<exclude>**/META-INF/**</exclude>
|
||||||
|
<exclude>**/*.lib.js</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.min.js</exclude>
|
||||||
|
<exclude>**/*.min.css</exclude>
|
||||||
|
</excludes>
|
||||||
|
<force>true</force>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<!-- Compress the JS files under the resources folder -->
|
||||||
|
<execution>
|
||||||
|
<id>compress-resources</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>minify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<baseSourceDir>${project.basedir}/src/main</baseSourceDir>
|
||||||
|
<baseTargetDir>${project.basedir}/src/main</baseTargetDir>
|
||||||
|
<sourceDir>resources</sourceDir>
|
||||||
|
<targetDir>resources</targetDir>
|
||||||
|
<skipMerge>true</skipMerge>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.js</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/webscripts/**</exclude>
|
||||||
|
<exclude>**/site-webscripts/**</exclude>
|
||||||
|
<exclude>**/*.lib.js</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.min.js</exclude>
|
||||||
|
<exclude>**/*.min.css</exclude>
|
||||||
|
</excludes>
|
||||||
|
<force>true</force>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
<!-- Hot reloading with JRebel -->
|
<!-- Hot reloading with JRebel -->
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.zeroturnaround</groupId>
|
<groupId>org.zeroturnaround</groupId>
|
||||||
<artifactId>jrebel-maven-plugin</artifactId>
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
<version>${jrebel.version}</version>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>generate-rebel-xml</id>
|
<id>generate-rebel-xml</id>
|
||||||
@@ -269,10 +371,8 @@
|
|||||||
<fallback>all</fallback>
|
<fallback>all</fallback>
|
||||||
<resources>
|
<resources>
|
||||||
<resource>
|
<resource>
|
||||||
<!--
|
<directory>${project.build.outputDirectory}</directory>
|
||||||
Empty resource element marks default configuration. By
|
<directory>${project.build.testOutputDirectory}</directory>
|
||||||
default it is placed first in generated configuration.
|
|
||||||
-->
|
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
</classpath>
|
</classpath>
|
||||||
@@ -286,17 +386,66 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
|
||||||
<resources>
|
|
||||||
<!-- Filter the resource files in all the sub-projects, and do property substitutions -->
|
|
||||||
<resource>
|
|
||||||
<directory>src/main/resources</directory>
|
|
||||||
<filtering>true</filtering>
|
|
||||||
</resource>
|
|
||||||
</resources>
|
|
||||||
|
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<id>java8</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[1.8,11.0)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>java11</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[11.0,17)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>11</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>java17</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[17,)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>17</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Alfresco Maven Repositories
|
Alfresco Maven Repositories
|
||||||
-->
|
-->
|
||||||
@@ -313,7 +462,17 @@
|
|||||||
<updatePolicy>daily</updatePolicy>
|
<updatePolicy>daily</updatePolicy>
|
||||||
</snapshots>
|
</snapshots>
|
||||||
</repository>
|
</repository>
|
||||||
|
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-private-repository</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-internal</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||||
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<pluginRepositories>
|
<pluginRepositories>
|
||||||
<pluginRepository>
|
<pluginRepository>
|
||||||
<id>alfresco-plugin-public</id>
|
<id>alfresco-plugin-public</id>
|
||||||
@@ -328,5 +487,4 @@
|
|||||||
</snapshots>
|
</snapshots>
|
||||||
</pluginRepository>
|
</pluginRepository>
|
||||||
</pluginRepositories>
|
</pluginRepositories>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
+125
-6
@@ -1,9 +1,128 @@
|
|||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
#set( $symbol_dollar = '$' )
|
||||||
:: Dev environment startup script for Alfresco Community ::
|
@ECHO OFF
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
@echo off
|
|
||||||
|
|
||||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml
|
||||||
|
|
||||||
mvn clean install -DskipTests=true alfresco:run
|
IF [%M2_HOME%]==[] (
|
||||||
|
SET MVN_EXEC=mvn
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT [%M2_HOME%]==[] (
|
||||||
|
SET MVN_EXEC=%M2_HOME%\bin\mvn
|
||||||
|
)
|
||||||
|
|
||||||
|
IF [%1]==[] (
|
||||||
|
echo "Usage: %0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
|
||||||
|
IF %1==build_start (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==build_start_it_supported (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :prepare-test
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==start (
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==stop (
|
||||||
|
CALL :down
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==purge (
|
||||||
|
CALL:down
|
||||||
|
CALL:purge
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==tail (
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==reload_share (
|
||||||
|
CALL :build_share
|
||||||
|
CALL :start_share
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==reload_acs (
|
||||||
|
CALL :build_acs
|
||||||
|
CALL :start_acs
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==build_test (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :prepare-test
|
||||||
|
CALL :start
|
||||||
|
CALL :test
|
||||||
|
CALL :tail_all
|
||||||
|
CALL :down
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==test (
|
||||||
|
CALL :test
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
echo "Usage: %0 {build_start|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
|
||||||
|
:END
|
||||||
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
:start
|
||||||
|
docker volume create ${rootArtifactId}-acs-volume
|
||||||
|
docker volume create ${rootArtifactId}-db-volume
|
||||||
|
docker volume create ${rootArtifactId}-ass-volume
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d
|
||||||
|
EXIT /B 0
|
||||||
|
:start_share
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-share
|
||||||
|
EXIT /B 0
|
||||||
|
:start_acs
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-acs
|
||||||
|
EXIT /B 0
|
||||||
|
:down
|
||||||
|
if exist "%COMPOSE_FILE_PATH%" (
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" down
|
||||||
|
)
|
||||||
|
EXIT /B 0
|
||||||
|
:build
|
||||||
|
call %MVN_EXEC% clean package
|
||||||
|
EXIT /B 0
|
||||||
|
:build_share
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share
|
||||||
|
call %MVN_EXEC% clean package -pl ${rootArtifactId}-share,${rootArtifactId}-share-docker
|
||||||
|
EXIT /B 0
|
||||||
|
:build_acs
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-acs
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-acs
|
||||||
|
call %MVN_EXEC% clean package -pl ${rootArtifactId}-integration-tests,${rootArtifactId}-platform,${rootArtifactId}-platform-docker
|
||||||
|
EXIT /B 0
|
||||||
|
:tail
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" logs -f
|
||||||
|
EXIT /B 0
|
||||||
|
:tail_all
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
|
||||||
|
EXIT /B 0
|
||||||
|
:prepare-test
|
||||||
|
call %MVN_EXEC% verify -DskipTests=true -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests,${rootArtifactId}-platform-docker
|
||||||
|
EXIT /B 0
|
||||||
|
:test
|
||||||
|
call %MVN_EXEC% verify -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests
|
||||||
|
EXIT /B 0
|
||||||
|
:purge
|
||||||
|
docker volume rm -f ${rootArtifactId}-acs-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-db-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-ass-volume
|
||||||
|
EXIT /B 0
|
||||||
+122
-2
@@ -1,3 +1,123 @@
|
|||||||
#!/bin/bash
|
#set( $symbol_dollar = '$' )
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install -DskipTests=true alfresco:run
|
export COMPOSE_FILE_PATH="${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml"
|
||||||
|
|
||||||
|
if [ -z "${symbol_dollar}{M2_HOME}" ]; then
|
||||||
|
export MVN_EXEC="mvn"
|
||||||
|
else
|
||||||
|
export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn"
|
||||||
|
fi
|
||||||
|
|
||||||
|
start() {
|
||||||
|
docker volume create ${rootArtifactId}-acs-volume
|
||||||
|
docker volume create ${rootArtifactId}-db-volume
|
||||||
|
docker volume create ${rootArtifactId}-ass-volume
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
|
||||||
|
}
|
||||||
|
|
||||||
|
start_share() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-share
|
||||||
|
}
|
||||||
|
|
||||||
|
start_acs() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-acs
|
||||||
|
}
|
||||||
|
|
||||||
|
down() {
|
||||||
|
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
purge() {
|
||||||
|
docker volume rm -f ${rootArtifactId}-acs-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-db-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-ass-volume
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
${symbol_dollar}MVN_EXEC clean package
|
||||||
|
}
|
||||||
|
|
||||||
|
build_share() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-share
|
||||||
|
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-share
|
||||||
|
${symbol_dollar}MVN_EXEC clean package -pl ${rootArtifactId}-share,${rootArtifactId}-share-docker
|
||||||
|
}
|
||||||
|
|
||||||
|
build_acs() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-acs
|
||||||
|
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-acs
|
||||||
|
${symbol_dollar}MVN_EXEC clean package -pl ${rootArtifactId}-integration-tests,${rootArtifactId}-platform,${rootArtifactId}-platform-docker
|
||||||
|
}
|
||||||
|
|
||||||
|
tail() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
|
||||||
|
}
|
||||||
|
|
||||||
|
tail_all() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare_test() {
|
||||||
|
${symbol_dollar}MVN_EXEC verify -DskipTests=true -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests,${rootArtifactId}-platform-docker
|
||||||
|
}
|
||||||
|
|
||||||
|
test() {
|
||||||
|
${symbol_dollar}MVN_EXEC verify -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${symbol_dollar}1" in
|
||||||
|
build_start)
|
||||||
|
down
|
||||||
|
build
|
||||||
|
start
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
build_start_it_supported)
|
||||||
|
down
|
||||||
|
build
|
||||||
|
prepare_test
|
||||||
|
start
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
down
|
||||||
|
;;
|
||||||
|
purge)
|
||||||
|
down
|
||||||
|
purge
|
||||||
|
;;
|
||||||
|
tail)
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
reload_share)
|
||||||
|
build_share
|
||||||
|
start_share
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
reload_acs)
|
||||||
|
build_acs
|
||||||
|
start_acs
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
build_test)
|
||||||
|
down
|
||||||
|
build
|
||||||
|
prepare_test
|
||||||
|
start
|
||||||
|
test
|
||||||
|
tail_all
|
||||||
|
down
|
||||||
|
;;
|
||||||
|
test)
|
||||||
|
test
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: ${symbol_dollar}0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
|
||||||
|
esac
|
||||||
-264
@@ -1,264 +0,0 @@
|
|||||||
# Set root logger level to error
|
|
||||||
log4j.rootLogger=error, Console, File
|
|
||||||
|
|
||||||
###### Console appender definition #######
|
|
||||||
|
|
||||||
# All outputs currently set to be a ConsoleAppender.
|
|
||||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
|
||||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
|
||||||
|
|
||||||
# use log4j NDC to replace %x with tenant domain / username
|
|
||||||
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
|
|
||||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
|
||||||
|
|
||||||
###### File appender definition #######
|
|
||||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
|
||||||
log4j.appender.File.File=alfresco.log
|
|
||||||
log4j.appender.File.Append=true
|
|
||||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
|
||||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
|
||||||
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
|
|
||||||
|
|
||||||
###### Hibernate specific appender definition #######
|
|
||||||
#log4j.appender.file=org.apache.log4j.FileAppender
|
|
||||||
#log4j.appender.file.File=hibernate.log
|
|
||||||
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
|
||||||
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
|
||||||
|
|
||||||
###### Log level overrides #######
|
|
||||||
|
|
||||||
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
|
|
||||||
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
|
|
||||||
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
|
|
||||||
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
|
|
||||||
|
|
||||||
# Hibernate
|
|
||||||
log4j.logger.org.hibernate=error
|
|
||||||
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
|
|
||||||
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
|
|
||||||
log4j.logger.org.hibernate.type=warn
|
|
||||||
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
|
|
||||||
|
|
||||||
# Spring
|
|
||||||
log4j.logger.org.springframework=warn
|
|
||||||
# Turn off Spring remoting warnings that should really be info or debug.
|
|
||||||
log4j.logger.org.springframework.remoting.support=error
|
|
||||||
log4j.logger.org.springframework.util=error
|
|
||||||
|
|
||||||
# Axis/WSS4J
|
|
||||||
log4j.logger.org.apache.axis=info
|
|
||||||
log4j.logger.org.apache.ws=info
|
|
||||||
|
|
||||||
# CXF
|
|
||||||
log4j.logger.org.apache.cxf=error
|
|
||||||
|
|
||||||
# MyFaces
|
|
||||||
log4j.logger.org.apache.myfaces.util.DebugUtils=info
|
|
||||||
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
|
|
||||||
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
|
|
||||||
log4j.logger.org.apache.myfaces.taglib=error
|
|
||||||
|
|
||||||
# OpenOfficeConnection
|
|
||||||
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
|
|
||||||
|
|
||||||
# log prepared statement cache activity ###
|
|
||||||
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
|
||||||
|
|
||||||
# Alfresco
|
|
||||||
log4j.logger.org.alfresco=error
|
|
||||||
log4j.logger.org.alfresco.repo.admin=info
|
|
||||||
log4j.logger.org.alfresco.repo.transaction=warn
|
|
||||||
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
|
|
||||||
log4j.logger.org.alfresco.repo.model.filefolder=warn
|
|
||||||
log4j.logger.org.alfresco.repo.tenant=info
|
|
||||||
log4j.logger.org.alfresco.config=warn
|
|
||||||
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
|
|
||||||
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
|
|
||||||
log4j.logger.org.alfresco.repo.management.subsystems=warn
|
|
||||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
|
|
||||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
|
|
||||||
log4j.logger.org.alfresco.repo.security.sync=info
|
|
||||||
log4j.logger.org.alfresco.repo.security.person=info
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.sample=info
|
|
||||||
log4j.logger.org.alfresco.web=info
|
|
||||||
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
|
|
||||||
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
|
|
||||||
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
|
|
||||||
#log4j.logger.org.alfresco.web.bean.clipboard=debug
|
|
||||||
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
|
|
||||||
#log4j.logger.org.alfresco.web.page=debug
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
|
|
||||||
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
|
|
||||||
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
|
|
||||||
|
|
||||||
# Specific patches
|
|
||||||
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
|
|
||||||
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
|
|
||||||
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
|
|
||||||
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
|
|
||||||
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
|
|
||||||
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
|
|
||||||
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
|
|
||||||
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
|
|
||||||
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
|
|
||||||
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
|
|
||||||
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
|
|
||||||
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
|
|
||||||
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
|
|
||||||
log4j.logger.org.alfresco.enterprise.repo.cluster=info
|
|
||||||
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
|
|
||||||
|
|
||||||
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
|
|
||||||
log4j.logger.org.alfresco.repo.node.db.NodeStringLengthWorker=info
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.workflow=info
|
|
||||||
|
|
||||||
# CIFS server debugging
|
|
||||||
log4j.logger.org.alfresco.smb.protocol=error
|
|
||||||
#log4j.logger.org.alfresco.smb.protocol.auth=debug
|
|
||||||
#log4j.logger.org.alfresco.acegi=debug
|
|
||||||
|
|
||||||
# FTP server debugging
|
|
||||||
log4j.logger.org.alfresco.ftp.protocol=error
|
|
||||||
#log4j.logger.org.alfresco.ftp.server=debug
|
|
||||||
|
|
||||||
# WebDAV debugging
|
|
||||||
#log4j.logger.org.alfresco.webdav.protocol=debug
|
|
||||||
log4j.logger.org.alfresco.webdav.protocol=info
|
|
||||||
|
|
||||||
# NTLM servlet filters
|
|
||||||
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
|
|
||||||
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
|
|
||||||
|
|
||||||
# Kerberos servlet filters
|
|
||||||
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
|
|
||||||
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
|
|
||||||
|
|
||||||
# File servers
|
|
||||||
log4j.logger.org.alfresco.fileserver=warn
|
|
||||||
|
|
||||||
# Repo filesystem debug logging
|
|
||||||
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
|
|
||||||
|
|
||||||
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
|
|
||||||
log4j.logger.org.alfresco.repo.node.integrity=ERROR
|
|
||||||
|
|
||||||
# Indexer debugging
|
|
||||||
log4j.logger.org.alfresco.repo.search.Indexer=error
|
|
||||||
#log4j.logger.org.alfresco.repo.search.Indexer=debug
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
|
|
||||||
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
|
|
||||||
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
|
|
||||||
|
|
||||||
# Audit debugging
|
|
||||||
# log4j.logger.org.alfresco.repo.audit=DEBUG
|
|
||||||
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
|
|
||||||
|
|
||||||
# Property sheet and modelling debugging
|
|
||||||
# change to error to hide the warnings about missing properties and associations
|
|
||||||
log4j.logger.alfresco.missingProperties=warn
|
|
||||||
|
|
||||||
# Dictionary/Model debugging
|
|
||||||
log4j.logger.org.alfresco.repo.dictionary=warn
|
|
||||||
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
|
|
||||||
|
|
||||||
# Virtualization Server Registry
|
|
||||||
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
|
|
||||||
|
|
||||||
# Spring context runtime property setter
|
|
||||||
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
|
|
||||||
|
|
||||||
# Debugging options for clustering
|
|
||||||
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
|
|
||||||
log4j.logger.org.alfresco.repo.content.replication=error
|
|
||||||
|
|
||||||
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
|
|
||||||
|
|
||||||
# Activity service
|
|
||||||
log4j.logger.org.alfresco.repo.activities=warn
|
|
||||||
|
|
||||||
# User usage tracking
|
|
||||||
log4j.logger.org.alfresco.repo.usage=info
|
|
||||||
|
|
||||||
# Sharepoint
|
|
||||||
log4j.logger.org.alfresco.module.vti=info
|
|
||||||
|
|
||||||
# Forms Engine
|
|
||||||
log4j.logger.org.alfresco.web.config.forms=info
|
|
||||||
log4j.logger.org.alfresco.web.scripts.forms=info
|
|
||||||
|
|
||||||
# CMIS
|
|
||||||
log4j.logger.org.alfresco.opencmis=error
|
|
||||||
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
|
|
||||||
log4j.logger.org.alfresco.cmis=error
|
|
||||||
log4j.logger.org.alfresco.cmis.dictionary=warn
|
|
||||||
log4j.logger.org.apache.chemistry.opencmis=info
|
|
||||||
log4j.logger.org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet=OFF
|
|
||||||
log4j.logger.org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet=OFF
|
|
||||||
|
|
||||||
# IMAP
|
|
||||||
log4j.logger.org.alfresco.repo.imap=info
|
|
||||||
|
|
||||||
# JBPM
|
|
||||||
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
|
|
||||||
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
|
|
||||||
|
|
||||||
#log4j.logger.org.alfresco.repo.googledocs=debug
|
|
||||||
|
|
||||||
###### Scripting #######
|
|
||||||
|
|
||||||
# Web Framework
|
|
||||||
log4j.logger.org.springframework.extensions.webscripts=info
|
|
||||||
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
|
|
||||||
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
|
|
||||||
|
|
||||||
# Repository
|
|
||||||
log4j.logger.org.alfresco.repo.web.scripts=warn
|
|
||||||
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
|
|
||||||
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
|
|
||||||
log4j.logger.org.alfresco.repo.jscript=error
|
|
||||||
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
|
|
||||||
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl=off
|
|
||||||
log4j.logger.org.alfresco.repo.domain.schema.script.ScriptExecutorImpl=info
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl=info
|
|
||||||
|
|
||||||
# Bulk Filesystem Import Tool
|
|
||||||
log4j.logger.org.alfresco.repo.bulkimport=warn
|
|
||||||
|
|
||||||
# Freemarker
|
|
||||||
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
|
||||||
log4j.logger.freemarker.runtime=
|
|
||||||
|
|
||||||
# Metadata extraction
|
|
||||||
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
|
|
||||||
|
|
||||||
# Reduces PDFont error level due to ALF-7105
|
|
||||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
|
|
||||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
|
|
||||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
|
|
||||||
|
|
||||||
# no index support
|
|
||||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
|
|
||||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
|
|
||||||
|
|
||||||
# lucene index warnings
|
|
||||||
log4j.logger.org.alfresco.repo.search.impl.lucene.index.IndexInfo=warn
|
|
||||||
|
|
||||||
# Warn about RMI socket bind retries.
|
|
||||||
log4j.logger.org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory=warn
|
|
||||||
|
|
||||||
log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
|
|
||||||
|
|
||||||
# Authorization
|
|
||||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
|
|
||||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
|
|
||||||
-7
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Context crossContext="true">
|
|
||||||
<Environment name="solr/home" type="java.lang.String" value="${solr.home}" override="true"/>
|
|
||||||
<Environment name="solr/model/dir" type="java.lang.String" value="${solr.model.dir}" override="true"/>
|
|
||||||
<Environment name="solr/content/dir" type="java.lang.String" value="${solr.content.dir}" override="true"/>
|
|
||||||
|
|
||||||
</Context>
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
version=0.1-SNAPSHOT
|
|
||||||
groupId=archetype.it
|
|
||||||
artifactId=allInOneTest
|
|
||||||
package=it.pkg
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
verify
|
|
||||||
-5
@@ -1,5 +0,0 @@
|
|||||||
version=0.1-SNAPSHOT
|
|
||||||
groupId=archetype.it
|
|
||||||
artifactId=allInOneTestRunEnterprise
|
|
||||||
package=it.pkg
|
|
||||||
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
verify -Prun -Penterprise -Dmaven.tomcat.fork=true
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
version=0.1-SNAPSHOT
|
|
||||||
groupId=archetype.it
|
|
||||||
artifactId=allInOneTestRun
|
|
||||||
package=it.pkg
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
verify -Prun -Dmaven.tomcat.fork=true
|
|
||||||
@@ -3,16 +3,16 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>org.alfresco.maven.archetype</groupId>
|
<groupId>org.alfresco.maven.archetype</groupId>
|
||||||
<artifactId>alfresco-amp-archetype</artifactId>
|
<artifactId>alfresco-platform-jar-archetype</artifactId>
|
||||||
|
|
||||||
<packaging>maven-archetype</packaging>
|
<packaging>maven-archetype</packaging>
|
||||||
<name>Maven Alfresco SDK - Repository AMP Archetype</name>
|
<name>Alfresco SDK - Platform JAR Archetype</name>
|
||||||
<description>Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages)</description>
|
<description>Sample project with full support for lifecycle and rapid development of Platform/Repository JARs and AMPs (Alfresco Module Packages)</description>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco.maven</groupId>
|
<groupId>org.alfresco.maven</groupId>
|
||||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||||
<version>3.0.0-beta-3</version>
|
<version>4.17.0-A3-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@@ -39,15 +39,17 @@
|
|||||||
<filtering>false</filtering>
|
<filtering>false</filtering>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<version>2.7</version>
|
|
||||||
<configuration>
|
<configuration>
|
||||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||||
<delimiters>
|
<delimiters>
|
||||||
<delimiter>@@</delimiter>
|
<delimiter>@@</delimiter>
|
||||||
</delimiters>
|
</delimiters>
|
||||||
|
<addDefaultExcludes>false</addDefaultExcludes>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
|||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
def file = new File( request.getOutputDirectory(), request.getArtifactId()+"/run.sh" );
|
||||||
|
file.setExecutable(true, false);
|
||||||
+31
-16
@@ -11,12 +11,40 @@
|
|||||||
</requiredProperties>
|
</requiredProperties>
|
||||||
|
|
||||||
<fileSets>
|
<fileSets>
|
||||||
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
|
<directory>docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**</include>
|
||||||
|
</includes>
|
||||||
|
</fileSet>
|
||||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||||
<directory>src/main/assembly</directory>
|
<directory>src/main/assembly</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*.xml</include>
|
<include>**</include>
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>license/**</include>
|
||||||
|
<include>Dockerfile</include>
|
||||||
|
<include>disable-webscript-caching-context.xml</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.properties</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>license/**</exclude>
|
||||||
|
<exclude>Dockerfile</exclude>
|
||||||
|
<exclude>disable-webscript-caching-context.xml</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
<directory>src/main/java</directory>
|
<directory>src/main/java</directory>
|
||||||
<includes>
|
<includes>
|
||||||
@@ -36,31 +64,18 @@
|
|||||||
</includes>
|
</includes>
|
||||||
<excludes>
|
<excludes>
|
||||||
<exclude>**/*-context.xml</exclude>
|
<exclude>**/*-context.xml</exclude>
|
||||||
<exclude>**/log4j.properties</exclude>
|
|
||||||
</excludes>
|
</excludes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||||
<directory>src/main/resources</directory>
|
<directory>src/main/resources</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*-context.xml</include>
|
<include>**/*-context.xml</include>
|
||||||
<include>**/log4j.properties</include>
|
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
<directory>src/test/resources</directory>
|
|
||||||
<includes>
|
|
||||||
<include>**</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
|
||||||
<directory>src/test/properties</directory>
|
|
||||||
<includes>
|
|
||||||
<include>**/*.properties</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet encoding="UTF-8">
|
|
||||||
<directory></directory>
|
<directory></directory>
|
||||||
<includes>
|
<includes>
|
||||||
|
<include>.gitignore</include>
|
||||||
<include>run.sh</include>
|
<include>run.sh</include>
|
||||||
<include>run.bat</include>
|
<include>run.bat</include>
|
||||||
<include>README.md</include>
|
<include>README.md</include>
|
||||||
|
|||||||
+38
@@ -0,0 +1,38 @@
|
|||||||
|
**.log*
|
||||||
|
|
||||||
|
# Maven
|
||||||
|
target/
|
||||||
|
pom.xml.tag
|
||||||
|
pom.xml.releaseBackup
|
||||||
|
pom.xml.versionsBackup
|
||||||
|
pom.xml.next
|
||||||
|
release.properties
|
||||||
|
dependency-reduced-pom.xml
|
||||||
|
buildNumber.properties
|
||||||
|
.mvn/timing.properties
|
||||||
|
.mvn/wrapper/maven-wrapper.jar
|
||||||
|
|
||||||
|
# Eclipse
|
||||||
|
.metadata
|
||||||
|
.project
|
||||||
|
.classpath
|
||||||
|
bin/
|
||||||
|
tmp/
|
||||||
|
*.tmp
|
||||||
|
.settings/
|
||||||
|
.loadpath
|
||||||
|
.recommenders
|
||||||
|
|
||||||
|
# IntelliJ IDEA
|
||||||
|
**.idea
|
||||||
|
**.iml
|
||||||
|
|
||||||
|
# Visual Studio Code
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
|
||||||
|
# macOS
|
||||||
|
*.DS_Store
|
||||||
+31
-22
@@ -1,35 +1,44 @@
|
|||||||
# Alfresco Platform JAR Module - SDK 3
|
# Alfresco ACS JAR Module - SDK 4.11.0
|
||||||
|
|
||||||
To run use `mvn clean install -DskipTests=true alfresco:run` or `./run.sh` and verify that it
|
This is an ACS project for Alfresco SDK 4.11.0.
|
||||||
|
|
||||||
* Runs the embedded Tomcat + H2 DB
|
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
|
||||||
* Runs Alfresco Platform (Repository)
|
|
||||||
* Runs Alfresco Solr4
|
* Runs Alfresco Content Service (ACS)
|
||||||
* Packages both as JAR and AMP assembly
|
* (Optional) Runs Alfresco Share
|
||||||
|
* Runs Alfresco Search Service (ASS)
|
||||||
Try cloning it, change the port and play with `enableShare`, `enablePlatform` and `enableSolr`.
|
* Runs PostgreSQL database
|
||||||
|
* Deploys the JAR assembled module
|
||||||
Protip: This module will work just fine as a Share module if the files are changed and
|
|
||||||
if the enablePlatform and enableSolr is disabled.
|
|
||||||
|
|
||||||
|
All the services of the project are now run as docker containers. The run script offers the next tasks:
|
||||||
|
|
||||||
|
* `build_start`. Build the whole project, recreate the ACS docker image, start the dockerised environment composed by ACS, Share (optional), ASS
|
||||||
|
and PostgreSQL and tail the logs of all the containers.
|
||||||
|
* `build_start_it_supported`. Build the whole project including dependencies required for IT execution, recreate the ACS docker image, start the dockerised environment
|
||||||
|
composed by ACS, Share (optional), ASS and PostgreSQL and tail the logs of all the containers.
|
||||||
|
* `start`. Start the dockerised environment without building the project and tail the logs of all the containers.
|
||||||
|
* `stop`. Stop the dockerised environment.
|
||||||
|
* `purge`. Stop the dockerised container and delete all the persistent data (docker volumes).
|
||||||
|
* `tail`. Tail the logs of all the containers.
|
||||||
|
* `reload_acs`. Build the ACS module, recreate the ACS docker image and restart the ACS container.
|
||||||
|
* `build_test`. Build the whole project, recreate the ACS docker image, start the dockerised environment, execute the integration tests and stop
|
||||||
|
the environment.
|
||||||
|
* `test`. Execute the integration tests (the environment must be already started).
|
||||||
|
|
||||||
# Few things to notice
|
# Few things to notice
|
||||||
|
|
||||||
* No parent pom
|
* No parent pom
|
||||||
* WAR assembly is handled by the Alfresco Maven Plugin configuration
|
* No WAR projects, the jars are included in the custom docker images
|
||||||
|
* No runner project - the Alfresco environment is now managed through [Docker](https://www.docker.com/)
|
||||||
* Standard JAR packaging and layout
|
* Standard JAR packaging and layout
|
||||||
* Works seamlessly with Eclipse and IntelliJ IDEA
|
* Works seamlessly with Eclipse and IntelliJ IDEA
|
||||||
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml, agent usage: `MAVEN_OPTS=-Xms256m -Xmx1G -agentpath:/home/martin/apps/jrebel/lib/libjrebel64.so`
|
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml [JRebel integration documentation]
|
||||||
* AMP as an assembly
|
* AMP as an assembly
|
||||||
* [Configurable Run mojo](https://github.com/Alfresco/alfresco-sdk/blob/sdk-3.0/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/RunMojo.java) in the `alfresco-maven-plugin`
|
* Persistent test data through restart thanks to the use of Docker volumes for ACS, ASS and database data
|
||||||
* No unit testing/functional tests just yet
|
|
||||||
* Resources loaded from META-INF
|
* Resources loaded from META-INF
|
||||||
* Web Fragment (this includes a sample servlet configured via web fragment)
|
* Web Fragment (this includes a sample servlet configured via web fragment)
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
|
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
|
||||||
* Purge,
|
* Functional/remote unit tests
|
||||||
* Functional/remote unit tests
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+73
@@ -0,0 +1,73 @@
|
|||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
version: '3.4'
|
||||||
|
services:
|
||||||
|
# Optional
|
||||||
|
# ${rootArtifactId}-share:
|
||||||
|
# image: ${symbol_dollar}{docker.share.image}:${symbol_dollar}{alfresco.share.version}
|
||||||
|
# environment:
|
||||||
|
# REPO_HOST: ${rootArtifactId}-acs
|
||||||
|
# REPO_PORT: 8080
|
||||||
|
# ports:
|
||||||
|
# - "${symbol_dollar}{share.port}:8080"
|
||||||
|
${rootArtifactId}-acs:
|
||||||
|
image: alfresco-content-services-${rootArtifactId}:development
|
||||||
|
build:
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
context: ../../../target
|
||||||
|
environment:
|
||||||
|
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
|
||||||
|
JAVA_OPTS: "
|
||||||
|
-Dsolr.secureComms=secret
|
||||||
|
-Dsolr.sharedSecret=secret
|
||||||
|
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||||
|
"
|
||||||
|
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{acs.port}:8080"
|
||||||
|
- "${symbol_dollar}{acs.debug.port}:8888"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-acs-volume:/usr/local/tomcat/alf_data
|
||||||
|
depends_on:
|
||||||
|
- ${rootArtifactId}-postgres
|
||||||
|
${rootArtifactId}-postgres:
|
||||||
|
image: postgres:16.5
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: alfresco
|
||||||
|
POSTGRES_USER: alfresco
|
||||||
|
POSTGRES_PASSWORD: alfresco
|
||||||
|
command: postgres -c max_connections=300 -c log_min_messages=LOG
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{postgres.port}:5432"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
|
||||||
|
${rootArtifactId}-ass:
|
||||||
|
image: alfresco/alfresco-search-services:2.0.15
|
||||||
|
environment:
|
||||||
|
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
|
||||||
|
SOLR_ALFRESCO_PORT: 8080
|
||||||
|
SOLR_SOLR_HOST: ${rootArtifactId}-ass
|
||||||
|
SOLR_SOLR_PORT: 8983
|
||||||
|
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
||||||
|
ALFRESCO_SECURE_COMMS: "secret"
|
||||||
|
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
|
||||||
|
ports:
|
||||||
|
- "8983:8983"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
|
||||||
|
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
|
||||||
|
${rootArtifactId}-activemq:
|
||||||
|
image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8
|
||||||
|
mem_limit: 1g
|
||||||
|
ports:
|
||||||
|
- 8161:8161 # Web Console
|
||||||
|
- 5672:5672 # AMQP
|
||||||
|
- 61616:61616 # OpenWire
|
||||||
|
- 61613:61613 # STOMP
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
${rootArtifactId}-acs-volume:
|
||||||
|
external: true
|
||||||
|
${rootArtifactId}-db-volume:
|
||||||
|
external: true
|
||||||
|
${rootArtifactId}-ass-volume:
|
||||||
|
external: true
|
||||||
+573
-250
@@ -1,250 +1,573 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>${groupId}</groupId>
|
<groupId>${groupId}</groupId>
|
||||||
<artifactId>${artifactId}</artifactId>
|
<artifactId>${artifactId}</artifactId>
|
||||||
<version>${version}</version>
|
<version>${version}</version>
|
||||||
<name>${artifactId} Platform Jar Module - SDK 3</name>
|
<name>${artifactId} Platform/Repository JAR Module</name>
|
||||||
<description>Platform JAR Module (to be included in the alfresco.war) - SDK 3</description>
|
<description>Platform/Repo JAR Module (to be included in the alfresco.war)</description>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<!-- Alfresco Maven Plugin version to use -->
|
<!-- Alfresco Maven Plugin version to use -->
|
||||||
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||||
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
||||||
<!-- Alfresco Data directory, which will contain:
|
<!-- Properties used in dependency declarations, you don't need to change these -->
|
||||||
Content Store (i.e. the files we upload)
|
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||||
Database (i.e. the metadata for the uploaded files)
|
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||||
Search index (i.e. the indexed content and metadata)
|
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||||
Configured in alfresco-global.properties with the 'dir.root' property.
|
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
|
||||||
-->
|
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
|
||||||
<alfresco.data.location>${session.executionRootDirectory}/alf_data_dev</alfresco.data.location>
|
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
|
||||||
|
|
||||||
<!-- Duplicated with alfresco.solrHome in the plugin, we need them out here to do filtering -->
|
<!-- Docker images -->
|
||||||
<solr.home>${alfresco.data.location}/solr</solr.home>
|
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||||
<solr.model.dir>${solr.home}/alfrescoModels</solr.model.dir>
|
<docker.share.image>@@alfresco.share.docker.image@@</docker.share.image>
|
||||||
<solr.content.dir>${solr.home}/index</solr.content.dir>
|
|
||||||
|
<keystore.settings>@@keystore.settings@@</keystore.settings>
|
||||||
<!-- Properties used in dependency declarations, you don't need to change these -->
|
|
||||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||||
|
<jrebel.version>1.1.8</jrebel.version>
|
||||||
<!-- Alfresco Platform webapp version, this is the original Alfresco webapp that will be
|
|
||||||
customized and then deployed and run by the tomcat maven plugin when
|
<!-- Environment configuration properties -->
|
||||||
executing for example $ mvn clean install alfresco:run -->
|
<share.port>8180</share.port>
|
||||||
<alfresco.platform.version>5.2.a-EA</alfresco.platform.version>
|
<acs.host>${artifactId}-acs</acs.host>
|
||||||
<!-- Alfresco Share version, so we can bring in correct alfresco-share-services artifact -->
|
<acs.port>8080</acs.port>
|
||||||
<alfresco.share.version>5.1.g</alfresco.share.version>
|
<acs.debug.port>8888</acs.debug.port>
|
||||||
|
<postgres.port>5555</postgres.port>
|
||||||
<!-- Alfresco Repo Database configuration.
|
<!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) -->
|
||||||
By default it uses a flat file H2 database to be able to run embedded.
|
<test.acs.endpoint.path></test.acs.endpoint.path>
|
||||||
The H2 database implementation is brought in via the tomcat7-maven-plugin as a dependency.
|
|
||||||
The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
|
</properties>
|
||||||
see alfresco.db.url below.
|
|
||||||
For more information about the db parameters see:http://www.h2database.com/html/features.html
|
<!-- Libs used in Unit and Integration tests -->
|
||||||
-->
|
<!-- IMPORTANT - Test dependencies need to be here in the top parent POM as
|
||||||
<alfresco.db.name>alf_dev</alfresco.db.name>
|
the Alfresco Maven IT Mojo runs as part of the parent project ... -->
|
||||||
<alfresco.db.username>alfresco</alfresco.db.username>
|
<dependencies>
|
||||||
<alfresco.db.password>alfresco</alfresco.db.password>
|
<dependency>
|
||||||
<alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
<groupId>junit</groupId>
|
||||||
</alfresco.db.params>
|
<artifactId>junit</artifactId>
|
||||||
<alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}
|
<version>4.13.1</version>
|
||||||
</alfresco.db.url>
|
<scope>test</scope>
|
||||||
<alfresco.db.datasource.class>org.h2.jdbcx.JdbcDataSource</alfresco.db.datasource.class>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
<groupId>org.mockito</groupId>
|
||||||
<jrebel.version>1.1.6</jrebel.version>
|
<artifactId>mockito-core</artifactId>
|
||||||
|
<version>4.2.0</version>
|
||||||
<!-- Environment to use, Alfresco Maven Plugin will copy alfresco-global.properties from this directory -->
|
<scope>test</scope>
|
||||||
<env>local</env>
|
</dependency>
|
||||||
</properties>
|
<dependency>
|
||||||
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
|
<artifactId>httpclient</artifactId>
|
||||||
NOTE: You still need to define dependencies in your POM,
|
<scope>test</scope>
|
||||||
but you can omit version as it's enforced by this dependencyManagement.
|
</dependency>
|
||||||
NOTE: It defaults to the latest version this SDK pom has been tested with,
|
|
||||||
but alfresco version can/should be overridden in your project's pom
|
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
|
||||||
-->
|
<dependency>
|
||||||
<dependencyManagement>
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
<dependencies>
|
<artifactId>alfresco-remote-api</artifactId>
|
||||||
<dependency>
|
<scope>provided</scope>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
</dependency>
|
||||||
<artifactId>alfresco-platform-distribution</artifactId>
|
|
||||||
<version>${alfresco.platform.version}</version>
|
<!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes -->
|
||||||
<type>pom</type>
|
<dependency>
|
||||||
<scope>import</scope>
|
<groupId>org.alfresco.maven</groupId>
|
||||||
</dependency>
|
<artifactId>alfresco-rad</artifactId>
|
||||||
</dependencies>
|
<version>${alfresco.sdk.version}</version>
|
||||||
</dependencyManagement>
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
<dependencies>
|
|
||||||
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
|
</dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<dependencyManagement>
|
||||||
<artifactId>alfresco-repository</artifactId>
|
<dependencies>
|
||||||
</dependency>
|
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
|
||||||
</dependencies>
|
NOTE: You still need to define dependencies in your POM, but you can omit version as
|
||||||
|
it's enforced by this dependencyManagement.
|
||||||
<build>
|
NOTE: It defaults to the latest version this SDK pom has been tested with,
|
||||||
<plugins>
|
but alfresco version can/should be overridden in your project's pom
|
||||||
<!--
|
-->
|
||||||
The Alfresco Maven Plugin contains all the logic to run the extension
|
<dependency>
|
||||||
in an embedded Tomcat with the H2 database.
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
-->
|
<artifactId>${alfresco.bomDependencyArtifactId}</artifactId>
|
||||||
<plugin>
|
<version>${alfresco.platform.version}</version>
|
||||||
<groupId>org.alfresco.maven.plugin</groupId>
|
<type>pom</type>
|
||||||
<artifactId>alfresco-maven-plugin</artifactId>
|
<scope>import</scope>
|
||||||
<version>${alfresco.sdk.version}</version>
|
</dependency>
|
||||||
<configuration>
|
</dependencies>
|
||||||
<!-- Default is to run with a Community edition, change to 'enterprise' if using Enterprise edition -->
|
</dependencyManagement>
|
||||||
<alfrescoEdition>community</alfrescoEdition>
|
|
||||||
|
<build>
|
||||||
<!-- We need the flat file H2 database to run the Repo -->
|
<plugins>
|
||||||
<enableH2>true</enableH2>
|
<!--
|
||||||
<!-- This is a platform extension JAR, so we need the platform webapp (alfresco.war) -->
|
Build an AMP if 3rd party libs are needed by the extensions
|
||||||
<enablePlatform>true</enablePlatform>
|
JARs are the default artifact produced in your modules, if you want to build an amp for each module
|
||||||
<!-- Enable Solr so we can use search, our Repo extension probably need search -->
|
you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize
|
||||||
<enableSolr>true</enableSolr>
|
the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your
|
||||||
<!-- We don't need the share.war if we don't have any UI extensions -->
|
module.
|
||||||
<enableShare>false</enableShare>
|
-->
|
||||||
|
<!--
|
||||||
<!--
|
<plugin>
|
||||||
JARs and AMPs that should be overlayed/applied to the Platform/Repository WAR
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
(i.e. alfresco.war)
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
-->
|
<version>2.6</version>
|
||||||
<platformModules>
|
<executions>
|
||||||
<!-- This AMP is needed if we are going to access the platform webapp from a Share webapp -->
|
<execution>
|
||||||
<moduleDependency>
|
<id>build-amp-file</id>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<phase>package</phase>
|
||||||
<artifactId>alfresco-share-services</artifactId>
|
<goals>
|
||||||
<version>${alfresco.share.version}</version>
|
<goal>single</goal>
|
||||||
<type>amp</type>
|
</goals>
|
||||||
</moduleDependency>
|
<configuration>
|
||||||
<!-- Bring in this JAR project, need to be included here, otherwise resources from META-INF
|
<appendAssemblyId>false</appendAssemblyId>
|
||||||
will not be loaded, such as the test.html page
|
<descriptor>src/main/assembly/amp.xml</descriptor>
|
||||||
-->
|
</configuration>
|
||||||
<moduleDependency>
|
</execution>
|
||||||
<groupId>${project.groupId}</groupId>
|
</executions>
|
||||||
<artifactId>${project.artifactId}</artifactId>
|
<dependencies>
|
||||||
<version>${project.version}</version>
|
<dependency>
|
||||||
</moduleDependency>
|
<groupId>org.alfresco.maven.plugin</groupId>
|
||||||
</platformModules>
|
<artifactId>alfresco-maven-plugin</artifactId>
|
||||||
</configuration>
|
<version>${alfresco.sdk.version}</version>
|
||||||
</plugin>
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<!-- Build an AMP if 3rd party libs are needed by the extension -->
|
</plugin>
|
||||||
<plugin>
|
-->
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
|
||||||
<version>2.6</version>
|
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
|
||||||
<executions>
|
We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. -->
|
||||||
<execution>
|
<plugin>
|
||||||
<id>build-amp-file</id>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<phase>package</phase>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<goals>
|
<version>3.1.0</version>
|
||||||
<goal>single</goal>
|
<configuration>
|
||||||
</goals>
|
<encoding>UTF-8</encoding>
|
||||||
<configuration>
|
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||||
<appendAssemblyId>false</appendAssemblyId>
|
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||||
<descriptor>src/main/assembly/amp.xml</descriptor>
|
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||||
</configuration>
|
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||||
</execution>
|
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||||
</executions>
|
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||||
<dependencies>
|
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||||
<dependency>
|
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||||
<groupId>org.alfresco.maven.plugin</groupId>
|
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||||
<artifactId>alfresco-maven-plugin</artifactId>
|
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||||
<version>${alfresco.sdk.version}</version>
|
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||||
</dependency>
|
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||||
</dependencies>
|
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||||
</plugin>
|
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||||
<!-- Hot reloading with JRebel -->
|
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||||
<plugin>
|
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||||
<groupId>org.zeroturnaround</groupId>
|
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||||
<artifactId>jrebel-maven-plugin</artifactId>
|
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||||
<version>${jrebel.version}</version>
|
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||||
<executions>
|
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||||
<execution>
|
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||||
<id>generate-rebel-xml</id>
|
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||||
<phase>process-resources</phase>
|
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||||
<goals>
|
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||||
<goal>generate</goal>
|
</nonFilteredFileExtensions>
|
||||||
</goals>
|
</configuration>
|
||||||
</execution>
|
<executions>
|
||||||
</executions>
|
<execution>
|
||||||
<configuration>
|
<id>copy-and-filter-docker-compose-resources</id>
|
||||||
<!-- For more information about how to configure JRebel plugin see:
|
<phase>validate</phase>
|
||||||
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
|
<goals>
|
||||||
<classpath>
|
<goal>copy-resources</goal>
|
||||||
<fallback>all</fallback>
|
</goals>
|
||||||
<resources>
|
<configuration>
|
||||||
<resource>
|
<outputDirectory>${project.build.outputDirectory}/docker</outputDirectory>
|
||||||
<!--
|
<resources>
|
||||||
Empty resource element marks default configuration. By
|
<resource>
|
||||||
default it is placed first in generated configuration.
|
<directory>docker</directory>
|
||||||
-->
|
<filtering>true</filtering>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
</classpath>
|
</configuration>
|
||||||
|
</execution>
|
||||||
<!--
|
<execution>
|
||||||
alwaysGenerate - default is false
|
<id>copy-and-filter-docker-resources</id>
|
||||||
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
|
<phase>validate</phase>
|
||||||
If 'true' - rebel.xml will always be generated
|
<goals>
|
||||||
-->
|
<goal>copy-resources</goal>
|
||||||
<alwaysGenerate>true</alwaysGenerate>
|
</goals>
|
||||||
</configuration>
|
<configuration>
|
||||||
</plugin>
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
</plugins>
|
<resources>
|
||||||
|
<resource>
|
||||||
<resources>
|
<directory>src/main/docker</directory>
|
||||||
<!-- Filter the resource files in this project and do property substitutions -->
|
<filtering>true</filtering>
|
||||||
<resource>
|
<excludes>
|
||||||
<directory>src/main/resources</directory>
|
<exclude>**/*.jar</exclude>
|
||||||
<filtering>true</filtering>
|
<exclude>**/*.so</exclude>
|
||||||
</resource>
|
<exclude>**/*.gz</exclude>
|
||||||
</resources>
|
</excludes>
|
||||||
<testResources>
|
</resource>
|
||||||
<!-- Filter the test resource files in this project and do property substitutions -->
|
</resources>
|
||||||
<testResource>
|
</configuration>
|
||||||
<directory>src/test/resources</directory>
|
</execution>
|
||||||
<filtering>true</filtering>
|
<execution>
|
||||||
</testResource>
|
<id>copy-and-filter-docker-resources-non-filtered</id>
|
||||||
</testResources>
|
<phase>validate</phase>
|
||||||
</build>
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
<!--
|
</goals>
|
||||||
Alfresco Maven Repositories
|
<configuration>
|
||||||
-->
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
<repositories>
|
<resources>
|
||||||
<repository>
|
<resource>
|
||||||
<id>alfresco-public</id>
|
<directory>src/main/docker</directory>
|
||||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
<filtering>false</filtering>
|
||||||
</repository>
|
<includes>
|
||||||
<repository>
|
<include>**/*.jar</include>
|
||||||
<id>alfresco-public-snapshots</id>
|
<include>**/*.so</include>
|
||||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
<include>**/*.gz</include>
|
||||||
<snapshots>
|
</includes>
|
||||||
<enabled>true</enabled>
|
</resource>
|
||||||
<updatePolicy>daily</updatePolicy>
|
</resources>
|
||||||
</snapshots>
|
</configuration>
|
||||||
</repository>
|
</execution>
|
||||||
</repositories>
|
<execution>
|
||||||
<pluginRepositories>
|
<id>copy-repository-extension</id>
|
||||||
<pluginRepository>
|
<phase>package</phase>
|
||||||
<id>alfresco-plugin-public</id>
|
<goals>
|
||||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
<goal>copy-resources</goal>
|
||||||
</pluginRepository>
|
</goals>
|
||||||
<pluginRepository>
|
<configuration>
|
||||||
<id>alfresco-plugin-public-snapshots</id>
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
<resources>
|
||||||
<snapshots>
|
<resource>
|
||||||
<enabled>true</enabled>
|
<directory>target</directory>
|
||||||
<updatePolicy>daily</updatePolicy>
|
<includes>
|
||||||
</snapshots>
|
<include>${project.build.finalName}.jar</include>
|
||||||
</pluginRepository>
|
</includes>
|
||||||
</pluginRepositories>
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
</project>
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>copy-repository-tests</id>
|
||||||
|
<phase>pre-integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>target</directory>
|
||||||
|
<includes>
|
||||||
|
<include>${project.build.finalName}-tests.jar</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<version>3.1.1</version>
|
||||||
|
<executions>
|
||||||
|
<!-- Copy the dependencies required for execute integration tests -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-test-artifacts</id>
|
||||||
|
<phase>pre-integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<excludeScope>compile</excludeScope>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<!-- Collect extensions (JARs or AMPs) declared in this module to be deployed to docker -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-extensions</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<includeScope>runtime</includeScope>
|
||||||
|
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Make sure we attach the tests so we can include them when running -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>test-jar</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Runs the integration tests, any class that follows naming convention
|
||||||
|
"**/IT*.java", "**/*IT.java", and "**/*ITCase.java" will be considered an integration test -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<version>3.5.5</version>
|
||||||
|
<configuration>
|
||||||
|
<systemPropertyVariables>
|
||||||
|
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
|
||||||
|
</systemPropertyVariables>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>integration-test</id>
|
||||||
|
<phase>integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>integration-test</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>verify-test</id>
|
||||||
|
<phase>verify</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>verify</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven.surefire</groupId>
|
||||||
|
<artifactId>surefire-junit47</artifactId>
|
||||||
|
<version>3.0.0-M1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Compress JavaScript files and store as *.min.js -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.github.blutorange</groupId>
|
||||||
|
<artifactId>closure-compiler-maven-plugin</artifactId>
|
||||||
|
<version>2.28.0</version>
|
||||||
|
<executions>
|
||||||
|
<!-- Compress the JS files under the assembly folder -->
|
||||||
|
<execution>
|
||||||
|
<id>compress-assembly</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>minify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir>
|
||||||
|
<baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir>
|
||||||
|
<sourceDir>web</sourceDir>
|
||||||
|
<targetDir>web</targetDir>
|
||||||
|
<skipMerge>true</skipMerge>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.js</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/webscripts/**</exclude>
|
||||||
|
<exclude>**/site-webscripts/**</exclude>
|
||||||
|
<exclude>**/META-INF/**</exclude>
|
||||||
|
<exclude>**/*.lib.js</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.min.js</exclude>
|
||||||
|
<exclude>**/*.min.css</exclude>
|
||||||
|
</excludes>
|
||||||
|
<force>true</force>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<!-- Compress the JS files under the resources folder -->
|
||||||
|
<execution>
|
||||||
|
<id>compress-resources</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>minify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<baseSourceDir>${project.basedir}/src/main</baseSourceDir>
|
||||||
|
<baseTargetDir>${project.basedir}/src/main</baseTargetDir>
|
||||||
|
<sourceDir>resources</sourceDir>
|
||||||
|
<targetDir>resources</targetDir>
|
||||||
|
<skipMerge>true</skipMerge>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.js</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/webscripts/**</exclude>
|
||||||
|
<exclude>**/site-webscripts/**</exclude>
|
||||||
|
<exclude>**/*.lib.js</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.min.js</exclude>
|
||||||
|
<exclude>**/*.min.css</exclude>
|
||||||
|
</excludes>
|
||||||
|
<force>true</force>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- Hot reloading with JRebel -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.zeroturnaround</groupId>
|
||||||
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
|
<version>${jrebel.version}</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>generate-rebel-xml</id>
|
||||||
|
<phase>process-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>generate</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<configuration>
|
||||||
|
<!-- For more information about how to configure JRebel plugin see:
|
||||||
|
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
|
||||||
|
<classpath>
|
||||||
|
<fallback>all</fallback>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>${project.build.outputDirectory}</directory>
|
||||||
|
<directory>${project.build.testOutputDirectory}</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</classpath>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
alwaysGenerate - default is false
|
||||||
|
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
|
||||||
|
If 'true' - rebel.xml will always be generated
|
||||||
|
-->
|
||||||
|
<alwaysGenerate>true</alwaysGenerate>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<!-- Filter the resource files in this project and do property substitutions -->
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
<testResources>
|
||||||
|
<!-- Filter the test resource files in this project and do property substitutions -->
|
||||||
|
<testResource>
|
||||||
|
<directory>src/test/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</testResource>
|
||||||
|
</testResources>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<id>java8</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[1.8,11.0)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>java11</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[11.0, 17)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>11</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>java17</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[17,)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>17</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Alfresco Maven Repositories
|
||||||
|
-->
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-public</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-public-snapshots</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<updatePolicy>daily</updatePolicy>
|
||||||
|
</snapshots>
|
||||||
|
</repository>
|
||||||
|
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-private-repository</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-internal</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<pluginRepositories>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>alfresco-plugin-public</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||||
|
</pluginRepository>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>alfresco-plugin-public-snapshots</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<updatePolicy>daily</updatePolicy>
|
||||||
|
</snapshots>
|
||||||
|
</pluginRepository>
|
||||||
|
</pluginRepositories>
|
||||||
|
</project>
|
||||||
|
|||||||
+98
-6
@@ -1,8 +1,100 @@
|
|||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
#set( $symbol_dollar = '$' )
|
||||||
:: Dev environment startup script for Alfresco Community ::
|
@ECHO OFF
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
@echo off
|
|
||||||
|
|
||||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml
|
||||||
|
|
||||||
mvn clean install -DskipTests=true alfresco:run
|
IF [%M2_HOME%]==[] (
|
||||||
|
SET MVN_EXEC=mvn
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT [%M2_HOME%]==[] (
|
||||||
|
SET MVN_EXEC=%M2_HOME%\bin\mvn
|
||||||
|
)
|
||||||
|
|
||||||
|
IF [%1]==[] (
|
||||||
|
echo "Usage: %0 {build_start|build_start_it_supported|start|stop|purge|tail|build_test|test}"
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
|
||||||
|
IF %1==build_start (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==build_start_it_supported (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :prepare_test
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==start (
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==stop (
|
||||||
|
CALL :down
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==purge (
|
||||||
|
CALL:down
|
||||||
|
CALL:purge
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==tail (
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==build_test (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :prepare_test
|
||||||
|
CALL :start
|
||||||
|
CALL :test
|
||||||
|
CALL :tail_all
|
||||||
|
CALL :down
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==test (
|
||||||
|
CALL :test
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
echo "Usage: %0 {build_start|start|stop|purge|tail|build_test|test}"
|
||||||
|
:END
|
||||||
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
:start
|
||||||
|
docker volume create ${rootArtifactId}-acs-volume
|
||||||
|
docker volume create ${rootArtifactId}-db-volume
|
||||||
|
docker volume create ${rootArtifactId}-ass-volume
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d
|
||||||
|
EXIT /B 0
|
||||||
|
:down
|
||||||
|
if exist "%COMPOSE_FILE_PATH%" (
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" down
|
||||||
|
)
|
||||||
|
EXIT /B 0
|
||||||
|
:build
|
||||||
|
call %MVN_EXEC% clean package
|
||||||
|
EXIT /B 0
|
||||||
|
:tail
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" logs -f
|
||||||
|
EXIT /B 0
|
||||||
|
:tail_all
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
|
||||||
|
EXIT /B 0
|
||||||
|
:prepare_test
|
||||||
|
call %MVN_EXEC% verify -DskipTests=true
|
||||||
|
EXIT /B 0
|
||||||
|
:test
|
||||||
|
call %MVN_EXEC% verify
|
||||||
|
EXIT /B 0
|
||||||
|
:purge
|
||||||
|
docker volume rm -f ${rootArtifactId}-acs-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-db-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-ass-volume
|
||||||
|
EXIT /B 0
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user