Re: Rearranging the directory layout

From: Wilfred Springer <>
Date: Wed, 7 Nov 2007 08:32:45 +0100

Hi Marc,

Sorry, I missed your email.

I made quite some changes over the last couple of days. Currently, this is
what it looks like:


If you are at the top level (in the 'source' directory), you just type mvn
install and everything will be built and tested, including a binary
distribution, which you can find in wadl-dist/target/. Currently, the name
is I suggest you give it a shot, and see if
there's anything missing the binary distribution. At this stage it contains:

./bin (windows and shell scripts to run from commandline)
./repo (all libraries required; I'd rather call it lib, but I think I'll
have to wait for another version of a plugin that I'm using (the one that is
generating windows and shell scripts)
./samples (samples)
./samples/shared (the Yahoo xsd and wadl files)
./samples/ant (a sample Ant build file)
./samples/maven (a sample Maven pom)
./samples/cmdline (sample unix and windows commandline invocations)

I noticed that they are not all generating the same kind of output, which is
of course not acceptable. The commandline and ant output is different.
(Package names differ; you will probably have clue why.) So that's one of
the things I want to fix.

Regarding a source distribution. I *could* create a source distribution as
well; question is if it would really be required. If you release something
with Maven, Maven will automatically create source jars for all Java source
code, and upload those source jars to the Maven repository as well. This
way, most tools will be able to automatically download the sources and make
them available in your IDE if you are working on a project that for instance
relies on wadl-core, in order to support debugging. (I know this works for
Eclipse, and I think it also works for IntelliJ; I'd be surprised if Milos
didn't include it in his NetBeans support for Maven.) So if more support for
debugging is all you care about, this is all taken care of by Maven.

If - at the other hand - you want to distribute zip files (or tar.gz, bz2)
containing everything in the repository for a certain version, then that
could be easily done as well. We can discuss the options; comments are
highly appreciated.

There is one other thing that Farrukh suggested, which is to have a
wadl-spec module that also contains the latest version of the specification
and related schemas. I'm starting to doubt if we really need another Maven
module for that; I could also imagine that we stick those files in a
subdirectory of the project root (ithe 'source' directory). I do however
agree that it would be a good idea to keep those files *inside* the Maven
project's directory layout. Comments highly appreciated.

BTW: I'm not sure how you authored the specification. Being the XML expert
you are, I do of course expect you to have done it in DocBook. ;-)

If you did, then I am going to shamelessly suggest that we are going to use
the DocBook Maven plugin. It will make it a little easier to include samples
from the project into the spec, and keep the version number in sync with the
Mave project's version number, since this plugin allows you to refer to
Maven project properties using xml processing instructions. (And I said
shamelessly since it's my own plugin.)



2007/11/2, Marc Hadley <>:
> On Nov 1, 2007, at 4:38 PM, Wilfred Springer wrote:
> > Farrukh and I just discussed how to rearrange the directory
> > structure a
> > little to be a little bit more in line with what the rest of the Maven
> > community is doing.
> >
> > This is what we suggest, and what we are planning to do:
> >
> > The top level directory will contain a couple of of other Maven
> > modules:
> >
> > wadl-core:
> > Core classes and interfaces; everything common to the Ant task
> > and the
> > Maven plugin.
> > wadl-ant:
> > The Ant task.
> > wadl-maven-plugin:
> > The Maven plugin.
> > wadl-spec:
> > The specification documents.
> > wadl-samples:
> > Examples showing how to use the Ant task and the Maven plugin.
> >
> > Once all of this is done, we will start to merge stuff back into
> > the main
> > trunk.
> Sounds good. Have you already implemented the task to build the
> source and binary distributions we discussed earlier ? If so, what
> command like do I use to generate them, I'd like to start testing the
> build on Hudson to make sure the transition goes smoothly.
> Thanks,
> Marc.
> ---
> Marc Hadley <marc.hadley at>
> CTO Office, Sun Microsystems.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail: