How tvictor/tibco-bw-maven-plugin works
This is a Maven plugin for validating and packaging TIBCO BusinessWorks projects, preparing deployment configuration, and deploying the resulting application to a remote TIBCO environment. The main install workflow validates the project, builds an EAR, exports deployment XML, then substitutes environment-specific values; deployment is a separate goal that transfers the artifacts and runs remote AppManage. The sampled code supports these links and the command/SSH helpers. Other goal implementations and the XSD schemas are present in the tree, but their runtime wiring is not established by the excerpts.
Main entry points: InstallMojo.java Install goal · DeployService.java Remote deployment · CommandUtils.java Local command runner · GenerateService.java Config export
Components 20
Maven goals
- Install goal
tibco-bw-plugin/src/main/java/com/slim/maven/InstallMojo.java - Validate goal
tibco-bw-plugin/src/main/java/com/slim/maven/ValidateMojo.java - Replace goal
tibco-bw-plugin/src/main/java/com/slim/maven/ReplaceMojo.java - Deploy goal
tibco-bw-plugin/src/main/java/com/slim/maven/DeployMojo.java
Validation and packaging
- Project validation
tibco-bw-plugin/src/main/java/com/slim/service/ValidateService.java - EAR packaging
tibco-bw-plugin/src/main/java/com/slim/service/BuildService.java - Config export
tibco-bw-plugin/src/main/java/com/slim/service/GenerateService.java - Config substitution
tibco-bw-plugin/src/main/java/com/slim/service/ReplaceService.java
Remote deployment
- Remote deployment
tibco-bw-plugin/src/main/java/com/slim/service/DeployService.java
Execution support
- Local command runner
tibco-bw-plugin/src/main/java/com/slim/utils/CommandUtils.java - SSH client
tibco-bw-plugin/src/main/java/com/slim/utils/SSHClientUtils.java - SCP transfer
tibco-bw-plugin/src/main/java/com/slim/utils/Scp.java
Other components
- Maven user
- Designer tools
- AppManage
- Remote host
- TIBCO runtime
- Validation log
- EAR artifact
- Deployment XML
Connections 28
- Maven user → Install goal: invokes
- Maven user → Validate goal: invokes
- Maven user → Replace goal: invokes
- Maven user → Deploy goal: invokes
- Install goal → Project validation: calls
- Install goal → EAR packaging: calls
- Install goal → Config export: calls
- Install goal → Config substitution: calls
- Validate goal → Project validation: calls
- Replace goal → Config substitution: calls
- Deploy goal → Remote deployment: calls
- Project validation → Local command runner: runs command
- EAR packaging → Local command runner: runs command
- Config export → Local command runner: runs command
- Local command runner → Designer tools: executes validation
- Local command runner → AppManage: executes export/build
- Project validation → Validation log: writes
- EAR packaging → EAR artifact: builds
- Config export → EAR artifact: exports from
- Config export → Deployment XML: exports
- Config substitution → Deployment XML: updates
- Remote deployment → SSH client: uses
- SSH client → SCP transfer: transfers via
- SSH client → Remote host: runs shell commands
- Remote deployment → EAR artifact: uploads
- Remote deployment → Deployment XML: uploads
- Remote deployment → AppManage: dispatches remotely
- AppManage → TIBCO runtime: deploys to