IMPORTANT: The SPA archetype has been merged into the AEM Project Archetype. This repository is no longer maintained.
This archetype creates a minimal Adobe Experience Manager project as a starting point for your own SPA project.
See the WKND Events Tutorial on the Adobe Help Center website for an example of how to use it.
Run the following command to generate a project from the archetype:
mvn archetype:generate \
-DarchetypeCatalog=remote \
-DarchetypeGroupId=com.adobe.cq.spa.archetypes \
-DarchetypeArtifactId=aem-spa-project-archetype \
-DarchetypeVersion=4.0.0
Maven will prompt you for the following parameters:
projectTitle
: Descriptive project name (e.g. My App
)projectName
: Technical project name, used for building AEM paths (like /content/${projectName}/en
, e.g. myapp
)groupId
: ID which uniquely identifies your group and project, should start with a reversed domain name you control (e.g. com.mycompany
)optionFrontend
: Frontend framework to use in the generated project (either angular
or react
)See archetype-metadata.xml
for the full list possible parameters.
To make modifications to this archetype and use it locally, follow these steps:
git clone REPO_URL
cd aem-spa-project-archetype
development
branch: git checkout development
mvn clean install archetype:update-local-catalog
mvn archetype:crawl
mvn archetype:generate \
-DarchetypeCatalog=local \
-DarchetypeGroupId=com.adobe.cq.spa.archetypes \
-DarchetypeArtifactId=aem-spa-project-archetype \
-DarchetypeVersion=4.0.1-SNAPSHOT
Contributions are welcome! Read the Contributing Guide for more information.
To create a release and have CI deploy it to the Central Repository, follow these steps:
Decide on the version number of the new release (e.g. v1.2.3
)
Update the archetype:generate
commands in this README
file with the new version number (so users install the latest version of the archetype)
Run the following commands to create the release. If the tests pass on CI, this will deploy the project to OSSRH and automatically release it to the Central Repository:
NEW_VERSION="1.2.3" # Replace with your version number
# Update the version in all POM files
mvn versions:set -DnewVersion=$NEW_VERSION
# Commit and tag the change
git commit -am "v${NEW_VERSION}"
git tag "v${NEW_VERSION}"
git push && git push --tags
After successfully creating the release, create a new snapshot version which will be used for further development:
# Increase and add "-SNAPSHOT" to the version number in the POM file
mvn versions:set -DnextSnapshot
# Commit the changes
git commit -am "Prepare next development iteration"
git push
Update the changelog on the Releases page