directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot>
Subject [ApacheDS] Installers refactored for 2.0 + Future for installers and daemon subprojects
Date Mon, 04 Oct 2010 15:38:44 GMT
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
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. :)


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.



[1] -
View raw message