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?


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?


Thanks,
Pierre-Arnaud


[1] - https://cwiki.apache.org/confluence/display/DIRxSRVx11/Installers

Reply via email to