Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# AEM Project Archetype

![Test](https://github.com/adobe/aem-project-archetype/workflows/Test/badge.svg)
Expand All @@ -16,7 +15,6 @@ Maven template that creates a minimal, best-practices-based Adobe Experience Man
* **[GitHub Documentation](src/main/archetype/README.md):** The README.md documentation in this repo provides detailed technical usage detail of the archetype and all of its modules.
* **Tutorials:** The following tutorials are based off this archetype:
- **[WKND Site](https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-wknd-tutorial-develop/overview.html):** Learn how to start a fresh new website.
- **WKND SPA** Learn how to build a [React](https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-with-aem-headless/spa-editor/react/overview.html) or [Angular](https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-with-aem-headless/spa-editor/angular/overview.html) webapp that is fully authorable in AEM.

## Features

Expand All @@ -30,9 +28,7 @@ Maven template that creates a minimal, best-practices-based Adobe Experience Man
* **Responsive Layout:** On templates or individual pages, [define how the elements reflow](https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/sites/authoring/features/responsive-layout.html) for the defined breakpoints.
* **Header and Footer:** Assemble and localize them without code, using the [localization features of the components.](https://experienceleague.adobe.com/docs/experience-manager-core-components/using/get-started/localization.html)
* **Style System:** Avoid building custom components by allowing authors to [apply different styles](https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-wknd-tutorial-develop/project-archetype/style-system.html) to them.
* **Front-End Build:** Front-end devs can [mock AEM pages and build client libraries](https://experienceleague.adobe.com/docs/experience-manager-core-components/using/developing/archetype/uifrontend.html) with Webpack, TypeScript, and SASS.
* **Decoupled Front-End:** When choosing the frontend module to be decoupled, the project is preconfigured to use the [AEMaaCS Frontend Pipeline](https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/sites/administering/site-creation/enable-front-end-pipeline.html). See [the AEM React SPA](https://github.com/adobe/aem-react-spa) template for more details how to get started with a decoupled frontend module using React.
* **WebApp-Ready:** For sites using [React](https://experienceleague.adobe.com/docs/experience-manager-core-components/using/developing/archetype/uifrontend-react.html) or [Angular](https://experienceleague.adobe.com/docs/experience-manager-core-components/using/developing/archetype/uifrontend-angular.html), use the [SPA SDK](https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/implementing/developing/hybrid/developing.html) to retain [in-context authoring of the app.](https://experienceleague.adobe.com/docs/experience-manager-learn/sites/spa-editor/spa-editor-framework-feature-video-use.html)
* **Front-End Build:** Front-end devs can [mock AEM pages and build client libraries](https://experienceleague.adobe.com/docs/experience-manager-core-components/using/developing/archetype/uifrontend.html) with Webpack, TypeScript, and SASS.
* **Commerce Enabled:** For projects that want to use Commerce Integration Framework ([CIF](https://github.com/adobe/aem-core-cif-components)) to integrate with commerce solutions like Magento.
* **Forms Enabled:** For projects that want to use ([Forms](https://github.com/adobe/aem-core-forms-components)).
* **Testing:** ready-to-use Functional and UI testing modules, start adding your own tests
Expand Down
2 changes: 1 addition & 1 deletion src/main/archetype/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The main parts of the template are:
* [ui.apps:](ui.apps/README.md) contains the /apps (and /etc) parts of the project, ie JS&CSS clientlibs, components, and templates
* [ui.content:](ui.content/README.md) contains sample content using the components from the ui.apps
* ui.config: contains runmode specific OSGi configs for the project
* [ui.frontend:](ui.frontend.general/README.md) an optional dedicated front-end build mechanism (Angular, React or general Webpack project)
* [ui.frontend:](ui.frontend.general/README.md) an optional dedicated front-end build mechanism
* [ui.tests:](ui.tests/README.md) Cypress based UI tests (for other frameworks check [aem-test-samples](https://github.com/adobe/aem-test-samples) repository
* all: a single content package that embeds all of the compiled modules (bundles and content packages) including any vendor dependencies
* analyse: this module runs analysis on the project which provides additional validation for deploying into AEMaaCS
Expand Down
180 changes: 75 additions & 105 deletions src/main/archetype/all/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@
<type>zip</type>
<target>/apps/${appId}-packages/application/install</target>
</embedded>
#if ( $precompiledScripts == "y" and $aemVersion == "cloud" )
#if ( $precompiledScripts == "y" and $aemVersion == "cloud" )
<embedded>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}.ui.apps</artifactId>
<classifier>precompiled-scripts</classifier>
<type>jar</type>
<target>/apps/${appId}-packages/application/install/21</target>
</embedded>
#end
#end
<embedded>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}.core</artifactId>
Expand All @@ -86,19 +86,7 @@
<type>zip</type>
<target>/apps/${appId}-packages/application/install</target>
</embedded>
#if ( $isSpaProject )
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>spa.project.core.core</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>spa.project.core.ui.apps</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#end
#if ( $aemVersion != "cloud" )
#if ( $aemVersion != "cloud" )
<embedded>
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.content</artifactId>
Expand All @@ -116,7 +104,7 @@
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#if ( $amp == "y" || $includeExamples == "y")
#if ( $amp == "y" || $includeExamples == "y")
<embedded>
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.extensions.amp.content</artifactId>
Expand All @@ -128,9 +116,9 @@
<artifactId>core.wcm.components.extensions.amp</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#end
#end
#if ( $includeExamples == "y" )
#end
#end
#if ( $includeExamples == "y" )
<embedded>
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.examples.ui.config</artifactId>
Expand All @@ -149,8 +137,8 @@
<type>zip</type>
<target>/apps/${appId}-vendor-packages/content/install</target>
</embedded>
#end
#if ( $includeCif == "y" )
#end
#if ( $includeCif == "y" )
<embedded>
<groupId>com.adobe.commerce.cif</groupId>
<artifactId>core-cif-components-apps</artifactId>
Expand All @@ -173,8 +161,8 @@
<artifactId>magento-graphql</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#end
#if (($includeForms == "y" or $includeFormsenrollment == "y" or $includeFormscommunications == "y" or $includeFormsheadless == "y") and ($aemVersion != "cloud"))
#end
#if (($includeForms == "y" or $includeFormsenrollment == "y" or $includeFormscommunications == "y" or $includeFormsheadless == "y") and ($aemVersion != "cloud"))
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-af-apps</artifactId>
Expand All @@ -186,32 +174,32 @@
<artifactId>core-forms-components-af-core</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-apps</artifactId>
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-core</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#if ($includeExamples == "y")
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-apps</artifactId>
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-content</artifactId>
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#end
#end
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-apps</artifactId>
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-core</artifactId>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#if ($includeExamples == "y")
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-apps</artifactId>
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
<embedded>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-content</artifactId>
<type>zip</type>
<target>/apps/${appId}-vendor-packages/application/install</target>
</embedded>
#end
#end
</embeddeds>
</configuration>
</plugin>
Expand All @@ -236,20 +224,20 @@
</execution>
</executions>
</plugin>
#if ( $aemVersion == "cloud" )
#if ( $aemVersion == "cloud" )
<plugin>
<groupId>com.adobe.aem</groupId>
<artifactId>aemanalyser-maven-plugin</artifactId>
<executions>
<execution>
<id>aem-analyser</id>
<goals>
<goal>project-analyse</goal>
<goal>project-analyse</goal>
</goals>
</execution>
</executions>
</plugin>
#end
#end
</plugins>
</build>

Expand Down Expand Up @@ -308,14 +296,8 @@
</plugin>
</plugins>
</build>
#if ( $frontendModule == "angular" )
<properties>
<!-- Use `build:production` instead of `build` NPM script -->
<build.environment>:production</build.environment>
</properties>
#end
</profile>
#if ( $precompiledScripts == "y" and $aemVersion == "cloud" )
</profile>
#if ( $precompiledScripts == "y" and $aemVersion == "cloud" )
<profile>
<id>precompiledScripts</id>
<activation>
Expand All @@ -333,7 +315,7 @@
</dependency>
</dependencies>
</profile>
#end
#end
</profiles>

<!-- ====================================================================== -->
Expand All @@ -359,19 +341,7 @@
<type>zip</type>
</dependency>

#if ( $isSpaProject )
<!-- SPA Project Core (includes hierarchy page) -->
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>spa.project.core.ui.apps</artifactId>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>spa.project.core.core</artifactId>
</dependency>
#end
#if ( $aemVersion != "cloud" )
#if ( $aemVersion != "cloud" )
<dependency>
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.content</artifactId>
Expand All @@ -382,7 +352,7 @@
<artifactId>core.wcm.components.config</artifactId>
<type>zip</type>
</dependency>
#if ( $amp == "y" || $includeExamples == "y" )
#if ( $amp == "y" || $includeExamples == "y" )
<dependency>
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.extensions.amp.content</artifactId>
Expand All @@ -392,9 +362,9 @@
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.extensions.amp</artifactId>
</dependency>
#end
#end
#if ( $includeCif == "y" )
#end
#end
#if ( $includeCif == "y" )
<!-- Adobe CIF Dependencies -->
<dependency>
<groupId>com.adobe.commerce.cif</groupId>
Expand All @@ -406,41 +376,41 @@
<artifactId>core-cif-components-config</artifactId>
<type>zip</type>
</dependency>
#end
#if (($includeForms == "y" or $includeFormsenrollment == "y" or $includeFormscommunications == "y" or $includeFormsheadless == "y") and ($aemVersion != "cloud"))
#end
#if (($includeForms == "y" or $includeFormsenrollment == "y" or $includeFormscommunications == "y" or $includeFormsheadless == "y") and ($aemVersion != "cloud"))
<!-- AEM Forms Dependencies -->
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-apps</artifactId>
<type>zip</type>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-apps</artifactId>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-core</artifactId>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-af-apps</artifactId>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-core</artifactId>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-af-core</artifactId>
</dependency>
#if ($includeExamples == "y")
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-af-apps</artifactId>
<type>zip</type>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-apps</artifactId>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-af-core</artifactId>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-content</artifactId>
<type>zip</type>
</dependency>
#if ($includeExamples == "y")
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-apps</artifactId>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>core-forms-components-examples-content</artifactId>
<type>zip</type>
</dependency>
#end
#end
#if ( $includeExamples == "y" )
#end
#end
#if ( $includeExamples == "y" )
<dependency>
<groupId>com.adobe.cq</groupId>
<artifactId>core.wcm.components.examples.ui.config</artifactId>
Expand All @@ -456,6 +426,6 @@
<artifactId>core.wcm.components.examples.ui.content</artifactId>
<type>zip</type>
</dependency>
#end
#end
</dependencies>
</project>
Loading