-
Notifications
You must be signed in to change notification settings - Fork 7
Home
https://github.com/headwirecom/aemdc
AEM Developer Companion (AEMDC) can be used to quickly create any resource in your AEM maven project from predefined templates using the command line or a gui. Currently it is possible to create:
- templates
- components
- editable template structures (since AEM 6.2) with template types
- content pages
- osgi configurations
- java models
- java services
- java servlets
- java filters
Download the last released AEMDC binary ".zip" or "tar.gz" file from (https://github.com/headwirecom/aemdc/releases).
Extract the binary to your tools / "Program Files"
directory.
Set the JAVA_HOME and GIT_HOME global ENV variables, as well as the path to AEMDC "bin" folder in the global PATH variable. In Windows it must be under Systems Properties -> Advanced -> Environmental Variables -> User/System Variables
. You can also set the PATH in your cmd/cygwin console start command file like:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_102
set GIT_HOME=C:\Program Files\Git
set AEMDC_HOME=C:\Program Files\aemdc
set PATH=%PATH%;%JAVA_HOME%\bin;%GIT_HOME%\bin;%AEMDC_HOME%\bin
To configurate AEMDC go to your parent maven project folder (for example /my-aem-project
) and run the command:
aemdc config
This command creates an AEMDC configuration file with all possible properties and default values. In case your maven project has been created using AEM Lazybones Template Tool and there is a layzybones properties file then some property values from this file
/my-aem-project/.lazybones/stored-params.properties
will be transfered to the AEMDC configuration file.
/my-aem-project/aemdc-config.properties
Below are all of the possible AEMDC configuration properties available in the current version of AEMDC.
Description | Property Name | Default |
---|---|---|
AEMDC Files ROOT folder path for AEMDC templates | SOURCE_FOLDER | ../aemdc-files |
AEMDC Files template types folder path | SOURCE_TYPES_FOLDER | {{SOURCE_FOLDER}} |
Target UI project ROOT folder relative path | TARGET_UI_FOLDER | ui.apps/src/main/content/jcr_root |
Target UI project folder name under /apps
|
TARGET_PROJECT_APPS_FOLDER | my-aem-project |
Target UI project folder name under /conf
|
TARGET_PROJECT_CONF_FOLDER | my-aem-project |
Target UI project folder name under /etc/designs
|
TARGET_PROJECT_DESIGN_FOLDER | my-aem-project |
Target apps project path | TARGET_PROJECT_ROOT | {{TARGET_UI_FOLDER}}/apps/{{TARGET_PROJECT_APPS_FOLDER}} |
Target osgi subfolder under TARGET_PROJECT_ROOT
|
TARGET_OSGI_SUBFOLDER | '' |
Target CORE project ROOT folder relative path | TARGET_JAVA_FOLDER | core/src/main/java |
Target CORE project JAVA package | TARGET_JAVA_PACKAGE | com.headwire.myaem.core |
Target CORE project JAVA package folder path | TARGET_JAVA_PACKAGE_FOLDER | {{TARGET_JAVA_FOLDER}}/com/headwire/myaem/core |
Target CORE project JAVA Model subpackage name | TARGET_JAVA_MODEL_SUBPACKAGE | model |
Extensions for files with placeholders | FILES_WITH_PLACEHOLDERS_EXTENSIONS | xml,java,html,jsp,js,css,properties |
Forbidden template type names | FORBIDDEN_TEMPLATE_TYPES | .git,.settings,target,help,.idea |
Destination dir/file replacement method (WARN, DELETE, MERGE) | EXISTING_DESTINATION_RESOURCES_REPLACEMENT | MERGE |
AEMDC Log level (ALL,TRACE,DEBUG,INFO,WARN,ERROR,OFF) | LOG_LEVEL | INFO |
All properties can be modified for your needs. Property name can be used as placeholder for definition other property values below it, for example
TARGET_OSGI_SUBFOLDER=/configuration
TARGET_JAVA_FOLDER=core/src/main/java
TARGET_JAVA_PACKAGE_FOLDER={{TARGET_JAVA_FOLDER}}/com/headwire/myaem/core
AEMDC allows the developer to prepare different project patterns with placeholders such as AEMDC Files (https://github.com/headwirecom/aemdc-files) for your future AEM projects and quickly setup a new project structure and contents using a sets of command lines.
Checkout the templates examples from the next GitHub repo and use them as templates basis for your project.
https://github.com/headwirecom/aemdc-files