| name | idempiere-cli-migrate |
| description | Migrate iDempiere plugins between platform versions using idempiere-cli. Use when the user wants to upgrade or downgrade their plugin to match a different iDempiere version. |
iDempiere CLI - Migrate Plugin
This skill guides you through migrating iDempiere plugins between platform versions using idempiere-cli migrate.
Workflow
- Identify current version: Check which iDempiere version the plugin targets.
- Run migrate: Execute
idempiere-cli migrate --from=<current> --to=<target>.
- Build and test: Rebuild and test the plugin against the new version.
Basic Usage
idempiere-cli migrate --from=12 --to=13
idempiere-cli migrate --from=13 --to=12
idempiere-cli migrate --from=12 --to=13 --dir=/path/to/my-plugin
Supported Versions
| Version | Java | Tycho | Eclipse Target |
|---|
| v12 | 17 | 4.0.4 | 2023-09 |
| v13 | 21 | 4.0.8 | 2024-09 |
What migrate updates
pom.xml
maven.compiler.release (17 ↔ 21)
- Tycho version
- Repository URLs for target platform
META-INF/MANIFEST.MF
Bundle-RequiredExecutionEnvironment (JavaSE-17 ↔ JavaSE-21)
Require-Bundle version ranges (bundle-version updates)
build.properties
javacTarget and javacSource settings
Options
| Option | Required | Description |
|---|
--from | Yes | Source iDempiere major version |
--to | Yes | Target iDempiere major version |
--dir | No | Plugin directory (default: .) |
Example Usage
Upgrading a plugin to iDempiere 13
cd org.mycompany.myplugin
idempiere-cli migrate --from=12 --to=13
./mvnw clean verify
idempiere-cli validate
Downgrading for backward compatibility
git checkout -b release-12
idempiere-cli migrate --from=13 --to=12
./mvnw clean verify
Notes
- Always commit your code before running
migrate, so you can revert if needed.
- After migration, rebuild the plugin and run tests to verify compatibility.
- The migrate command updates configuration files only; it does not modify Java source code. If the new iDempiere version introduces API changes, you may need to update your source code manually.
- For multi-module projects, run
migrate from the parent directory to update all modules.