Prepare Source Code
Prepare Source Code
Dependent on | By | Documentation |
---|---|---|
Source control provisioning | IT Operations | Prepare Infrastructure |
Maven repository setup | Dev Ops | Setup Maven Repository |
Overview
This page describes how to prepare Elastic Path source code for use by your project. The diagram below shows the steps.
ep-aem-commerce and geometrixx-demo projects are only available with EP-Commerce-for-AMC-1.5.zip package
Setup local build environment
Unzip source release packages
EP source is delivered in multiple ZIP files. You should obtain one or more of the following release packages depending on your license and the environment you wish to create:
Release Package | Contents |
---|---|
EP-Commerce-6.17.0.zip | Core Commerce, Cortex |
EP-Commerce-for-AMC-1.5.zip | EP Commerce for Adobe Marketing Cloud |
- Unzip the contents of the release packages into your project source folder. Warning: Windows File Path Limitation
Do not save your source projects to a directory that is greater than 20 characters in length. Windows file paths are limited to 260 characters. The longest file path in the source code is greater than 230 characters so be careful where you deploy your source files.
Add projects to source control
- The following projects should be added to source control:
- Elastic Path Commerce: cmclient, commerce-engine, cortex-ep-integration, devops and extensions. (Note: the commerce-data project is included in the release package for reference and doesn't need to be added to source control.)
- Elastic Path Commerce for AMC: ep-aem-commerce and geometrixx-demo.
Tip:Previously the common practice had been to add each project to source control as a separate repository. Recently, a number of project teams have found it to be more effective to have all projects in a single repository as this simplifies commits and builds across multiple projects.
The rational for using multiple repositories was that different upgrade strategies were needed for different projects. A newer upgrade strategy has emerged that works with a single repository and is being adopted as a standard practice.
- Create a development branch for each repository. The branch name depends on your SCM and branch naming conventions.
Configure the project settings.xml
The extensions project you just added to source control has a maven/settings.xml the project teams will use.
- Replace the <mirror> <url> at the the top of the file with the <Project> EP Repository Group URL documented during Setup Maven Repository.
- Make any changes required for your project environment.
- Commit the changes to source control.
- Copy the settings.xml to your ${user.home}/.m2 directory.
Remove unlicensed modules
If you do not have a license for EP Commerce for AMC, you need to remove related dependencies from the extensions project source. Otherwise the build will fail when it attempts to get artifacts from Elastic Path Maven repository groups to which you don't have access.
The devops project: contains modules to remove EP Commerce for AMC references from the extensions project source:
Reversion Projects for Development
EP release packages contain projects with RELEASE versions. Prior to starting development, the projects must be reversioned to SNAPSHOT versions using scripts provided in the devops project.
On Windows, use either Git Bash, MinGW, or Cygwin to run the script.
To reversion projects for development:
- Make sure that:
- All projects have a common parent folder.
- Project folders have the same names as ones provided in source release packages.
- The development branch is checked out for each source repository.
- Run the following script to reversion the cmclient,
commerce-engine, devops and
extensions projects.
cd <projects-parent-folder> ./devops/scripts/set-ep-versions.sh 617.0.0-SNAPSHOT 0-SNAPSHOT commerce-engine extensions cmclient devops
- (Optional) Run the following script to reversion the cortex-ep-integration project. If you don't reversion this project, then the cortex-ep-integration release binaries will be retrived from the Elastic Path Nexus repository. You will need to reversion the project to a SNAPSHOT version if you wish to make changes to it.
cd <projects-parent-folder> ./devops/scripts/set-cortex-ep-integration-version.sh 617.0.0-SNAPSHOT 0-SNAPSHOT cortex-ep-integration extensions
- (Optional) Run the following script to reversion the EP Commerce for AMC projects.
cd <projects-parent-folder> ./devops/scripts/set-ep-for-aem-versions.sh 617.0.0-SNAPSHOT 0-SNAPSHOT ep-aem-commerce geometrixx-demo