You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Christofer Dutz <ch...@c-ware.de> on 2019/04/26 07:27:14 UTC

[BUILD] Changing the way profiles are activated??

Hi all,

for the last 2 days I had been working on some more non-java building stuff.
In order to use the Thrift compiler, which is not available as pre-compiled binary for anything but windows, I added a “thrift” module to the tools directory.
As Thrift needs boost, I moved the boost module from the plc4cpp module to the tools module.

I would like to add a new profile “with-proxy” that generates builds all thrift related modules if enabled. The reason is that I don’t want to force the higher complexity of building to the casual drive-by user. So it should be possible to checkout plc4x and run a simple “mvn install” without any problems.
This is absolutely no problem at all. The problem I am having is that in this case is Boost for example. This is needed by modules activated by “with-cpp” as well as “with-proxy”.

Unfortunately I can’t define profiles to be active if one of a list of profiles is active (At least I haven’t found out yet … perhaps there’s a maven extension that allows that … will investigate). The current “solution” is to not activate the profiles via “-P with-cpp” but to set a property and to have the profiles activate themselves if a property is set.
This would result in something like “mvn -Dprofile.with-cpp -Dprofile.with-proxy install”. This would allow enabling the boost build if either or both of the properties “profile.with-cpp” or “profile.with-proxy” is set.

What do you think?

Chris

Re: [BUILD] Changing the way profiles are activated??

Posted by Markus Sommer <so...@isb-fn.de>.
It‘s Okay.

Von meinem iPhone gesendet

> Am 26.04.2019 um 09:42 schrieb Christofer Dutz <ch...@c-ware.de>:
> 
> Hi all,
> 
> for the last 2 days I had been working on some more non-java building stuff.
> In order to use the Thrift compiler, which is not available as pre-compiled binary for anything but windows, I added a “thrift” module to the tools directory.
> As Thrift needs boost, I moved the boost module from the plc4cpp module to the tools module.
> 
> I would like to add a new profile “with-proxy” that generates builds all thrift related modules if enabled. The reason is that I don’t want to force the higher complexity of building to the casual drive-by user. So it should be possible to checkout plc4x and run a simple “mvn install” without any problems.
> This is absolutely no problem at all. The problem I am having is that in this case is Boost for example. This is needed by modules activated by “with-cpp” as well as “with-proxy”.
> 
> Unfortunately I can’t define profiles to be active if one of a list of profiles is active (At least I haven’t found out yet … perhaps there’s a maven extension that allows that … will investigate). The current “solution” is to not activate the profiles via “-P with-cpp” but to set a property and to have the profiles activate themselves if a property is set.
> This would result in something like “mvn -Dprofile.with-cpp -Dprofile.with-proxy install”. This would allow enabling the boost build if either or both of the properties “profile.with-cpp” or “profile.with-proxy” is set.
> 
> What do you think?
> 
> Chris

Re: [BUILD] Changing the way profiles are activated??

Posted by Christofer Dutz <ch...@c-ware.de>.
Hi Googlemail ... or is OS your last name? ;-)

The problem if I include one module in multiple profiles, as soon as both are enabled, maven complains that a module is included twice in the reactor :-/
I know I had these problems in other projects before.

Chris

PS: Great to hear from you Sebastian :-)



Am 26.04.19, 09:49 schrieb "Googlemail OS" <se...@googlemail.com.INVALID>:

    Hi Chris,
    
    Maybe you could just duplicate the module declaration of tools within the cpp profile.
    
    Sebastian
    
    > Am 26.04.2019 um 09:27 schrieb Christofer Dutz <ch...@c-ware.de>:
    > 
    > Hi all,
    > 
    > for the last 2 days I had been working on some more non-java building stuff.
    > In order to use the Thrift compiler, which is not available as pre-compiled binary for anything but windows, I added a “thrift” module to the tools directory.
    > As Thrift needs boost, I moved the boost module from the plc4cpp module to the tools module.
    > 
    > I would like to add a new profile “with-proxy” that generates builds all thrift related modules if enabled. The reason is that I don’t want to force the higher complexity of building to the casual drive-by user. So it should be possible to checkout plc4x and run a simple “mvn install” without any problems.
    > This is absolutely no problem at all. The problem I am having is that in this case is Boost for example. This is needed by modules activated by “with-cpp” as well as “with-proxy”.
    > 
    > Unfortunately I can’t define profiles to be active if one of a list of profiles is active (At least I haven’t found out yet … perhaps there’s a maven extension that allows that … will investigate). The current “solution” is to not activate the profiles via “-P with-cpp” but to set a property and to have the profiles activate themselves if a property is set.
    > This would result in something like “mvn -Dprofile.with-cpp -Dprofile.with-proxy install”. This would allow enabling the boost build if either or both of the properties “profile.with-cpp” or “profile.with-proxy” is set.
    > 
    > What do you think?
    > 
    > Chris
    


Re: [BUILD] Changing the way profiles are activated??

Posted by Googlemail OS <se...@googlemail.com.INVALID>.
Hi Chris,

Maybe you could just duplicate the module declaration of tools within the cpp profile.

Sebastian

> Am 26.04.2019 um 09:27 schrieb Christofer Dutz <ch...@c-ware.de>:
> 
> Hi all,
> 
> for the last 2 days I had been working on some more non-java building stuff.
> In order to use the Thrift compiler, which is not available as pre-compiled binary for anything but windows, I added a “thrift” module to the tools directory.
> As Thrift needs boost, I moved the boost module from the plc4cpp module to the tools module.
> 
> I would like to add a new profile “with-proxy” that generates builds all thrift related modules if enabled. The reason is that I don’t want to force the higher complexity of building to the casual drive-by user. So it should be possible to checkout plc4x and run a simple “mvn install” without any problems.
> This is absolutely no problem at all. The problem I am having is that in this case is Boost for example. This is needed by modules activated by “with-cpp” as well as “with-proxy”.
> 
> Unfortunately I can’t define profiles to be active if one of a list of profiles is active (At least I haven’t found out yet … perhaps there’s a maven extension that allows that … will investigate). The current “solution” is to not activate the profiles via “-P with-cpp” but to set a property and to have the profiles activate themselves if a property is set.
> This would result in something like “mvn -Dprofile.with-cpp -Dprofile.with-proxy install”. This would allow enabling the boost build if either or both of the properties “profile.with-cpp” or “profile.with-proxy” is set.
> 
> What do you think?
> 
> Chris