Set up development tools
- Applies to:
- Experience Manager as a Cloud Service
- Topics:
- Developer Tools
CREATED FOR:
- Beginner
- Developer
Adobe Experience Manager (AEM) development requires a minimal set of development tooling to be installed and set up on the developer machine. These tools support the development and building of AEM Projects.
Note that ~
is used as shorthand for the User’s Directory. In Windows, this is the equivalent of %HOMEPATH%
.
Install Java
Experience Manager is a Java application, and thus requires the Java SDK to support the development and the AEM as a Cloud Service SDK.
- Download and install the latest release Java 11 SDK
- Verify Oracle Java 11 SDK is installed by running the command:
$ java --version
$ java -version
$ java --version
Install Homebrew
The use of Homebrew is optional, but recommended.
Homebrew is a open-source package manager for macOS, Windows and Linux. All the supporting tools can be installed separately, Homebrew provides a convenient way to install and update a variety of development tools required for Experience Manager development.
- Open your Terminal
- Check if Homebrew is already installed by running the command:
brew --version
. - If Homebrew is not installed, install Homebrew
Homebrew on macOS requires Xcode or Command Line Tools, install-able via the command:
$ xcode-select --install
- Verify Homebrew is installed by running the command:
brew --version
If you are using Homebrew, follow the Install using Homebrew instructions in the sections below. If you are not using Homebrew, install the tools using the OS-specific links.
Install Git
Git is the source control management system used by Adobe Cloud Manager, and thus is required for development.
-
Open your Terminal/Command Prompt
-
Execute the command:
$ brew install git
-
Verify Git is installed, using the command:
$ git --version
-
Open your Terminal/Command Prompt
-
Verify Git is installed, using the command:
$ git --version
Install Node.js (and npm)
Node.js is a JavaScript runtime environment used to work with the front-end assets of an AEM project’s ui.frontend sub-project. Node.js is distributed with npm, is the defacto Node.js package manager, used to manage JavaScript dependencies.
-
Open your Terminal/Command Prompt
-
Execute the command:
$ brew install node
-
Verify Node.js is installed, using the command:
$ node -v
-
Verify npm is installed, using the command:
$ npm -v
-
Open your Terminal/Command Prompt
-
Verify Node.js is installed, using the command:
$ node -v
-
Verify npm is installed, using the command:
$ npm -v
Install Maven
Apache Maven is the open-source Java command-line tool used to build AEM Projects generated from the AEM Project Maven Archetype. All major IDE’s (IntelliJ IDEA, Visual Studio Code, Eclipse, etc.) have integrated Maven support.
-
Open your Terminal/Command Prompt
-
Execute the command:
$ brew install maven
-
Verify Maven is installed, using the command:
$ mvn -v
-
Open your Terminal/Command Prompt
-
Verify Maven is installed, using the command:
$ mvn -v
Set up Adobe I/O CLI
The Adobe I/O CLI, or aio
, provides command line access to a variety of Adobe services, including Cloud Manager and Asset Compute. The Adobe I/O CLI plays an integral role in development on AEM as a Cloud Service as it provides developers the ability to:
- Tail logs from AEM as a Cloud Services services
- Manage Cloud Manager pipelines form the CLI
- Deploy to AEM Rapid Development Environments
Install the Adobe I/O CLI
- Ensure Node.js is installed as the Adobe I/O CLI is an npm module
- Run
node --version
to confirm
- Run
- Execute
npm install -g @adobe/aio-cli
to install theaio
npm module globally
Set up the Adobe I/O CLI Cloud Manager plugin
The Adobe I/O Cloud Manager plugin allows the aio CLI to interact with Adobe Cloud Manager via the aio cloudmanager
command.
- Execute
aio plugins:install @adobe/aio-cli-plugin-cloudmanager
to install the aio Cloud Manager plug-in.
Set up the Adobe I/O CLI authentication
In order for the Adobe I/O CLI to communicate with Cloud Manager, a Cloud Manager integration must be created in Adobe I/O Console, and credentials must be obtained to successfully authenticate.
-
Log in to console.adobe.io
-
Ensure your Organization that includes the Cloud Manager product to connect to is active in the Adobe Organization switcher
-
Create a new or open an existing Adobe I/O program
- Adobe I/O Console projects are simply organizational groupings of integrations, create or use and existing project based on how you want to manage your integrations.
- If creating a new project, select “Empty Project” if prompted (vs. “Create from Template”)
- Adobe I/O Console programs are different concepts to Cloud Manager programs
-
Create a new Cloud Manager API integration
- Select “Oauth Server-to-server” credential type.
- Select the “Deployment Manager - Cloud Service” product profile.
- Save configured API
-
Obtain the credentials needs to populate Adobe I/O CLI’s config.json by opening the newly created “OAuth Server-to-server” credentials, and selecting “Download JSON” from the top right action bar.
-
Open the downloaded JSON file, and renamed all keys to lowecase. For example,
CLIENT_ID
becomesclient_id
. -
Load the
config.json
file into the Adobe I/O CLI$ aio config:set ims.contexts.aio-cli-plugin-cloudmanager /path/to/downloaded/json --file --json
Begin executing commands for Cloud Manager via the Adobe I/O CLI.
Set up the AEM Rapid Development Environment plugin
The AEM Rapid Development Environment plugin allows the aio CLI to interact with AEM as a Cloud Service Rapid Development Environments via the aio aem:rde
command.
- Execute
aio plugins:install @adobe/aio-cli-plugin-aem-rde
to install the AEM Rapid Development Environments plugin.
Set up the Adobe I/O CLI Asset Compute plugin
The Adobe I/O Cloud Manager plugin allows the aio CLI to generate and run Asset Compute workers via the aio asset-compute
command.
- Execute
aio plugins:install @adobe/aio-cli-plugin-asset-compute
to install the aio Asset Compute plug-in.
Set up the development IDE
AEM development primarily consists of Java and Front-end (JavaScript, CSS, etc) development and XML management. The following are the most popular IDEs for AEM development.
IntelliJ IDEA
IntelliJ IDEA is a powerful IDE for Java development. IntelliJ IDEA comes in two flavors, a free Community edition and a commercial (paid) Ultimate version. The free Community version is sufficient for AEM development, however the Ultimate expands its capability set.
Microsoft Visual Studio Code
Visual Studio Code (VS Code) is a free, open-source tool for front-end developers. Visual Studio Code can be set up to integrate content sync with AEM with the help of an Adobe tool, repo.
Visual Studio Code is the ideal choice for front-end developers primarily creating front-end code; JavaScript, CSS and HTML. While VS Code has Java support via extensions, it may lack some of the advanced features provided by more Java-specific.
Eclipse
Eclipse IDE is a popular IDEs for Java development, and supports the AEM Developer Tools plug-in provided by Adobe, providing an in-IDE GUI for authoring and to synchronize JCR content with a local AEM instance.