Coder Social home page Coder Social logo

adobe / aem-spa-project-archetype Goto Github PK

View Code? Open in Web Editor NEW
61.0 19.0 32.0 1.32 MB

Maven Archetype for creating new AEM SPA projects

License: Apache License 2.0

Groovy 0.21% JavaScript 13.01% TypeScript 14.78% CSS 70.24% HTML 1.75%
aem aem-spa adobe maven-archetype spa

aem-spa-project-archetype's Introduction

Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 1 column 1
---

**IMPORTANT:** The SPA archetype has been merged into the [AEM Project Archetype](https://github.com/adobe/aem-project-archetype). This repository is no longer maintained.

---

AEM SPA Project Archetype

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.

Usage

Requirements

  • Java 8 or higher
  • Maven 3.5 or higher
  • AEM 6.4.7+ or 6.5.3+

Generating a project

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.

Documentation

Development

Building

To make modifications to this archetype and use it locally, follow these steps:

  1. Clone the repository: git clone REPO_URL
  2. Navigate into the project directory: cd aem-spa-project-archetype
  3. Switch to the development branch: git checkout development
  4. Add the archetype to the local archetype catalog: mvn clean install archetype:update-local-catalog
  5. Navigate into a different directory where you want to generate a project from the archetype
  6. Update the list of locally available archetypes: mvn archetype:crawl
  7. Generate a project from the local archetype:
mvn archetype:generate \
  -DarchetypeCatalog=local \
  -DarchetypeGroupId=com.adobe.cq.spa.archetypes \
  -DarchetypeArtifactId=aem-spa-project-archetype \
  -DarchetypeVersion=4.0.1-SNAPSHOT

Docs

Contributing

Contributions are welcome! Read the Contributing Guide for more information.

Releasing

To create a release and have CI deploy it to the Central Repository, follow these steps:

  1. Decide on the version number of the new release (e.g. v1.2.3)

  2. Update the archetype:generate commands in this README file with the new version number (so users install the latest version of the archetype)

  3. 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
  4. 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
  5. Update the changelog on the Releases page

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.