You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@celix.apache.org by Alexander Broekhuis <a....@gmail.com> on 2012/11/28 14:51:46 UTC

Changing bundle location and deployment

Hi all,

Currently the build of Celix builds the library and the bundle (zip) file
in one go, but the library is located in its own subdirectory, while the
bundles are created in the (build_root)/bundles directory.
I prefer to change the build so that the bundles are also left in their own
directory, next to the library. The same would also apply for the
"development packages" (bundle + header files in one zip file).

This can easily be done, but making a deployment becomes a little bit
different. Currently the deploy target assumes a bundle exists in
the (build_root)/bundles directory. Wether this is the case or not is not
checked. If the bundle is placed next to the library, the build must
determine the path to the bundle, since this path depends on the directory
of the sub-project. This has a side effect that if a target is not yet
processed by CMake, CMake doesn't know this path, so the deployment can't
be determined.

A simple fix for this is to remove all the deploy calls from the CMake
files and place them in an own file which is only processed after all other
sub-projects are handled. For me this also makes more sense, since
deployment implies that all needed bundles are build.

Anyone have some objections to this? Or any other ideas/solutions?

-- 
Met vriendelijke groet,

Alexander Broekhuis

Re: Changing bundle location and deployment

Posted by Pepijn Noltes <pe...@gmail.com>.
Hi Alexander,

Sorry for the late reaction.


On Wed, Nov 28, 2012 at 2:51 PM, Alexander Broekhuis
<a....@gmail.com>wrote:

> Hi all,
>
> Currently the build of Celix builds the library and the bundle (zip) file
> in one go, but the library is located in its own subdirectory, while the
> bundles are created in the (build_root)/bundles directory.
> I prefer to change the build so that the bundles are also left in their own
> directory, next to the library. The same would also apply for the
> "development packages" (bundle + header files in one zip file).
>
> This can easily be done, but making a deployment becomes a little bit
> different. Currently the deploy target assumes a bundle exists in
> the (build_root)/bundles directory. Wether this is the case or not is not
> checked. If the bundle is placed next to the library, the build must
> determine the path to the bundle, since this path depends on the directory
> of the sub-project. This has a side effect that if a target is not yet
> processed by CMake, CMake doesn't know this path, so the deployment can't
> be determined.
>
> A simple fix for this is to remove all the deploy calls from the CMake
> files and place them in an own file which is only processed after all other
> sub-projects are handled. For me this also makes more sense, since
> deployment implies that all needed bundles are build.
>
> Anyone have some objections to this? Or any other ideas/solutions?
>


I have no objections to this, sounds like a solid idea.

Greetings,
Pepijn



>
> --
> Met vriendelijke groet,
>
> Alexander Broekhuis
>