mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
70 Commits
alfresco-s
...
alfresco-s
Author | SHA1 | Date | |
---|---|---|---|
|
14cd4be39c | ||
|
f2f5698a3b | ||
|
5b83b99549 | ||
|
181951ed99 | ||
|
a4711142e6 | ||
|
78d1466220 | ||
|
d99539c9b0 | ||
|
30bfc14422 | ||
|
641aa6bb8e | ||
|
f031c76a41 | ||
|
2ad03e3f5c | ||
|
7275ba32e8 | ||
|
9bf50267dd | ||
|
bbe3de2abb | ||
|
5c01e8127c | ||
|
9a1b97e64d | ||
|
b3955a1b4f | ||
|
2e546a1cae | ||
|
9dd9f530bb | ||
|
27bcaa3daf | ||
|
8f29244d99 | ||
|
87af573673 | ||
|
d53184196b | ||
|
4431863500 | ||
|
d2e9b89720 | ||
|
cda786187c | ||
|
8cf04fc98d | ||
|
3b579596db | ||
|
b2afebed09 | ||
|
3707dbc5d6 | ||
|
f3d85a19ce | ||
|
6c57d9ede0 | ||
|
0958c63b44 | ||
|
eeb5e7304f | ||
|
8d06e0e791 | ||
|
a11a3a65b6 | ||
|
5936c3fcda | ||
|
235a84105a | ||
|
3465b3aaf5 | ||
|
509e4072e8 | ||
|
6e7e2d7740 | ||
|
841c72e64a | ||
|
6b83be9d9f | ||
|
f4c9a36256 | ||
|
7309916d83 | ||
|
de723e44ff | ||
|
60dac34448 | ||
|
477067a992 | ||
|
016879ec87 | ||
|
97cbaefc6f | ||
|
c854a0aad3 | ||
|
d483c01a6c | ||
|
3116123800 | ||
|
a39a11ffe7 | ||
|
41dd5ff1ea | ||
|
2a3eb3919e | ||
|
f9c4647f22 | ||
|
bc97442af7 | ||
|
9c49d6c7f9 | ||
|
2453421d1b | ||
|
5e17baa651 | ||
|
c3b43c0c68 | ||
|
6f0589ce63 | ||
|
abee710157 | ||
|
19b0d1d8a7 | ||
|
6ebaa083d4 | ||
|
80f62c65ca | ||
|
f946d711ea | ||
|
4a25c4ceba | ||
|
f050c75615 |
66
KEYS
66
KEYS
@@ -9,6 +9,10 @@ Developers:
|
||||
(gpg --list-key <your email>
|
||||
&& gpg --armor --export <your email>) >> this file.
|
||||
|
||||
################################################################
|
||||
# Gabriele Columbro
|
||||
################################################################
|
||||
|
||||
pub 4096R/6FE5701E 2012-03-25
|
||||
uid Gabriele Columbro (VALID CODE SIGNING KEY) <gabriele@apache.org>
|
||||
sub 4096R/E97059F3 2012-03-25
|
||||
@@ -86,4 +90,66 @@ hrGAueS2lH5DUpjZPqClR+txnAK+hVCuFogoWsdsbRHMLkqKqhnQjWnvRrU0ud9j
|
||||
ytG/XwLK3RL7LTmPIC9RqlO1U1A3h5Ykw2INH/bB90lBxmydmp/PHpkhjEAEvzGW
|
||||
r+ipOwsWpF6kLIHUT2LuPxLqTGQCrqYtJyTp61tE
|
||||
=GUM9
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
################################################################
|
||||
# Alfresco Software, Inc - PGP key
|
||||
################################################################
|
||||
|
||||
pub 4096R/DAD3B670 2014-10-20 [expires: 2015-10-20]
|
||||
Key fingerprint = 6959 A697 47E2 7AC4 E1E7 1636 199D 99B1 DAD3 B670
|
||||
uid Alfresco Software, Inc (GPG) <info@alfresco.com>
|
||||
sub 4096R/A4B70B45 2014-10-20 [expires: 2015-10-20]
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v2.0.14 (GNU/Linux)
|
||||
|
||||
mQINBFRFM3EBEADveqoXdxufZiP+hK992UJO9OIumDts9SlirI4VviyRlCn/qc3X
|
||||
5wzAAsTNRBJjsk3S3O3EfmK79GodIb0ebnQSbv6+EnwPK0uwS0ykoy7JrMUHVBY+
|
||||
zI9AwGIe0UpCRXfPH3x0O1Psi1fcKGR/Qs2ouTnCpzDZRq3kFt7/iCXm6t8QpaxE
|
||||
y4KNxT/S8MeGydslqgbEA4fCZ6RP9kzFs8tCNyv9WxHkcb0oos/nC2ihJy3HZATO
|
||||
A2qeTxS5pf6O1hJuE7XRIRCPTN1j0uSAl4ebDKPn4uANz8MwYcZBz89lWVmP/wEz
|
||||
AoN8jWjqb/SstURj+czjXoxhoxMaLDMjdw5RoJsLUmlfp2j9eaFbxmUl103wUL+O
|
||||
R+6sk5pXHpvifjeI/AjNTaZe6WVfkgcUqkHmw0GUgdASgBLBDciGd+O4sXr/L/iZ
|
||||
wxhdxcubWy4MbKcy7QlcS4Z4FwK6jjPQKjn+7PT3Wexh8SAX0661gntV7Rr/SYIY
|
||||
edyRdtLd+SP+TuOn4wQY5x8ahHqGi4PDoSaCMAZ8jbQnbAXXeOlkBuyDm+Z4iGDC
|
||||
OQgjvvQufB2ZA1ml9DjtZOWIdgUQfanGaO8TW+V5v+PFvfMkRFIMMyS8WEp6ePT/
|
||||
IOBDxUBQ0BZ1BktkQ+Oifi179EyvghpePciUWX5oDf6AfW/QfLhnkVhQPQARAQAB
|
||||
tDBBbGZyZXNjbyBTb2Z0d2FyZSwgSW5jIChHUEcpIDxpbmZvQGFsZnJlc2NvLmNv
|
||||
bT6JAj4EEwECACgFAlRFM3ECGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
|
||||
AheAAAoJEBmdmbHa07ZwTtYP/jdMOUFvUqAwaiDBap0+DqyyFgeWfa90b3O6LlAf
|
||||
BeKin4lq8TEVL1CCehRSILAgd0nQQYHeJvLwpvZNl4t2TBFk5e/Xd4gHdszum4Ms
|
||||
aJ0qc2G61ep5vE5z11Ca2vWLEG1Org+iVtZuMZcsCtPhFjyHE1PRU1s0ApoIXZxt
|
||||
z35pgz5PSldPpOk4nuUKIhLLTpNLNd4fgbPiHhyqJloTMsOEycZ+W5Em2Ib2/kxx
|
||||
0GIjAy5A9IlezALKengZ4NjHFwcddcP6+2rFgBTY/7KhhGNyOghwSIIJOdp0BQwD
|
||||
bSN26e5WpYT+gja44QZ44KdMpOcxH8Qt0lJmjULizxcbYTPMsoPF3Jszm0E5auOQ
|
||||
y2cixDEfmioqgJ4KKS6AIXd/yfLEvsGEU1Zz1a1yDQz12ZhzBa/GtoQRhzWErspR
|
||||
7kMPiGKQEhQowB7vHfiCmVhx89RWPwZFFyLz92jS11ZGpeBlWF4hMSefQR7sFWLi
|
||||
rYw0LOyMyFyz9P60ZKX18LHltxsrsteJA7zARcS0uv112O7wSTX1k44s5fiaWlVR
|
||||
Ciuchcp0eTcsYa4Jiz4yZNnJhRi7tnsQJOXYF4IjGAxnJoBLSUUt2uEWtMg09m5F
|
||||
vgrCNcc8HFy1hIIHy0l5CaLJY/5x9Z1Lg2dbwVP7+goTRogRGvpdjy7/eMlQEAgm
|
||||
HMtsuQINBFRFM3EBEADCohKTxy3JYJ3dPzxhD/76nX0zkyvuhepVXAkpzjhWSx9r
|
||||
9RQSB6WLnczlZVriQKVPR6RZ7fn4XhLim3v9e9c188R1WeUvuHWaJXDAvBWFarLu
|
||||
y7kd1ZRpS0UWWE+k/WBruT5rEqjpW4Un/7WINsr972Ic7IFiv5ISUC7h/ylym5T1
|
||||
w15WRZnMF96tLmMjzGdqJYrbu7Y4ZPYr5VwWnd9hE9Cal3YMMsfcXlIWOzw7BRDO
|
||||
aWmMsWyFiVkwCeAZOSYthu4Qdo3bSlGo5C46JuRcdU1ZimZKztC1qlihiju7oWfa
|
||||
3hJT/uWFu06IAdcI6lq4yEb+iG73BNUGNMDzpTeWLW7Q3IByZ/e9/DzFJcjsDf5N
|
||||
jCzJGxAtEJ28egrZe6/Fk6yBwE0+nzUmOPU3qqi57aFFajfdV89SoQwKG83IpNJl
|
||||
L9vbE62Iljm0DNK3VEotw9OMc6B3z6TfatVclqLFTH5Q+4rNcCytpK747loGVJcP
|
||||
KFs1FzFj+hW2MkFcnY1JbuaSuyrhPVpg4Z1bjxLVLdlisYm0AL+n+z0tmFO45XJ2
|
||||
mS06ckpqFAhk5HOOMOd/9+Qi3p9orE6dFM+TIWnxDphpws43O+FSYM8OJk7saGos
|
||||
DNMvm9C0oz07MwMuthkLmSBsWmkZYXrvkUY1lrTdpyqqs11qllBZ1PsRATKeIQAR
|
||||
AQABiQIlBBgBAgAPBQJURTNxAhsMBQkB4TOAAAoJEBmdmbHa07ZwQl4P/2FH+4Sa
|
||||
JJgaNGoyyo1Oh1Xd1OMHf++V7FpXxHHmgEv6bTz3E8xHTMA7Zm1iBIPGrIo2loKe
|
||||
49p3gbGFtvZLLT31Tg+usUN62QntKYOIiztdjsxzTskBgJH+A4Ucz7O1NsN6GQXF
|
||||
QgGFlEpWApXCK8ogNp6ntwxGCyOFvZujuJjSFUZcpNEGhOYhYuKvo18qboP3RgVy
|
||||
o74FPtPvh3YMz9DLRXeVbhhIq0oejek5z0aOXEjgZipVO4U7uDO5EVcG57jIVfiI
|
||||
WM681KHG/Djx64GmSi9wo+P687Ib7+UHSzBTeEm9YVRNNSQFbuvxqq9XhDctkkbZ
|
||||
m/QRbQXJFPQJcDOLLH06JNQ+/KvT8uwduiBFs2x77qKrVCxqCQU8XwY+KnyGouf9
|
||||
sLdxDZwGoXFbnCyRKFH+fqoIMdcYzIT/VvGswTCNqSOvDxnSNO9REVbdsIJwenqt
|
||||
QetRR7SVYKfcyLMCtMek3Fgst85khwP8tIYAEerE+XN04b1FfD3mjqvgBdUY7IDM
|
||||
W1NVRTtjlX46ltNvtERO8JGYMqlRW/wpDXQzRxryNY7frXA+fhog2L53cOK/Fwc8
|
||||
UcbLubQPkh/6+w4SybT2F8otOB1J8KZ0tzbTd5JxuX0V0AD8OjH+uuN67r5bQBk9
|
||||
ARVlLqDOpHP01PW6WUQta2xAQ2mshuQZTX1H
|
||||
=3Y/D
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
152
README.md
152
README.md
@@ -1,89 +1,75 @@
|
||||
# [](#features) Alfresco SDK
|
||||
|
||||
SDK for Alfresco Development, Testing, packaging and custom project lifecycle management based on Apache Maven.
|
||||
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).
|
||||
|
||||
Includes support for rapid and standard development, testing, packaging, versioning and release of your Alfresco integration and extension projects.
|
||||
|
||||
## SDK 2.0.0 available in Maven Central
|
||||
|
||||
The SDK 2.0.0 is finally [released in Maven Central](http://search.maven.org/#search|ga|1|alfresco%20sdk).
|
||||
|
||||
- *To create a new Alfresco project*: Run a
|
||||
|
||||
```bash
|
||||
mvn archetype:generate -Dfilter=org.alfresco:
|
||||
```
|
||||
|
||||
and use one of the available archetypes (AMP, Share AMP, All in One)
|
||||
|
||||
- *To use the SDK in your project:* Add the below parent reference snippet to the existing project (*NOTE*: you might need folder layout changes) to inherit features from Alfresco SDK POM:
|
||||
|
||||
```xml
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-parent</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</parent>
|
||||
|
||||
```
|
||||
## Resources
|
||||
|
||||
### Alfresco Official Docs
|
||||
|
||||
- Documentation for the SDK on Alfresco Community (latest) is available [here](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
|
||||
|
||||
- Documentation for the SDK on Alfresco Enterprise (5.0) is available [here](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||
|
||||
### Developer Documentation
|
||||
|
||||
**SDK 2.x**: Full developer (Maven) documentation is available at the [Alfresco SDK site](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html).
|
||||
|
||||
|
||||
|
||||
# Check the SDK in action!
|
||||
|
||||
For an overview of the SDK potential check out this video:
|
||||
|
||||
[](https://www.youtube.com/watch?v=utYZaVe9Nd0)
|
||||
|
||||
The SDK is composed of:
|
||||
|
||||
- An [SDK Parent POM](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/poms/alfresco-sdk-parent/index.html) which you can use in your projects to enable rapid Alfresco development features
|
||||
- An [Alfresco Platform Distribution POM](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-platform-distribution/latest/index.html) which pre-configures versions of Alfresco and common 3rd party dependency libraries, for stability purposes
|
||||
- A [Maven Alfresco Plugin](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/plugins/alfresco-maven-plugin/index.html) which provides AMP packaging and installation facilities (a la MMT) and other common goals for Alfresco development
|
||||
- A number of *Maven Archetypes* (sample projects) including:
|
||||
1. [Alfresco Repository AMP Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-amp-archetype/index.html)
|
||||
2. [Alfresco Share AMP Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/share-amp-archetype/index.html)
|
||||
3. [Alfresco All-in-One Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-allinone-archetype/index.html)
|
||||
|
||||
|
||||
### Samples
|
||||
|
||||
Advanced sample projects are maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
|
||||
|
||||
|
||||
### Contribute
|
||||
|
||||
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).
|
||||
|
||||
## Maven Repositories
|
||||
|
||||
The Alfresco SDK is released in Maven Central as of version 2.0-beta-1.
|
||||
|
||||
Alfresco (Community and Enterprise) artifacts are instead hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/nexus/).
|
||||
|
||||
Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
|
||||
|
||||
for Enterprise and Premiere licensed software access you need to get credential via the Alfresco Enterprise Support. See [public docs](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html) or [this KB (login required)](https://myalfresco.force.com/support/articles/en_US/Technical_Article/Where-can-I-find-the-repository-for-Enterprise-Maven-artifacts) for more details.
|
||||
|
||||
## License and Support
|
||||
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). It's a community driven project which is supported for Alfresco Development (please refere to the official [Alfresco Documentation](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html) for supported features.
|
||||
## 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.
|
||||
|
||||
## News
|
||||
- 2014-12-20: SDK 2.0.0 in staging. If you want early access to the release candidate build and want to participate to the testing process check [this page](https://github.com/Alfresco/alfresco-sdk/wiki/SDK-Supported-Features-and-Test-plan) and report issues [here](https://github.com/Alfresco/alfresco-sdk/issues).
|
||||
- 2014-09-10: SDK 2.0.0-beta-4 released to Maven Central and in the [Archetype Catalog](http://repo1.maven.org/maven2/archetype-catalog.xml)!
|
||||
- 2014-09-09: SDK 2.0.0-beta-3 released to Maven Central
|
||||
- 2014-08-30: SDK 2.0.0-beta-1 and 2.0.0-beta-2 available in [Maven Central](http://search.maven.org/#search|ga|1|org.alfresco.maven)
|
||||
- 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), including tags, branches, issues. Allow a little time for a full cleanup of issue labels and to sort repository permissions. Please update obsolete references and bear with us as we update Alfresco Documentation to this change.
|
||||
|
||||
- 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)
|
||||
- 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)
|
||||
- 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-07: Project fully migrated from [Google Code](https://code.google.com/p/maven-alfresco-archetypes).
|
||||
|
||||
## User Getting Started
|
||||
|
||||
### Latest Documentation
|
||||
To get started with Alfresco SDK 2.1.1 (latest) visit the offical Alfresco Documentation for:
|
||||
|
||||
- [Alfresco Community 5.0.d and above](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
|
||||
- [Alfresco Enterprise 5.0.1 and above](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||
|
||||
#### Previous versions Documentation
|
||||
- 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)
|
||||
- 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)
|
||||
|
||||
### Samples
|
||||
Sample extension projects that use the SDK, maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
|
||||
|
||||
### Command reference
|
||||
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).
|
||||
|
||||
### Want to get up to speed quickly in Eclipse? Check out this video!
|
||||
|
||||
[](https://www.youtube.com/watch?v=utYZaVe9Nd0)
|
||||
|
||||
## 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/).
|
||||
|
||||
## 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).
|
||||
|
||||
## 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/).
|
||||
- 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.
|
||||
|
||||
*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).
|
||||
|
||||
### Alfresco Artifacts Repository
|
||||
|
||||
#### Alfresco Releases
|
||||
You can use the following snippet in your pom.xml to access releases on Alfresco Artifact repository:
|
||||
|
||||
```xml
|
||||
<repository>
|
||||
<id>alfresco-public</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||
</repository>
|
||||
```
|
||||
|
||||
#### SDK Snapshots
|
||||
To test new unreleased (unsupported) features, you can use the following snippet in your pom.xml to access SDK nightlies (SNAPSHOTS) from the OSS Sonatype repository:
|
||||
|
||||
```xml
|
||||
<repository>
|
||||
<id>oss-sonatype-snapshots</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
```
|
||||
|
||||
## For Developers that want to contribute to the SDK
|
||||
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
</requiredProperty>
|
||||
</requiredProperties>
|
||||
<modules>
|
||||
<module id="repo-amp" dir="repo-amp" name="repo-amp">
|
||||
<module id="${rootArtifactId}-repo-amp" name="${rootArtifactId}-repo-amp" dir="__rootArtifactId__-repo-amp">
|
||||
<fileSets>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
@@ -54,7 +54,7 @@
|
||||
</fileSets>
|
||||
</module>
|
||||
|
||||
<module id="share-amp" dir="share-amp" name="share-amp">
|
||||
<module id="${rootArtifactId}-share-amp" name="${rootArtifactId}-share-amp" dir="__rootArtifactId__-share-amp" >
|
||||
<fileSets>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
@@ -71,7 +71,13 @@
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/web-extension</directory>
|
||||
<includes>
|
||||
<include>*.xml</include>
|
||||
<include>__artifactId__-slingshot-application-context.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/web-extension/site-data/extensions</directory>
|
||||
<includes>
|
||||
<include>__artifactId__-example-widgets.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
@@ -79,6 +85,10 @@
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/__artifactId__-slingshot-application-context.xml</exclude>
|
||||
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/test/resources</directory>
|
||||
@@ -103,11 +113,20 @@
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/main/resources/alfresco/extension</directory>
|
||||
<includes>
|
||||
<include>dev-log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/dev-log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
@@ -134,7 +153,7 @@
|
||||
|
||||
<module id="runner" dir="runner" name="runner" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
|
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
<!-- 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">
|
||||
<list>
|
||||
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
|
@@ -22,17 +22,21 @@
|
||||
<beans>
|
||||
|
||||
<!-- A simple class that is initialized by Spring -->
|
||||
<bean id="${package}.exampleBean" class="${package}.demoamp.Demo" init-method="init" />
|
||||
|
||||
<!-- A simple module component that will be executed once -->
|
||||
<bean id="${package}.exampleComponent" class="${package}.demoamp.DemoComponent" parent="module.baseComponent" >
|
||||
<property name="moduleId" value="${project.artifactId}" /> <!-- See module.properties -->
|
||||
<bean id="${artifactId}.exampleBean" class="${package}.demoamp.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="${artifactId}.exampleComponent" class="${package}.demoamp.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="2.0" />
|
||||
<property name="appliesFromVersion" value="2.0" />
|
||||
<property name="sinceVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="1.0" />
|
||||
<property name="nodeService" ref="NodeService" />
|
||||
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||
</bean>
|
||||
|
||||
|
||||
</beans>
|
@@ -21,8 +21,11 @@
|
||||
<beans>
|
||||
|
||||
<!-- 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/bootstrap-context.xml" />
|
||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/webscript-context.xml" />
|
||||
|
||||
</beans>
|
@@ -23,7 +23,7 @@ module.id=${project.artifactId}
|
||||
#module.aliases=myModule-123, my-module
|
||||
module.title=${project.name}
|
||||
module.description=${project.description}
|
||||
module.version=${noSnapshotVersion}
|
||||
module.version=${project.version}
|
||||
|
||||
# The following optional properties can be used to prevent the module from being added
|
||||
# to inappropriate versions of the WAR file.
|
@@ -20,7 +20,6 @@
|
||||
# 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.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Use Solr4 as that is used by default with Alfresco 5
|
@@ -46,12 +46,13 @@
|
||||
</dependency>
|
||||
|
||||
<!--===============================================================
|
||||
The following dependencies are needed to be able to compile the
|
||||
custom functional tests that are based on Page Objects (PO)
|
||||
===============================================================-->
|
||||
The following dependencies are needed to be able to compile the
|
||||
custom functional tests that are based on Page Objects (PO)
|
||||
===============================================================-->
|
||||
|
||||
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
|
||||
It contains page objects such as LoginPage -->
|
||||
It contains page objects such as LoginPage and it also brings
|
||||
in selenium-grid and selenium. -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
@@ -67,8 +68,7 @@
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here -->
|
||||
<!-- Exclude selenium as it is already brought in by share-po dependency above -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
@@ -80,12 +80,6 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Bring in newer selenium version -->
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
</dependency>
|
||||
<!-- Test NG is defined with test scope in share-po, so need it here too -->
|
||||
<!-- Alfresco code creates a wrapper around Test NG -->
|
||||
<dependency>
|
||||
@@ -100,7 +94,6 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@@ -17,11 +17,11 @@
|
||||
-->
|
||||
|
||||
<!-- Add module specific messages and labels -->
|
||||
<bean id="${package}.share-amp.resources"
|
||||
<bean id="${artifactId}.resources"
|
||||
class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
|
||||
<property name="resourceBundles">
|
||||
<list>
|
||||
<value>alfresco.web-extension.messages.custom</value>
|
||||
<value>alfresco.web-extension.messages.${artifactId}</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
@@ -1,7 +1,10 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
<extension>
|
||||
<modules>
|
||||
<module>
|
||||
<id>Example Aikau Widgets</id>
|
||||
<id>${artifactId} - Example Aikau Widgets</id>
|
||||
<version>1.0</version>
|
||||
<auto-deploy>true</auto-deploy>
|
||||
<configurations>
|
@@ -24,7 +24,7 @@ module.id=${project.artifactId}
|
||||
#module.aliases=myModule-123, my-module
|
||||
module.title=${project.name}
|
||||
module.description=${project.description}
|
||||
module.version=${noSnapshotVersion}
|
||||
module.version=${project.version}
|
||||
|
||||
# The following optional properties can be used to prevent the module from being added
|
||||
# to inappropriate versions of the WAR file.
|
@@ -2,7 +2,7 @@
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
/*
|
||||
* Copyright (C) 2005-2015 Alfresco Software Limited.
|
||||
* Copyright (C) 2005-2016 Alfresco Software Limited.
|
||||
* This file is part of Alfresco
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
@@ -18,8 +18,8 @@
|
||||
package ${package}.demoamp;
|
||||
|
||||
import ${package}.demoamp.po.DemoPage;
|
||||
import org.alfresco.po.share.AbstractTest;
|
||||
import org.alfresco.po.share.LoginPage;
|
||||
import org.alfresco.po.AbstractTest;
|
||||
import org.alfresco.po.share.PeopleFinderPage;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
@@ -41,18 +41,22 @@ public class DemoPageTestIT extends AbstractTest {
|
||||
|
||||
@BeforeClass(groups = {"alfresco-one"})
|
||||
public void prepare() throws Exception {
|
||||
// Navigate to share
|
||||
drone.navigateTo(shareUrl + "/page/hdp/ws/simple-page");
|
||||
// Reuse Alfresco Share login page object from share-po lib.
|
||||
LoginPage loginPage = new LoginPage(drone);
|
||||
// Navigate to share, which will redirect to Login page
|
||||
driver.navigate().to(shareUrl + "/page");
|
||||
|
||||
// Resolve/Bind current page to LoginPage object
|
||||
LoginPage loginPage = resolvePage(driver).render();
|
||||
loginPage.loginAs(username, password);
|
||||
}
|
||||
|
||||
@BeforeMethod
|
||||
public void loadPage() {
|
||||
// Goto demo page
|
||||
drone.navigateTo(shareUrl + "/page/hdp/ws/simple-page");
|
||||
page = new DemoPage(drone);
|
||||
driver.navigate().to(shareUrl + "/page/hdp/ws/simple-page");
|
||||
|
||||
// We need to instantiate the page like this as it is not yet in
|
||||
// the factory known list of pages
|
||||
page = factoryPage.instantiatePage(driver, DemoPage.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -86,7 +90,7 @@ public class DemoPageTestIT extends AbstractTest {
|
||||
@Test
|
||||
public void navigate() {
|
||||
Assert.assertNotNull(page.getNav());
|
||||
PeopleFinderPage peoppleFinderPage = page.getNav().selectPeople().render();
|
||||
Assert.assertNotNull(peoppleFinderPage);
|
||||
PeopleFinderPage peopleFinderPage = page.getNav().selectPeople().render();
|
||||
Assert.assertNotNull(peopleFinderPage);
|
||||
}
|
||||
}
|
@@ -2,7 +2,7 @@
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
/*
|
||||
* Copyright (C) 2005-2015 Alfresco Software Limited.
|
||||
* Copyright (C) 2005-2016 Alfresco Software Limited.
|
||||
* This file is part of Alfresco
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
@@ -18,10 +18,10 @@
|
||||
package ${package}.demoamp.po;
|
||||
|
||||
import org.alfresco.po.share.SharePage;
|
||||
import org.alfresco.webdrone.RenderTime;
|
||||
import org.alfresco.webdrone.WebDrone;
|
||||
import org.openqa.selenium.By;
|
||||
import org.alfresco.po.RenderTime;
|
||||
import org.openqa.selenium.NoSuchElementException;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.FindBy;
|
||||
|
||||
/**
|
||||
* Demo of simple share page object that encapsulates the demo of simple page.
|
||||
@@ -30,22 +30,17 @@ import org.openqa.selenium.NoSuchElementException;
|
||||
* @since 2.0.1
|
||||
*/
|
||||
public class DemoPage extends SharePage {
|
||||
private By SIMPLE_DEMO_LOGO = By.id("DEMO_SIMPLE_LOGO");
|
||||
private By SIMPLE_DEMO_MESSAGE = By.id("DEMO_SIMPLE_MSG");
|
||||
@FindBy(id="DEMO_SIMPLE_LOGO")
|
||||
WebElement logo;
|
||||
|
||||
public DemoPage(WebDrone drone) {
|
||||
super(drone);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public DemoPage render() {
|
||||
return render(new RenderTime(maxPageLoadingTime));
|
||||
}
|
||||
@FindBy(id="DEMO_SIMPLE_MSG")
|
||||
WebElement msg;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public DemoPage render(RenderTime timer) {
|
||||
|
||||
// Wait for logo and message to display, then consider page rendered
|
||||
while (true) {
|
||||
timer.start();
|
||||
try {
|
||||
@@ -57,32 +52,19 @@ public class DemoPage extends SharePage {
|
||||
timer.end();
|
||||
}
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public DemoPage render(long time) {
|
||||
return render(new RenderTime(time));
|
||||
}
|
||||
|
||||
public boolean isSimpleLogoDisplayed() {
|
||||
try {
|
||||
return drone.find(SIMPLE_DEMO_LOGO).isDisplayed();
|
||||
} catch (NoSuchElementException se) {
|
||||
}
|
||||
return false;
|
||||
return isDisplayed(logo);
|
||||
}
|
||||
|
||||
public boolean isMessageDisplayed() {
|
||||
try {
|
||||
return drone.find(SIMPLE_DEMO_MESSAGE).isDisplayed();
|
||||
} catch (NoSuchElementException se) {
|
||||
}
|
||||
return false;
|
||||
return isDisplayed(msg);
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return drone.find(SIMPLE_DEMO_MESSAGE).getText();
|
||||
return msg.getText();
|
||||
}
|
||||
}
|
@@ -26,7 +26,7 @@
|
||||
Uncomment if you need to change (Note. current default version for Enterprise edition is @@alfresco.enterprise.default.version@@)
|
||||
<alfresco.version>@@alfresco.community.default.version@@</alfresco.version>
|
||||
<alfresco.rm.version>@@alfresco.rm.version@@</alfresco.rm.version>
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location> -->
|
||||
<alfresco.data.location>/absolute/path/to/alf_data_dev</alfresco.data.location> -->
|
||||
|
||||
<!-- This control the root logging level for all apps uncomment and change, defaults to WARN
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
@@ -41,6 +41,24 @@
|
||||
<share.client.url>http://localhost:8080/share</share.client.url>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- If we are running tests then make the H2 Scripts available.
|
||||
Note. tests are skipped when you are running -Prun -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>h2scripts</classifier>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<!-- Here we realize the connection with the Alfresco selected platform (e.g.version and edition) -->
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
@@ -86,5 +104,35 @@
|
||||
<maven.alfresco.includeWebResources>false</maven.alfresco.includeWebResources>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- if we're on a unix machine, chmod run.sh to be executable -->
|
||||
<profile>
|
||||
<id>chmod</id>
|
||||
<activation><os><family>unix</family></os></activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.2.1</version>
|
||||
<inherited>false</inherited>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>chmod</id>
|
||||
<phase>validate</phase>
|
||||
<goals><goal>exec</goal></goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<executable>chmod</executable>
|
||||
<arguments>
|
||||
<argument>+x</argument>
|
||||
<argument>${basedir}/run.sh</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
@@ -24,6 +24,14 @@
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<!-- During development we set log root level to Debug,
|
||||
this will be applicable to the log configuration in
|
||||
repo/src/main/resources/alfresco/extension/dev-log4j.properties,
|
||||
such as DemoComponent logging. -->
|
||||
<app.log.root.level>DEBUG</app.log.root.level>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
@@ -34,7 +42,7 @@
|
||||
<!-- Demonstrating the dependency / installation of the repo AMP developed in the 'repo-amp' module -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>repo-amp</artifactId>
|
||||
<artifactId>${rootArtifactId}-repo-amp</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
@@ -48,7 +56,7 @@
|
||||
</dependency>
|
||||
-->
|
||||
<!-- Uncomment if you are using the RM (Records Management) module. -->
|
||||
<!--
|
||||
<!-- Set alfresco.rm.version in parent pom to appropriate version for 5.1
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm</artifactId>
|
||||
@@ -83,7 +91,7 @@
|
||||
<!-- Add / sort your AMPs here -->
|
||||
<overlay>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>repo-amp</artifactId>
|
||||
<artifactId>${rootArtifactId}-repo-amp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
<!-- Uncomment if you are using SPP -->
|
||||
@@ -165,6 +173,7 @@
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<!-- Include remote JUnit test lib to allow remote unit testing and start remote JUnit runner. -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-rad</artifactId>
|
||||
|
@@ -1,2 +1,6 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# You can add here custom log4j classes. This will be merged with the main log4j.properties
|
||||
# See http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Best_Log4j_Configuration_Practices
|
||||
# See http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Best_Log4j_Configuration_Practices
|
||||
log4j.logger.${package}.demoamp.DemoComponent=${app.log.root.level}
|
@@ -9,7 +9,11 @@ if not exist %springloadedfile% (
|
||||
mvn validate -Psetup
|
||||
)
|
||||
|
||||
set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G
|
||||
:: Use these settings if you're using JDK7
|
||||
:: set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G -XX:PermSize=300m
|
||||
|
||||
:: Spring loaded does not work very well with 5.1 at the moment, breaks the H2 db after first run and then restart
|
||||
:: set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G
|
||||
set MAVEN_OPTS=-noverify -Xms256m -Xmx2G
|
||||
|
||||
mvn install -Prun -nsu
|
||||
:: mvn install -Prun
|
||||
mvn clean install -Prun -nsu
|
||||
|
@@ -6,4 +6,10 @@ springloadedfile=~/.m2/repository/org/springframework/springloaded/@@springloade
|
||||
if [ ! -f $springloadedfile ]; then
|
||||
mvn validate -Psetup
|
||||
fi
|
||||
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G" mvn install -Prun
|
||||
|
||||
# Use these settings if you're using JDK7
|
||||
# MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn install -Prun
|
||||
|
||||
# Spring loaded does not work very well with 5.1 at the moment, breaks the H2 db after first run and then restart
|
||||
#MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G" mvn clean install -Prun
|
||||
MAVEN_OPTS="-noverify -Xms256m -Xmx2G" mvn clean install -Prun
|
@@ -12,6 +12,11 @@
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<!-- Bring in newer Spring with support for annotations, used for Page Object tests -->
|
||||
<spring.version>4.1.6.RELEASE</spring.version>
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>run</id>
|
||||
@@ -19,8 +24,9 @@
|
||||
<!-- TODO: figure out a way to define these properties in a parent POM, they are now also duplicated
|
||||
in the solr-config/pom.xml -->
|
||||
<properties>
|
||||
<alfresco.solr.dir>${project.parent.basedir}/${alfresco.data.location}/solr4</alfresco.solr.dir>
|
||||
<alfresco.solr.dir>${alfresco.data.location}/solr4</alfresco.solr.dir>
|
||||
<alfresco.solr.home.dir>${alfresco.solr.dir}/config</alfresco.solr.home.dir>
|
||||
<alfresco.solr.data.dir>${alfresco.solr.dir}/data</alfresco.solr.data.dir>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@@ -56,6 +62,29 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.tomcat.maven</groupId>
|
||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
||||
<dependencies>
|
||||
<!-- Bring in the H2 Database scripts needed when running embedded, they are now
|
||||
available from the standard generated artifacts, no longer needed to be picked
|
||||
up from the alfresco-rad project -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>h2scripts</classifier>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Explicitly bring in the Plexus Archiver so assembly goes quicker -->
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-archiver</artifactId>
|
||||
<version>2.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run-wars</id>
|
||||
@@ -205,28 +234,17 @@
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<!-- Bring in the Share Page Objects (PO) used in the regression tests -->
|
||||
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
|
||||
It contains page objects such as LoginPage and it also brings
|
||||
in selenium-grid and selenium. -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Bring in the Share Page Object (PO) regression tests that comes with Alfresco.
|
||||
These tests cover the Alfresco Share Web Application -->
|
||||
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
|
||||
the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
@@ -234,8 +252,7 @@
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<!-- Exclude selenium as it is already brought in by share-po dependency above -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
@@ -247,25 +264,6 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Make sure we are running with newer selenium that works with newest FF (newer than 2.39.0) -->
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>servlet-api-2.5</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Test NG is defined with test scope in share-po, so need it here too -->
|
||||
<!-- Alfresco code creates a wrapper around Test NG -->
|
||||
<dependency>
|
||||
@@ -280,6 +278,43 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Bring in newer selenium version if required
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.48.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
-->
|
||||
<!-- Need to bring in a newer Spring that supports annotations, Alfresco brings in older one -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-core</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-beans</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-aspects</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
@@ -306,9 +341,9 @@
|
||||
<version>2.18.1</version>
|
||||
<configuration>
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>${project.parent.basedir}/share-amp/target/test-classes/testng.xml</suiteXmlFile>
|
||||
<suiteXmlFile>${project.parent.basedir}/${rootArtifactId}-share-amp/target/test-classes/testng.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
<testClassesDirectory>${project.parent.basedir}/share-amp/target/test-classes</testClassesDirectory>
|
||||
<testClassesDirectory>${project.parent.basedir}/${rootArtifactId}-share-amp/target/test-classes</testClassesDirectory>
|
||||
<systemPropertyVariables>
|
||||
<!-- Where is the Alfresco Share Webapp that we are testing -->
|
||||
<share.target>${share.client.url}</share.target>
|
||||
@@ -336,30 +371,16 @@
|
||||
|
||||
<dependencies>
|
||||
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
|
||||
Without it TestNG cannot load our test class when it uses page objects such as LoginPage -->
|
||||
It contains page objects such as LoginPage and it also brings
|
||||
in selenium-grid and selenium. -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
|
||||
the org.alfresco.po.share.AbstractTest class that our custom tests extend.
|
||||
Without it TestNG cannot load our test class -->
|
||||
the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
@@ -367,8 +388,7 @@
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<!-- Exclude selenium as it is already brought in by share-po dependency above -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
@@ -380,25 +400,6 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Make sure we are running with newer selenium that works with newest FF (newer than 2.39.0) -->
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>servlet-api-2.5</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Test NG is defined with test scope in share-po, so need it here too -->
|
||||
<!-- Alfresco code creates a wrapper around Test NG -->
|
||||
<dependency>
|
||||
@@ -413,6 +414,43 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Bring in newer selenium version if required
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.48.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
-->
|
||||
<!-- Need to bring in a newer Spring that supports annotations, Alfresco brings in older one -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-core</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-beans</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-aspects</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
<version>${spring.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
|
@@ -38,13 +38,11 @@
|
||||
<class name="org.alfresco.po.share.site.document.DocumentDetailsPageTest"/>
|
||||
</classes>
|
||||
</test>
|
||||
<!-- TODO: fix this, currently does not work
|
||||
<test name="DocumentLibraryPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.DocumentLibraryPageTest"/>
|
||||
</classes>
|
||||
</test>
|
||||
-->
|
||||
<test name="FileDirectoryInfoTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.FileDirectoryInfoTest">
|
||||
|
@@ -13,19 +13,26 @@
|
||||
<Context docBase="${project.parent.basedir}/alfresco-war/target/${project.build.finalName}">
|
||||
<!-- Pick up static resource files from AMPs and other directories (this should not include docBase) -->
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/repo-amp/target/repo-amp/web" />
|
||||
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-repo-amp/target/amp/web" />
|
||||
<!-- IMPORTANT! The extraResourcePaths string need to be on one continues line, so if we add another Repo AMP,
|
||||
it would look something like this:
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-repo-amp/target/amp/web,/=${project.parent.basedir}/component-a-repo/target/amp/web" />
|
||||
-->
|
||||
|
||||
<!-- Configure where the Alfresco (alfresco.war) web application can load classes, test classes, and config files -->
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) target/classes
|
||||
2) target/${project.build.finalName}/config
|
||||
2) target/amp/config
|
||||
3) target/test-classes
|
||||
|
||||
This way mvn compile can be invoked and all changes will be picked up
|
||||
-->
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/repo-amp/target/classes;${project.parent.basedir}/repo-amp/target/repo-amp/config;${project.parent.basedir}/repo-amp/target/test-classes" />
|
||||
virtualClasspath="${project.parent.basedir}/${rootArtifactId}-repo-amp/target/classes;
|
||||
${project.parent.basedir}/${rootArtifactId}-repo-amp/target/amp/config;
|
||||
${project.parent.basedir}/${rootArtifactId}-repo-amp/target/test-classes" />
|
||||
|
||||
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
|
@@ -10,13 +10,18 @@
|
||||
<!-- Pick up static resource files from any Share extensions, being it a JAR or an AMP
|
||||
(this should not include docBase) -->
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/share-amp/target/share-amp/web" />
|
||||
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-share-amp/target/amp/web" />
|
||||
<!-- IMPORTANT! The extraResourcePaths string need to be on one continues line, so if we add another Share AMP,
|
||||
it would look something like this:
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-share-amp/target/amp/web,/=${project.parent.basedir}/component-a-share/target/amp/web" />
|
||||
-->
|
||||
|
||||
<!-- Configure where the Share (share.war) web application can load classes, config, and test classes (in that order) -->
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) share-amp/target/classes
|
||||
2) share-amp/target/${project.build.finalName}/config
|
||||
3) share-amp/target/test-classes
|
||||
1) ${rootArtifactId}-share-amp/target/classes
|
||||
2) ${rootArtifactId}-share-amp/target/amp/config
|
||||
3) ${rootArtifactId}-share-amp/target/test-classes
|
||||
4) Add other AMP paths here....
|
||||
5) share/target/test-classes (loads the share-config-custom.xml used during test runs)
|
||||
|
||||
@@ -24,7 +29,10 @@
|
||||
-->
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/share-amp/target/classes;${project.parent.basedir}/share-amp/target/share-amp/config;${project.parent.basedir}/share-amp/target/test-classes;${project.parent.basedir}/share/target/test-classes" />
|
||||
virtualClasspath="${project.parent.basedir}/${rootArtifactId}-share-amp/target/classes;
|
||||
${project.parent.basedir}/${rootArtifactId}-share-amp/target/amp/config;
|
||||
${project.parent.basedir}/${rootArtifactId}-share-amp/target/test-classes;
|
||||
${project.parent.basedir}/share/target/test-classes" />
|
||||
|
||||
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
|
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Context>
|
||||
<Environment name="solr/home" type="java.lang.String" value="${project.parent.basedir}/alf_data_dev/solr4/config/" override="true"/>
|
||||
<Environment name="solr/model/dir" type="java.lang.String" value="${project.parent.basedir}/alf_data_dev/solr4/config/alfrescoModels/" override="true"/>
|
||||
<Environment name="solr/content/dir" type="java.lang.String" value="${project.parent.basedir}/alf_data_dev/solr4/data/content/" override="true"/>
|
||||
<Environment name="solr/home" type="java.lang.String" value="${alfresco.solr.home.dir}/" override="true"/>
|
||||
<Environment name="solr/model/dir" type="java.lang.String" value="${alfresco.solr.home.dir}/alfrescoModels/" override="true"/>
|
||||
<Environment name="solr/content/dir" type="java.lang.String" value="${alfresco.solr.data.dir}/content/" override="true"/>
|
||||
|
||||
<!-- Pick up static resource files from any Solr extensions, being it a JAR or an AMP,
|
||||
by default there are no extensions, just the standard Solr webapp files.
|
||||
|
@@ -29,12 +29,12 @@
|
||||
<!-- Demonstrating the dependency / installation of the share AMP developed in the 'share-amp' module -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>share-amp</artifactId>
|
||||
<artifactId>${rootArtifactId}-share-amp</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
<!-- Uncomment if you are using RM (Records Management) module -->
|
||||
<!--
|
||||
<!-- Make sure to set the correct version for 5.1 with alfresco.rm.version property in parent POM
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm-share</artifactId>
|
||||
@@ -46,9 +46,36 @@
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<!-- Bring in the Maven Dependency plugin so we can unpack and store the MANIFEST.MF file.
|
||||
It will be used in the custom Share WAR that is produced by the WAR plugin,
|
||||
it otherwise gets overwritten by the overlay process. -->
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>unpack</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>unpack-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<includeTypes>war</includeTypes>
|
||||
<includeGroupIds>org.alfresco</includeGroupIds>
|
||||
<includeArtifactIds>share</includeArtifactIds>
|
||||
<includes>META-INF/MANIFEST.MF</includes>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- Bring in the MANIFEST.MF file from the original share.war, it contains version information
|
||||
that is needed for it to operate properly -->
|
||||
<archive>
|
||||
<addMavenDescriptor>false</addMavenDescriptor>
|
||||
<manifestFile>${project.build.directory}/dependency/META-INF/MANIFEST.MF</manifestFile>
|
||||
</archive>
|
||||
<!-- Here is can control the order of overlay of your (WAR, AMP, etc.) dependencies
|
||||
| NOTE: At least one WAR dependency must be uncompressed first
|
||||
| NOTE: In order to have a dependency effectively added to the WAR you need to
|
||||
@@ -56,7 +83,7 @@
|
||||
| NOTE: First-win resource strategy is used by the WAR plugin
|
||||
-->
|
||||
<overlays>
|
||||
<!-- The current project customizations -->
|
||||
<!-- Current project customizations. This is normally empty, since customizations come from the AMPs -->
|
||||
<overlay/>
|
||||
<!-- The Share WAR -->
|
||||
<overlay>
|
||||
@@ -69,7 +96,7 @@
|
||||
<!-- Add / sort your AMPs here -->
|
||||
<overlay>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>share-amp</artifactId>
|
||||
<artifactId>${rootArtifactId}-share-amp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
<!-- Uncomment if you are using RM module -->
|
||||
|
@@ -21,7 +21,7 @@
|
||||
<id>run</id>
|
||||
|
||||
<properties>
|
||||
<alfresco.solr.dir>${project.parent.basedir}/${alfresco.data.location}/solr4</alfresco.solr.dir>
|
||||
<alfresco.solr.dir>${alfresco.data.location}/solr4</alfresco.solr.dir>
|
||||
<alfresco.solr.home.dir>${alfresco.solr.dir}/config</alfresco.solr.home.dir>
|
||||
<alfresco.solr.data.dir>${alfresco.solr.dir}/data</alfresco.solr.data.dir>
|
||||
</properties>
|
||||
|
@@ -16,9 +16,9 @@ Project layout
|
||||
|
||||
+---+
|
||||
pom.xml
|
||||
|-> repo-amp
|
||||
|-> rootArtifactid-repo-amp
|
||||
|-> rootArtifactid-share-amp
|
||||
|-> repo
|
||||
|-> share-amp
|
||||
|-> share
|
||||
|-> solr
|
||||
|-> runner (a Tomcat embedded runner / integration test runner)
|
||||
@@ -28,14 +28,14 @@ Project layout
|
||||
|
||||
The All-in-One Alfresco project is composed by the following modules:
|
||||
|
||||
* <<<repo-amp>>>: An Repository Tier AMP project, demonstrating sample project structure and demo component loading
|
||||
* <<<rootArtifactid-repo-amp>>>: An Repository Tier AMP project, demonstrating sample project structure and demo component loading
|
||||
|
||||
* <<<repo>>>: An <<<alfresco.war>>> Repository Extension, overlaying the Alfresco WAR with custom resources / classes
|
||||
and depending on the <<<amp>>> project
|
||||
|
||||
* <<<share-amp>>>: A Share Tier AMP project, demonstrating sample project structure and demo component loading
|
||||
* <<<rootArtifactid-share-amp>>>: A Share Tier AMP project, demonstrating sample project structure and demo component loading
|
||||
|
||||
* <<<share>>>: A <<<share.war>>> extension, overlaying the Share WAR with the custom developed <<<share-amp>>>
|
||||
* <<<share>>>: A <<<share.war>>> extension, overlaying the Share WAR with the custom developed <<<rootArtifactid-share-amp>>>
|
||||
|
||||
* <<<solr>>>: An Alfresco <<<alfresco-*-*-solr.zip>>> overlay / customization to configure {{{http://solr.apache.org}Apache Solr}} cores properties
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -29,8 +29,15 @@
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*-context.xml</exclude>
|
||||
<exclude>**/log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/main/amp/config/alfresco/module/__artifactId__</directory>
|
||||
<includes>
|
||||
<include>log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
|
@@ -24,7 +24,7 @@
|
||||
<!-- The following are default values for data location and Alfresco Community version.
|
||||
Uncomment if you need to change (Note. current default version for Enterprise edition is @@alfresco.enterprise.default.version@@)
|
||||
<alfresco.version>@@alfresco.community.default.version@@</alfresco.version>
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location> -->
|
||||
<alfresco.data.location>/absolute/path/to/alf_data_dev</alfresco.data.location> -->
|
||||
|
||||
<!-- This control the root logging level for all apps uncomment and change, defaults to WARN
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
@@ -63,6 +63,22 @@
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- If we are running tests then make the H2 Scripts available
|
||||
Note. tests are skipped when you are running -Pamp-to-war -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>h2scripts</classifier>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
@@ -81,23 +97,5 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
<!--
|
||||
If the 'amp-to-war' profile is enabled then make sure to bring in the alfresco-rad module,
|
||||
which has the H2 scripts and other RAD features.
|
||||
|
||||
TODO: TO INVESTIGATE: This dependency is already defined in the parent SDK pom in the 'amp-to-war' profile
|
||||
but this does not work, it is not include...
|
||||
-->
|
||||
<profile>
|
||||
<id>amp-to-war</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-rad</artifactId>
|
||||
<version>${maven.alfresco.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
@@ -13,7 +13,12 @@ if not exist %springloadedfile% (
|
||||
mvn validate -Psetup
|
||||
)
|
||||
|
||||
set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G
|
||||
:: Use these settings if you're using JDK7
|
||||
:: set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G -XX:PermSize=300m
|
||||
|
||||
:: Spring loaded does not work very well with 5.1 at the moment, breaks the H2 db after first run and then restart
|
||||
::set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G
|
||||
set MAVEN_OPTS=-noverify -Xms256m -Xmx2G
|
||||
|
||||
mvn integration-test -Pamp-to-war -nsu
|
||||
:: mvn integration-test -Pamp-to-war
|
||||
|
||||
|
@@ -8,4 +8,9 @@ if [ ! -f $springloadedfile ]; then
|
||||
mvn validate -Psetup
|
||||
fi
|
||||
|
||||
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G" mvn integration-test -Pamp-to-war
|
||||
# Use these settings if you're using JDK7
|
||||
# MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn install -Prun
|
||||
|
||||
# Spring loaded does not work very well with 5.1 at the moment, breaks the H2 db after first run and then restart
|
||||
#MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G" mvn integration-test -Pamp-to-war
|
||||
MAVEN_OPTS="-noverify -Xms256m -Xmx2G" mvn integration-test -Pamp-to-war
|
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
<!-- 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">
|
||||
<list>
|
||||
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
|
||||
|
@@ -22,17 +22,20 @@
|
||||
<beans>
|
||||
|
||||
<!-- A simple class that is initialized by Spring -->
|
||||
<bean id="${package}.exampleBean" class="${package}.demoamp.Demo" init-method="init" />
|
||||
<bean id="${artifactId}.exampleBean" class="${package}.demoamp.Demo" init-method="init" />
|
||||
|
||||
<!-- A simple module component that will be executed once -->
|
||||
<bean id="${package}.exampleComponent" class="${package}.demoamp.DemoComponent" parent="module.baseComponent" >
|
||||
<property name="moduleId" value="${project.artifactId}" /> <!-- See module.properties -->
|
||||
<!-- 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 -Pamp-to-war twice will only execute this component the first time.
|
||||
You need to remove /alf_data_dev for it to be executed again. -->
|
||||
<bean id="${artifactId}.exampleComponent" class="${package}.demoamp.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="2.0" />
|
||||
<property name="appliesFromVersion" value="2.0" />
|
||||
<property name="sinceVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="1.0" />
|
||||
<property name="nodeService" ref="NodeService" />
|
||||
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||
</bean>
|
||||
|
||||
|
||||
</beans>
|
||||
|
@@ -1,3 +1,6 @@
|
||||
#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.
|
||||
@@ -37,4 +40,4 @@
|
||||
# those in the webapp's main log4j.properties.
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
log4j.logger.org.alfresco.demoamp.DemoComponent=${module.log.level}
|
||||
log4j.logger.${package}.demoamp.DemoComponent=debug
|
||||
|
@@ -19,8 +19,11 @@
|
||||
|
||||
<beans>
|
||||
<!-- 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/bootstrap-context.xml" />
|
||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/webscript-context.xml" />
|
||||
|
||||
</beans>
|
||||
|
@@ -24,7 +24,7 @@ module.id=${project.artifactId}
|
||||
#module.aliases=myModule-123, my-module
|
||||
module.title=${project.name}
|
||||
module.description=${project.description}
|
||||
module.version=${noSnapshotVersion}
|
||||
module.version=${project.version}
|
||||
|
||||
# The following optional properties can be used to prevent the module from being added
|
||||
# to inappropriate versions of the WAR file.
|
||||
|
@@ -4,26 +4,33 @@
|
||||
it is never released with the Alfresco.war
|
||||
=================================================================================================================-->
|
||||
|
||||
<!-- Setup docBase to something like repo-amp/target/repo-amp-war
|
||||
and path to /alfresco
|
||||
The Alfresco.war 5.0 does not have a webapp (it used to have Alfresco Explorer but not anymore)
|
||||
that we will access, so this docBase might not be needed
|
||||
-->
|
||||
<Context docBase="${app.amp.client.war.folder}" path="${alfresco.client.contextPath}">
|
||||
<!-- Setup a virtual context for the /alfresco webapp by specifying this as path for Context.
|
||||
The amp-to-war profile uses the tomcat7-maven-plugin to kick off the webapp.
|
||||
This profile is used for both the repo and share AMP archetypes, and has no config for path or resources,
|
||||
so we need to specify here both the context path and where the webapp resources can be found.
|
||||
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
|
||||
The webapp resources are located in the {repo-amp-dir}/target/amp-war directory, However, we
|
||||
cannot just set this up as the docBase attribute for the Context as it would always be read
|
||||
before any paths in the extraResourcePaths. So to allow for customizations to override
|
||||
stuff in the alfresco.war webapp, such as the /images/logo/logo.png, we add the webapp resource
|
||||
path last in the extraResourcePaths.
|
||||
|
||||
Note. Alfresco.war 5.0 does not have a webapp, just an index page, the Alfresco Explorer webapp is no longer available.
|
||||
-->
|
||||
<Context path="${alfresco.client.contextPath}">
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.build.directory}/amp/web,${app.amp.client.war.folder}" />
|
||||
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) target/classes
|
||||
2) target/${project.build.finalName}/config
|
||||
2) target/amp/config
|
||||
3) target/test-classes
|
||||
|
||||
This way mvn compile can be invoked and all changes will be picked up
|
||||
-->
|
||||
<Loader searchVirtualFirst="true"
|
||||
className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.directory}/${project.build.finalName}/config;${project.build.testOutputDirectory}" />
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.directory}/amp/config;${project.build.testOutputDirectory}" />
|
||||
|
||||
|
||||
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
|
||||
|
@@ -14,7 +14,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -25,7 +25,13 @@
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/web-extension</directory>
|
||||
<includes>
|
||||
<include>*.xml</include>
|
||||
<include>__artifactId__-slingshot-application-context.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/web-extension/site-data/extensions</directory>
|
||||
<includes>
|
||||
<include>__artifactId__-example-widgets.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
@@ -33,6 +39,10 @@
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/__artifactId__-slingshot-application-context.xml</exclude>
|
||||
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
|
@@ -89,22 +89,4 @@
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<!--
|
||||
Brings in the extra Enterprise specific share classes,
|
||||
if the 'enterprise' profile has been activated, needs to be activated manually. -->
|
||||
<profile>
|
||||
<id>enterprise</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-enterprise</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>classes</classifier>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
@@ -14,7 +14,8 @@ if not exist %springloadedfile% (
|
||||
mvn validate -Psetup
|
||||
)
|
||||
|
||||
set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify
|
||||
:: Spring loaded does not work very well with 5.1 at the moment, breaks the H2 db after first run and then restart
|
||||
:: set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify
|
||||
set MAVEN_OPTS=-noverify
|
||||
|
||||
mvn integration-test -Pamp-to-war -nsu
|
||||
:: mvn integration-test -Pamp-to-war
|
||||
|
@@ -7,4 +7,6 @@ if [ ! -f $springloadedfile ]; then
|
||||
mvn validate -Psetup
|
||||
fi
|
||||
|
||||
MAVEN_OPTS="-javaagent:$springloadedfile -noverify" mvn integration-test -Pamp-to-war
|
||||
# Spring loaded does not work very well with 5.1 at the moment, breaks the H2 db after first run and then restart
|
||||
# MAVEN_OPTS="-javaagent:$springloadedfile -noverify" mvn integration-test -Pamp-to-war
|
||||
MAVEN_OPTS="-noverify" mvn integration-test -Pamp-to-war
|
||||
|
@@ -17,11 +17,11 @@
|
||||
-->
|
||||
|
||||
<!-- Add module specific messages and labels -->
|
||||
<bean id="${package}.share-amp.resources"
|
||||
<bean id="${artifactId}.resources"
|
||||
class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
|
||||
<property name="resourceBundles">
|
||||
<list>
|
||||
<value>alfresco.web-extension.messages.custom</value>
|
||||
<value>alfresco.web-extension.messages.${artifactId}</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
@@ -1,7 +1,10 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
<extension>
|
||||
<modules>
|
||||
<module>
|
||||
<id>Example Aikau Widgets</id>
|
||||
<id>${artifactId} - Example Aikau Widgets</id>
|
||||
<version>1.0</version>
|
||||
<auto-deploy>true</auto-deploy>
|
||||
<configurations>
|
@@ -24,7 +24,7 @@ module.id=${project.artifactId}
|
||||
#module.aliases=myModule-123, my-module
|
||||
module.title=${project.name}
|
||||
module.description=${project.description}
|
||||
module.version=${noSnapshotVersion}
|
||||
module.version=${project.version}
|
||||
|
||||
# The following optional properties can be used to prevent the module from being added
|
||||
# to inappropriate versions of the WAR file.
|
||||
|
@@ -4,24 +4,34 @@
|
||||
it is never released with the Alfresco.war
|
||||
=================================================================================================================-->
|
||||
|
||||
<!-- Setup docBase to something like share-amp/target/share-amp-war
|
||||
and path to /share -->
|
||||
<Context docBase="${app.amp.client.war.folder}" path="${share.client.contextPath}">
|
||||
<!-- Setup a virtual context for the /share webapp by specifying this as path for Context.
|
||||
The amp-to-war profile uses the tomcat7-maven-plugin to kick off the webapp.
|
||||
This profile is used for both the repo and share AMP archetypes, and has no config for path or resources,
|
||||
so we need to specify here both the context path and where the webapp resources can be found.
|
||||
|
||||
The webapp resources are located in the {share-amp-dir}/target/amp-war directory, However, we
|
||||
cannot just set this up as the docBase attribute for the Context as it would always be read
|
||||
before any paths in the extraResourcePaths. So to allow for customizations to override
|
||||
stuff in the share.war webapp, such as the /favicon.ico, we add the webapp resource
|
||||
path last in the extraResourcePaths.
|
||||
|
||||
Note. most of the UI customizations for Share are done via custom themes.
|
||||
-->
|
||||
<Context path="${share.client.contextPath}">
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
|
||||
extraResourcePaths="/=${project.build.directory}/amp/web,${app.amp.client.war.folder}" />
|
||||
|
||||
<!-- Configure where the Share (share.war) web application can load classes, test classes, and config -->
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) target/classes
|
||||
2) target/${project.build.finalName}/config
|
||||
2) target/amp/config
|
||||
3) target/test-classes
|
||||
|
||||
This way mvn compile can be invoked and all changes will be picked up
|
||||
-->
|
||||
<Loader searchVirtualFirst="true"
|
||||
className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.directory}/${project.build.finalName}/config;${project.build.testOutputDirectory}" />
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.directory}/amp/config;${project.build.testOutputDirectory}" />
|
||||
|
||||
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
|
@@ -5,17 +5,15 @@
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>Rapid Application Development Support</name>
|
||||
<description>SDK module for Rapid Development support</description>
|
||||
<description>SDK module for Rapid Development support - allows remote unit testing and starts remote JUnit runner</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<pgsql.dialect.folder>${project.build.directory}/pg-dialect-tmp</pgsql.dialect.folder>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<!-- Enables JUnit remote testing (using JRebel) -->
|
||||
<dependency>
|
||||
@@ -30,97 +28,14 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Required to have annotation based remote testing working -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
<version>3.0.6.RELEASE</version>
|
||||
<version>3.2.14.RELEASE</version>
|
||||
<type>jar</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Copied PostgreSQL dialect files to generate H2 dialect files on-the-fly -->
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>extract-postgres-dialect</id>
|
||||
<phase>generate-test-resources</phase>
|
||||
<goals>
|
||||
<goal>unpack</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
<version>${alfresco.community.default.version}</version>
|
||||
<includes>alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect/*,alfresco/dbscripts/upgrade/*/org.hibernate.dialect.PostgreSQLDialect/*,alfresco/ibatis/org.hibernate.dialect.PostgreSQLDialect/*</includes>
|
||||
<outputDirectory>${pgsql.dialect.folder}</outputDirectory>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-h2-dialect</id>
|
||||
<phase>generate-test-resources</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${pgsql.dialect.folder}/alfresco/dbscripts/create/org.hibernate.dialect.PostgreSQLDialect</directory>
|
||||
<includes>
|
||||
<include>*</include>
|
||||
</includes>
|
||||
<targetPath>alfresco/dbscripts/create/org.hibernate.dialect.H2Dialect</targetPath>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${pgsql.dialect.folder}/alfresco/ibatis/org.hibernate.dialect.PostgreSQLDialect</directory>
|
||||
<includes>
|
||||
<include>*</include>
|
||||
</includes>
|
||||
<targetPath>alfresco/ibatis/org.hibernate.dialect.H2Dialect</targetPath>
|
||||
</resource>
|
||||
<!-- Upgrade scripts - does not seem to be picked up, so any changes you would make to them are not picked up...
|
||||
<resource>
|
||||
<directory>${pgsql.dialect.folder}/alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.PostgreSQLDialect</directory>
|
||||
<includes>
|
||||
<include>*</include>
|
||||
</includes>
|
||||
<targetPath>alfresco/dbscripts/upgrade/4.1/org.hibernate.dialect.H2Dialect</targetPath>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${pgsql.dialect.folder}/alfresco/dbscripts/upgrade/4.2/org.hibernate.dialect.PostgreSQLDialect</directory>
|
||||
<includes>
|
||||
<include>*</include>
|
||||
</includes>
|
||||
<targetPath>alfresco/dbscripts/upgrade/4.2/org.hibernate.dialect.H2Dialect</targetPath>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${pgsql.dialect.folder}/alfresco/dbscripts/upgrade/5.0/org.hibernate.dialect.PostgreSQLDialect</directory>
|
||||
<includes>
|
||||
<include>*</include>
|
||||
</includes>
|
||||
<targetPath>alfresco/dbscripts/upgrade/5.0/org.hibernate.dialect.H2Dialect</targetPath>
|
||||
</resource>
|
||||
-->
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
@@ -8,25 +8,16 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.2</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-plugin-plugin</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.4</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generated-helpmojo</id>
|
||||
@@ -82,7 +73,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.plugin-tools</groupId>
|
||||
<artifactId>maven-plugin-annotations</artifactId>
|
||||
<version>3.2</version>
|
||||
<version>3.4</version>
|
||||
<!-- Annotations are not needed for plugin execution so you
|
||||
can remove this dependency for execution by using provided scope. -->
|
||||
<scope>provided</scope>
|
||||
@@ -90,7 +81,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-archiver</artifactId>
|
||||
<version>2.5</version>
|
||||
<version>2.6</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>maven-core</artifactId>
|
||||
@@ -101,7 +92,7 @@
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-archiver</artifactId>
|
||||
<version>2.3</version>
|
||||
<version>2.10.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
@@ -116,17 +107,17 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.3</version>
|
||||
<version>4.5.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-net</groupId>
|
||||
<artifactId>commons-net</artifactId>
|
||||
<version>3.3</version>
|
||||
<version>3.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
@@ -136,7 +127,7 @@
|
||||
<dependency>
|
||||
<groupId>org.alfrescolabs.alfresco-technical-validation</groupId>
|
||||
<artifactId>org.alfrescolabs.alfresco-technical-validation</artifactId>
|
||||
<version>0.4.0</version>
|
||||
<version>0.6.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -145,7 +136,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-plugin-plugin</artifactId>
|
||||
<version>3.3</version>
|
||||
<version>3.4</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
|
@@ -49,7 +49,7 @@ public class AmpMojo extends AbstractMojo {
|
||||
/**
|
||||
* Target folder used to aggregate content then packaged into the AMP
|
||||
*
|
||||
* @parameter property="maven.alfresco.ampBuildDirectory" default-value="${project.build.directory}/${project.build.finalName}"
|
||||
* @parameter property="maven.alfresco.ampBuildDirectory" default-value="${app.amp.output.folder}"
|
||||
* @required
|
||||
*
|
||||
*/
|
||||
|
@@ -29,7 +29,7 @@ public class InstallMojo extends AbstractMojo {
|
||||
/**
|
||||
* The location of the AMP file(s) to be installed. If this location is a
|
||||
* folder all AMPs contained in the folder are installed, if it's a file it
|
||||
* get direclty installed on the ${warLocation}
|
||||
* get directly installed on the ${warLocation}
|
||||
*
|
||||
* @parameter property="maven.alfresco.ampLocation" default-value="${project.build.directory}/${project.build.finalName}.amp"
|
||||
*/
|
||||
@@ -37,9 +37,9 @@ public class InstallMojo extends AbstractMojo {
|
||||
|
||||
/**
|
||||
* The WAR file or exploded dir to install the AMPs in. If specified
|
||||
* Defaults to <code>"${project.build.directory}/${project.build.finalName}-war</code>
|
||||
*
|
||||
* @parameter property="maven.alfresco.warLocation" default-value="${project.build.directory}/${project.build.finalName}-war"
|
||||
* Defaults to <code>"${app.amp.client.war.folder}</code>
|
||||
*
|
||||
* @parameter property="maven.alfresco.warLocation" default-value="${app.amp.client.war.folder}"
|
||||
*/
|
||||
private File warLocation;
|
||||
|
||||
@@ -84,6 +84,7 @@ public class InstallMojo extends AbstractMojo {
|
||||
@Override
|
||||
public void execute() throws MojoExecutionException, MojoFailureException {
|
||||
if (skipAmpInstallation) {
|
||||
getLog().info("AMP Installation is skipped via configuration");
|
||||
return;
|
||||
}
|
||||
// Checks appropriate input params are in place
|
||||
@@ -98,19 +99,25 @@ public class InstallMojo extends AbstractMojo {
|
||||
if(ampLocation.isDirectory())
|
||||
{
|
||||
try {
|
||||
mmt.installModules(ampLocation.getAbsolutePath(),
|
||||
getLog().info("Installing all AMPs from directory " + ampLocation.getAbsolutePath() + " into WAR/exploded webapp at " + warLocation.getAbsolutePath());
|
||||
|
||||
mmt.installModules(ampLocation.getAbsolutePath(),
|
||||
warLocation.getAbsolutePath(), false, // preview
|
||||
force, // force install
|
||||
backup); // backup
|
||||
getLog().info("AMPs installed successfully");
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new MojoExecutionException("ampLocation " + ampLocation.getAbsolutePath() + " did not contain AMP files - AMP installation cannot proceed");
|
||||
} // backup
|
||||
} else if(ampLocation.isFile())
|
||||
{
|
||||
getLog().info("Installing AMP " + ampLocation.getAbsolutePath() + " into WAR/exploded webapp at " + warLocation.getAbsolutePath());
|
||||
mmt.installModule(ampLocation.getAbsolutePath(),
|
||||
warLocation.getAbsolutePath(), false, // preview
|
||||
force, // force install
|
||||
backup); // backup
|
||||
getLog().info("AMP installed successfully");
|
||||
} else
|
||||
{
|
||||
throw new MojoFailureException("ampLocation " + ampLocation.getAbsolutePath() + " was neither an AMP file or a folder containing AMP files - AMP installation cannot proceed");
|
||||
|
@@ -4,12 +4,14 @@ import java.io.File;
|
||||
|
||||
import org.alfresco.repo.module.tool.ModuleManagementTool;
|
||||
import org.apache.maven.execution.MavenSession;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.plugin.LegacySupport;
|
||||
import org.apache.maven.plugin.MojoExecutionException;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.codehaus.plexus.archiver.ArchiverException;
|
||||
import org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver;
|
||||
import org.codehaus.plexus.component.annotations.Requirement;
|
||||
import org.codehaus.plexus.util.xml.Xpp3Dom;
|
||||
/**
|
||||
* This class provides AMP unpacking support for projects depending on AMPs
|
||||
* This allows for example AMPs to be specified as <overlay> in the maven-war-plugin
|
||||
@@ -18,40 +20,72 @@ import org.codehaus.plexus.component.annotations.Requirement;
|
||||
*/
|
||||
public class AmpUnArchiver extends AbstractZipUnArchiver {
|
||||
|
||||
@Requirement
|
||||
private LegacySupport legacySupport;
|
||||
|
||||
public AmpUnArchiver()
|
||||
{
|
||||
|
||||
}
|
||||
@Requirement
|
||||
private LegacySupport legacySupport;
|
||||
|
||||
|
||||
protected File destDirectory;
|
||||
|
||||
@Override
|
||||
/**
|
||||
* By default the AMPs are unpacked in ${project.directory}/${project.build.finalName}
|
||||
*/
|
||||
public File getDestDirectory() {
|
||||
MavenSession session = legacySupport.getSession();
|
||||
MavenProject project = session.getCurrentProject();
|
||||
return new File(project.getBuild().getDirectory() + File.separator + project.getBuild().getFinalName());
|
||||
MavenSession session = legacySupport.getSession();
|
||||
MavenProject project = session.getCurrentProject().getExecutionProject();
|
||||
|
||||
|
||||
File location = new File(project.getBuild().getDirectory() + File.separator + project.getBuild().getFinalName());
|
||||
// If the war plugin configures a custom webappDirectory instead, we pick it up - this only works is this is defined in the main maven-war-plugin configuration
|
||||
// TODO fix it for executions, see https://github.com/Alfresco/alfresco-sdk/issues/297
|
||||
Plugin warPlugin = project.getPlugin("org.apache.maven.plugins:maven-war-plugin");
|
||||
if(warPlugin != null)
|
||||
{
|
||||
Xpp3Dom warPluginConfig = (Xpp3Dom) warPlugin.getConfiguration();
|
||||
if(warPluginConfig != null)
|
||||
{
|
||||
Xpp3Dom warConfigElement = warPluginConfig.getChild("webappDirectory");
|
||||
if(warConfigElement != null)
|
||||
{
|
||||
String webappDir = warConfigElement.getValue();
|
||||
if(webappDir != null && !webappDir.isEmpty())
|
||||
{
|
||||
location = new File(webappDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return location;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
//@Override
|
||||
protected void execute() throws ArchiverException {
|
||||
try {
|
||||
/**
|
||||
* Invoke the ModuleManagementTool to install AMP modules on the WAR file;
|
||||
* so far, no backup or force flags are enabled
|
||||
*/
|
||||
File destDirectory = getDestDirectory();
|
||||
ModuleManagementTool mmt = new ModuleManagementTool();
|
||||
mmt.setVerbose(false);
|
||||
getLogger().info("getDestFile ():" + getDestFile());
|
||||
getLogger().info("getDestFile ():" + getDestFile());
|
||||
getLogger().info("getDestDirectory ():" + getDestDirectory());
|
||||
|
||||
File destLocation = (getDestFile() == null || !getDestFile().exists() ) ? getDestDirectory() : getDestFile();
|
||||
if(getDestFile() != null)
|
||||
getLogger().info("Installing into destination file: " + getDestFile());
|
||||
|
||||
if(getDestDirectory()!= null)
|
||||
getLogger().info("Installing into destination folder: " + destDirectory);
|
||||
|
||||
File destLocation = (getDestFile() == null || !getDestFile().exists() ) ? destDirectory : getDestFile();
|
||||
|
||||
getLogger().info("Installing " + getSourceFile() + " into " + destLocation);
|
||||
try {
|
||||
mmt.installModule(
|
||||
mmt.installModule(
|
||||
getSourceFile().getAbsolutePath(),
|
||||
destLocation.getAbsolutePath(),
|
||||
false, //preview
|
||||
@@ -69,5 +103,5 @@ public class AmpUnArchiver extends AbstractZipUnArchiver {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@ Introduction
|
||||
|
||||
*{{{./install-mojo.html}alfresco:install}} Installs one or multiple AMPs into an Alfresco WAR / exploded WAR folder embedding {{{http://wiki.alfresco.com/wiki/Module_Management_Tool} Alfresco MMT}}
|
||||
|
||||
*{{{./set-version-mojo.html}alfresco:version}} Parses ${project.version} removing literals (for AMP compatibility) and making the <<<$\{noSnapshotVersion\}>>> property available in the POM
|
||||
*{{{./set-version-mojo.html}alfresco:version}} Parses <<<$\{project.version\}>>> removing literals (for AMP compatibility) and making the <<<$\{noSnapshotVersion\}>>> property available in the POM
|
||||
|
||||
Full information is available at the {{{./plugin-info.html}goals page}}.
|
||||
|
||||
|
63
pom.xml
63
pom.xml
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<name>Alfresco SDK</name>
|
||||
<description>This aggregator Project builds all modules required for the Alfresco SDK</description>
|
||||
<packaging>pom</packaging>
|
||||
@@ -30,7 +30,7 @@
|
||||
<connection>scm:git:${scm.url.base}.git</connection>
|
||||
<developerConnection>scm:git:${scm.url.base}</developerConnection>
|
||||
<url>${scm.url.base}</url>
|
||||
<tag>alfresco-sdk-aggregator-2.1.0</tag>
|
||||
<tag>alfresco-sdk-aggregator-2.2.0-beta-1</tag>
|
||||
</scm>
|
||||
|
||||
<developers>
|
||||
@@ -64,10 +64,10 @@
|
||||
<developer>
|
||||
<id>ohej</id>
|
||||
<name>Ole Hejlskov</name>
|
||||
<email>ole@magenta-aps.dk</email>
|
||||
<email>ole@phpfreak.dk</email>
|
||||
<url>http://ohej.dk/</url>
|
||||
<organization>Magenta</organization>
|
||||
<organizationUrl>http://magenta.dk</organizationUrl>
|
||||
<organization>Alfresco</organization>
|
||||
<organizationUrl>http://www.alfresco.com</organizationUrl>
|
||||
<timezone>+1</timezone>
|
||||
<roles>
|
||||
<role>Developer</role>
|
||||
@@ -131,12 +131,15 @@
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.archetype.version>2.2</maven.archetype.version>
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
<maven.archetype.version>2.4</maven.archetype.version>
|
||||
<alfresco.sdk.parent.version>${project.version}</alfresco.sdk.parent.version>
|
||||
<alfresco.community.default.version>5.0.d</alfresco.community.default.version>
|
||||
<alfresco.enterprise.default.version>5.0.1</alfresco.enterprise.default.version>
|
||||
<alfresco.sdk.tests.exclude>*/*-enterprise/*</alfresco.sdk.tests.exclude>
|
||||
<alfresco.community.default.version>5.1.d-EA</alfresco.community.default.version>
|
||||
<alfresco.enterprise.default.version>5.1-EA-3</alfresco.enterprise.default.version>
|
||||
<alfresco.rm.version>2.3</alfresco.rm.version>
|
||||
<springloaded.version>1.2.3.RELEASE</springloaded.version>
|
||||
<springloaded.version>1.2.5.RELEASE</springloaded.version>
|
||||
<scm.url.base>https://github.com/Alfresco/alfresco-sdk</scm.url.base>
|
||||
</properties>
|
||||
|
||||
@@ -162,7 +165,7 @@
|
||||
<extension>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-webdav-jackrabbit</artifactId>
|
||||
<version>2.2</version>
|
||||
<version>2.10</version>
|
||||
</extension>
|
||||
</extensions>
|
||||
</build>
|
||||
@@ -184,14 +187,40 @@
|
||||
</repositories>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>exclude-enterprise-tests-for-archetypes</id>
|
||||
<activation>
|
||||
<file>
|
||||
<exists>src/test/resources/projects</exists>
|
||||
</file>
|
||||
</activation>
|
||||
<build>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
<excludes>
|
||||
<exclude>${alfresco.sdk.tests.exclude}</exclude>
|
||||
</excludes>
|
||||
</testResource>
|
||||
</testResources>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>enterprise-tests</id>
|
||||
<properties>
|
||||
<!-- Sets it to empty, so that also enterprise tests are run -->
|
||||
<alfresco.sdk.tests.exclude />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>sdk-release</id>
|
||||
<properties>
|
||||
<maven.site.url>https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest</maven.site.url>
|
||||
<maven.release.version>2.5.1</maven.release.version>
|
||||
<maven.release.version>2.5.3</maven.release.version>
|
||||
<maven.release.goals>deploy site-deploy</maven.release.goals>
|
||||
<maven.site.version>3.4</maven.site.version>
|
||||
<maven.changes.version>2.10</maven.changes.version>
|
||||
<maven.changes.version>2.11</maven.changes.version>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
@@ -211,7 +240,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.10.1</version>
|
||||
<version>2.10.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
@@ -219,7 +248,9 @@
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<additionalparam>-Xdoclint:none</additionalparam>
|
||||
<!-- Add this to build Javadoc with JDK8
|
||||
<additionalparam>-Xdoclint:none</additionalparam>
|
||||
-->
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
@@ -227,7 +258,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>1.5</version>
|
||||
<version>1.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
@@ -246,7 +277,7 @@
|
||||
<preparationGoals>clean install</preparationGoals>
|
||||
<goals>${maven.release.goals}</goals>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
<releaseProfiles>sdk-release</releaseProfiles>
|
||||
<releaseProfiles>sdk-release,enterprise-tests</releaseProfiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<description>
|
||||
The Maven Alfresco SDK Parent POM exposes the developer features of the Maven Alfresco SDK.
|
||||
Declare this POM as parent for your project and select the Alfresco version/edition by defining
|
||||
the alfresco.groupId and alfresco.version in your POM.
|
||||
the alfresco.groupId, alfresco.version, and share.version in your POM.
|
||||
</description>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<!-- This defines the version of the SDK in terms of features -->
|
||||
<version>2.1.0</version>
|
||||
<version>2.2.0-beta-1</version>
|
||||
|
||||
|
||||
<properties>
|
||||
@@ -44,8 +44,9 @@
|
||||
<!-- This is the name of the Alfresco data folder.
|
||||
Configured in alfresco-global.properties with the 'dir.root' property.
|
||||
This folder will contain all content files, index files, and database with metadata when running embedded.
|
||||
(this folder is relative to the top folder in the project) -->
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location>
|
||||
(best practice is absolute path to this folder, here we use session.executionRootDirectory
|
||||
property to get correct path to alf_data when running in AIO and Repo AMP) -->
|
||||
<alfresco.data.location>${session.executionRootDirectory}/alf_data_dev</alfresco.data.location>
|
||||
|
||||
<!-- Alfresco Repo Database configuration.
|
||||
By default it uses a flat file H2 database to be able to run embedded.
|
||||
@@ -59,16 +60,20 @@
|
||||
<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.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>
|
||||
|
||||
<!--
|
||||
Alfresco Module Packages (AMP) settings
|
||||
-->
|
||||
<app.amp.folder>src/main/amp</app.amp.folder> <!-- To know which resource folder to filter for AMP extension projects -->
|
||||
<app.amp.output.folder>../${project.build.finalName}</app.amp.output.folder> <!-- To know which folder filtered AMP resources should end up in -->
|
||||
<app.amp.overlay.excludes /> <!-- AMP excludes when installing into a WAR, by default empty (i.e. everything is included) -->
|
||||
<app.amp.excludes /> <!-- Empty AMP source excludes by default, see the amp-to-war profile for usage example -->
|
||||
<!-- To know which resource folder to filter for AMP extension projects -->
|
||||
<app.amp.folder>src/main/amp</app.amp.folder>
|
||||
<!-- To know which folder filtered AMP resources should end up in under /target -->
|
||||
<app.amp.output.folder>${project.build.directory}/amp</app.amp.output.folder>
|
||||
<!-- AMP excludes when installing into a WAR, by default empty (i.e. everything is included) -->
|
||||
<app.amp.overlay.excludes />
|
||||
<!-- Empty AMP source excludes by default, see the amp-to-war profile for usage example -->
|
||||
<app.amp.excludes />
|
||||
|
||||
<!--
|
||||
Settings related to the stand-alone AMP extension projects.
|
||||
@@ -80,7 +85,7 @@
|
||||
my-repo-amp/target/my-repo-amp-war (Alfresco.war extension)
|
||||
my-share-amp/target/my-share-amp-war (Share.war extension)
|
||||
-->
|
||||
<app.amp.client.war.folder>${project.build.directory}/${project.build.finalName}-war</app.amp.client.war.folder>
|
||||
<app.amp.client.war.folder>${project.build.directory}/amp-war</app.amp.client.war.folder>
|
||||
<!-- The Maven artifact ID to use when loading the WAR that the AMP should be applied to,
|
||||
defaults to the alfresco.war artifact ID, overriding this in the share-amp project. -->
|
||||
<app.amp.client.war.artifactId>${alfresco.repo.artifactId}</app.amp.client.war.artifactId>
|
||||
@@ -111,7 +116,6 @@
|
||||
as it may break SDK functionalities
|
||||
-->
|
||||
<app.filtering.enabled>true</app.filtering.enabled>
|
||||
<app.testing.jvm.args>-Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en</app.testing.jvm.args>
|
||||
|
||||
<!-- Logging in project's target folder by default
|
||||
NOTE: Remember the trailing slash when overriding this.
|
||||
@@ -121,25 +125,25 @@
|
||||
|
||||
<!-- Needed for community to avoid weird logging exceptions -->
|
||||
<app.slf4j.scope>runtime</app.slf4j.scope>
|
||||
<app.slf4j.version>1.5.11</app.slf4j.version>
|
||||
<app.slf4j.version>1.7.13</app.slf4j.version>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
<!-- Maven Plugins Versions used by the SDK -->
|
||||
<maven.compiler.version>3.2</maven.compiler.version>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<maven.clean.version>2.6.1</maven.clean.version>
|
||||
<maven.dependency.version>2.9</maven.dependency.version>
|
||||
<maven.enforcer.plugin>1.4</maven.enforcer.plugin>
|
||||
<maven.compiler.version>3.5</maven.compiler.version>
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
<maven.clean.version>3.0.0</maven.clean.version>
|
||||
<maven.dependency.version>2.10</maven.dependency.version>
|
||||
<maven.enforcer.plugin>1.4.1</maven.enforcer.plugin>
|
||||
<maven.resources.version>2.7</maven.resources.version>
|
||||
<maven.surefire.version>2.18</maven.surefire.version>
|
||||
<maven.surefire.version>2.19.1</maven.surefire.version>
|
||||
<maven.install.version>2.5.2</maven.install.version>
|
||||
<maven.jar.version>2.5</maven.jar.version>
|
||||
<maven.war.version>2.5</maven.war.version>
|
||||
<maven.antrun.version>1.7</maven.antrun.version>
|
||||
<maven.release.version>2.5.1</maven.release.version>
|
||||
<maven.buildhelper.version>1.9.1</maven.buildhelper.version>
|
||||
<maven.jar.version>2.6</maven.jar.version>
|
||||
<maven.war.version>2.6</maven.war.version>
|
||||
<maven.antrun.version>1.8</maven.antrun.version>
|
||||
<maven.release.version>2.5.3</maven.release.version>
|
||||
<maven.buildhelper.version>1.10</maven.buildhelper.version>
|
||||
<maven.replacer.version>1.5.3</maven.replacer.version>
|
||||
<maven.tomcat.version>2.2</maven.tomcat.version>
|
||||
|
||||
@@ -148,17 +152,19 @@
|
||||
|
||||
<!-- This is used to set the version for the following Alfresco artifacts:
|
||||
- Maven Alfresco plugin that enables Maven to handle AMP files (alfresco-maven-plugin)
|
||||
- Alfresco Rapid Application Development module (alfresco-rad)
|
||||
- Alfresco Rapid Application Development module that starts remote JUnit runner and enables remote unit testing alfresco-rad)
|
||||
-->
|
||||
<maven.alfresco.version>2.1.0</maven.alfresco.version>
|
||||
<maven.alfresco.version>2.2.0-beta-1</maven.alfresco.version>
|
||||
|
||||
<!-- Setup the default Embedded Tomcat port for use by the tomcat7-maven-plugin so
|
||||
it can be accessed from the Groovy scripts and other places -->
|
||||
<maven.tomcat.port>8080</maven.tomcat.port>
|
||||
|
||||
<!-- Sets the H2 Database version to use.
|
||||
Note. Upgrading to 1.4.186 did not work, on second start (after initial db creation etc) it will not connect... -->
|
||||
<h2.version>1.4.185</h2.version>
|
||||
<!-- Sets the H2 Database version to use. -->
|
||||
<h2.version>1.4.190</h2.version>
|
||||
|
||||
<!-- Give the JVM some more memory so it can load the alfresco.war,share.war,and solr4.war -->
|
||||
<argLine>-Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en</argLine>
|
||||
</properties>
|
||||
|
||||
<!--
|
||||
@@ -219,7 +225,7 @@
|
||||
</pluginRepositories>
|
||||
|
||||
<build>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
<finalName>${project.artifactId}-${project.version}</finalName>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -268,6 +274,8 @@
|
||||
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||
</nonFilteredFileExtensions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
@@ -289,11 +297,6 @@
|
||||
<artifactId>alfresco-maven-plugin</artifactId>
|
||||
<version>${maven.alfresco.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-archiver</artifactId>
|
||||
<version>2.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<plugin>
|
||||
@@ -345,13 +348,6 @@
|
||||
<artifactId>h2</artifactId>
|
||||
<version>${h2.version}</version>
|
||||
</dependency>
|
||||
<!-- Major performance improvement,
|
||||
see http://mindthegab.com/2013/06/20/maven-is-not-so-evil-plexus-archives-2-3-is-a-life-saver-for-the-speed-of-your-war-development-with-maven/ -->
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-archiver</artifactId>
|
||||
<version>2.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<!--m2e configuration only to prevent errors in import.
|
||||
@@ -406,7 +402,10 @@
|
||||
<exclude>**/*.lib.js</exclude>
|
||||
<exclude>**/*.css</exclude>
|
||||
</excludes>
|
||||
<warSourceDirectory>src/main/resources/META-INF</warSourceDirectory>
|
||||
<sourceDirectory>src/main/amp</sourceDirectory>
|
||||
<outputDirectory>${project.build.directory}/amp</outputDirectory>
|
||||
<!-- Exclude resources so we don't get an extra dir structure with -min.js files -->
|
||||
<excludeResources>true</excludeResources>
|
||||
<jswarn>false</jswarn>
|
||||
</configuration>
|
||||
</execution>
|
||||
@@ -457,7 +456,7 @@
|
||||
<configuration>
|
||||
<filesets>
|
||||
<fileset>
|
||||
<directory>${project.basedir}/${alfresco.data.location}</directory>
|
||||
<directory>${alfresco.data.location}</directory>
|
||||
</fileset>
|
||||
<fileset>
|
||||
<directory>${project.basedir}</directory>
|
||||
@@ -488,7 +487,10 @@
|
||||
<properties>
|
||||
<alfresco.version>${alfresco.enterprise.default.version}</alfresco.version>
|
||||
<alfresco.repo.artifactId>alfresco-enterprise</alfresco.repo.artifactId>
|
||||
<alfresco.share.artifactId>share-enterprise</alfresco.share.artifactId>
|
||||
<!-- In 5.1 there is only one release of Share that works with both the Community and the Enterprise version of the product.
|
||||
i.e. there is no more a share-enterprise artifact...
|
||||
-->
|
||||
<alfresco.share.artifactId>share</alfresco.share.artifactId>
|
||||
<!-- Not needed in the webapp for enterprise -->
|
||||
<app.slf4j.scope>provided</app.slf4j.scope>
|
||||
</properties>
|
||||
@@ -497,7 +499,22 @@
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
|
||||
<!-- TODO: Remove when 5.1 Enterprise has been released, this is just for early access. -->
|
||||
<repository>
|
||||
<id>alfresco-internal-releases</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/5.1-EA</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>alfresco-internal-releases</id>
|
||||
<name>Alfresco Early Access Enterprise</name>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/5.1-EA/</url>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
</profile>
|
||||
|
||||
<!--
|
||||
@@ -518,7 +535,7 @@
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Fetch and unpack Alfresco Repository WAR (alfresco.war) -->
|
||||
<!-- Fetch and unpack Alfresco Repository/Share WAR (alfresco.war or share.war) -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
@@ -543,7 +560,8 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- The current AMP artifact is installed into the Alfresco folder using alfresco-maven-plugin -->
|
||||
<!-- The current AMP artifact is installed into the Alfresco.war or share.war
|
||||
using alfresco-maven-plugin -->
|
||||
<plugin>
|
||||
<groupId>org.alfresco.maven.plugin</groupId>
|
||||
<artifactId>alfresco-maven-plugin</artifactId>
|
||||
@@ -557,11 +575,13 @@
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<!-- We need to selectively not install web resources so to enable rapid dev -->
|
||||
<!-- We need to selectively not install web resources (i.e. /web folder in AMP),
|
||||
so these files can be picked up directly from the build project instead,
|
||||
enabling rapid application dev -->
|
||||
<includeWebResources>false</includeWebResources>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- Configures tomcat to run against the Alfresco WAR with Tomcat7 virtual webapp features.
|
||||
<!-- Configures Tomcat to run with the alfresco.war or share.war as virtual webapp.
|
||||
(http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Virtual_webapp)
|
||||
The target/classes and target/test-classes (containing tests and the amp config for test purposes) are prepended to the
|
||||
running webapp context, so changes from the IDE are automatically picked up first. See context.xml for details.
|
||||
@@ -569,6 +589,35 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.tomcat.maven</groupId>
|
||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
||||
<dependencies>
|
||||
<!-- Bring in the H2 Database scripts needed when running embedded, they are now
|
||||
available from the standard generated artifacts, no longer needed to be picked
|
||||
up from the alfresco-rad project -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>h2scripts</classifier>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Explicitly bring in the Plexus Archiver so assembly goes quicker -->
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-archiver</artifactId>
|
||||
<version>2.3</version>
|
||||
</dependency>
|
||||
<!-- Include remote Junit testing lib and start remote JUnit runner -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-rad</artifactId>
|
||||
<version>${maven.alfresco.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run-embedded</id>
|
||||
@@ -591,13 +640,6 @@
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-rad</artifactId>
|
||||
<version>${maven.alfresco.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
|
||||
@@ -691,9 +733,6 @@
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>${maven.surefire.version}</version>
|
||||
<configuration>
|
||||
<argLine>${app.testing.jvm.args}</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
@@ -703,8 +742,8 @@
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- Add RAD capabilities for remote JUnit test running. Scope=test so the custom JUnit remote runner
|
||||
is found in the Maven test classpath -->
|
||||
<!-- Add RAD capabilities for remote JUnit test running and start remote JUnit runner.
|
||||
Scope=test so the custom JUnit remote runner is found in the Maven test classpath -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-rad</artifactId>
|
||||
@@ -827,7 +866,7 @@
|
||||
<profile>
|
||||
<id>enforce-sdk-rules</id>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
<file><missing>does-not-exist.tmp</missing></file><!-- turn on this profile (by triggering on a file that is not expected to exist) -->
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
@@ -846,18 +885,12 @@
|
||||
<!-- Test for Alfresco version -->
|
||||
<requireProperty>
|
||||
<property>alfresco.version</property>
|
||||
<message>The SDK 2.1.x is supported only for Alfresco 5.0.d Community and above or
|
||||
Alfresco Enterprise 5.0.1 and above
|
||||
<message>The SDK 2.2.x is supported only for Alfresco 5.1.x Community and above or
|
||||
Alfresco Enterprise 5.1 and above
|
||||
</message>
|
||||
<regex>^(5\.(0\.[d-z1-9]|[1-9])|6\.).*$</regex>
|
||||
<regex>^(5\.(1\.[a-z1-9]|[1-9])|6\.).*$</regex>
|
||||
</requireProperty>
|
||||
|
||||
<!-- Test for JDK version -->
|
||||
<requireJavaVersion>
|
||||
<version>[1.8.0,)</version>
|
||||
<message>Alfresco 5.0.d and 5.0.1 runs on JDK8</message>
|
||||
</requireJavaVersion>
|
||||
|
||||
<!-- Test for Maven version -->
|
||||
<requireMavenVersion>
|
||||
<version>3.2.2</version>
|
||||
|
@@ -24,9 +24,9 @@ Common SDK properties
|
||||
<!-- Defines root logger log level for testing and embedded run -->
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
<!-- Logging dir. Note the trailing slash is required -->
|
||||
<app.log.dir>${project.build.directory}/</app.log.root.level>
|
||||
<app.log.dir>${project.build.directory}/</app.log.dir>
|
||||
<!-- The alf_data folder -->
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location>
|
||||
<alfresco.data.location>${project.basedir}/alf_data_dev</alfresco.data.location>
|
||||
<!-- This controls which properties will be picked in src/test/properties for embedded run -->
|
||||
<env>local</env>
|
||||
</properties>
|
||||
|
Reference in New Issue
Block a user