-
Notifications
You must be signed in to change notification settings - Fork 2.6k
feat(maven): introduce maven plugin #32947
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
💡 Enable Vercel Agent with $100 free credit for automated AI reviews |
✅ Deploy Preview for nx-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
View your CI Pipeline Execution ↗ for commit ab33bbc
☁️ Nx Cloud last updated this comment at |
ef194e7 to
b6a36aa
Compare
|
Failed to publish a PR release of this pull request, triggered by @FrozenPandaz. |
|
Failed to publish a PR release of this pull request, triggered by @FrozenPandaz. |
Clarify that all phases get targets (either with goals or as noop), while only CI phase targets are conditionally created based on having goals or being the verify phase.
Split lifecycle processing into two focused functions: - createRegularPhaseTarget(): Creates regular phase targets with dependencies - createCiPhaseTarget(): Creates CI phase targets with dependencies Process executes in two passes within each lifecycle: 1. First pass creates all regular phase targets 2. Second pass creates CI phase targets (depends on first pass state) This maintains exact behavior while improving code clarity and separation of concerns.
Extract magic strings to named constants (MVND_COMMAND, MVNW_COMMAND, MVN_COMMAND, MVNW_FILENAME). Use Kotlin's let scope function instead of null check and double-bang operator. Extract mvnd detection into dedicated isMvndAvailable() function. Simplify detectMavenCommand() logic and remove redundant timing code.
Cleanup in NxProjectAnalyzer.kt, MojoAnalyzer.kt, and PathFormatter.kt: - Remove unused variables and dead code - Simplify conditional logic - Extract magic strings to constants - Improve code clarity and formatting
Replace xmldom ^0.6.0 with @xmldom/xmldom ^0.8.10, which is the maintained, secure fork of xmldom. No API changes required - same interface.
Remove unused imports, simplify type definitions, and improve code clarity in index.ts, maven-data-cache.ts, nodes.ts, and types.ts.
This reverts commit e6aa0c1.
🐳 We have a release for that!This PR has a release associated with it. You can try it out using this command: npx [email protected] my-workspaceOr just copy this version and use it in your own command: 0.0.0-pr-32947-e6aa0c1
To request a new release for this pull request, mention someone from the Nx team or the |
packages/maven/src/plugins/types.ts
Outdated
| serveTargetName?: string; | ||
| verbose?: boolean; | ||
| atomizeTests?: boolean; | ||
| minTestClassesForAtomization?: number; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
??
| nxProject.put("name", projectName) | ||
| nxProject.put("root", root) | ||
| nxProject.put("projectType", projectType) | ||
| nxProject.put("sourceRoot", "${root}/src/main/java") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
data class?
Remove unused code from NxTargetFactory.kt, simplify PathFormatter.kt logic, and clean up type definitions in types.ts.
## Current Behavior The Java landing page at nx.dev/java only mentions Gradle support and indicates that Maven support is coming soon. ## Expected Behavior The Java landing page should reflect that Maven is now available alongside Gradle. https://nx-dev-git-mvn-follow-nrwl.vercel.app/java ## Related Issue(s) Updates the documentation to reflect the Maven plugin introduced in #32947 --- **Changes:** - Updated hero section to state "Nx supports both Gradle and Maven" - Modified getting started instructions to mention both `@nx/gradle` and `@nx/maven` - Updated features description to include Maven builds - Combined Gradle and Maven documentation links into a single "Learn More" section with buttons for both - Updated call-to-action links to point to `/docs/technologies/java/{gradle,maven}/introduction`
|
This pull request has already been merged/closed. If you experience issues related to these changes, please open a new issue referencing this pull request. |
Current Behavior
There is no first-party Maven support for Nx
Expected Behavior
Maven Support is ready for usage.
Related Issue(s)
Fixes #