Created
March 4, 2013 10:31
-
-
Save olamy/5081375 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
What kind of new features would you be happy to see in Apache Maven new major release ? |
aheritier
commented
Mar 4, 2013
- Dependencies management : global exclusions, more features to analyze their usage, more features to control what we expose and what we consume (skinny wars/ears hell ....) and before all ... many fixes (there are various bugs in aether integration with some plugins like the dependency plugin or some enforcer rules)
- Repositories management (more flexible, with a distributed architecture not necessary centralized).
- A better design (putting repos in poms is useless, identification doesn't exist) to have something more efficient to retrieve binaries without having a repo manager.
- The ability to deploy on repo at the end the build to have a better consistency locally and remotely.
- The ability to launch several maven builds in // without breaking the local repo or without having to have one local repo per project ....
- The ability to manage various POM versions (and if possible formats but myself I'm not fan) within repositories
- Settings management (users, organization, entreprise, project - various level and with the ability to share them)
- Profiles management (At the same time to have something more strong to validate that a default build is running and more power in profiles activation/deactivation)
- POM : Mixins, less verbose XML (or others formats), new elements (encoding, global excludes ...)
- packaging -even if not core related - (when you need to go further than a jar, war the assembly isn't enought. It should support a scripting langage like groovy to easily create custom packages ... but the heart of the problem is also often the transitive dependencies management)
The ability to have multiple parents (for example one for dependency management, an other for plugins...).
Namespaces for plugins, so they can provide their own Schema/DTD (see Spring). And of course a global XSD for the main config part.
- Mixins
- XML attributes
- Plugins: allowing plugin extensions and the possibility to call a plugin goal from another plugin
- Dependencies management:
- better/easier control of transitive/non-transitive dependencies (especially for assembly modules)
- human readable report of dependency resolution process
Also, proper performance measurement of goals and phases, to know which one takes long in a build.
The ability to parallelize goals in a specific phase
In dependency management, the ability of forcing one version to any artifacts of a group.
@OlivierCroisier performance measurement is quite easy if extends AbstractEventSpy (org.apache.maven.eventspy.AbstractEventSpy) you have a listener on all maven events
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment