Skip to content
jsuereth edited this page Sep 13, 2010 · 15 revisions

Welcome to the scala-mojo-support wiki! The goal of this project is to provide the ability to write Maven Mojo projects completely in scala.

Example:


@goal("echo")
@phase("process-sources")
class EchoOutputDirectoryMojo extends AbstractMojo {

  @parameter
  @expression("${project.build.directory}")
  var outputDirectory : File = _;

  @parameter
  @expression("${project}")
  @readOnly
  var project : MavenProject = _;


  @throws(classOf[MojoExecutionException])
  override def execute() {
    getLog.error("Hello")
    getLog.error("outputDirectory = " + outputDirectory);//.getAbsolutePath);
  }
}

Project Milestones

This is the list of items we’d like to complete before each release.

Release 0.1.0

  • Plexus-integration for var injection – Done
  • Annotation-based Mojo descriptor extraction for vars or “setter defs” – Done
  • Multi-class (inheritance) extraction Within same project – Done

Release 0.2.0

  • Scala 2.8.0 support (as soon as a beta/milestone is released)
  • Plexus-integration for constructor injection
  • Annotation-based Mojo descriptor extraction for constructor arguments
  • Multi-class (inheritance) extraction with parent classes in dependent projects

Later Milestone Targets

  • Scala/Java combined Mojos
  • Comment/Scaladoc based Mojo descriptor extraction
  • Wrapper around Maven APIs to “scalaify” them
Clone this wiki locally