|
8 | 8 | <property name="build.dir" value="build"/>
|
9 | 9 | <property name="bin.dir" value="${build.dir}/bin" />
|
10 | 10 | <property name="dist.dir" value="${build.dir}/dist" />
|
| 11 | + <property name="wix.build.dir" value="${build.dir}/wix" /> |
11 | 12 | <property name="wcf.dist.dir" value="${dist.dir}/wcf" />
|
12 | 13 | <property name="doc.dir" value="${build.dir}/doc" />
|
13 | 14 | <property name="gendoc.xml.dir" value="${doc.dir}/xml" />
|
|
29 | 30 | <property name="wcf.bin.dir" value="src/wcf/RabbitMQ.ServiceModel/bin"/>
|
30 | 31 | <property name="wcf.test.bin.dir" value="src/wcf/Test/bin"/>
|
31 | 32 |
|
| 33 | + <property name="wix.mergemodule.src" value="src/wix/dotnet-client-merge-module.wxs.in" /> |
| 34 | + <property name="wix.mergemodule.target" value="src/wix/dotnet-client-merge-module.wxs" /> |
| 35 | + <property name="wix.mergemodule.obj" value="${wix.build.dir}/rabbitmq-dotnet-client-msm.wixobj" /> |
| 36 | + <property name="wix.dotnet.client.msm" value="${wix.build.dir}/rabbitmq-dotnet-client.msm" /> |
| 37 | + <property name="wix.product.src" value="src/wix/dotnet-client-product.wxs.in" /> |
| 38 | + <property name="wix.product.target" value="src/wix/dotnet-client-product.wxs" /> |
| 39 | + <property name="wix.product.obj" value="${wix.build.dir}/rabbitmq-dotnet-client-msi.wixobj" /> |
| 40 | + <property name="wix.dotnet.client.msi" value="${wix.build.dir}/rabbitmq-dotnet-client.msi" /> |
| 41 | + |
| 42 | + <property name="wix.localization" value="src/wix/WixUI_en-us.wxl" /> |
| 43 | + <property name="wix.ui.lib" value="lib/wixui.wixlib" /> |
| 44 | + |
32 | 45 | <property name="hg.exec" value="/usr/bin/hg" />
|
33 | 46 |
|
34 | 47 | <include buildfile="local.build" />
|
|
45 | 58 | <property name="web.url" value="http://stage.rabbitmq.com/" />
|
46 | 59 |
|
47 | 60 | <target name="clean" description="remove all generated files"
|
48 |
| - depends="clean-base,clean-wcf" /> |
| 61 | + depends="clean-base,clean-wcf,clean-wix,stamp" /> |
49 | 62 |
|
50 | 63 | <target name="clean-base" description="remove all generated files in the core client">
|
51 | 64 | <delete dir="${build.dir}" failonerror="false" />
|
|
64 | 77 | <delete dir="src/wcf/ConfigDemo/WcfServiceLibrary1/obj" failonerror="false"/>
|
65 | 78 | <delete file="${wcf.assemblyinfo.target}" failonerror="false"/> <!-- it's autogenerated -->
|
66 | 79 | </target>
|
| 80 | + |
| 81 | + <target name="clean-wix" description="remove all generated files in the .msm and .msi building process"> |
| 82 | + <delete dir="${wix.build.dir}" failonerror="false" /> |
| 83 | + </target> |
67 | 84 |
|
68 | 85 | <target name="generate-assemblyinfo">
|
69 | 86 | <if test="${(not file::up-to-date(gen.assemblyinfo.src, gen.assemblyinfo.target))}">
|
|
156 | 173 | <target name="stamp" description="removes the version identifier, so that the next build generates a fresh one">
|
157 | 174 | <delete file="${core.assemblyinfo.target}" failonerror="false" />
|
158 | 175 | <delete file="${wcf.assemblyinfo.target}" failonerror="false" />
|
| 176 | + <delete file="${wix.mergemodule.target}" failonerror="false" /> |
| 177 | + <delete file="${wix.product.target}" failonerror="false" /> |
159 | 178 | </target>
|
160 | 179 |
|
161 | 180 | <target name="doc" description="produces HTML documentation from the code"
|
|
539 | 558 | <call target="src-dist"/>
|
540 | 559 | <call target="copy-deliverables"/>
|
541 | 560 | </target>
|
| 561 | + |
| 562 | + <target name="build-windows-install-msm" description="create windows installer merge module. This requires the .dll to be signed" > |
| 563 | + <call target="dist" /> |
| 564 | + <if test="${(not file::up-to-date(wix.mergemodule.src, wix.mergemodule.target))}"> |
| 565 | + <delete file="${wix.mergemodule.target}" failonerror="false" /> |
| 566 | + <copy file="${wix.mergemodule.src}" tofile="${wix.mergemodule.target}"> |
| 567 | + <filterchain> |
| 568 | + <replacetokens> |
| 569 | + <token key="VERSION" value="${fullversion}" /> |
| 570 | + </replacetokens> |
| 571 | + </filterchain> |
| 572 | + </copy> |
| 573 | + </if> |
| 574 | + <mkdir dir="${wix.build.dir}" /> |
| 575 | + <exec program="candle"> |
| 576 | + <arg value="-out" /> |
| 577 | + <arg value="${wix.mergemodule.obj}" /> |
| 578 | + <arg value="${wix.mergemodule.target}" /> |
| 579 | + </exec> |
| 580 | + <exec program="light"> |
| 581 | + <arg value="-out" /> |
| 582 | + <arg value="${wix.dotnet.client.msm}" /> |
| 583 | + <arg value="${wix.mergemodule.obj}" /> |
| 584 | + </exec> |
| 585 | + </target> |
| 586 | + |
| 587 | + <target name="build-windows-install-msi" description="create windows installer file. This requires the .dll to be signed" > |
| 588 | + <call target="build-windows-install-msm" /> |
| 589 | + <if test="${(not file::up-to-date(wix.product.src, wix.product.target))}"> |
| 590 | + <delete file="${wix.product.target}" failonerror="false" /> |
| 591 | + <copy file="${wix.product.src}" tofile="${wix.product.target}"> |
| 592 | + <filterchain> |
| 593 | + <replacetokens> |
| 594 | + <token key="VERSION" value="${fullversion}" /> |
| 595 | + </replacetokens> |
| 596 | + </filterchain> |
| 597 | + </copy> |
| 598 | + </if> |
| 599 | + <exec program="candle"> |
| 600 | + <arg value="-out" /> |
| 601 | + <arg value="${wix.product.obj}" /> |
| 602 | + <arg value="${wix.product.target}" /> |
| 603 | + </exec> |
| 604 | + <exec program="light"> |
| 605 | + <arg value="-out" /> |
| 606 | + <arg value="${wix.dotnet.client.msi}" /> |
| 607 | + <arg value="${wix.product.obj}" /> |
| 608 | + <arg value="${wix.ui.lib}" /> |
| 609 | + <arg value="-loc" /> |
| 610 | + <arg value="${wix.localization}" /> |
| 611 | + </exec> |
| 612 | + </target> |
542 | 613 | </project>
|
0 commit comments