Maven news

posted 09:23AM Nov 20, 2007 with tags eclipse maven opensource softwaredevelopment by Lars Trieloff

It is good news to see that the The Eclipse Integration for Apache Maven has been approved and that there will be official Maven integration into Eclipse, based on the work done by Carlos and other for Q4E, really soon. (via Carlos).

In other news - if you are using Maven for your Java builds, which you should, have a look at Brett Porter's slides on Maven Best Practices from ApacheCon. (via Steve)

Maven and Eclipse, this time Q4E

posted 03:09PM Oct 03, 2007 with tags eclipse maven q4e by Lars Trieloff

Q4E - this is the third Eclipse Plugin that integrates the Maven build manager into the Eclipse IDE. (via Carlos Sanchez)

DocBook XSL Stylesheets 1.73

posted 11:33AM Jul 24, 2007 with tags docbook maven stylesheets xsl by Lars Trieloff

A new version of the DocBook-XSL-Stylesheets has been released: The full release notes are available at Scotty's Engineering Log. This means, the bug when using the Stylesheets with Xerces should be fixed, and the dependencies of the Maven DocBook Mojo can be updated.

Bittorrent Download of Mindquarry 1.1 VMWare Image

posted 02:23AM Jun 15, 2007 with tags bittorrent maven mindquarry vmware by Lars Trieloff

For Mindquarry 1.1 we offer again a VMWare Image. This time, due to the size of the download (we have included a graphical desktop environment to allow everyone to make immediate use of the image) it is only offered via Bittorrent. The torrent file can be found in the Mindquarry 1.1 Download Repository.

This leads to to the question wether there are any tools available that can automatically create torrents for files in a download repository and that are able to create an initial seed. This would be a nice addition to our Maven Repository Browser.

| Comments[1]

Apache Maven 2.0.5

posted 12:20PM Feb 15, 2007 with tags maven news by Lars Trieloff

A new Apache Maven release is in the wild. From my experience the upgrade is really smooth, congratulations to the Apache Maven team!

Eclipse Bundles in the Maven Repository

posted 10:18AM Feb 08, 2007 with tags eclipse maven softwaredevelopment by Lars Trieloff

Carlos Sanchez points to the new Eclipse dependency packages in the Maven repository, that are automatically generated using Apache Felix maven bundle plugin. Carlos is working on improving the bidirectional mapping of Maven project object models and OSGi bundles.

Eugene Kuleshov comments:

With number of Eclipse bundles and its frequent release cycle, the idea if such repository don't really makes sense, maybe except for the Equinox itself. For the rest of bundles it is more appropriate to use Eclipse install as a repository of special format (it is called Target Platform in Eclipse's own build).

I cannot agree. When you are building SWT applications or RCP applications outside Eclipse, you cannot rely on Eclipse's build system, there needs to be an external build system and you cannot rely on having Eclipse as the target platform installed to provide all dependencies.

| Comments[1]

Maven 2 support in Hudson

posted 11:45AM Feb 05, 2007 with tags continuousintegration hudson maven opensource softwarequality by Lars Trieloff

Some days ago I wrote about Hudson, a continuous integration server:
It is not as feature rich as some other continuous integration systems listed on the Continuous Integration Server Feature Matrix, it's Maven integration is not as deep as Continuum's but it does its job, is easy to setup and offers a clean and friendly user interface.
At least for the Maven 2 support I have to revise my statement. With Hudson 1.78 released yesterday there is experimental Maven 2 support. Kohsuke Kawaguchi, creator of Hudson writes:
Since I rely more on Maven2, I wanted more Maven2 support in Hudson. It can already build a Maven project, but it didn't natively understand Maven — so you still have to specify what jar files to archive, what javadoc to copy, what builds to run once your build is finished, etc. But since much of the information is in POM already, I thought it would be really nice if Hudson can understand POM. So I started working on this some time ago, and it's finally getting into a presentable shape. The newly posted Hudson 1.78 is the first version with this feature enabled.
One thing I like most is the relatively loose integration with Maven. In Continuum for example you have to upload a pom.xml and if this pom does not include properly configured version control system links, you cannot start a build. With Hudson you still have the opportunity to start with an underspecified pom and a Subversion URL and your sceduled build is prepared in minutes.

What Checkstyle, PMD and Findbugs can do for your code

posted 07:34PM Dec 06, 2006 with tags checkstyle findbugs java maven pmd softwarequality by Lars Trieloff

Frank Kelly's excellent blog article Analyze This - Put your code on the couch! discusses the most important bugs and code smells the three static analyzers Checkstyle, PMD and Findbugs are able to find. Together with unit testing and code coverage for dynamic quality assurance they can help you creating much better Java code.

Luckily there are Maven 2 plugins for all three of them:

Building Scala Applications with Maven 2

