From 1a2435f746baddbd19c6786a18cde95112bce0d3 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Wed, 11 Jan 2012 11:50:57 -0500 Subject: [PATCH] Added UI to windows MSI. * Can now select installation directory of SBT. * Can optionally add SBT to the path, instead of required. * Displays a license agreement to the user. --- project/packaging.scala | 45 +++++++++++++++++++++++++++------------- src/windows/License.rtf | Bin 0 -> 1812 bytes 2 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 src/windows/License.rtf diff --git a/project/packaging.scala b/project/packaging.scala index 137d7acc4..1de6a1dfb 100644 --- a/project/packaging.scala +++ b/project/packaging.scala @@ -86,15 +86,23 @@ object Packaging { // WINDOWS SPECIFIC name in Windows := "sbt", - wixConfig <<= (sbtVersion) map { (sv) => - val version = (sv split "\\.") match { + lightOptions ++= Seq("-ext", "WixUIExtension", "-cultures:en-us"), + wixConfig <<= (sbtVersion, sourceDirectory in Windows) map makeWindowsXml, + //wixFile <<= sourceDirectory in Windows map (_ / "sbt.xml"), + mappings in packageMsi in Windows <+= sbtLaunchJar map { f => f -> "sbt-launch.jar" }, + mappings in packageMsi in Windows <+= sourceDirectory in Windows map { d => + (d / "sbt.bat") -> "sbt.bat" } + ) + + def makeWindowsXml(sbtVersion: String, sourceDir: File) = { + val version = (sbtVersion split "\\.") match { case Array(major,minor,bugfix, _*) => Seq(major,minor,bugfix, "1") mkString "." case Array(major,minor) => Seq(major,minor,"0","1") mkString "." case Array(major) => Seq(major,"0","0","1") mkString "." } ( - - - + + + + + - - - + + + + + + + + + + + + + ) - }, - //wixFile <<= sourceDirectory in Windows map (_ / "sbt.xml"), - mappings in packageMsi in Windows <+= sbtLaunchJar map { f => f -> "sbt-launch.jar" }, - mappings in packageMsi in Windows <+= sourceDirectory in Windows map { d => - (d / "sbt.bat") -> "sbt.bat" } - ) + } } diff --git a/src/windows/License.rtf b/src/windows/License.rtf new file mode 100644 index 0000000000000000000000000000000000000000..218b930464d9086391baa7a0a2c037be41af5b83 GIT binary patch literal 1812 zcmcIl-*4MC5Z-fv{tx%ob`Ub#X|{EFk|jE3AxoY}InAJl(h_YGkwt@~5(Gj1_Z=mr zN!I593ByQt-+e#M$zy5UZd!`gs{W`>`|0drR@QR2oA|R4?S48rKYuKDx^-^b;AK+o zTGf=h>L84jZUT{L)YhoWr>FPt9?M_Ly=0&%mEw z{5hQfbMj8MFmJlHehA>Jwg+tK_J;sg!ra1A7$fi(<~m^<NWtb+XrBc7Of0m zBdvgqY7V-UErJNETlhzG`~8T>I%%Xsn6>B{SRYi=sFU>)-oFc*26}=PjI`3+$@*+~ zGn_eEVVzOi&MAZyZ4I53pjxoHGnMS0Y*j1F1MIXp+5qmAI{+H#f9lQ+I7eNpovMUK z2|ySLCuxq#q1A9Q`cBn&aR=e>kciYY`d+nrsC0{2VAIIgcOIqtYe1cz!CQhB^zNBi zrE9G1tV3l^AY+d#w)##Y>KMxa0|2ddszNi}L0M=}vIlw@-phQ;41K8@p^nmwhRuE^ zgF|0=^GpWy)*V{+fAR6@AodS!wXV9OY+Y}@SMnRCqp`xkQ8;OoXzWV}eSDtU>)=O; z=V!q2O)HMl`{S!bhbeoY2k#+lrQZ*XQiE)3jUP6@3aI#~9cJDucVm`ldyUg^}1-}k+0(f8N*@ng>hWQQf zC4sQu%PfcQ-$RD4KYV~Njq&>i$hUP)7=tVyjH9b{La`5l@-XF;umETpB}Girs{rN& zhcx4m&=uua#xwj_BL2^916;O%70II|LWOghP=3=-UQnL;sSD&3!aB@3jfy19VO`|w zj3Hl?5mOc=AzhJp)JjvF4P--74s01F$!lqIf~3NELIzNj7So(W+|wU#qrx;oXOK^V ze__@nqW(g@5fmQgHvu{UQI<0DcY#It65?5r$-MImC>RL_xH#ltPXTezB&@-PdBJFJ7fm_I^J2|umVSa| zc8y*j+YtMGnlWUl4|RaTShD=a!+T$P?*q7A5`3PcCtf7aLvIk{IgNa#Kgw_@&vHHh zz37INTqX31q!IDFG7oi48To{HQRH~#as5_Zhd3Bl1&90XKz?|AruAx7(RfS~=mNrc cgFvWY=)fglbX*vG#ENJ+<}mI8{sa5vUrl~N3jhEB literal 0 HcmV?d00001