From 7aa3ebee0fb7df401fa0ecd6a20f3a7f0da50f05 Mon Sep 17 00:00:00 2001 From: mistachkin Date: Wed, 24 Feb 2016 21:42:03 +0000 Subject: [PATCH] Initial work on an automated VSIX testing tool. Not working or tested yet. FossilOrigin-Name: 496e4ac984b2548dd5f2f969cd34656b586cfcfe --- manifest | 36 ++- manifest.uuid | 2 +- vsixtest/App.xaml | 8 + vsixtest/App.xaml.cpp | 120 ++++++++++ vsixtest/App.xaml.h | 27 +++ vsixtest/Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes vsixtest/Assets/SplashScreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 2937 bytes vsixtest/Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1647 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes vsixtest/Assets/StoreLogo.png | Bin 0 -> 1451 bytes vsixtest/Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes vsixtest/MainPage.xaml | 13 ++ vsixtest/MainPage.xaml.cpp | 27 +++ vsixtest/MainPage.xaml.h | 21 ++ vsixtest/Package.appxmanifest | 49 ++++ vsixtest/pch.cpp | 6 + vsixtest/pch.h | 11 + vsixtest/vsixtest.sln | 40 ++++ vsixtest/vsixtest.tcl | 215 ++++++++++++++++++ vsixtest/vsixtest.vcxproj | 213 +++++++++++++++++ vsixtest/vsixtest.vcxproj.filters | 24 ++ vsixtest/vsixtest_TemporaryKey.pfx | Bin 0 -> 2520 bytes 23 files changed, 805 insertions(+), 7 deletions(-) create mode 100644 vsixtest/App.xaml create mode 100644 vsixtest/App.xaml.cpp create mode 100644 vsixtest/App.xaml.h create mode 100644 vsixtest/Assets/LockScreenLogo.scale-200.png create mode 100644 vsixtest/Assets/SplashScreen.scale-200.png create mode 100644 vsixtest/Assets/Square150x150Logo.scale-200.png create mode 100644 vsixtest/Assets/Square44x44Logo.scale-200.png create mode 100644 vsixtest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 vsixtest/Assets/StoreLogo.png create mode 100644 vsixtest/Assets/Wide310x150Logo.scale-200.png create mode 100644 vsixtest/MainPage.xaml create mode 100644 vsixtest/MainPage.xaml.cpp create mode 100644 vsixtest/MainPage.xaml.h create mode 100644 vsixtest/Package.appxmanifest create mode 100644 vsixtest/pch.cpp create mode 100644 vsixtest/pch.h create mode 100644 vsixtest/vsixtest.sln create mode 100644 vsixtest/vsixtest.tcl create mode 100644 vsixtest/vsixtest.vcxproj create mode 100644 vsixtest/vsixtest.vcxproj.filters create mode 100644 vsixtest/vsixtest_TemporaryKey.pfx diff --git a/manifest b/manifest index a6c34eb4bb..e9256df548 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Extend\s[3e9ed1ae]\sso\sthat\scovering\sindexes\son\sWITHOUT\sROWID\stables\sare\salso\sidentified. -D 2016-02-24T20:16:28.164 +C Initial\swork\son\san\sautomated\sVSIX\stesting\stool.\s\sNot\sworking\sor\stested\syet. +D 2016-02-24T21:42:03.852 F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 28fc4ee02333996d31b3602b39eeb8e609a89ce4 @@ -1429,7 +1429,31 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh a98af506df552f3b3c0d904f94e4cdc4e1a6d598 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 56f62e34ae9d5c7db07367f0007df258b2e76bd2 -R baac3e94ca81a0031c96821cb1862aed -U dan -Z 255768a198e66c588af8c08668af4632 +F vsixtest/App.xaml 7af5a2a527aa5783e208c436c5227a21b1023cec +F vsixtest/App.xaml.cpp c4aaab1774e771d2b6f662cbd247fd31df087a22 +F vsixtest/App.xaml.h f723ae437a141cd496adfccae517a6011dd95dfb +F vsixtest/Assets/LockScreenLogo.scale-200.png e820c9a3deb909197081b0bf3216c06e13905f0a +F vsixtest/Assets/SplashScreen.scale-200.png cab70988ca71bebec7bfeb3b6dbafe17b9ab0b4a +F vsixtest/Assets/Square150x150Logo.scale-200.png e17b40817db7a239fc239d83efcc951fb824e3ff +F vsixtest/Assets/Square44x44Logo.scale-200.png 2f166237094dea94d952d10b9eeae81806844f1c +F vsixtest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png 5f6a6d391b95a3061ccca6e6fdd6955ede63b4ed +F vsixtest/Assets/StoreLogo.png 0828b7257db74a4ecd5eeb6b7b4971f0fdc4d9d1 +F vsixtest/Assets/Wide310x150Logo.scale-200.png 04ddefe5bc5f43ae12a7433f6f236ddab101ac42 +F vsixtest/MainPage.xaml b17ae614fc9aab5ee0068e16c9a3e3461d13b6d1 +F vsixtest/MainPage.xaml.cpp 66f81d6149d9a09de5c6c7846c6557cdd7a76b15 +F vsixtest/MainPage.xaml.h 5b8d65dc2b9e59e29bc0a6bca81211ff27ac830a +F vsixtest/Package.appxmanifest 0535b2e6708c44ad45ed7fb1dfd4de5de351dd7a +F vsixtest/pch.cpp 681cc12ddc215c95fe300ee8a3dde057fa2ec308 +F vsixtest/pch.h 9d2475a4f6d5c921b86c8f61060b6b04421f1010 +F vsixtest/vsixtest.sln 8950e044dd04a07046990d04bf77e60738e2d136 +F vsixtest/vsixtest.tcl d452077319cd94e626e37a8ea323f4e739dbc5a6 +F vsixtest/vsixtest.vcxproj 15407f0e35e914fecc65ed422ac08b28e52b3e4f +F vsixtest/vsixtest.vcxproj.filters 443739cb985bb81620dc66f375a845b25debe116 +F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 +P e721975faa0925be4029330550ff2a9666041ff7 +R 5235a7354869742aeac200c2498e03f2 +T *branch * vsixTest +T *sym-vsixTest * +T -sym-trunk * +U mistachkin +Z 30aae13ef1f9c0b59510b9ed5eae30fc diff --git a/manifest.uuid b/manifest.uuid index 56555f4bc2..8ebfae5b16 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e721975faa0925be4029330550ff2a9666041ff7 \ No newline at end of file +496e4ac984b2548dd5f2f969cd34656b586cfcfe \ No newline at end of file diff --git a/vsixtest/App.xaml b/vsixtest/App.xaml new file mode 100644 index 0000000000..7f023fe5d7 --- /dev/null +++ b/vsixtest/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/vsixtest/App.xaml.cpp b/vsixtest/App.xaml.cpp new file mode 100644 index 0000000000..5d60058f6b --- /dev/null +++ b/vsixtest/App.xaml.cpp @@ -0,0 +1,120 @@ +// +// App.xaml.cpp +// Implementation of the App class. +// + +#include "pch.h" +#include "MainPage.xaml.h" + +using namespace vsixtest; + +using namespace Platform; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Controls::Primitives; +using namespace Windows::UI::Xaml::Data; +using namespace Windows::UI::Xaml::Input; +using namespace Windows::UI::Xaml::Interop; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Navigation; + +/// +/// Initializes the singleton application object. This is the first line of authored code +/// executed, and as such is the logical equivalent of main() or WinMain(). +/// +App::App() +{ + InitializeComponent(); + Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending); +} + +/// +/// Invoked when the application is launched normally by the end user. Other entry points +/// will be used such as when the application is launched to open a specific file. +/// +/// Details about the launch request and process. +void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) +{ + +#if _DEBUG + // Show graphics profiling information while debugging. + if (IsDebuggerPresent()) + { + // Display the current frame rate counters + DebugSettings->EnableFrameRateCounter = true; + } +#endif + + auto rootFrame = dynamic_cast(Window::Current->Content); + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == nullptr) + { + // Create a Frame to act as the navigation context and associate it with + // a SuspensionManager key + rootFrame = ref new Frame(); + + rootFrame->NavigationFailed += ref new Windows::UI::Xaml::Navigation::NavigationFailedEventHandler(this, &App::OnNavigationFailed); + + if (e->PreviousExecutionState == ApplicationExecutionState::Terminated) + { + // TODO: Restore the saved session state only when appropriate, scheduling the + // final launch steps after the restore is complete + + } + + if (rootFrame->Content == nullptr) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments); + } + // Place the frame in the current Window + Window::Current->Content = rootFrame; + // Ensure the current window is active + Window::Current->Activate(); + } + else + { + if (rootFrame->Content == nullptr) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments); + } + // Ensure the current window is active + Window::Current->Activate(); + } +} + +/// +/// Invoked when application execution is being suspended. Application state is saved +/// without knowing whether the application will be terminated or resumed with the contents +/// of memory still intact. +/// +/// The source of the suspend request. +/// Details about the suspend request. +void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e) +{ + (void) sender; // Unused parameter + (void) e; // Unused parameter + + //TODO: Save application state and stop any background activity +} + +/// +/// Invoked when Navigation to a certain page fails +/// +/// The Frame which failed navigation +/// Details about the navigation failure +void App::OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e) +{ + throw ref new FailureException("Failed to load Page " + e->SourcePageType.Name); +} \ No newline at end of file diff --git a/vsixtest/App.xaml.h b/vsixtest/App.xaml.h new file mode 100644 index 0000000000..7322d11b9c --- /dev/null +++ b/vsixtest/App.xaml.h @@ -0,0 +1,27 @@ +// +// App.xaml.h +// Declaration of the App class. +// + +#pragma once + +#include "App.g.h" + +namespace vsixtest +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + ref class App sealed + { + protected: + virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override; + + internal: + App(); + + private: + void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e); + void OnNavigationFailed(Platform::Object ^sender, Windows::UI::Xaml::Navigation::NavigationFailedEventArgs ^e); + }; +} diff --git a/vsixtest/Assets/LockScreenLogo.scale-200.png b/vsixtest/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 GIT binary patch literal 1430 zc-nnbeM}o=7;kZWbb`9#Tt=4cawMCm*Zb(T*E{KeegI`FkOBiSGOl-T;e_6m>tPQB zBV?(oVH@)gf+oy}?kff+*&pgagw3dn*;s~3vM9zs1ph$j{sT8RuZ-ei7T)CUeV^xk zzvp@0=i_3Pk$U-nA)f?`Yd@#a*XVNdYCo%0O4dOMU=( zf@~A;0haG*y9V-gx+jhb)pbgp_YlKLK@*$6nABiMmst4)YKY}pfCBkJlOWpRmGQ4( zNZ{>ot;LIZLr%~vly=IXsulj@9xgZl<*STlAP5u|QiH8xm{INUx?M&)C)6km ztwWR+JNz)HI&UT9lw<%|Ojd-$a1x?u6K=6mH1!fhXfle~Py$0Rnz5J}jDR*4ta+39 z0ONBNZ}`$AJKU@&AqGVwk%%c`Hc4_5iqkZWVgyPMh=xGI9iqajh#1aIT5y3dCkr7( zkVGgUvwo>vvBPlk3c--qyJ=VqZzM`f8LF}&6gOdLFo-76VZ{dmTcg9(9U*}FKv-&* zIjtUn+(%q(O-%r`XqXCF(2Bygx+JbW2t>u>vcuXJ6EE-##Rez>BPU8?^9#>JddVA@E>DR9mJ`=tE=e3rPeyq(qMn8A*0Q=#vddRT)LfLdn`AA#J zrT+Ta8_PGAmK?j@%IJ-Ew{Z*9;qKpN${Mg2yO3XsW=VI?T>C$-y?r?E?uEba82Wxr zU+AS9Ckg#&?zHej!Thg|k1d54v8M--v*zd#|2$SPn7asz_{w0`S8ea>??ngePfYC} z>S&3*x{8dAO%}h*#omk$t#nV7^=8d{dFsqSymxUvR^?Hz-t9BqHWtMvFZB<&u&(d1 z{m72gz0C14kL&7peY0amI6l@5RXZ{phHtKx9lLVSLW~}@P4H*#9dx8NT+XiWoS&}P znPV`dPn?^Z%ZcZta4~z&_o7){C44KyrVjvk4ri9e;sUG5rnH1_@r4Iugz literal 0 Hc-jL100001 diff --git a/vsixtest/Assets/SplashScreen.scale-200.png b/vsixtest/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..023e7f1feda78d5100569825acedfd213a0d84e9 GIT binary patch literal 7700 zc-rk)YgCh0);@@Xmo}D*+6rFci-@fTLLebYL4$+{3X0Y$N@@vtgU|%RB^JEY#-eTF zCw``0z^aw$W$Ieme3(|twAA7nDrupuol#?C+DXxAwQ6fy#VXpFXTO2YtXZ@A=UeOh z=12JxcFuYBe)ityoV|CP`Sa(9Mn;chjEQoxwTl=VdX}*v1;fMeP0N|W7x6L9mQ`ST z#9CsjHB_5e25&7kiF3*gD@}_`27Yzb2c|T}LN}HzF0d8k<*JR=@&p6zNvJEYWb~Id ztFF>uG@ESVV$;g9igfPVci!W~WqdlfRGufztIRZ&mSwN0Ha)Ut{$k@Avr)x!vu29Z z>eNtBZn7D~b>)_d8g*SdC+JnFs2wJsuCG5 zNs=WM%aV*rxm1}tsOR6}RT){CNhw;LRF;{Pl$D}V%ti!tnX=ik*(n(c)gU&fqQ+*Z zFq#IjW&glt{vuYLS#2`dtksLHR?FZi$S<|ptTm<9N^xeUkah92rDYYowYKI#O49&a zQ+3&sCSF%}B)yO9+i}_TkLB z`G4|1cuw&RbW{$~QLB<=B}RooDJhZ4QYA@ArW8rBDm6vIt7OJv-lQrqniO0jC?@{P zQ5yUT=ac^Z`C>r$`D&ReaG$Diah`}(Y-22XYK}HzaoxEqJ@0Ncm96UhBKn~7@QiyL z*$y%HmM;2(6Cn>qbm+s9Mx<&q&+?pX&aSjAysC4RsSF`R8&*XLikm1$Ck#ITp^E)QjUuQ{>0XTM_zwrcF{R25kW zR`EAoF}4NJr24X9nBfV@h? z+=xg(0U;ei1qm} zb~-HWBRk|wiJ05ZYZc;T=o%FXUE^IMZ#I-gL78#^A1aFgvnjwAV^=74QC>W^|MINW zX=(3Xe&Wb1bt)S-!ov6)Z*;By>{_}@)U>dxwXeTxeeVUvPiYC+cKY#z{!h1i!z#Pp zY39s;D4Adhk}+xE4F zu?8gV5F+Fu#gnn?w9}$d^hUFksVyOPZ`g&&?hwr|L@o`%@;lA!q!YpV7OD zv3i8QXqHQKF$=zIKr}12c*EYLJO(Ha^ZC%_aI9zusO^Q9M?g(F0!jH8JePx7lLI`H zxS0GGplmw=BL-wHL1qK8W3ne?AvovGg#*=EMPLT(PlW@TWn4_<4uar-HK(~mXXnBG zP?$WB$%jq^UQAZLj_}(HVI^A&{M*1Ap==7A(ZI77+J#uMbK!mlz0bpy<_Rv*nK;C< z7}np6^BiA8==nhRX%z*}!QeeOx6SvtMBhh&V+3|xkM(4%fZ7>kml1Fw&RvNWyYBFL}`QjoyKyh++> zkt69Om*^b4w?Bt~HQ|8YKw8=p;7s>CzMfnzN(JXHr+PA0gJvb==!YnO^LUt166f(+ zg#-TE9|7K*$=Ck?NFW7}>Ii>8iCx1fld#f9yQH)b=?^4fVcKlK+q8<-JP_MVyHZ`E z6}0Om(zSrEzX@HLUcA{b4R<98#pYAF5g+{7t)ow&8rR zNs<007YT7BMERSXBp^l1=dg6+(PGci1NxT3vL%-USY$ULWRn2K?7tysNg!=&Aqbc$ zBseYCr+~m8kQRHaRSILvflL=~reF1XqW>>a>i0~Yk?P&l><5adAj=9I9BY5DF2V!pzIZLM&huv#RC5zC~Ky3J?97_0i-mC zFWgSM$ja+ZiB*yCa4fkv-F0c8Oz zt?*n=6Rq5boiI;?pCl6r8L^k80Su>U^+yY4D z^MLT2XCDQVsG=^ldYBwyw(X|NC^i;npVr#X7L^LG=Zbf=dfDFWofiGK1}M;@D& z#nP^m#N|*zA&;xXqNx@CUQ2Op4u$gp{}mUd@*E%+)lJ9`@^3o0pYn(l6a`83LuV^5N2FuKgtJzB8! z41!>>R=KA@IDpEkX!SK9$-0&TK*10hC#GVC6<342$U!oI0H>Xcm#? z8|AL6??u1Y|8(Qs_kIXvr|4yQ^Sjr(j`jTb(bMlpeG|2YiNBEy%h_mUArCTuP92w!lu@-L}zdCp)s3ifgYOnD;-BX zM6I5vmGmy3K*1x3bb8h62^2eeDpBXoJPXAw_4I`4^yYbpT%GWQaqb)Fz}TPZseU8e zcRLc!P~(ng(`=-3C_I~=I?YCMb0!s}*eKtLDZs2F1-dwQLmssK7(-98t5q=!Mguum zIT7prC<`mQsHDb5_`W2}JgP_w9p)Oe&~_8O@54Kepx0nUbm-7;?)oqAoG}OZHIY8F z6sQ6ero`Um6>zQPUMepc`oenJMJIE4ls32zP&rbyX>`W?%;l8tIG}$8Z|BoH=tq6u)u#(do zy%Gs%KSlV_RSm-dY1)Oz?hv~dJ_D1v0h2okY@qe zJK6oI03lztM*2`-(L+$g<~YpP#h{!?5qq~ozJ`<;C}I~rIY#>428=Wj*Na*a4mr%?;BL&Yvpv*i*f=+KN0nd{SpoR{>wE@&@bToRS zcf(~(4fSJr`q)_TFQtxsmD9{m1^OfE+7L^chBQ$^*QPhdK~=D8i|`e=plUJotm+Q= z5`qYgURad~(Ql4KT+nU@Frl$&)c^juLtaP6YBMghII&7pL7o&-|Cpn%?=*hmJjvJY{PRA;hI__arqT6KVAj~`f zGv_JZOG)UdeX&FS06iLQG>o-={{E3q_Tw80$sLN1G16DG4z{nw(Hs%$K90Vg(fE7Z zVWv(#I5{Xgk3xqW2d(dQu+Am;N=^TCiD!fkH=-DcFm@#>>9N5T*4GYlO zG-$rvArD|y49;0Nbd_{zoyccCCYv-IElnhib{Iz1k}CQE!sIkl^UHE6yVbzYa1G3P z<9egRiQ_A|AIF-GX~PCLLR-qDO5s-ppM3?CJwUGXJIop@>{AJ{;{p_oCV`ykhmb;o4nhxv#U#+EcNv0> z1e$1k5XO=~d1-_|FTF5nukDSNPKP&Cd;%CRx-s9{=Yv|f&rXTFNMkrFk& zykGBG&>P*Jo__3uzQm75X>_o$?C$j(eQ4b)bQEmDFDad2R)j4KriP9PhMlM6Qa(FD zTZaWIN$tqgHsU}fsRaiGZEC1clFni{T>^+ulG4yLO^4e;N%{uK*$Ib)lJpijDCiO{ z7y{M476MhIb~6Ms3D-`HV1Z4u^nKgAe!As(x@MGp>G~?aFQNa`gNQj)BtCV+v;W~x z##$Qxvwms|`_37K|C7HL1%EUA@xs-fx7@<--to7>{{OiBy7=qj|90`tqxKM{=sG<& Tag%%}eUpG#XOo^9>UZO zX$LKC876B|I#VkubnAv}qYJv?+5)R(yN(d-Kr4@}R;yK8t=m%FRoXrGCZX0k);p8r zod5s6@Bhv{|Cy6l%1hUzCNE2-P$;Ror?dtNg~}s7NxuM*O)s|BfuBe5LIi)tS%WvA zZj7R~IIA(X&W>)t3>a$J^uh;N9)+^#Wm^S;BPCD6W~ZHx5*U7?-9;guyeAu7sJRxy z+11zvnrUYlMM-9m7#} zqkW^p12^V#NL?6=iLijfCLwrjJ||`hDJf@boNkOQY%!P% zgi3)}2nkiNOacqV?D)e0)!ddE*q|+n*8;PAjuppUut3nz(7`%$yvwo><|5KwPkVq9G ziK0j-)`~=hQk7b))rty=)Dl&ZRHD`-xH^XiM;&G?!L|LsmEV&KYup%$JKYsd=f*@A zlv|y+(_?kI*cuJF>+DtQYz~XF!IMpFQ`{})w$)>nBDd4dCf_q`yNd@*fvJQw5)q`R zQ79l(D#aj`RHT5al?u5oQmfJ7op z3RSBVQplnbo2xCDs>Y1TIRao&a7Qa8LZCm1;ljZHlZB&&Ily^xgM-uYb~!k94{XzE z)fJ6XU(Ak`{9661EoZL%D^+XD$HuO#yx6^^bL_10fywD9=;P}zZ0zFhSR8WdkL8@nJ~N?o`FAAB>TN?Oh84Me^iToPzeJt`1{|cnRGtk6G^D>>z6uOR_dUPE zUTS3;mzyWxnNGlhkNvrBAbS@VsoPq4xlscIFX1gssa3wTNEde~837PeWd;vWcJ%ST zIsNgT{*ep6AD`-fbmXt|Z!Ow4pgO$|SrRJF;$=YudjEBLE-)M+=?FEYYSIv)rT5Wu zi7^pmKrvBXFV`D1F?d#WiZO;TG2;LvhVXJh(LrB&pNTsKL$|sga{~5Jm@o4f*g-fAqoKf zo+z+ECtQ&HKml2RLzWFEk#2Hnq{+75+&dK{Gd*M?n~dLIxJUQwv$T1iaW$oL{;GZb z=HcSOlb?=P9l3Rr1z^GU$YEP8F-m7 zeByfQhqRz+Ze?#5@ROWt1vZD1t7yU95ns^Tv+6#>H)Z4`LeA2ANfaYQ!iIA0E9KrY zlq0rM^+cLWEXY@B>+NFjhLWo?>IYdQJlPlpUK!BMMX{Fv+Ng?1F(4C@SiOl$3Z(aW zK{FB(ftWy)MszboO)>h?BlKL*bVwv7z)bK7?U=yvs^J)e4*gb30DNgNL@`ku0Kl1w zl>jni1!O2e05(7c03s@|NE?JeAi)PVNPz`@BqqR2@P~@y{E#p%5a)*tae+*N&+02~ z0sN4;uXWUs(n}Awk1vA()S5 z<>K(;_$a_8@0QU=A2IrjYx`OwhlY!D{xJEVv<%T58(&s%J_%Ibwv!F&6_PF$JdiQM=sjG# zhgR;qLERkjpI?(gFeixbwmkvb9lDcalPPab|3mq1``MR9{P_O*<}35c(U!RbqpuBE z{dwH&Ke@ulJMQE|tKZL^T^FqMgDdM~_`r0yvg6###FZCAQ1!7}@F(}!4*-K;{y`IE Xk4$rcZxzQca_gcGd93OX0XxfP{DtmI1NKq zRt1;H^qAhM29?&ewQjJXw#dlT+8Bz3SFMC{eM-TA9q=^dvsXDhN}mdzv8xo$Au$R= zGb+4I1wRVPq%VfloEtzgi5y`tTndqt1eeK4id+E^0*_(}l)w;-Qp&QG7y->LSn%d% zElPt%H|tB_RB$EFJC!Kv^?D`VYzgPyh~gAQp%{S@1R`i4o=py(_8|^Wdf0*nco?_U z$y+%G6yj+!SIw(nIQ#^=Q?Gw)*x{K?l#nviM>|nmf}wUh8rJsk24H!%w#T^12~Y#@ zaMf-`sD~x}30KdCh7^TplA;T18*v`}N!nKUj;e-w&v^cJnt|77&8V#ODQ3|b&(&)n20*8mE z9SjI#t^Z;1XJVCVH=udWZREJBa2FI;ay;j$5C6v3ETKv@_dhfyI!^na}s776_sIzAo@fq6Vy zz#+_&TNs>+mp?xy5=GP(X!4A{%QvnJ6rI5mMBiVWlBcEZdTt`JX6%)_*r}BH51N+N zOby2NExfwzwblEh4&EFcZoN77(U!5#?4x@+r0s`(EWh+dD*t*;Ut~_-*@TJX_VSFh zt}p(+lhWNJcPty;GTlkNm~isrDV8Nvpn#!U)-Mo?U^*svFVl# z4Mkntwyt$&;^8=Io+P?2CRpV+_U~>#cGVD3s5#$Sn7AVD<7hIrFN&3qm-TlC4*RKk zs_iG2C-OJV;`;CAbVrsZNM67)j%Jn>Rm8I{|9F3A0Cr`F7-;8EM?`l+Zu5z~?`6gL z;%+bM?YyS3J{UL>c-5H^aTe+s=!nnVI)3lVh!WzK`1bMjN&eCLy7ZS~hg&-u9Gf35 zY;jH8X*j-A{PUafU2m_RGd*p7O9AgM?~F;^yvX*C@rS&q9nK5$y1tqZ7dP*#t)WwV z)ARMwMCQ=0yi?u@>9{Sh{`s~%s@KP6ib|x!qK2%+$?=0p+Y`1^G_^auacUHP+CD3~ zq;oNCwuFgqXu-8WJ6z+-gFWPeb0@D&rUeT@&L6)t1iRip@ooC`(x&`1(U;CoC9S9% lyf^RulCgT#l1}7QlvpHwr#FB|U|r}JP@pZ+^scFB_!s1mT%7;_ literal 0 Hc-jL100001 diff --git a/vsixtest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/vsixtest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c02ce97e0a802b85f6021e822c89f8bf57d5cd GIT binary patch literal 1255 zc-nnbU2NM_6i%CDG#S+YXy zbIv_KK08-_aWH;39twp93&(O5ygwa01N-p%=SJpFybbyJnt$BZ{RVVVXiBpcL=;T8 zfGP-TE2p;5SSS=;GpaSeRw~M>Z6;xWNj6O<6s)m{rUTVF@(Bek7*>Y7_w@~uFtiLg zFO=w#lSPZhv6hRDx5`zuRaYgAoERs@nld(EA|Db>bIJ1LW`^9cE8}yZrbuE3;@30e zgP>}qIU;Mjh!Bz~pwbLah*FXfQlcatC0Hy|bedvmKufZ~$uvuJ7m2;Onl4vzGhJU; z%8-k`@5mI@Xf%=yE@`_96eCFzMY9yk0*nCOisi#5u)N`(g&gu!*KmBpwunH6ioNV- zNV0bY(i;^968OalA2~Epwp}f7zXh`kwhM7 z600g2l5`cNND7BY{jZgJD%_vJad$AVusd4F!t>c72 zpf3@AuW$boe;+t_w}0C{bYUyHxjp$qOc_4m9C?1|vCV~>{GG^|`S8^j4*r-u@X5W& zXZknmo%oh8cIfu%Z>OAgakkiLP2YO!eXw4*9?_cvUv|Fx=-ip>k;}iVt&cuCJ8-yM z9N$2(SK6Qc8di?RR?l6EZl6@vx&0qpjObg>5qd;b~N^UjHl{P|a-lW+Hh{<=K-`00Vwk>J-;$d_|pOrLz`Uu!ay A^Z)<= literal 0 Hc-jL100001 diff --git a/vsixtest/Assets/StoreLogo.png b/vsixtest/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7385b56c0e4d3c6b0efe3324aa1194157d837826 GIT binary patch literal 1451 zc-nnb4NMbf7_Os|j-OE60yrEV2OFSV?}uxzcTk~!K&K!SqL?t}_3mrA(Du5!gBIKp zM}QSI(B#aH~5JdvuBFJEuH4q;9JfXOq$(dX+FM0gaUxJpghA zSRZf$mhX7^0w~jH61s)PCZ(xn6T^uC0~^B_B7u-5w#v#QA(m?e3giJkA!vbbpE(CZ z0&ju08f&nckR7xL)twS(=&WtzI$JrKhs!rWWf4X-5C94bMFRey%tS2kf?Y;E$J8hc zEkKl33;ZysrkXm)E=mA08cYa>;Uq-S2Ha?(XsQ?@R2jw0D1jju%@|73*4e8AqGXm;jkfGVh|-CiqkZWVgyPMh>Aeuj-bLukf59wx8MLWCkY`% z5Q9)mW<6q?Vu9iK6#}7}nkBD zacVuhd5^eSo*DzH(J-4OK`jdFcZghD00b46!vd>c47|WI6zio3j4&buPq2uIBUyy@ z5aXXLW6E-_e5G8aaMmTZYN!lo<*=o1Zgwa}wRXT|{*AUY5()CBQ18)F_Jnco)>Qh>9q;h#|;sU#L1%xK#-9VpuMUm1!|rAPMb&uav|9 zw2)^;cuWj{0yO3=!4b+!Q3y+t0HH~oLOf>5#2Zbx*+iP*MLz$?{U7$Js!?r(;^8o6 zlA}2@K_gy_pb#7fB;uhd65(lr^YDQ7a=-+mYKZ9nS}Cql`!jZ28Vprf8Z8i1=Sflr z=Mvh!TBBJp>T*~cBRA%6jJ+^Xp--IUqmcuhzs`PJP-QV!jd*7W|pV_~0D)s#>UFHe@>-tk;_jh-UHFG&rnJv~6 z&6(}GD;u_CJNpgqT0SVacv(EDy;|j;>Un;&%FXraKfawjv~Rj{e7~NXnSXI=-4nfg z2R7Av*t7a;pT0#-X8%|s92nQ;zT!LgL;nuPSLBi8i7wsGRW{tOdt>rq=EUyVTl&GQ zcCGJtX+~bx>@U*~CZf6d8Ec!f>bsBI=f?u%u8}|7(QPMNUDo;j zro*K})R!Jaql4$qZ+|B`qJj2)$l1;weN7iF{3pd>i*gWbdphCGbWc|GF8x>qtSwDk z1vlaQv&MQ?tkh+s6k4@hMLMiY(0(CnyQxH7^!mNN{FFlH-#tZ>BcJuG>TXRP$Vo05 zK8nnyO=aKQ?xJ>{Z)P*N-1fEi*2vVsBco{-_U%dQTVH{t}roZot P{XSjJTE{8dj;?i!KZwTXYl{-JNmoeJ@F~ zEY#J_Kj;3=Js-bw?mh2L;`Mbk;+bVL5d;y}t~NIyNRbag1S>>BpxLtY`UgP#Bx12g zo(#AmZB&Rss+<7_gVwTC3)8?*&W=s*F_j2Xyv@^SkJxRG>FEF~r=X3zoed)JSGlS^ zNYP#K6+G!dYlH?TD1+g1x<|Gv$`|HJlR>-NOyW^ol~}IC0g082LV_n zLZR)f&mY#e8)RHuJy=7vLWXiC5wAhUld{|DQBxqqplUgZ(YR8DYIJg?n$+ktD^LPp z1+G;PIEL%=>IywhpxK`cWD7Z6`UbN#n+qU=%pHjY^$JB>TbsPCLLLaUD3m&#PJt5& zg1~?U7VhvzsCLXBF3&|UGhsU92}V2tKMFDB2((5FGFh$!HfXcu1N+0-MuCS>NS*0L*RrOBb)?ge*d9=|it7Jd*OQ&xjySXci=#hPA%i2DXgMGLtrGS zs=yqCmcrB;+F7A>I5jv$$g=*$646`v>MvDZdjlLy%eArd`&$Sy#l&BcguP=JU?1SydsNVk}SXgUv( zF(C&fkO;{^=#+!NYML0(>U+f~NPL$VB9DK@ne(9|iIVi0v9YeD(dM42;U?r;)!Rjf z7c7bweMdye_Pw*v-WQmCYQGKLJ<9xS_u02+N_@um7wrCe%|&}+cCv?1B+KqSUDGf5 zWB;kWC(rFj#)fY(ht|&!k;cU06yVV>PL@r9KRqPzqUor9Wt_Cm@wTLd-Qts1JbT*u zcYZc>bMzE_pr`Y9&x@~YT>Hg`9qICn{^R#go*7F0zT)%eZ&VrT(#?n6;lEf@_J8_* zj;4)?IGHSia&f9KhYd);zF$1FEGvZ~Qo_d6Lm(TJ#=$OkDUcFh)NMK#&q_hJ*u2+W z>UD@qq-aLs1wAoK9b$F%x1SG;_5sL zK$&B)x{Q6J-v(307P2+`if0BKvW!Yum^{l&k_9;>q{+)X%^cX9llGh}hTLj8b9F+6fNMAAzk~q_Mvxhjz00q27yGCNzEQ%6Y2w(uJ3>r$(|) z@`80@0NZ-hUR?d<)^zmV@y+l2VU_7_(F&+MWSRKwzSCP3U!Euvj0p!foO^WBt*2K$ zJ$m+E$J>F~8PjW5UzcY-;{aZNFiwI{OJeGA7^-AwSq7+oiKfg_5K0&uo-}x$vcUC) zlk0Ca{Phvr(U-4oC(+*=nTM3`7``DE)?AYLCfplVo&V+yL>4?Q{Dm^rcQN#lUFQM) zIMz$s5|DD$w0Y(v``oa5-S$!zbZ@o9+Yh^Uk7GLL*zo_kFmHVv#xsKG5UY8xvy$fo zt-vM90&*8m4H5;HC<`*l7$nBiH1aF~h)*fObY>+OHo?Q;hmoPCi>5t>p{AwzlizS) z+vQEig$~=n4__c3$Yp`KC0W2_12fBWd5+%%!vqIiU7!S?5xzEct^~6b*0gv^30SJZ zR{|0g^96I8{|UgDljHD%eU+EnF`$wdc3#o4fxFsx3fn literal 0 Hc-jL100001 diff --git a/vsixtest/MainPage.xaml b/vsixtest/MainPage.xaml new file mode 100644 index 0000000000..76724544e1 --- /dev/null +++ b/vsixtest/MainPage.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/vsixtest/MainPage.xaml.cpp b/vsixtest/MainPage.xaml.cpp new file mode 100644 index 0000000000..f615f4d89e --- /dev/null +++ b/vsixtest/MainPage.xaml.cpp @@ -0,0 +1,27 @@ +// +// MainPage.xaml.cpp +// Implementation of the MainPage class. +// + +#include "pch.h" +#include "MainPage.xaml.h" + +using namespace vsixtest; + +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Controls::Primitives; +using namespace Windows::UI::Xaml::Data; +using namespace Windows::UI::Xaml::Input; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Navigation; + +// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 + +MainPage::MainPage() +{ + InitializeComponent(); +} diff --git a/vsixtest/MainPage.xaml.h b/vsixtest/MainPage.xaml.h new file mode 100644 index 0000000000..cf95007d17 --- /dev/null +++ b/vsixtest/MainPage.xaml.h @@ -0,0 +1,21 @@ +// +// MainPage.xaml.h +// Declaration of the MainPage class. +// + +#pragma once + +#include "MainPage.g.h" + +namespace vsixtest +{ + /// + /// An empty page that can be used on its own or navigated to within a Frame. + /// + public ref class MainPage sealed + { + public: + MainPage(); + + }; +} diff --git a/vsixtest/Package.appxmanifest b/vsixtest/Package.appxmanifest new file mode 100644 index 0000000000..49e45cbc3e --- /dev/null +++ b/vsixtest/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + vsixtest + mistachkin + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vsixtest/pch.cpp b/vsixtest/pch.cpp new file mode 100644 index 0000000000..ef288d82ad --- /dev/null +++ b/vsixtest/pch.cpp @@ -0,0 +1,6 @@ +// +// pch.cpp +// Include the standard header and generate the precompiled header. +// + +#include "pch.h" diff --git a/vsixtest/pch.h b/vsixtest/pch.h new file mode 100644 index 0000000000..e5006e81d3 --- /dev/null +++ b/vsixtest/pch.h @@ -0,0 +1,11 @@ +// +// pch.h +// Header for standard system include files. +// + +#pragma once + +#include +#include + +#include "App.xaml.h" diff --git a/vsixtest/vsixtest.sln b/vsixtest/vsixtest.sln new file mode 100644 index 0000000000..bebec6355b --- /dev/null +++ b/vsixtest/vsixtest.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.24720.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vsixtest", "vsixtest.vcxproj", "{60BB14A5-0871-4656-BC38-4F0958230F9A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.ActiveCfg = Debug|ARM + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.Build.0 = Debug|ARM + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|ARM.Deploy.0 = Debug|ARM + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.ActiveCfg = Debug|x64 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.Build.0 = Debug|x64 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x64.Deploy.0 = Debug|x64 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.ActiveCfg = Debug|Win32 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.Build.0 = Debug|Win32 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Debug|x86.Deploy.0 = Debug|Win32 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.ActiveCfg = Release|ARM + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.Build.0 = Release|ARM + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|ARM.Deploy.0 = Release|ARM + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.ActiveCfg = Release|x64 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.Build.0 = Release|x64 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x64.Deploy.0 = Release|x64 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.ActiveCfg = Release|Win32 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.Build.0 = Release|Win32 + {60BB14A5-0871-4656-BC38-4F0958230F9A}.Release|x86.Deploy.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vsixtest/vsixtest.tcl b/vsixtest/vsixtest.tcl new file mode 100644 index 0000000000..3c0a8dbf56 --- /dev/null +++ b/vsixtest/vsixtest.tcl @@ -0,0 +1,215 @@ +#!/usr/bin/tclsh +# +# This script is used to quickly test a VSIX (Visual Studio Extension) file +# with Visual Studio 2015 on Windows. +# +# PREREQUISITES +# +# 1. Tcl 8.4 and later are supported, earlier versions have not been tested. +# +# 2. The "sqlite-UWP-output.vsix" file is assumed to exist in the parent +# directory of the directory containing this script. The [optional] first +# command line argument to this script may be used to specify an alternate +# file. However, currently, the file must be compatible with both Visual +# Studio 2015 and the Universal Windows Platform. +# +# 3. The temporary directory specified in the TEMP or TMP environment variables +# must refer to an existing directory writable by the current user. +# +# 4. The VS140COMNTOOLS environment variable must refer to the Visual Studio +# 2015 common tools directory. +# +# USAGE +# +# The first argument to this script is optional. If specified, it must be the +# name of the VSIX file to test. +# +package require Tcl 8.4 + +proc fail { {error ""} {usage false} } { + if {[string length $error] > 0} then { + puts stdout $error + if {!$usage} then {exit 1} + } + + puts stdout "usage:\ +[file tail [info nameofexecutable]]\ +[file tail [info script]] \[vsixFile\]" + + exit 1 +} + +proc getEnvironmentVariable { name } { + # + # NOTE: Returns the value of the specified environment variable or an empty + # string for environment variables that do not exist in the current + # process environment. + # + return [expr {[info exists ::env($name)] ? $::env($name) : ""}] +} + +proc getTemporaryPath {} { + # + # NOTE: Returns the normalized path to the first temporary directory found + # in the typical set of environment variables used for that purpose + # or an empty string to signal a failure to locate such a directory. + # + set names [list] + + foreach name [list TEMP TMP] { + lappend names [string toupper $name] [string tolower $name] \ + [string totitle $name] + } + + foreach name $names { + set value [getEnvironmentVariable $name] + + if {[string length $value] > 0} then { + return [file normalize $value] + } + } + + return "" +} + +proc appendArgs { args } { + # + # NOTE: Returns all passed arguments joined together as a single string with + # no intervening spaces between arguments. + # + eval append result $args +} + +# +# NOTE: This is the entry point for this script. +# +set script [file normalize [info script]] + +if {[string length $script] == 0} then { + fail "script file currently being evaluated is unknown" true +} + +set path [file dirname $script] + +############################################################################### + +# +# NOTE: Process and verify all the command line arguments. +# +set argc [llength $argv] +if {$argc > 1} then {fail} + +if {$argc == 1} then { + set fileName [lindex $argv 0] +} else { + set fileName [file join [file dirname $path] sqlite-UWP-output.vsix] +} + +if {[string length $fileName] == 0} then { + fail "invalid VSIX file name" +} + +if {![file exists $fileName] || ![file isfile $fileName]} then { + fail [appendArgs "VSIX file \"" $fileName "\" does not exist"] +} + +set envVarName VS140COMNTOOLS +set vsDirectory [getEnvironmentVariable $envVarName] + +if {[string length $vsDirectory] == 0} then { + fail [appendArgs \ + "Visual Studio 2015 environment variable \"" $envVarName "\" missing"] +} + +if {![file exists $vsDirectory] || ![file isdirectory $vsDirectory]} then { + fail [appendArgs \ + "Visual Studio 2015 directory \"" $vsDirectory \ + "\" does not exist"] +} + +set vsixInstaller [file join [file dirname $vsDirectory] IDE VSIXInstaller.exe] + +if {![file exists $vsixInstaller] || ![file isfile $vsixInstaller]} then { + fail [appendArgs \ + "Visual Studio 2015 VSIX installer \"" $vsixInstaller \ + "\" does not exist"] +} + +set envVarName ProgramFiles +set programFiles [getEnvironmentVariable $envVarName] + +if {[string length $programFiles] == 0} then { + fail [appendArgs \ + "Windows environment variable \"" $envVarName "\" missing"] +} + +if {![file exists $programFiles] || ![file isdirectory $programFiles]} then { + fail [appendArgs \ + "Program Files directory \"" $programFiles "\" does not exist"] +} + +set msBuild [file join $programFiles MSBuild 14.0 Bin MSBuild.exe] + +if {![file exists $msBuild] || ![file isfile $msBuild]} then { + fail [appendArgs \ + "MSBuild 14.0 executable file \"" $msBuild "\" does not exist"] +} + +set temporaryDirectory [getTemporaryPath] + +if {[string length $temporaryDirectory] == 0 || \ + ![file exists $temporaryDirectory] || \ + ![file isdirectory $temporaryDirectory]} then { + fail "cannot locate a usable temporary directory" +} + +set installLogFileName [appendArgs \ + [file rootname [file tail $fileName]] -install- [pid] .log] + +set buildLogFileName [appendArgs \ + [file rootname [file tail $fileName]] -build- [pid] .log] + +set uninstallLogFileName [appendArgs \ + [file rootname [file tail $fileName]] -uninstall- [pid] .log] + +set command(1) [list exec [file nativename $vsixInstaller] /quiet /norepair] +lappend command(1) [appendArgs /logFile: $installLogFileName] +lappend command(1) [file nativename $fileName] + +set command(2) [list exec [file nativename $msBuild]] +lappend command(2) [file nativename [file join $path vsixtest.sln]] +lappend command(2) /target:Rebuild /property:Configuration=Release + +lappend command(2) [appendArgs \ + /logger:FileLogger,Microsoft.Build.Engine\;Logfile= \ + [file nativename [file join $temporaryDirectory $buildLogFileName]] \ + \;Verbosity=diagnostic] + +set command(3) [list exec [file nativename $vsixInstaller] /quiet /norepair] +lappend command(3) [appendArgs /logFile: $uninstallLogFileName] +lappend command(3) [appendArgs /uninstall:SQLite.UWP.2015] + +puts stdout [appendArgs \ + "Install log will be \"" [file nativename [file join \ + $temporaryDirectory $installLogFileName]] "\"."] + +puts stdout [appendArgs \ + "Build log will be \"" [file nativename [file join \ + $temporaryDirectory $buildLogFileName]] "\"."] + +puts stdout [appendArgs \ + "Uninstall log will be \"" [file nativename [file join \ + $temporaryDirectory $uninstallLogFileName]] "\"."] + +puts stdout [appendArgs \ + "First command is \"" $command(1) "\"."] + +puts stdout [appendArgs \ + "Second command is \"" $command(2) "\"."] + +puts stdout [appendArgs \ + "Third command is \"" $command(3) "\"."] + +# eval exec $command(1) +# eval exec $command(2) +# eval exec $command(3) diff --git a/vsixtest/vsixtest.vcxproj b/vsixtest/vsixtest.vcxproj new file mode 100644 index 0000000000..a7b4fd302b --- /dev/null +++ b/vsixtest/vsixtest.vcxproj @@ -0,0 +1,213 @@ + + + + {60bb14a5-0871-4656-bc38-4f0958230f9a} + vsixtest + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10586.0 + 10.0 + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + true + + + Application + false + true + v140 + true + + + Application + false + true + v140 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vsixtest_TemporaryKey.pfx + + + + + + /bigobj %(AdditionalOptions) + 4453;28204 + + + + + /bigobj %(AdditionalOptions) + 4453;28204 + + + + + /bigobj %(AdditionalOptions) + 4453;28204 + + + + + /bigobj %(AdditionalOptions) + 4453;28204 + + + + + /bigobj %(AdditionalOptions) + 4453;28204 + + + + + /bigobj %(AdditionalOptions) + 4453;28204 + + + + + + + App.xaml + + + MainPage.xaml + + + + + + Designer + + + Designer + + + + + + Designer + + + + + + + + + + + + + + + + + + + App.xaml + + + MainPage.xaml + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + diff --git a/vsixtest/vsixtest.vcxproj.filters b/vsixtest/vsixtest.vcxproj.filters new file mode 100644 index 0000000000..a4a1a305a8 --- /dev/null +++ b/vsixtest/vsixtest.vcxproj.filters @@ -0,0 +1,24 @@ + + + + + 60bb14a5-0871-4656-bc38-4f0958230f9a + + + e6271362-8f96-476d-907f-4da227b02435 + bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + Assets + + + Assets + + + Assets + + + Assets + + + diff --git a/vsixtest/vsixtest_TemporaryKey.pfx b/vsixtest/vsixtest_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..e6787bcad0527ecc86a43ea007ba8776c4b26215 GIT binary patch literal 2520 zc-mD}c|4SB8-B-(VNe)EG-$%urt>nEiHNdQcF|CDFtUAiDm0c6IZ0&S8p}|eF^q(y zkVp$cwiL4Oj_m94y`A6pedjyB`*%I}eP7r8JkMXx^?+1V4;u^)Qc;OWlzfa)%;q5& z2P}_@ibPOR6o?K6sq8!dkl5!DRQ73z9)~c3jE2G#?4s`8`c5;ju~OWf|wp zemNc~RuZpgpU1%f=S?8Ispj=*2lNs#xoUK}R4z=Y&?bl|95Xnpjq2M@QdjY`-nzCb zsz4T~Z)Q+`6jo<{xU%|CV(Oy6vQ*`wCo63w_$J@JjxM@@zhdnJM}EAX`ggyCRb|)i z#_*spt&vtEHNK+94H{_Lo2jM{-9Tc7m~O$Y$Nc%dAya9!^2hvoq8&){C-xWP(N1_h zr%lBWS8va{h0%~#zvm|`nCtnD7`XH!`wOZ>h>9BzF;JC;V>Pc)Bxe%>dgpiG;{ zIcdlBbd8M|!Dq$!_7IJ|M4Z>8OYc!U6AGIRz!U1_ z^)8b5@CV$}f%QwM;HxGj)Rl?W{vei@5!0fjqFRg_q(s}zIS1FBOm6eFB^;n73Y%qr zX}NXv;6u?NZM!z%K;c%zTotAlCLv?0lVsM|)E=32x1RpWqeaZLtN@=!}Wy7hNAKz*cpOsNU6Wsv^g1 z{n&hEzhbb0RF>O>$@A4mT{>KeyZ)>P_EH_mFci{-VO^^3D(@E;Q=?Yk-CFe=AQ z*K-k-r5ie}3LbWfqPWVTG2L&!n08f}Cn|sE`C)j&WHL9r?)dNdnOff^1XrzeMMR;9^)Hi&;FMSsn(YUBdu(6CRctl zbvQ%oZwOK~zcRJs$@_v)JUgm_+i5OXFzyjq`Gdyw#D)B*l=thYlGQ*i7rb!cYqYB* zx7R&V=l11%nLBm6jvJiwB7S1YFwNaa0ylnRogONiO3|0k(qD5zpa1TF0y$`r^qO!Y z`6a6W+qG^ba-Zk;qi{QV;fb_OaT{k%w8a|%y_%q^?Q66mA9U23bQBgreI;)?j{ zxBGH5SNV6pA~iGQuDy{5=SFAT1CC7HZ}Q@)UExTiZkHznKmo; z^V~V^K1HQwrPLHZO^xsq8^kvR8LfGXI5cu>CBG)o@PYXJF99)D#3ap@Z`(Mo3tZBJ z7rs=+FauGdlL1=pZAy{tpuqp^5+$UBL?B=Q0DzbOCIyu)h#LXUfFlGYKpD!8P{sqQ zP^dvQ9#DaT3@Lcv6aWG)5byvInkGYYr=U=VI3fgRfC$p&nN30OhvPsST?g}QT49SrzFoDbCdLs$9&Zh!5P1kC@My8(4%=mLL` z3cvZc`y=zHa5sn|v%vr;+5g|a@DIyJ{mGA1bi8C3LG&?3ilkC3NqDwB*`R+`ynE zF4fi|!e6PN05nAZ!RqAG1L0&dIV~JnJHTuPEqe*sf=eokmf78VhiJ_!jgoxNI$#Kn z*R5xZ)vFHl%IPhwdor~ZukJ~>;+B8bH18a))4OnHEvZ$sY#ZxL+5p2rh zT9GVqpYDFz=dBW9si48(&p2IHi;%@i$|ms9Wr*L)?bX?f6l8Y<_S?*{;^XbD?J(?- zX^v=9@^Bqt%~6I$^ZjPeYbGKds{D@qq>$kcL(EoXPe|DAoa8f7oAs_BbHGZ)(P;8+ zmwUkHyPcqwr9lY6g}I(U7La;>yVtQL!aqUO#a#MrNn**xrI}0tT3~(gmGl=2_b_ey zC(q5d%q3h-CoNzl>wYT*wiQ314aIZpjY(nb zMM=1@^rDElM*YgKvt|#LUsA>&Dc&%hj^O@GLXham`GqsN{_B%_7H2%^zTXI>0W>_T zHcOO=4-m%Ly)rqTZO$XPg8zE3o>I&duU6vOv`tj<656%&CJud~?BsQg zsH%HT=xA*5DwfZW$%oFYSo5IwGUEoz6Gq;@wiiz>YB-X7nyc78+Pgx&x?>MlV{0@2 zT>!5A?A4n@`5Xjg)*x-ze8Q^G8`K0PKn^6k!eKa@C_*sZqduq8uRBV!pjVG^of7s9 gIcbd$#B^v1-+8uY*qd|F^z+ck8TIaNsh