Skip to content

Instantly share code, notes, and snippets.

@olamy
Created March 4, 2013 10:31
Show Gist options
  • Save olamy/5081375 to your computer and use it in GitHub Desktop.
Save olamy/5081375 to your computer and use it in GitHub Desktop.
What kind of new features would you be happy to see in Apache Maven new major release ?
@aheritier
Copy link

  • 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)

@Tcharl
Copy link

Tcharl commented Mar 4, 2013

The ability to have multiple parents (for example one for dependency management, an other for plugins...).

@OlivierCroisier
Copy link

Namespaces for plugins, so they can provide their own Schema/DTD (see Spring). And of course a global XSD for the main config part.

@DimitriHautot
Copy link

  • Mixins
  • XML attributes

@jcsirot
Copy link

jcsirot commented Mar 4, 2013

  • 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

@OlivierCroisier
Copy link

Also, proper performance measurement of goals and phases, to know which one takes long in a build.

Copy link

ghost commented Mar 5, 2013

The ability to parallelize goals in a specific phase

@lfo
Copy link

lfo commented Apr 23, 2013

In dependency management, the ability of forcing one version to any artifacts of a group.

@olamy
Copy link
Author

olamy commented Apr 23, 2013

@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