AEM Build ButtonsA lightweight, responsive VS Code extension that gives Adobe Experience Manager (AEM) developers one-click build buttons in the Status Bar, Command Palette, and QuickPick menu. It dynamically inspects your workspace root Features
How Auto-Detection WorksWhen you open an AEM project, the extension parses the root
Sample
|
| Status Bar / QuickPick Label | Command Generated | Default Icon |
|---|---|---|
| Install: Full Package | mvn clean install -PautoInstallPackage |
$(rocket) |
| Install: Bundle Only | mvn clean install -PautoInstallBundle |
$(package) |
| Install: Package to Publish | mvn clean install -PautoInstallPackagePublish |
$(cloud-upload) |
| Compile Only (no install) | mvn clean install |
$(beaker) |
| Build Frontend / Clientlib | npm run build (in ui.frontend) |
$(code) |
Configuration & Customization
Configure the extension via VS Code Settings (Ctrl+, or Cmd+,) under AEM Build Buttons, or directly in your .vscode/settings.json.
Settings Reference
| Setting | Type | Default | Description |
|---|---|---|---|
aemBuildButtons.autoDetect |
boolean |
true |
Automatically detect modules and profiles from pom.xml. If false, only manual commands are used. |
aemBuildButtons.pinnedCount |
number |
3 |
Number of commands pinned directly to the status bar (remaining live in QuickPick). |
aemBuildButtons.profileIcons |
object |
See below | Customize icons for profiles and targets using VS Code codicon names. |
aemBuildButtons.commands |
array |
[] |
Custom commands or overrides for auto-detected commands. |
aemBuildButtons.mavenExecutable |
string |
"mvn" |
Path or command for Maven (e.g. "./mvnw", "mvn.cmd", or /usr/local/bin/mvn). |
aemBuildButtons.cleanBeforeBuild |
boolean |
true |
Include clean in Maven goals (clean install vs install). |
Customizing Icons
You can customize icons for any profile or built-in target using any VS Code Codicon:
{
"aemBuildButtons.profileIcons": {
"autoInstallPackage": "zap",
"autoInstallBundle": "archive",
"autoInstallPackagePublish": "globe",
"compile": "hammer",
"frontend": "file-code"
}
}
Overriding Commands & Adding Custom Builds
You can override auto-detected commands (matched by label, case-insensitive) or define brand new commands in aemBuildButtons.commands:
{
"aemBuildButtons.commands": [
{
"label": "Install: Full Package",
"command": "mvn clean install -PautoInstallPackage -Daem.port=4503",
"icon": "flame"
},
{
"label": "Deploy Core to Author",
"command": "mvn clean install -PautoInstallBundle -pl core -am",
"cwd": "${workspaceFolder}",
"icon": "server"
}
]
}
Commands
Access these commands from the VS Code Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
AEM: Run Build...: Opens the QuickPick menu showing all detected and custom build commands.AEM: Build specific module...: Select a module from the<modules>list and choose a targeted Maven or frontend command.AEM: Refresh Project / Rescan pom.xml: Forces an immediate re-scan and updates status bar buttons.
License
MIT