English version
Accueil propos Tlchargement Ressources Contactez-nous

Ce site est rarement mis jour. Pour les informations les plus rcentes, rendez-vous sur le nouveau site OCaml l'adresse ocaml.org.

Browse thread
[ANN] ocamlbuild-ctools and symbiosis meta build engine
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-09-28 (16:39)
From: Mikkel_Fahnøe_Jørgensen <mikkel@d...>
Subject: Re: [ANN] ocamlbuild-ctools and symbiosis meta build engine
2008/9/27 Mikkel Fahnøe Jørgensen <mikkel@dvide.com>:

Regarding Symbiosis:

> http://git.dvide.com/pub/symbiosis
> http://git.dvide.com/pub/symbiosis/tree/README

Some clarification:

Symbiosis is a standalone tool that, once compiled, does not require
ocaml nor ocamlbuild to be installed at all. (Because ocambuild and
the symbiosis plugin are compiled together to a new executable).

Thus Symbiosis can be distributed as a binary package for driving all
kinds of high-level builds. This means developers can download a
prebuilt Symbiosis executable and a standard configuration file to
their local machine from a project file server and basically have a
build going by typing:

  symbiosis "myproject"

This assumes available components are listed in proxy files in a
dedicated repository that the config files can identify.

I hope to put up an example project eventually, but at least you have
the source code now.

Relation to git submodule:

Lars Hjemli who has been working on git submodules pointed out some
similarity. This is correct. To some extend symbiosis tries to solve
the submodule problem. At the time didn't know git submodules (but
sort of knew about svn externals). But I do not want a system that is
tied into a specific source control tool, and nothing prevents
symbiosis from compiling projects that use git submodules or
equivalent where this is the preferred solution for some component

Git submodule does not, for good reasons, in itself handle the problem
of how to compile a submodule. Symbiosis does this.

Symbiosis does not (yet) make it easy to snapshot a specific revision
without some manual work (updating checkout revision id in proxies).
Git submodules does.

Eventually I hope to generate a build report where the exact checkout
revision of each component is listed along with the compile flags that
went in - symbiosis should then be able to rebuild a project given
such a report. So if such build reports are checked into source
control, it should be easier to rebuild past versions of projects.