<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">I am new to QBS and currently I am trying to setup a custom Rule:</div><div class=""><br class=""></div><div class="">
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><!--StartFragment-->DynamicLibrary</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">    </span>{</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span><span style=" color:#808000;" class="">property</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#808000;" class="">string</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#800000;" class="">targetDir</span>:<span style=" color:#c0c0c0;" class=""> </span>path</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="color: rgb(192, 192, 192);" class="">        </span><span style="color: rgb(128, 0, 0);" class="">name</span>:<span style="color: rgb(192, 192, 192);" class=""> </span><span style="color: rgb(0, 128, 0);" class="">"</span><span style="color: rgb(0, 128, 0);" class="">Test"</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="color: rgb(192, 192, 192);" class="">        </span><span style="color: rgb(128, 0, 0);" class="">files</span>:</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span>[</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="color: rgb(192, 192, 192);" class="">            </span><span style=" color:#008000;" class="">"file1.h"</span>,</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span><span style="color: rgb(0, 128, 0);" class="">"file2.h"</span>,</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span><span style="color: rgb(0, 128, 0);" class="">"</span><span style="color: rgb(0, 128, 0);" class="">file1.cpp"</span>,</pre><div class=""><pre style="margin-top: 0px; margin-bottom: 0px;" class=""><font color="#008000" class="">            </font><span style="color: rgb(0, 128, 0);" class="">"</span><font color="#008000" class="">file2.cpp"</font>,</pre><div class=""><br class=""></div></div>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span>]</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span>Depends<span style=" color:#c0c0c0;" class=""> </span>{<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#800000;" class="">name</span>:<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">"cpp"</span><span style=" color:#c0c0c0;" class=""> </span>}</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span>Depends<span style=" color:#c0c0c0;" class=""> </span>{<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#800000;" class="">name</span>:<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">"Qt"</span>;<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#800000;" class="">submodules</span>:<span style=" color:#c0c0c0;" class=""> </span>[<span style=" color:#008000;" class="">"core"</span>]}</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span>Rule</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span>{</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span><span style=" color:#800000;" class="">inputs</span>:<span style=" color:#c0c0c0;" class=""> </span>[<span style=" color:#008000;" class="">"hpp"</span>]</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span>Artifact</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span>{</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" color:#800000;" class="">filePath</span>:<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">"test/"</span><span style=" color:#c0c0c0;" class=""> </span>+<span style=" color:#c0c0c0;" class=""> </span>input.filePath</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" color:#800000;" class="">fileTags</span>:<span style=" color:#c0c0c0;" class=""> </span>[<span style=" color:#008000;" class="">"</span><span style=" color:#008000;" class="">HeaderCopy"</span>]</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span>}</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span><span style=" color:#800000;" class="">prepare</span>:</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span>{</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" color:#808000;" class="">var</span><span style=" color:#c0c0c0;" class=""> </span><span style=" font-style:italic; color:#2985c7;" class="">cmd</span><span style=" color:#c0c0c0;" class=""> </span>=<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#808000;" class="">new</span><span style=" color:#c0c0c0;" class=""> </span>JavaScriptCommand();</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" font-style:italic; color:#2985c7;" class="">cmd</span>.description<span style=" color:#c0c0c0;" class=""> </span>=<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">"copying</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">"</span><span style=" color:#c0c0c0;" class=""> </span>+<span style=" color:#c0c0c0;" class=""> </span>input.filePath;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" font-style:italic; color:#2985c7;" class="">cmd</span>.highlight<span style=" color:#c0c0c0;" class=""> </span>=<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">"filegen"</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" font-style:italic; color:#2985c7;" class="">cmd</span>.sourceCode<span style=" color:#c0c0c0;" class=""> </span>=<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#808000;" class="">function</span>()</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span>{</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                    </span>print(<span style=" color:#008000;" class="">"simulated</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">copy"</span>);</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span>};</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">                </span><span style=" color:#808000;" class="">return</span><span style=" color:#c0c0c0;" class=""> </span><span style=" font-style:italic; color:#2985c7;" class="">cmd</span>;</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">            </span>}</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#c0c0c0;" class="">        </span>}<!--EndFragment--></pre><pre style="margin-top: 0px; margin-bottom: 0px;" class="">   }</pre><div class=""><br class=""></div></div><div class=""><br class=""></div><div class="">As shown above my rule should copy the header files to a directory called „test“. Please note that there is no copying at all at the moment, the Rule just prints „simulated copy“ for testing purpose. The problem I am fighting with is that my Rule seems not to be executed. As far as I see it, I would expect „copying header1.h“ and „copying header2.h“ in the output of QBS but nothing happens at all. The files are „just“ compiled and nothing more happens.</div><div class=""><br class=""></div><div class="">I would be happy if some of could give me a hint why my rule keeps doing nothing.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Greetings</div><div class=""><br class=""></div><div class="">Wolf Bublitz</div></body></html>