directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Seelmann <>
Subject Re: [ApacheDS] Installers refactored for 2.0 + Future for installers and daemon subprojects
Date Mon, 04 Oct 2010 17:59:11 GMT
Hi Pierre-Arnaud,

On Mon, Oct 4, 2010 at 5:38 PM, Pierre-Arnaud Marcelot <> wrote:
> Hi Dev,
> That's it.
> I'm done with the refactoring of the installers.
> The new installers are now integrated in the ApacheDS subproject (which make the two
other subprojects, daemon and installers, obsolete).
> Four new projects have been created.
> First, the 'apacheds-service' project (equivalent to the 'apacheds-noarch' project in
the installers subproject).
> It contains the ApacheDsService class which holds all the code to start the server as
well as Installation and Instance layout classes.
> This jar is now packaged as a shaded jar which includes and embeds all the needed dependencies.
> Secondly, the 'apacheds-wrapper' project (equivalent to the 'daemon-bootstrappers' project
in the daemon subproject).
> This is an implementation of a Tanuki service wrapper for ApacheDS.
> I've removed all other old implementation (JSVC, ProcRun) and cleaned up the code to
only support Tanuki.
> Thirdly, the 'apacheds-installers-maven-plugin' project (equivalent to the 'daemon-plugin'
project in the daemon subproject).
> This maven plugin is responsible for creating the installers.
> Again, I tried to clean a lot of things there.
> Now, everything is included in the maven plugin (before, files were shared between the
plugin and the project which was calling it).
> A lot of configuration files are now shared between installer types (before, most of
them were duplicated, one for each type of installer)
> Lastly, the 'apacheds-installers' project (equivalent to the 'apacheds' project in the
installers subproject).
> This is the project where we call the apacheds-installers-maven-plugin and ask him to
generate the installers we want.
> The two first new projects (apacheds-service and apacheds-wrapper) are included in the
standard build while the two last (apacheds-installers-maven-plugin and apacheds-installers)
are activated with an 'installers' profile defined on the root pom.
> I have created a page explaining how to generate and use installers [1].
> Good news, I can now build all installers (for all operating systems) on my Mac in less
than a minute. :)
> Thoughts?

Wow, that rocks!

I setup two jobs on Hudson, one on Ubuntu [2] (creates the deb, bin,
zip, and tar.gz), one on OSX [3] (creates dmg, zip, and tar.gz).

I'll ask the build/infra team if they could install the requried tools
on the OSX machine, so we can build all installlers there.

One minor improvement (we already discussed that in IRC): it would be
nice to be able to specify the location of the utilities via the
settings.xml file.

> Now that this refactoring is done, I think the 'installers' subproject can now be removed.
> I'd say the same thing for the 'daemon' subproject but AFAIR we were not the only one
using the daemon-plugin. I believe the Felix project was using it a while ago but I don't
know if it's still the case.
> If they're still using it I think it safe that we keep it, even if it will probably not
be updated and/or maintained, if not, I'd rather remove it.
> Thoughts?

At least we can remove them from trunk-with-dependencies pom.xml and

Kind Regards,

> [1] -


View raw message