posted 04:59PM Aug 30, 2006 with tags java maven opensource plexus scala by Lars Trieloff

Scala is a programming language that implements many interesting concepts and can be compiled into Java bytecode, making it an an ideal match for Java developers who would like to try out new programming language and keep using existing code and third-party libraries.

Unfortunately Scala and Maven 2 have not been working together until now. Scala comes with an standalone compiler, scalac and a collection of Ant tasks. Maven 2 relies on Plexus for compilers and there are up to now Plexus compiler components for the standard javac, for Jikes, for the Eclipse Java Compiler and for C# using Microsofts compiler or Mono.

It wrote until now, because this patch for Plexus brings a Scala compiler component for plexus. The easiest way to use it is to create a new Maven project with some Scala source code in src/main/scala and to use an adaption of following pom.xml:


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>scala-maven-example</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Scala Maven Example</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>scala</groupId>
      <artifactId>scala-library</artifactId>
      <version>2.1.8</version>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <id>Goshaky</id>
      <url>http://www.goshaky.com/m2</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>Goshaky Plugins</id>
      <url>http://www.goshaky.com/m2</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/main/scala</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <compilerId>scalac</compilerId>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-scalac</artifactId>
            <version>1.6-SNAPSHOT</version>
            <scope>runtime</scope>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>

This pom uses the Goshaky repository which contains snapshots for Scala and the new compiler component until they are available in the public repository, configures the Maven compiler plugin to use the Scala compiler component and adds the path src/main/scala to the source lookup path, so you don't have to put your *.scala files below src/main/java.

The most interesting part in writing this component was seeing how certain Scala constructs (e.g. functions as arguments) are mapped to Java constructs.

Creating a Block in Cocoon Trunk

posted 04:35PM Aug 29, 2006 with tags cocoon maven tips by Lars Trieloff

Maven 2 has a cool archetype system that allows you to get started fast by creating application skeletons with one single command, but in case of blocks for cocoon-2.2 (current development version) this command is hard to remember:
mvn archetype:create \
  -DarchetypeArtifactId=cocoon-22-archetype-block \
  -DartifactId=myartifact \
  -DgroupId=com.mycompany \
  -DarchetypeVersion=1.0.0-M4-SNAPSHOT \
  -DarchetypeGroupId=org.apache.cocoon

| Comments[1]

An intelligent build system

posted 04:41PM Jul 13, 2006 with tags ant build java maven by Lars Trieloff

Vincent Massol has collected a number of ideas on building an intelligent build system, i.e. an system that is automatically capable of building a Java project by detecting meta-information about the project without the user having to explicitly state them.

For the dependency-detection part of the build system, Vincent proposes following heuristics:

How do we detect project dependencies? One relatively way is to parse the sources that we have found above and find all external imports. Then query ibiblio to find matching package names (this information is present in Maven POMs on ibiblio).

I would instead use Jarfinder.com to find out what JAR a dependent class file belongs to and then roundtrip to the Ibiblio Maven repository to find that JAR file.

For projects that have their JAR dependencies in a lib folder, it might be possible to match the MD5-sums agains JARs in the ibiblio repository to find out what kind of dependency this particular JAR file is.

This tool would be great for migrating IDE-bound build processes that still can be found in many companies to build-tool-driven processes that allow continuous integration.

Maven Repository Changelog

posted 04:51PM May 17, 2006 with tags atom maven rss by Lars Trieloff

There is a new web service that generates RSS and Atom feeds for changes in the Maven Repository. The service additionally features search in the repository, analysis of the POM metadata and a tag cloud, but I am not sure how to tag repository contents for this cloud.

Sun JARs are finally downloadable

posted 03:31PM May 04, 2006 with tags java maven opensource by Lars Trieloff

Sun had a policy of making important JAR libraries like the Java Mail API not available for public download, you had to agree to a license before you coud proceed with the download, which makes it hard to run build tools that automatically download all dependencies of a software like Apache Maven or Gentoo's portage. No longer. According to Matt Raible:
JavaMail is now open source as part of the GlassFish project.
and Carlos Sanchez:
I uploaded them (the Java Mail API, ed) to the Maven 2 repo at iBiblio, improving the poms: activation and javamail, if you want to use them you can add one of the following dependencies to your pom. You only need one because javamail depends on activation and brings it in.

This is very good news.

Maven2 Book for free Download

posted 06:03PM Apr 27, 2006 with tags book maven by Lars Trieloff

Via Carlos Sanchez: The first book about Maven 2, Better Builds with Maven is released and it can be downloaded for free in exchange to an email address. Maven 2 is a very powerful and build tool for Java and other software projects and the book is written by John Casey, Vincent Massol, Brett Porter, Jason Van Zyl, and Carlos Sanches, all core developers of Maven.