Skip to content

Instantly share code, notes, and snippets.

@jvanzyl
Last active August 29, 2015 14:18
Show Gist options
  • Save jvanzyl/fcd99c449ae193830473 to your computer and use it in GitHub Desktop.
Save jvanzyl/fcd99c449ae193830473 to your computer and use it in GitHub Desktop.
Maven Dev Hangout -- April 9th, 2015

Maven Dev Hangout -- April 9th, 2015

Preparing for Maven 3.3.2

There is a critical issue where core extensions cannot be used from authenticated repos, and an issue with Wagon causing issues for some users trying to stage to Nexus. The core extensions issue has been resolved but I'm looking at the Wagon issue for Jan from the Tycho project.

Polyglot for Maven

We've done several releases of Polyglot for Maven. The JRuby folks are still working on switching over to Maven 3.3.1 but they have some releases to work through first.

Fred Bricon has made a PoC of using Polyglot POMs in M2Eclipse: https://github.com/jbosstools/m2e-polyglot-poc

Maven Wrapper

A couple release of the Maven Wrapper have been made. We're now up to 0.2.1 and there's a bit of documentation and easy command to install the wrapper:

mvn -N io.takari:maven:wrapper

Proto Maven Plugin

A plugin that I've had for the last year that works as a replacement for Archetype. It's 1/20th of the code size and worked for a complicated project where the Archetype doesn't work and it has a better flow for deploying project templates. You just do mvn deploy on a normal project and it deploys a template. I hope to release this over the weekend.

Consumer POM

Use cases:

  • Polyglot for Maven: even if the same model version is used we need to emit a pom.xml file
  • Evolving the POM format
    • attribute based POM
    • mixins
    • global excludes

Previous discussion on the consumer pom.xml: https://www.youtube.com/watch?v=M3LYFS6E8DU

Multi-module Projects (MMP)

Use cases:

  • Run a plugin/extension once: deployment, adding the Maven Wrapper and adding license headers without having to use -N
  • Explicitly enumerate all dependencies for the MMP: like the target platform

How to develop Maven 4.x

Mark new features as provisional and they can be removed or changed without notice. Any of these features can be finalized or removed in Maven 4.x. I think this is reasonable and doesn't require major version changes as these features are provisional, but it let's us development using the Branching by Abstraction technique and possibly turn these features on using Feature Toggles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment