From 84823553cc8f44f63574b462b58a5fa2963ca2a2 Mon Sep 17 00:00:00 2001 From: "Raghu Shantha [MSFT]" Date: Thu, 2 Jun 2016 10:31:02 -0700 Subject: [PATCH] Add Ability to generate Appx packages --- .gitignore | 1 + Assets/Powershell_16.png | Bin 0 -> 622 bytes Assets/Powershell_20.png | Bin 0 -> 736 bytes Assets/Powershell_24.png | Bin 0 -> 882 bytes Assets/Powershell_256.png | Bin 0 -> 9746 bytes Assets/Powershell_32.png | Bin 0 -> 1154 bytes Assets/Powershell_40.png | Bin 0 -> 1327 bytes Assets/Powershell_48.png | Bin 0 -> 1736 bytes Assets/Powershell_64.png | Bin 0 -> 2201 bytes appveyor.yml | 15 +++-- build.psm1 | 113 +++++++++++++++++++++++++++++++++++++- 11 files changed, 123 insertions(+), 6 deletions(-) create mode 100644 Assets/Powershell_16.png create mode 100644 Assets/Powershell_20.png create mode 100644 Assets/Powershell_24.png create mode 100644 Assets/Powershell_256.png create mode 100644 Assets/Powershell_32.png create mode 100644 Assets/Powershell_40.png create mode 100644 Assets/Powershell_48.png create mode 100644 Assets/Powershell_64.png diff --git a/.gitignore b/.gitignore index fa3322aea1..214134621d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ dotnet-install.ps1 # Ignore executables *.exe *.msi +*.appx # Ignore packages *.deb diff --git a/Assets/Powershell_16.png b/Assets/Powershell_16.png new file mode 100644 index 0000000000000000000000000000000000000000..acc6c493b19b8b882364d5a44a212a6a3849a4a2 GIT binary patch literal 622 zcmV-!0+IcRP)PD^xX@}n!e=R38ju49+Fw79PeOW3F{{Ud`}$@0vkvnsEV6`7T4Zw?PQ z7`vF&$&a4A!_0>oGCfCk9bl+fm$VNkw+EG;loes(Y8K~DIQUlijr)&F@DKK4{93=f zoLJqhj_*G&V{w^-O8vS3v(rUYabzH&lb^jQWBSz`EVm!SXM9}0;O%hUuWAK9)_esu z19JJnqF{CsUREGj`GU#{MY{WNThj6UbwuGNlt=38o0$K(fm~mq{QBOZvzkF11usP) z+-gl(^c1?imQ`Ua{Jr5DJIfWM1pH%wwEWX8M&!T$jei9g0PC71_diE^SO5S307*qo IM6N<$f(%I-8~^|S literal 0 HcmV?d00001 diff --git a/Assets/Powershell_20.png b/Assets/Powershell_20.png new file mode 100644 index 0000000000000000000000000000000000000000..df170bf6e81072b28c353ec695175041f2be4811 GIT binary patch literal 736 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 literal 0 HcmV?d00001 diff --git a/Assets/Powershell_32.png b/Assets/Powershell_32.png new file mode 100644 index 0000000000000000000000000000000000000000..e801ee7e8d0facf7cbbe9f8d457fc6111e1207bc GIT binary patch literal 1154 zcmV-|1bzF7P)T`yb%}B=S=meqQs&>=@QD`J}Zj&0!#6nMi+I3d6Cz zc1F>=`lDWSbY_|8|JNJ4bJ#?FYqcZ2Tls?w)@?Y|GB=3>2EK>HHX^FccGG#lQCNYK&VDVa*!ssB$}P0 zUD&g$2bSrpck0JWc>9AnaBB+`w|xX?W*T1C z=?^&e-4&#=BO$PHEU1QMhc>=?W}EscLjd~2j_3CW`c&+HE{nd5uh{ug8E+l2ae4J# zGCmlQ{i2K~!4-X00zfrELF~_A$7|64!dME==etAB_VGyvhd(=q^gTmFDUaEzn~rzu zetnxyii;xw5D7@=AEKQ6ORRc$vk{{FwF6(_{DOg=O(W!l1|AzqHH^XauEMbMYX!et zTtu+wZSJzN1e_~*5uZWICLT$KjMp9Q==V^PgRs(#q;q8NU~Cce(yj;a?0y^NYXM`L zRr-9AS7ZRHQE1g`X{G87diSGmaBOZ7>E7+3thlsXMKYnpf>^m;rgLwTWR*fNWlPo9 z_?u^Pv@=PG=J?!IoV`#&>5o5g^=1zl-zs_bD+lJ0QvUWU#3tRMaujl1xnV#z5Y&G* zqA2AB&NVsv(dR-r1(@4l#)Q>hl^Pb@?noyDeB+`u3tUGo%NfgviZv<$wdVAwqBPpL z+;nS0h4go#7;tK9tE7<?If|Azm20RIUv0FEeM UXHknPbN~PV07*qoM6N<$g3ypN+W-In literal 0 HcmV?d00001 diff --git a/Assets/Powershell_40.png b/Assets/Powershell_40.png new file mode 100644 index 0000000000000000000000000000000000000000..f34dd54a48156a10f5dbcc424945afe49a547182 GIT binary patch literal 1327 zcmV+~1RCwC#SWRpcRUH4nnKxg%+ugNU zN{vQqxnPJgctQ{CqWE#6Ues8LH$4$rYMP)DIVg=Wv0gohi7A8w3e=zno4D(tBw%1k zP|`>jP0fZ%gA2QC*LK&;BLh)LgernB>A-u~Y2_y2m27={7&a}(e`Z|eZp z0shyGvJ)Z1vvbGZA1Bp#|A#oeMaXQ_j~+4B8YmB#A#$N7@RqMc5avl4;+}+VfqZS zj}W0Nu~!r2NQMa12ChBO-WMtC+#;+&k}V%|9cLDI5Z22tLm zq{j8OfjC)W;8=?)1U`H%0t#6Ul+c?&!)+dTEr>E6H0LL=E@_FDT<#zF>vq?w8OV>{ z?1QKb90nVq7_?pslnq9*egHF6j&Wt0I9WC2ZMVnzMEGbpfnb5lk~h2F@}hac>G3!p zAX1!W5AkFwEY{(@V-*|7!HpCSzwv+tBuCzk$#5JDKU9k3eFL?m#WO)t6c$(E-J`eQ zPR$BZf{8sTXxv@7XAc+9F$GD@asj6I{gjc^L?|f=*H_`d)J@y_gZ&bW?(S`Z^9dt7 z6F_jx{&GGH61^#}4}%t&7?YFJCEExuJe7p~L#Yrp=$?S2#8_tIGl-q(rh|kJ#50#F zFnQX}`6oyyVB`O@0A zeX|B*LmMEf+C{nk_e$s-PSrRAk>>)$5+W_I(kf)WY_t2;OT93(J??V1<1<&`SgwrE z2<|xOwuBj3%#(d;cumD<`$Ed~VRAGSOfAd7#j%&~%ka$OJ#c8xBfe{+%5oiE zJ#-fT+m}^LUSvM!x2n@cN%0KCyPk}?z+ISIf=^B?z|E?P?>67r^q>;Bc#CNi2KofJ z{Ks7vKx|o`buq#9hvXTED>eIIU!3_3#=k6@;H(qM7s`PEi#Kk=e6i|L-X%O8q|2Zn zrt$DJ=9!CSP=y+79gM+=+@J7kk%EYh;PmiISIe+-|18v3ms{hs9LzFVf;KKv%?(hA z=g~n*T!5y7_!#rI=W8&1uF8^;Z$-?afW%gUoHeiK>JjTdEbp?uTOVv@p5efmFO7R& z^YWS;O?d`r8-tDdN*+<_1c+lhgY83zokg^Dr^0WGgSdAyI%gX@=$L9x|7R%gDIP$w lzQei>a2??P9N@nK3;<5M;z^r;A0+?)002ovPDHLkV1kX(hlBtC literal 0 HcmV?d00001 diff --git a/Assets/Powershell_48.png b/Assets/Powershell_48.png new file mode 100644 index 0000000000000000000000000000000000000000..716c2aa5b60aa1cecab668b81bfe9b53aef655b3 GIT binary patch literal 1736 zcmV;(1~>VMP)zxV?w-J&_4b+hwgd%*Xuh+zH3 zmb$S{ikbbqqSr;7FAvUlAmluF=PMrw1NEGbvo%Xom1xD~Kwi%_MVz;tbsflR01M_2 zXwH$41D5B2f5ywURtRVnwm@X0?;yGpN1;V(x}NPk?Kc|$JJ#rs)t!IuJTw7EPELA} zah(c83q;hiLbm=$TNPVH)iFu@ z+UIyUFUq!(q9KL)gaEMmQ2sXroDYR~Xw;0@ZFnLB^JdBd2UzrQXWVzrqiNJuRx?PU zLRa6%S219iO%dqsY@i?%p)I!(1)L93OIFj!|3bVH6Oy+R*q{Aje!2s7 z_l&`xL!}6ax1XBDniDfHEA*%$yo+SF7om{bX>$-ms@LJ{4hR9{U+vE;DI*eMD^L-vSh2A|?7kKOvFf2_cyU#u z&^Ao1^0*46HAN5?0m^^fVBe$)v9YVucnPkL6eAWbc|0v`1O$u=03)DKu@F`S4z=(Y zD@|v926QaWF|(`hmn-nakGJTxvUm*?8drAef1eP*(oH|3c(r1ULu;IE^kWdtQ-aC`8C2*``l&vB^-%Y<#j29;KXTwNDP5fzN*$ z14YRt-;IT6Wv_}!boLoJK=S4FPZF_NI9G>l&o(g=6)Cgj<6q(IHH|u-P9#+96)SZT z>pxAOSOAhFx7h%|j1`;J?K$XdujeM}dp%cS(!`BNa-oV=BB#0A+JX?kve!@KC0uLA z2-U253Eq6BnI@{rob^w?y#NP~O@Jh4surqXCGt7xL?DJjbOnlgO_5M7UzCCME9;q* zId|y>Y~MEsmq*foQM`Ay4r`X74#=*9;Lb33eFQyTggu8Z!THO#eB*kJ?!HjK3Oz4N zBQX@B3phpR3RUM4!=??Z?K|=Ze0X>mRL!Vx9i4yd!Ca!pgZM~h{f?6rTYqyODinCO zicf)U{_})tVXMxhOxH&R_4SvB=@3NLE-vWroTph-SYx{`~;0Ktz(O6PqMEDo7?&yrww-29f|^ zFW~O*(I0cU4Sb>E0?0PTMnGB7b-DpxCRnAS{bHdyv8h6+BAX#`OXXUS|AUnOy|Hg- zR&G7Bix6oo(#UypLdvVtO5b@);`J-nu+H)9nD=7P!Vxdrc|9dcV4Mh2dsANnPyn`H} literal 0 HcmV?d00001 diff --git a/Assets/Powershell_64.png b/Assets/Powershell_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2a656ffc3c83f404f55f8aa3ee842c53a2d5a9e5 GIT binary patch literal 2201 zcmV;K2xj+*P)1A05Sk%0LTE40bl|T34ahmm@c08`YD+ncG2%Osuxf>_=U%WInIWUhSv}w?wnbf zg3f)4%mDp;Wz*(KA&C>P!;;PI_f9SYQL-ofDFOl;8!Wy3u0YQ+!>YC&Sf#4$UW_AI(`YVVa`Q<6)D#}Nnhgo@0QFQn$#O6F;CdrFE zi<-Rf&;UfjgJ=daZw#okdkd+Bsu)e|!(ty4|9}u-UfI~gjvQH)SCbbnXN){D;`TfM z_#~T4Tlpjfv`t-aWs~m((_re!6GU7@5*P`BjKgnn$hykM=JU%$nE$v4?f1iQ@Yexo z4~3IfhbKmWKA4>H(1M9zK_dt<13>-XFIw!0zOUhfFZ(4}Hb)%EvK6Hwtot$qce@4c z2juo?1BG?uDLN1mY}zD;U}J>Y1^klLt*v~V8ICF+9WEPzP1P2#3lBLmf}T&C$uOgH zL9(Kx051_Lw>Yv4mDg&nOrPS0?Jwnl(+1|0=Lxa~@Gx^gT4G66vS-$xHJS^!IK{^VF6{M{Zl1i?IU z0#4V7SKfh-(RyT~x0S;Jh);?Bj6|omFAQ4__EHcuETKSxHP0X+8B7b&(UT`yok{@Y zD~1SES}6cLM5l*>@XpsgnjkEFIuGh=a??n3)a6N57gC^RE&%8aeg!#BqJx(3!J%&G z?N<+s3uilE{c<@iL`O@W;{RmS{|y1Ce4|;WHxyg!-Z3V}LQLAbhT!e}T@(y;5UR?Z zP*mw;6I$Fd@w7L?a zKcfo}AKo}#VsgE05H|0-r?`dMc&&OWESPOi3DJpYq(jUAH2*hq0YGo4wAeid zJ?R-2(NPPEgou;^+xT3-zy6G$(6UhwEevJ|%&YTbum?Um@~(e}^0FA$AKOSpR!WcXafKlLA6xhvrA`tSzOiQA$~dNJ2LT66EX(lgcP{SnA>}vs=cjmY|L=yHfi2CYl13>e?U`Z`8 z$(JSA`a-_0+2c5R`Woy!a1OvRjbC^adZAe=0gKctpCpc4>~T$#*{( zfcN&ChBKEs!JR!_Nx#M&BICuuN;bI!)&*ce!&xkVCerw z5cW1*22XA&IJ^#1L`RF9Mca4~Fnl>WrT|in{_I3&wLc41S7zxde!HUww(a>vp~rGT znetLJl^r4+!;Rc#J^%<*D!kbQ(ZSq~t3IpPuB&|D{7u-l_cw@G3&A^SDwj_)b%A=l|UyKJdvJPVR6G6eT^5S0WidF0ki-@^N%q0-%AQ4 zsH@IV0-j-@J9-5?IVIrC@)%|lQ?J636|)(ezlsZxsQ)wM`kD$Cte)pJH2H>)Pr}94 ze#kDEMJo?sMBbvOWO#MiWN_O>?rkmG5Bvo`w6u*0dhvrL0FEh!2QI$uR{7YFZQan(E$b;CqW;h00#O3Q-fvS6beP+3cG@7jaF%Wa z?|C=`Zijgg{<%YAo2U)|OY|S>0)&*0=6`*ngALB)ap3r6She+gxYJKfJGZWa14&#?Q3V!2hMOOicGZNQu01~tV>kc?SluZW1N>uNf0=w0mbN`VtXp4|S765JFA)Gjij*y< z|HB>~Q}P%G@_*dR$U=Y;_X-2Kplme_4@LLWrg4uBw>-vyzV9t8Ll6Sg{~Nggph|y5 zf7T2QKJaU8XvX+}bAfr&Gv_Ah*fna`vk%mxj^_rF`M0?VJ~9Ag0LTE40U!fF27n1X b{u5vTy2wFLV%}Mq00000NkvXXu0mjfvw`l| literal 0 HcmV?d00001 diff --git a/appveyor.yml b/appveyor.yml index 8bbc05f39b..f4e3237ef7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -66,7 +66,8 @@ on_finish: $ErrorActionPreference = 'Stop' try { # Build package - $package = Start-PSPackage + $packages = Start-PSPackage + # Creating project artifact $name = git describe $zipFilePath = Join-Path $pwd "$name.zip" @@ -75,10 +76,14 @@ on_finish: [System.IO.Compression.ZipFile]::CreateFromDirectory($env:CoreOutput, $zipFilePath) [System.IO.Compression.ZipFile]::CreateFromDirectory($env:FullOutput, $zipFileFullPath) - $artifacts = @( - $package, - $zipFilePath, - $zipFileFullPath + $artifacts = New-Object System.Collections.ArrayList + foreach ($package in $packages) { + $artifacts.Add($package) + } + + $artifacts.Add($zipFilePath) + $artifacts.Add($zipFileFullPath) + ) Publish-NuGetFeed -OutputPath .\nuget-artifacts -VersionSuffix "b$($env:APPVEYOR_BUILD_NUMBER)" diff --git a/build.psm1 b/build.psm1 index bb1fed04ac..ea765497ea 100644 --- a/build.psm1 +++ b/build.psm1 @@ -441,7 +441,12 @@ Built upon .NET Core, it is also a C# REPL. Write-Verbose "Packaging $Source" if ($IsWindows) { - return Create-MSIPackage -ProductSourcePath $Source -ProductVersion $Version -Verbose + $msiPackagePath = Create-MSIPackage -ProductSourcePath $Source -ProductVersion $Version -Verbose + $appxPackagePath = New-AppxPackage -PackageVersion $Version -SourcePath $Source -AssetsPath "$PSScriptRoot\Assets" -Verbose + + $packages = @($msiPackagePath, $appxPackagePath) + + return $packages } if (-not (Get-Command "fpm" -ErrorAction SilentlyContinue)) { @@ -1021,3 +1026,109 @@ function Create-MSIPackage return $msiLocationPath } +# Function to create an Appx package compatible with Windows 8.1 and above +function New-AppxPackage +{ + [CmdletBinding()] + param ( + + # Name of the Package + [ValidateNotNullOrEmpty()] + [string] $PackageName = 'OpenPowerShell', + + # Version of the Package + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string] $PackageVersion, + + # Source Path to the Binplaced Files + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string] $SourcePath, + + # Path to Assets folder containing Appx specific artifacts + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string] $AssetsPath + ) + + Write-Verbose "Extract the version in the form of a.b.c.d" + $PackageVersion = ([regex]::matches($PackageVersion, "\d+(\.\d+)+"))[0].value + Write-Verbose "Package Version is $PackageVersion" + + $win10sdkBinPath = "${env:ProgramFiles(x86)}\Windows Kits\10\bin\x64" + + Write-Verbose "Ensure Win10 SDK is present on the machine @ $win10sdkBinPath" + if (-not (Test-Path $win10sdkBinPath)) + { + throw "Install Win10 SDK prior to running this script - https://go.microsoft.com/fwlink/p/?LinkID=698771" + } + + Write-Verbose "Ensure Source Path is valid - $SourcePath" + if (-not (Test-Path $SourcePath)) + { + throw "Invalid SourcePath - $SourcePath" + } + + Write-Verbose "Ensure Assets Path is valid - $AssetsPath" + if (-not (Test-Path $AssetsPath)) + { + throw "Invalid AssetsPath - $AssetsPath" + } + + Write-Verbose "Initialize MakeAppx executable path" + $makeappxExePath = Join-Path $win10sdkBinPath "MakeAppx.exe" + + $appxManifest = @" + + + + OpenPowerShell + Microsoft Corporation + #LOGO# + + + + + + + + + + + + + + + + + + +"@ + + $appxManifest = $appxManifest.Replace('#VERSION#', $PackageVersion) + $appxManifest = $appxManifest.Replace('#LOGO#', 'Assets\Powershell_256.png') + $appxManifest = $appxManifest.Replace('#SQUARE150x150LOGO#', 'Assets\Powershell_256.png') + $appxManifest = $appxManifest.Replace('#SQUARE44x44LOGO#', 'Assets\Powershell_48.png') + + Write-Verbose "Place Appx Manifest in $SourcePath" + $appxManifest | Out-File "$SourcePath\AppxManifest.xml" -Force + + $assetsInSourcePath = "$SourcePath" + '\Assets' + New-Item $assetsInSourcePath -type directory -Force | Out-Null + + $assetsInSourcePath = Join-Path $SourcePath 'Assets' + + Write-Verbose "Place AppxManifest dependencies such as images to $assetsInSourcePath" + Copy-Item "$AssetsPath\*.png" $assetsInSourcePath -Force + + $appxPackagePath = "$pwd\$PackageName_$PackageVersion.appx" + Write-Verbose "Calling MakeAppx from $makeappxExePath to create the package @ $appxPackagePath" + & $makeappxExePath pack /o /v /d $SourcePath /p $appxPackagePath | Write-Verbose + + Write-Verbose "Clean-up Appx artifacts and Assets from $SourcePath" + Remove-Item $assetsInSourcePath -Recurse -Force -ErrorAction SilentlyContinue + Remove-Item "$SourcePath\AppxManifest.xml" -Force -ErrorAction SilentlyContinue + + return $appxPackagePath +}