Hi Pierre-Arnaud,

On Mon, Oct 4, 2010 at 5:38 PM, Pierre-Arnaud Marcelot <[email protected]> 
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
svn:externals

Kind Regards,
Stefan


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

[2] 
https://hudson.apache.org/hudson/view/Directory/job/dir-apacheds-installers-jdk15-ubuntu
[3] 
https://hudson.apache.org/hudson/view/Directory/job/dir-apacheds-installers-jdk16-osx

Reply via email to