I like maven. I even like it very very much. Since I switched to it from Ant I have saved lots of hours of works, building build files, administrating dependencies, etc, and saved lots of space in my source control repository.
The problem is that maven files are too verbose. Not that Ant files where less verbose, but their verbosity was appropriate for what they do.
For example, instead of writing:
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<dependency>
<groupId>com.myosproject</groupId>
<artifactId>superlibrary</artifactId>
<version>7.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
I would like to write something like
<dependencies>
commons-logging/commons-logging/1.1.1
com.myosproject/superlibrary/7.5
test:junit/junit/3.8.1
</dependencies>
Or instead of
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
I would like
<build version="1.5"/>
And (last example and we are done), instead of writing:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>UTF8</encoding>
</configuration>
</execution>
</executions>
</plugin>
I would like not to have to write nothing. I.e., maven would detect the presence of the native2ascii folder and do the right thing by default.
I know I am mixing built-in functionality with plugins and other things, but please try to look from the point of view of a maven user, who is very happy with the tool, but thinks he could be happier.
So:
Is there a way I can configure maven to work like this? (And would it be wise to do so)
Is there perhaps another tool I am not aware of that does this?