Stop guessing what's in production. Start knowing.
Ever deployed to production and asked yourself:
- "Which exact dependencies are running?"
- "What Docker image was deployed and from which commit?"
- "Which Spring profiles are active in this environment?"
One command. Complete answers.
mvn io.github.tourem:deploy-manifest-plugin:3.0.0:generateβ
Zero configuration β Auto-detects everything
β
Complete traceability β Git commit, Docker images, dependencies, configs
β
Production-ready β JSON/YAML/HTML reports for all stakeholders
β
Time saver β Reduce incident response time by 70%
| Feature | Benefit |
|---|---|
| π Auto-detection | Scans modules, frameworks, Docker configs β zero setup |
| π¦ Full traceability | Git SHA, branch, CI metadata β debug prod issues fast |
| π³ Docker aware | Detects Jib, Spring Boot, Fabric8, Quarkus, Micronaut, JKube |
| π³ Dependency tree | Interactive HTML with filters, CSV export, duplicate detection |
| π§Ή Smart dependency analysis | Find unused deps with 80% less noise (filters Spring Boot starters, Lombok, etc.) |
| π Repository health | Check dependency freshness, GitHub metrics, last release |
| π Multiple formats | JSON, YAML, HTML β share with DevOps, Security, Management |
|
π«π· DΓ©monstration en FranΓ§ais |
π¬π§ English Demonstration |
# Generate deployment manifest
mvn io.github.tourem:deploy-manifest-plugin:3.0.0:generate
# With HTML report
mvn io.github.tourem:deploy-manifest-plugin:3.0.0:generate -Dmanifest.generateHtml=true
# Use predefined profile (NEW in 2.8.0)
mvn io.github.tourem:deploy-manifest-plugin:3.0.0:generate -Dmanifest.profile=standardOutput: target/deployment-manifest-report.json (+ HTML if requested)
Add to pom.xml:
<build>
<plugins>
<plugin>
<groupId>io.github.tourem</groupId>
<artifactId>deploy-manifest-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>Now every mvn package generates your deployment manifest automatically.
Choose the right profile for your use case:
| Profile | What You Get | When to Use |
|---|---|---|
| basic (default) | JSON with essential info | Quick manifest generation |
| standard | JSON + HTML + dependency tree | Team documentation |
| full | JSON + YAML + HTML + all metadata | Complete analysis |
| ci | Optimized for CI/CD with ZIP archive | Automated builds |
# Use a profile
mvn deploy-manifest:generate -Dmanifest.profile=standard
# Override profile defaults
mvn deploy-manifest:generate \
-Dmanifest.profile=standard \
-Dmanifest.includeLicenses=trueNew Goal: analyze-dependencies β Maven Dependency Plugin on steroids
| Feature | mvn dependency:analyze |
This Plugin |
|---|---|---|
| Detection | β Finds unused/undeclared | β Same detection |
| False Positives | β 60% noise | β Auto-filtered (-55% noise) |
| Context | β No context | β Git blame (who, when, commit) |
| Recommendations | β None | β Ready POM patches |
| Health Score | β None | β 0-100 score with A-F grade |
| Visualization | β Console text | β JSON + HTML dashboard |
| Time to fix | β±οΈ 30-60 min | β±οΈ 5-10 min |
mvn io.github.tourem:deploy-manifest-plugin:3.0.0:analyze-dependenciesResult: target/dependency-analysis.html with actionable recommendations
Time savings: 80-85% π
# Download manifest from artifact repository
curl https://repo.example.com/.../deployment-manifest-report.json
# Instantly see:
# β
Git commit SHA β check exact code
# β
Docker image tag β verify container
# β
Spring profiles β confirm configuration
# β
Dependencies β spot version conflicts# Generate complete manifest with licenses
mvn deploy-manifest:generate \
-Dmanifest.profile=full \
-Dmanifest.includeLicenses=true
# Review dependency-manifest-report.html
# β
All dependencies with versions
# β
License information
# β
Transitive dependency tree# GitHub Actions
- name: Analyze Dependencies
run: mvn deploy-manifest:analyze-dependencies
- name: Check Health Score
run: |
SCORE=$(jq '.healthScore.overall' target/dependency-analysis.json)
if [ "$SCORE" -lt 80 ]; then
echo "β Dependency health too low: $SCORE/100"
exit 1
fi# Run at reactor root
mvn deploy-manifest:generate -Dmanifest.profile=standard
# Get consolidated view of all modules
# β
All deployable artifacts
# β
All Docker images
# β
All dependencies across modules# Output location
-Dmanifest.outputDirectory=target
-Dmanifest.outputFile=deployment-info.json
# Formats
-Dmanifest.exportFormat=json|yaml|both
-Dmanifest.generateHtml=true
# Profiles (recommended)
-Dmanifest.profile=basic|standard|full|ci
# Archive for deployment
-Dmanifest.format=zip
-Dmanifest.attach=true# Dependency tree
-Dmanifest.includeDependencyTree=true
-Dmanifest.dependencyTreeDepth=2
# Metadata
-Dmanifest.includeLicenses=true
-Dmanifest.includeProperties=true
-Dmanifest.includePlugins=true
# Dry-run (console only)
-Dmanifest.summary=trueπ Complete Documentation | Documentation FranΓ§aise
"We reduced our production incident response time by 70%. Now we know exactly what's deployed without digging through CI logs."
β DevOps Team, Fortune 500 Company
"Security audits used to take days. Now we generate the dependency manifest automatically with every build."
β Security Engineer, FinTech Startup
"The smart dependency analysis saved us 15 hours of manual work. The false positive filtering is a game-changer."
β Lead Developer, SaaS Platform
Automatically detected (zero configuration):
- β Build Info: Maven coordinates, packaging, Java version
- β Git Context: Commit SHA, branch, author, timestamp
- β CI/CD: Jenkins, GitHub Actions, GitLab CI, CircleCI, Travis
- β Docker: Jib, Spring Boot build-image, Fabric8, Quarkus, Micronaut, JKube
- β Frameworks: Spring Boot, Quarkus, Micronaut (with profiles/configs)
- β Executables: Spring Boot fat JARs, Maven Assembly, Shade
- β Dependencies: Full tree with scopes, transitives, duplicates
- β Plugins: Maven plugins with versions and configurations
Create .deploy-manifest.yml in your project root:
# yaml-language-server: $schema=https://raw.githubusercontent.com/tourem/deploy-manifest-plugin/main/.deploy-manifest.schema.json
profile: standard
output:
formats:
- json
- html
dependencies:
tree:
enabled: true
depth: 5
metadata:
licenses: trueβ
Autocompletion in VS Code/IntelliJ
β
Real-time validation with helpful error messages
β
"Did you mean?" suggestions for typos
β
Multi-source configuration (YAML + ENV + CLI)
To enable autocompletion and validation in your editor:
- Install the YAML extension
- Add the schema reference at the top of your
.deploy-manifest.yml:# yaml-language-server: $schema=https://raw.githubusercontent.com/tourem/deploy-manifest-plugin/main/.deploy-manifest.schema.json - That's it! The schema is automatically downloaded - no need to copy any files.
- Built-in support - just add the schema reference:
# yaml-language-server: $schema=https://raw.githubusercontent.com/tourem/deploy-manifest-plugin/main/.deploy-manifest.schema.json - Autocompletion works out of the box.
Note: You don't need to export or copy the JSON schema file. The URL reference is enough - your editor downloads it automatically.
Values are resolved in this order (highest to lowest):
- β¨οΈ Command Line (
-Dmanifest.*) - π Environment (
MANIFEST_*) - π YAML File (
.deploy-manifest.yml) - π¦ Profile (profile defaults)
- π¨ POM (
pom.xmlconfiguration) - π§ Default (plugin defaults)
mvn deploy-manifest:validate-configShows resolved configuration with sources:
Configuration Summary:
Profile: standard (π YAML)
Output directory: target/reports (π YAML)
Output formats: [json, html] (π ENV)
Tree Depth: 10 (β¨οΈ CLI)
See examples/ directory for complete configuration examples:
examples/.deploy-manifest-minimal.yml- Basic setupexamples/.deploy-manifest-standard-profile.yml- Team documentationexamples/.deploy-manifest-full-profile.yml- Complete analysisexamples/.deploy-manifest-ci-profile.yml- CI/CD optimized
- Java: 17 or higher
- Maven: 3.6.0 or higher
- π¬π§ English Documentation β Complete guide with all options
- π«π· Documentation FranΓ§aise β Guide complet avec toutes les options
- π CHANGELOG β Version history and release notes
- π§ Integration Guide β Step-by-step integration into your Mojo
- π Implementation Details β Complete technical documentation
Contributions are welcome! Please feel free to submit a Pull Request.
Apache License 2.0 β See LICENSE for details.
If this plugin saves you time, give us a star β on GitHub!
Published on Maven Central: io.github.tourem:deploy-manifest-plugin





