From 473bc53c666f4473600cce5180d0143d8e421587 Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Thu, 22 Apr 2021 12:22:01 +0100 Subject: [PATCH] dotnet new template - Support unattended (#10107) * Remove trailing comma * Remove duplicate property * Logo is now transparent & not on a solid a white BG * Adds in auto Nuget Restore with an option to skip auto restore if you wish to https://github.com/dotnet/dotnet-template-samples/tree/master/08-restore-on-create * Fix typo * Rename from UmbracoSolution to UmbracoProject Bit misleading as it only ever creates a CSProj & not a SLN * Couple extra places that needed a rename * Adds support for HTTP & HTTPS port that will autogenerate an available free port number https://github.com/dotnet/templating/wiki/Available-Symbols-Generators#port * Update build/templates/UmbracoProject/.template.config/template.json Co-authored-by: Bjarke Berg * Update build/templates/UmbracoProject/.template.config/template.json Co-authored-by: Bjarke Berg * Rather than COPY appsettings from Umbraco.Web.UI.NetCore we use these specific ones so we can add logic to them * Support for unattended install with new CLI args * Change order so all the long textboxes that are optional are together * Apply suggestions from code review from Elitsa Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Co-authored-by: Bjarke Berg Co-authored-by: Elitsa Marinovska Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> --- build/azure-pipelines.yml | 2 +- build/build.ps1 | 10 +- .../UmbracoPackage/.template.config/icon.png | Bin 33516 -> 22265 bytes .../.template.config/dotnetcli.host.json | 39 +++++ .../UmbracoProject/.template.config/icon.png | Bin 0 -> 22265 bytes .../.template.config/ide.host.json | 60 ++++++++ .../.template.config/template.json | 140 ++++++++++++++++++ .../Properties/launchSettings.json | 6 +- .../UmbracoProject.csproj} | 0 .../Views/_ViewImports.cshtml | 0 .../appsettings.Development.json | 50 +++++++ .../templates/UmbracoProject/appsettings.json | 22 +++ .../.template.config/dotnetcli.host.json | 13 -- .../UmbracoSolution/.template.config/icon.png | Bin 33516 -> 0 bytes .../.template.config/ide.host.json | 26 ---- .../.template.config/template.json | 72 --------- 16 files changed, 319 insertions(+), 121 deletions(-) create mode 100644 build/templates/UmbracoProject/.template.config/dotnetcli.host.json create mode 100644 build/templates/UmbracoProject/.template.config/icon.png create mode 100644 build/templates/UmbracoProject/.template.config/ide.host.json create mode 100644 build/templates/UmbracoProject/.template.config/template.json rename build/templates/{UmbracoSolution => UmbracoProject}/Properties/launchSettings.json (68%) rename build/templates/{UmbracoSolution/UmbracoSolution.csproj => UmbracoProject/UmbracoProject.csproj} (100%) rename build/templates/{UmbracoSolution => UmbracoProject}/Views/_ViewImports.cshtml (100%) create mode 100644 build/templates/UmbracoProject/appsettings.Development.json create mode 100644 build/templates/UmbracoProject/appsettings.json delete mode 100644 build/templates/UmbracoSolution/.template.config/dotnetcli.host.json delete mode 100644 build/templates/UmbracoSolution/.template.config/icon.png delete mode 100644 build/templates/UmbracoSolution/.template.config/ide.host.json delete mode 100644 build/templates/UmbracoSolution/.template.config/template.json diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index d798e0de48..1e9fe0fdcd 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -349,7 +349,7 @@ stages: #Update the version in templates also $templatePath = - 'build/templates/UmbracoSolution/.template.config/template.json' + 'build/templates/UmbracoProject/.template.config/template.json' $a = Get-Content $templatePath -raw | ConvertFrom-Json diff --git a/build/build.ps1 b/build/build.ps1 index 8581fa93ca..be9a8f0f4f 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -344,13 +344,11 @@ $this.CopyFiles("$templates", "*", "$tmp\Templates") Write-Host "Copy files for dotnet templates" - $this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "Program.cs", "$tmp\Templates\UmbracoSolution") - $this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "Startup.cs", "$tmp\Templates\UmbracoSolution") - $this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "appsettings.json", "$tmp\Templates\UmbracoSolution") - $this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "appsettings.Development.json", "$tmp\Templates\UmbracoSolution") - $this.CopyFiles("$src\Umbraco.Web.UI.NetCore\Views", "*", "$tmp\Templates\UmbracoSolution\Views") + $this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "Program.cs", "$tmp\Templates\UmbracoProject") + $this.CopyFiles("$src\Umbraco.Web.UI.NetCore", "Startup.cs", "$tmp\Templates\UmbracoProject") + $this.CopyFiles("$src\Umbraco.Web.UI.NetCore\Views", "*", "$tmp\Templates\UmbracoProject\Views") - $this.RemoveDirectory("$tmp\Templates\UmbracoSolution\bin") + $this.RemoveDirectory("$tmp\Templates\UmbracoProject\bin") }) $ubuild.DefineMethod("PackageZip", diff --git a/build/templates/UmbracoPackage/.template.config/icon.png b/build/templates/UmbracoPackage/.template.config/icon.png index 9500140b38d4f82d63df3d7ea7fd543cd5041874..6e94105808e0f05cb21726b4f729c979ed7d33ad 100644 GIT binary patch literal 22265 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 literal 33516 zcmYg%Wl&sQv}JH;92$3b4esvlZh;`d-Jx-JcXxMpg1dWgmk=aCfa&kOnX38Gf4b_P zyU&)j*OnWpq9lzBzz2N!@&#E|Mndh&7l?%ae(I|Z>=sQN9wdT+@r!~i5DI~bV~NZ);(P|>1fp@UcWZ9$ z_T|y2?RKlG@AW1?s(9t1a@xS~T(0{R?p{dtt4sa&lf18%C)0RyM@QyS_rHF7Itx!m zEAi!W0Fqkt>f7_aTpw{x6lZhs8;Y-< z{yc*R=5pAZKJO;X+3%`pG}-c3yj7O^nAt?@T~VZVFI*K8m~VRfc}3SH97fZ#!R%DG4PD@SQg;JSxiC=?EX(U2l4k84y5l=A>z5{$dhXg; zwmc-r`X~8H=*FGI(~`ZAN!A*rUt>#NWo6~iUfF`zxa%UV!Xo6-!^Zl=51M$CRQh&YdxK`| ziswDUtHRv+j`!@`zP_FNtE1**xQwHz^rsj}SN;rv8fxpQ(yTRlNv54CU+Bl|_bQK* zt=k3DzIUbWez1c0y>bdlVAL*t%K7ET%IcY98L3|ThB|f$5dC+XijmvNuLW|+x6%LB z>IdvLsQ2I-cbzV|dA$s~Ei@U7dC#Ni6Vy=cDsP+FWDymX7^-sXaZ_oVfnd?p&OXvQ z--T1X@?WwaVL$EeOf*=gv;$@m*9M0CN>yNr2OSh z8JwQZjEAmUnin~0{WyH|8b56{>I*A+*2^F)4SrMpfy-ZtH7vop%x?b=rM%v{T!7yz zFxR)ss|6@i30J)QyrDsF$NZm7)RD@kmIh;g@QD__&0deu>lQws{cBuD8pV{28nvV) zR9YM{&nYXzG8Sg~b%xwmF zUCJBE7cL&j+7KA-t1@W3`R8^S@g9SHIZK*baB)VJ^o7r!na?`#e{L0;>+60G9GYly zt$2F8Qack0B~_5cV+!RF%FV`3gJg^_l~*McU?(#Qk5^b6_|;;eNXaxs&YU8_!%i`o z4C&{tC`JpbY)X{~;q`qlQOzuL{Aik9Y)ANmlm#f;=8XPKEhHbQaZg;M9o!?W!!e_{ z=xuHDpbwxFsn%+n@6u#y@wX#j(qELQWrDEz@tCh#e&0T~TK*afwupoc$Y!^CX{|{; zFIQlIGT(kP26Ey$r!(bMh~PiS6Rgn6GvhHdBCB%Cb*6QXcY*dva|6whr#0a=GDfKT znO=|}E$x3xZn6Bt6>NOwctlpPL@>N`&_geXur;OoDEXuinxYNb2p9R|9phl_B)w&esrdG&!Ze23ET3tE80-R^m8B2VuVLk_T zL5?a`xy36PjoIt2jF%^C$%BAz%sBreVM8+9`b>JX`f*B;-ddyl&HKy~_dklch`oc6 zN;*Do-=sL5`fp?9XMZQ?3VH7E2~ncy$^!QoR^dY&Lri8G5jkGncAUPePrU|X40b6o zrU54ln<+$kcho>4nKe4Q64mMLfNG1_M?k2ri(KN8QInuVrKQ0bA<^Ig^-7m8P5n2$ z{}9%?Pwm`LowV!x-jt?3S0L1}sm4s>lCSJ&H$5v`TV1NTWJF`BPaM;A&Cl=QZyh>5 zZq(wPRSI?a!O$C>Jspw)+so*IYcQIN4WL3|&ycmEQfRrh=BsC1>G&3D`9Q<$;tG1n zO&w{i{*qj}@wPlpPPdG2+K)ooTb2|}`)7J8gY6={=i?){s}#*xfzm~vvhwoi@`A50 zQe>`65Xmh7Fh=b7c7kIIWu+&LdE+_6KeRIKO47l#?RO;Z<74>we4>;0S)*y!^B}|p zL4=A}$GDiTC*vT^AKJo-`?Rxaq{624? z4*iZHnS7z=SFggD zp)Uunbj2Zb%84iTra3+Qg}xSKmFj-VE9-q5JNvbdz~^t1rM7B?qpo_VBzAF?uU#O_ z&NY6`CDy4AfYFj;Oe~pgE6_1IPBG8eVkwM z%Z@Y4;L5!2OFbk&XJt^}yt^`~4o@>hFTq)73V8$f4wDP}`BNsfDa~RZ{qeN>?R@Y$ zSj=?bA_FisY6Pe;HQ@ss0cgs+3*-mILfkN7sYm7DpDIj>s;s1Mmax|tzN)i6rJk^`gyfUds zPXpm%emI5G1p&N1_D`PoePtS}w^>s@LF{rXM!Ln99^_1Gx>C=KO;UaI0>jbovTT0G zg=yHrwK}U3a~hOWEhn@x?un|e^>f~yT0NR7^{ zSX!wC_|LyaIImJvV+G=9(Q-L9GXArI!V=CQ_mwR!z=%kbY7ITf*88Ia3B1q>^Np?wpMf6FHaINz zfc%U6GU1&SOS*W>mgj+v2%OLc!sawseY`(-571W$()`2ZqA{#J#+w91@+=pHr-DDQ z>^A0^%Q{k4Rn<-1yW1k?tAMF}a5R(LOv4<4tP|>KkPC`%3X4H<^u(yW|ZOM#YX-LS=SG&Wb{-srN|fEGdqDetE%dkYWU*d_9et% zqoXdDxxXU2uEUirx3@Gn2*TDNh1j@825=~`;XcVa^DT+k`YS*}yW{+ST>1akC?e=G z3RY>5LfV&9Xs^>Jq;1DL=%%OMm=>KeY>qjE0+|6>s^}G}tYf*z+fq7#nWsED@8!ti zA*P(MnNhP7idYQh{il)#H@Z=3LDHH>l`a2q#u1nfg+MN#+w)li!IAUd>rRIw*`vS) zL@cbUhWuM;U3Ko5<1WM|*Wdlfv*WK!Ld4Ies2FS1h)DPqBg`*cH?V>kS>D}-kB%JK z*xiZS@NN0nbp=b_%E{v!--4|Hb9X$blGP06#x)>VYhC0_!|3-?+z=9X4qtn(Inj#_{s2TPD9p6hsh?1^gK@YFE1hphkcK&Doe;p)L#AgalpDvEo zuKOByr{|iMNJvPwQHS1z7Gv?k6)lVo_LbnZYx^bcoGBh&@UvtJXKBi)A&pr8H5+JQ zJUsQ#=~x}Fb>F3wVpoo|1Saf6+N9LhAX)F^mQcr{7%`2etAp{&$;zsf2zQ^io%e_A zJ)*)fk9fVbFy)-0^7%6yq;E)F{rDLn6tWk#sPnDL#$?-pa~qpfuVk+@HQ3$pQE@8O z(5YQ@n8#Turb$|=jLNbwX5>JIRP2nhxo}L2qhhsVZ1LFFKpazDCKMv#^1U7RoDbJE zy3O{0oFuJb3fIv49Gdn`@JUUe0+eg=TXq(y#`B z0Cq!^Qy#*r>5u4q=H7yAqsJsS*Yi+888YbPs6|^bGLV)my^~`3BnRCXWo?m4UJ=-n zSue__ep1HEZkq9EDsh2HH&3&X<~x+S>sasm!w$)9xwtenE%4#H?{CBw?qLn0#|RNs z6BqKDgMQChdhdM~t;Mw1Tr))_WLE`}a;B}V8Ly%>C ziOXD4^tC%sR%j3`xmU0A6xWPHl92Ic4`4)sC#wV|RViP-^W~3fBs(J6j8Eqv>Sy0$ zT=GLM!E=-f1-WZiDUT!fRn*in;#oZp1?)Sw#pC&nB$@ZBdioN9Q76dTCrbifLVUpG z`)kE9rgLhM+8TYi0l$~xAMhrvZSNg9{U-Lm9Xzayh<*e4+Y5mqoX^^o}$ zE8GvsmDv!%MNMVUs=O~?;DmbE2MZ3T^-MXcy? z$G;xja%ksDkd|700wlO|ix$tD>1Z6t=vBXSHT60I3euIH6m_x3$hxez(DCu(RK67p z=Suaf;(Zqi97CBSW^|%WVPL)~)c$wO=Y5|lKlTpS;Na+&8)d_`oE{a5|IEP*LYpcWBmUvK|NIK z$3+o!ubYSdT(T7o(?uHq3_jR%WPv^SqUh47d!k7SJK9C&*S&r<|3+?)Ql~}c$(rmO zfD$#8RvlDq{w`Es%9!-9B}`mQ5a1r@eoInpG9Yg>{eDl*JA4EaPnD-g*uTAtUvMh$ zEp(l~$xJsItV;^Q+<}S96#X=7|J;W<2DIds7h3KBW^kb^qF-R;sgsMJQAW_$mu%mA z2&7`H9==U3hqY=Rwiyn#M1ym=Aw%mJT>X477@Kal`gD zW~`)J<`rGaQYCT)ueBopt^ib(c71saiA8d&e}$vkk(7WhA5FZ)Nv;H)vM&qJ;vZ&( ztr){mq9w9}@P23Dn$I@srNb0fdj8E!O$)yH{S?y_Wk6#K3|2&>O0CAG!Q@0XYWb9U z#h>xw1?czJwBm3qRk7*&3_4-ln0#OzEMBt$V1; zFLcPz(pUDS=Pu#sWP`w|i1eI(@#YfXIf0e?0 zA(s&7Rqc5#E>33B>zIKNJO9(HS+3@TdgX2>EM*CJL%_$6RAVLe$ULp|0E>r2?4m$3 ztbWOo*B!O%w4`$dW%&*HV>YKXQ|#_ zfcN_Y=W~X`O@jTWL5J}ak0H#7L_vRo=!)o}u3t!6;w2PKqZyVj1E6b|!`z;8@A`+Y zNQ6F>i{$u3n@1Bx#SK2biehZ+T-|tG)MH1O6bM(==t>Z5nlV|NBIBW*u=_i$`D}Df zpF(IYcd=^u&y{QEaf)SAp~`!S9bHK>l!IPWgvB<;%Sn|ZRZJ$8bP~%t74azkJj8DInf)+cy!%)EzVDv-H=~%ZorFF$O#ZuQ&o8*$?uf^jz;j=) z$lw!;43VLf#mU){B=NqLY_WICc5EN>D3u6{OyC^--?Qpz@MAB^sRcnb$z{05Cv!h5 zn~u!9pkiZ3&s>bR=(ylteQER8_;Jg2RielVGYe}8w$9!^Jt1-fp2+Rwp*1c#J*u{y zrxqrRT>vFHJ>WVutwEs2s8Q!*qyDO7>-GloH2E8mL~$HmSfwg!;TL&xCkKl6cm27t zQz4hqyS$JiS}Gw|=o-Tu`tBTO*ZcpFQq(p}DEohJRw3@GN5sdcbo)6D)#9_)vAvgw z@o9-$HVeXt98(7(an1AZ`eOG!SrCNWjWpL&NV!7S66MgZ+4J(f5dKHtT)>%uSt*4I zHNd7IybX0B!2d>dvpXOtE8DX%2aMg0e`3cP^Ue#~d#$5OC05l*e}U0VJ`#gS^aot| zBvW~gn%5605V%o+N;9dJHkN-YL|0ZDN0?orGCxHF%RVgtBL|Im{&%nX)0yb~+D*T* za)Bl9#f+>)4nen@N4IXLN$xn?127WloO0jcwT1qArR}kJrjr7B*FvwWjx@ad6^#Tf zt3e>|xhC}iTwQDCXkN5NEM@CVM z4y^3?;7u>Wj;M27Q%sL{zCTe@(jAXpdk*M|@B6!_9N{v(66X?TicOsW5mD$ilPZ5! z{OOF)+6rr+i|JG~?L0Y=-d+H?fc3NM+_^EECEa;SG`GSfHQ-?i>fxnc5Trb6MWO7+ zhSWR|*p!i>Fu#=F6SMm~>ta3X{4AEwqiWP?VSYNtAF5fWQir1<`0H8B%lAdUdo&_A z6>gXnFs;|x`f@(!kz4fn_sSjIcThv(yL985l6}e32Av%o#cB|&Je=l=XzJfx1ftG6;jmwBndYe|c?6XdpZT(pWmS-R~k zK$jx=(437D$%*P4_`Gt12DTfV3b~@9QP<;>y6Za)Nnzo>R<`r4dX0}xad>tcQ8A0|Bow-vX(aFx9%-0Wg}k=bzw1A~S;=x;khmb@&Bwrf z%y^9A&LG?Q>=p*Yz9$M7cW6p*qaA=()2>r3&Q@ccNgS-9OgFmrf6n*CY)(m}D8a7-(j*1o2GVFn z;b!bK>-0Y;=aJyp@d=>cd3N{NT00>&0jec-MBqZ3NDg~?Riw@K(l^!DX>HbWkFY7i)8qBNTkH%0 zJ}Kf&V8~Z3!T3GDaH#$;!D3quDqJK$&K*IfQe%TTSdMR0kJH(1^52*XaLMR6Y03Yl2Qt}Nf+vUXR(tUJe^nczCgjqOVyA|+Z&s8FpO2$N zEziF)SgCZqSdrB2Lf|T>hJNk7J>Fh7)+7qyJr)5D#x>m2#8qL`SSpYO8$FZ2ULffD z3&Pidu^*gLGR`HLmqMZqz>kKmLgea$wEG2E<`PuJ z^o!kN={8R99E!LefxZA(g0r&;I`jYsPfD@05X|6R1BD|aI)!5^A=i5x z@b!Y0?~S@{!A#{IoZ}=QP36C1A%Yc}Z9+|n+hD#t4E4}Ua*O%4RDv;~SV_~ONZa0{ z_HwBQs*wDX?Dt=YT{X1uW6$t*F%Pr0!Yc7U&Z7o+2Yz^Lv7wU{&oj!>6&lKeOCa|E zaI^I(;gWc1pU3a;&F6d|5di>mfBVlIH_QpMwIZ*{DF0&;WwX&mN1^*vo2*rmtrHA0 z83)V0*|K;OM^{~A4xf%O{~Xt9!&gmkzl)N8S6Ga`$gl^iBk!UnJVm~ceO84u6k`>` zapv)@_hG&`*sK_(CXTPe4h*3@^H>p?Znwd~u7`7|2{fSz@~OtnwJ8Sq#Uk`>=rpRA z#O1JMXJHOkC93k-+Fy6UKBd50GEQN>`l$mrLJbfy)unp8PI7w_(LnTEzMEp}F4Rre70x9?7UPST5bZzi0Yt z4wSjUSs6O&QUM}sjqdq<2I{;8QYATjB$(osrGd6>ki16ED?Z!; zQ;?M>@xwQY{d4j(Z)GE0V%9nQO-nxJiJsBLH`1wWS zzdw~WJAG2JJTIb5Gx*?q#LXJka z3P*>XP5|%1kO95}u`IRv^5Rvg4+&v`@wTsoCxDmq6!9PgL)9ubGA}w;;7Jz2;`eYq zQGp=b&+%Jfb^fpaCF=xh&-VxJaI5FtC9$6;le{#?_MH}$|LSzW5Q;hzBNEx)cMSi2 zl2#0S@Nr272gb6X3U@D&_q`5>E1&B9+VJ^DsXFC4{ais1MNej2MdZ?TkzU9EAHsr%1z$xaJj@sP7+b z$zV?v_rh7u6_cjMDXs!YgfAm)y9z!e8xsM^7M4_BKa`&k7)rD% z>0lrw_y2fV&wVUC92yfVd)qvh=uXsV zx;)k>*ooX0i7O)@IxIie@m9rde7e_}%IN_m%QJNCJNmagvRfawJe;AP`#Gk#QiR|3 z9SRO<%Fk%}g(!DVqn6a}Taz>-K|rV_4c4hJsiFVcM@umglxf-E?DyR?XwY>WUt`Y< zx$d^3TbVXSZhCfIRRT+!wA3De1>)GU7ZiO%iA&5cuLI|ylfd2(9`2*dy?~&yvcn-j zB@C~w6O0$XL4N!{Km#4(l@bp)> z@-rXdjr_i}?$klBI;u^2aeWSnH`v6Ug#=_aqDPe`Y?hp(=o93M6j*ZxLan+BNx3GD z%FMtb1JUjxEeG6k-2eOBRNDH=EP833te@ zU_~^DFort43Hr5oeB#3VTj_@Z$AC91J4d37Ztz_)R->3}Wz|F4{w9Id!0TZD$2Iy; z6P!P*vN0RdaK`>K*Zk~G`FUUXuSBZemMTRf7&SU3>Z!*FrWgKa@bq2ENWc;|j18u% zXz;Y~{5-@_A}c4VyD2S48>9i*c{?ob2est-=QduAb{qoJ1>`SDqY|z2*W-jrXliDV z^$*;`?Z0=Uk5QlRY2emKR`&bBd}a5oHe1ut$(7B12PB>UAL9RJdVJotQNyjLfi}Sb z9+XK1I*hVTmspY1qdvcN1?c+VF7}g94U|NY)M?Bakp2+@lzQ3jhg9ocWE*vAR~oV?lrB$h8J@Pp%+I^bo?bik)LbbNX)A7C{>Xl zD7g#J9WNHKmT~XaHs}%9ZzY;YDAH$Bdz+GApHaPk)AgrSd54#H zOFFGDd;WNT8ERgcIPKQqbpgrsvr?x|H;{)i>C@Cj?*rvijXhzm0AJ_&Hg-3i1o$`_4M6&nmT&QOZ`4ERTxU#Olyyq*;zX|yY!!*Xpg{IDliH#>Y2F(h0C)@vB zPhDOhPEp^$(jt#z+Bl_0MZoU?DLpDK5IsLe&!!$lbmPqrfJ~rj_1DtS|9VxcLLFhQ zN(AR%qoH0ac%$$Mj-nxXS1w(EJ-vNi^3)AH2iQ=^@A_cBbcqX@J_DT+zMrQCbf)co zqMj~krn3}2{@7xgDo)J8FTEeAfm$s1L>N3wR4+SApWGNmq2CMRtTlV5#1H=(IWu&E zS8-WJoe%%`QQoZ-=}kxa$4<2(k4T;LWl&Pxbq>rt@0VLLa7KNkf?!ep_O`fd{&?+m zaZ6UE)lq0SvI1C?ns8Lqxq-(*58IYCz*SkH>QHbFAa|@ZY_7^QdJSp~iP-$QIxhZ5 zv(aDDq%un&W_pBej!8A5#r&htLOyE*y?&apf@t~a)`6dHRkHEtd5OY=v=j)q$jS$t zM0{4u(0mr)5mBvf41KM*x~(KovB2dVaC3SwESGnjE&y(m<StktThGANMGzzC!x7vZs{O!()QBcpM2_$xXjiTzI ztc3t|-Gi=os zUvY_J0XUA2x|*`liKBwCLvA_(+>Cnc1wsw|C%+P9z0GdVr!7;9Y+;g=*#;1Ye{84) zbo~ig-wq2skYhPnrl{z2t3HPGZdIK@kDQ&~|Awil>-g=0K!;%R@!v?L^>5w2)BdCi zs+ZX~Ql@k3gLiYUK$qbM*BtQpzr>TpGMIiz$$}xlU_LLSPL4X+_0$ilsJU{Ua5}T2 zR0No;&c^4T6s*r)D*71+DVh?T>?a30qO4-Q@V>TN@4&67>Rlx;6O9P0nl2()|^sp(Cgsq`~s%>!`qe;{EHFU`+g4$IgDx)v7fI7W1FeDKHar; zeMR_P%}nm{D*pI;SCvW15NlTiL{a@C#T4WSXVmJX%Bp9qQZh7Dsn`I zrw$ICHj2FVbtlD4*f#1UM0AqtSv6pQGIr?r+8tO8_>@$z$4;q*y?5yA!laZ%f zihp0&r9^Ov_<0rgBf5oJstZJP`i@{G$$|F^eZiOyBfASdLwg95O(L@$g)O8($Bp0C ztl8A|LpQz-ijfB8{+Bu6AB|#0m zC*7QoKloQ5O_H7sU|`E&kp~@(iTgaoFC}6oA6fpnMDw@;rF*+iILm&RREMMz2+*(ZA8?dS!gKV;lQB?+|jO4o-pUp;j^ZvYU1|04_1PVyL2Z?%Nm*`%;XO2jlmT<{xubH`1D-f-LKi zeQqw{o_U^VuGHjL(fxz?^YIJlKN=zidzX01L`VbYBi@6T9@b}7oydt@sL%fK^to4B z__?~3cob+Cn7Z-!JL~0e#@@jpeS^&NXa~ZpWG8bwT%n0#&1EQALa(cVngfaVVv7S^ z`k6?^B*G(}9XJp2Z*Phh*zmeaFt`Pbbr!cMhgiBnEj*4V-XU8NjmWU1ktO^~(p7tP zdaDZmtvz^U(uqupd+e+kC%QM)ia2u$nH^Cwsoxh$hmTaO>PL3x!jb+Z5U4i+1==7w zwg#f0;^)-QvbqPZM4f}LT|V+=o7NJ0r}7PXacenH*@m@1$!INAl`tLImo+vJc1 zzmuLTpO#c|$VEgZQ1`|<6NS9}#w(~rD?5AejQLOw;i3x=mf-?#>WuC}eOq25Au}%h z2EWFJTWR{+!8*RX+sY~CdfZB*Z~ruo4H`gcMu&Fg4tpGDa~+gGEsxC|8QZxX|A%68 zvI+av$BMPrJtcccC{D&3?+2Bv@)f_L`hJH&id&`l3SR~GmC)^lhGk&K@VtzKgnU?Y zus*7=dOxkhkox=0=!n|to7xoQ?`T2G&PrUE3po2X>39mqsx>x-5?dJZ8QmhM9}dTW&AEae^6at!3&x{j*f6{UDlH5W4m^Lsp!-M%b+saGyOz*AXo4kic+Msxa$Ke z+f9(CgoEpqki>8fht!2Nc10Li=m+=n*pk=!%1jJdnO^5JPvyjs~Sdii!EVM!6bwRRmxBDpC`^^?Rt|un$U1Bx%NR z9$K|)AQMbdJa}2N#Nsb@ffv4jaWIYK1e3u4tnR$uP-o= zD%9ICp@Cn<4345oXAXMxi$5zJ#h{0S+jI1brOI{_FNyC)oTsvt6^nlv5Vhy3*$|B% z2lj*F^0TlLQ*v!;nt%~NA>vIBtDILjinvV4KUkd^$Awr^C6G>4=#Pn;kUvO*DfS=O z+IVGgr7#0~;4Ru=NVZVWQ0UNJuZO}oISp*XFMuZ(l5{`T$kl#JFtBceCwZQ&vp6SM}MZx}jNZ(H54Jlq~ zbi0+HE`9o+=(Ut|0LDG(&e+bEIV?sSqj08}EU`Tw69b)Cvu;Ve>(GDT?Ep4$c;f>s zf=IOMM2fC7YU{_F*vlg_wHs2-@%>_T@&^Up+;Gz`U1&fV%9Gji5F3>iSEuH?FBZ{V zJd-xQcMF3LG{-CHevSEkH{g`01sC=ERT`n7mW>Zw6mdRRR}~U-T}d53nN3Q@SoIR) zw*tqPUCEy>>B-)HgG(I%tfz_wVEl`MF?e>hwPdkotZoCy`b*!VZLw=sKMQ-1s^0T9|{ZjAV*PW>byS ziW2YBCM+&52V;!--q+hng@cF~3<4tF30?iIC6EEFH> zTHR(lYF=a=k$jFSD?4lg_GS&))tgZ+JT4|WAieo#X zR@IKkT0%Ut*IavW4GNPk>iIsJ5{nBQglr5!|4udnj=d_F?;={v4uwFLqI76GE+OJ# zit}cJNj&LIAjKk#tvRFAJJkAT;+x=C98{{>L}3GDHsxxeYU--wfj6-cq^g_aOfNte z`pNQJ_@b(p;njcT9U@`~zlW)cpxGTsZs8$KDI}fcorC;?yy;P)&^`!@tbb2G4?p|V zBnzDe-CZABhW2RYy-RNV2@e-3deoPj#P$0}piyXGj&yu!=)!h=br6OiLmHpK$Y81#&)E^Nf>^~9a z>+yRW%Mt-2Sjb6fG7)#I$>yRO`0*K`JS*HxbI=%w=T8?iX^?|2r@!VKWt}RJ5Q`5A zyyqLc`5@1C_HJU6q@;@4qzRB*sOiX1mGp)xaz@vkRkW|q!)VgvQMGa*azPYCQc6=i z-`(|R(;z|Isyu|{;3-HAdTTn28iI|p=+4pYN1mT06hsKHwQ4CHib!t2Yv`(pGbhcxUTY^LQ9x4@Lor>~REf2Ab z2y57V_uQny_LqG#La|z21qG@Q1(keFoQ=ZZL0I%uoGnC8V?EPlgwVU65@_4btXiZ| z`wJ29-^jUckNhX5Ay9!q8Lef8o;#aRL8MU^cO+p>fbk0rc1dyZ^M)H{&_+VtYypp1 zIvoo3V&jMEP3BV@7JOVi)7XQqOa*NQJU^3g#+zSjghUbtZ>l*|h!ZZ)LW$L1SFhp? zX9SquX;!Wpy6u{20PD<<4KxMQ&Q@%7Wq6o_aL7zxcC=GdP44$4Ez%5i zAj@xNDvtCV%NC~<7-$=$AE;I}C)6H>o)l>le4_xcNHP!)zhk78Qze5s{9lW%YlX-X z*T2xAY$5`l$A8Oa(SrfB4N_Ia@|Og^t<1Nts=*J8Bmxp*WFEi>NS8dG*))PUCyZlS zcJ_-KAhwnL1LBYTcW=4i1nO_!*c!Q~nWX>{-Ugmljyz@vDpU+#>@+gtgfU zN>nA$-)?Y_)TtBJzF|H|H(4ZWfj`YyS%thgrIMNYGc4VZXNO7wL#{tTvE5%*=2T?( zIJ444LG`1ybAx6Z38WAEWt)*rc)D>4w_G$mEIr>D&qJP(Lw63ZEP8YmGCi-^8)COW z=XE@!uu;`msz`zk(Nn*mxuL$5TC0~cv`Qjm1G5yh;1Fa{W5=E)|D>1u_Bio(>v&?w_V3q*R$j6;nn!LiHA)67DN!?lq`# z%(!aBg0Mq*JD8#YBgknNGtwz!4g4Cc{V#Q85BM^Vv0NK+R$m#N#eTbVv!#A%#z?Ht z|3P{`I20Mu{8o!=h-S{2nl-_*eO6Q}k}{te205V++CWPWV>51v{6-*t<7#t!Nm_;@ z(LM8?XG%CoA&6AGAaTR3IeIw?#P)DDT$aE9$}ln$*(&@ie)z#>Nc)5#g0}G+&nTjR z4IdwWLu+%aRN~Y z792J+j&d|~#DI_CZ&E>22&5_qc zqa2`nA(>q%?^OiT4!#`l!Pd}# zxC6t@`W*tC(>N3Kc$8Le-NsByiO~-RFfbO*kVca;{5g_Q_0*8@W$pe`)-I$OYz-%& z^C9&FUUe{Oj4T*R4xz0xS^1IG{O}6vPEV=O{6cKguep8*UKE##IAU=+N*+n=&eY7s zXnG(UooC0P7`Z`_zH3lnHYIDkzfKR4QLSw@?P;ezJpKbcD7ltV7EOjgW==$v)WoMj zX10o`0hPM%oLMCW1++Lr7gwbxM@2LmL|A(V(4jLXf1yX8wX%kWeii-2H%BfPp5nL@ z>Z^i+Mr}ohMmj@iD<$86SWjkG3)+saLOCf%Pe;6S8P$NU{x*|=YDNSX-aeSCjpPe% zble9Wqe5$PjLLu_dZATOimXDU^TKbq?iO$?DUbXISy4bBStde`@CsBs2l1ObDs<*` z$H4JC|K$-8kY@;uGGm@O;>Z^b&E~1@c?e=#R}BAx3^~%S)CLg)4bt;I*e3*$@|p zyLP!V9p4A{aI{nAdq*}nQ7|3>zHo)k_FvRpCq-6mlLv0(V0jD@Ytu44-ze(IWpXr21 z_$9fLHgBWP{u}GmG8v;9eS~*}<9O`WK*`vR0hefo9K;T2pfHo0dEagTU*@JTB zHbIyi1sjo!NrR;AaOW3?8fd)i&@$SIaG_D4S*tGEkl5vg^KN_v%aM;&FcuA$9xWaT zU4${DMMfLLAb&@yC6~LmGm0SI33sIyjc3`;#&kf-c$~D_eN)L8RFZ;rV2!435L1`| z5k;~~x9zE5ksvmH`xQqlF7ak_opp*&fXke{MpV9^>wqU_CAArA@ z1csnZzNgVaSJ7j;^bh^>*NI2AX4vZ~W>uhLjgrJgZ;u@FLf-+l5SfS2dGiX$$$Qb^ z-aG3!iVy8~{Js31|Mcd_+^zAk?H-d{@d1rUiKc-a;nORKFCTH%BoJH*XAVhddnGYF zKM8V2D;$u`d!iZ+a=ElJZJm8^C4ax|G}gq_A@OvQ@%ZV)4y7OuUn<>b@9O3@V`Urm z*2%?wgji%DB9u{-D?XFU&3O+@L#U{#l+goqh`y2qJ)#4CzhbG=sU0ApC^(hxY2`m~ zQY4!5+3;{|ZBtGgkP@p%-pz-^uu6jM@fj8*q#w@}g>8Aq6}S)-()HQQ)HHgowhFpXh6 z4N>P`z6(_I^+JINr2UT#QDwraG zD`*zARH;>TDRCZVwUCTiMKzc^$6@|51Qay;ZEz9~L}Yo**pevvYHLjZIV?htww&!h zW6h8d149mk&*!c|#D`kdV@%scJTU8R<#-FhaQQ==@q*B$QCup({)3dc0Jh~|-A;-m zKIL-V$~Fp2-hTNyB^9NkER1N-j9)uugJ9gC z)5SWlA+;quz>L#Q6!4dIlJ$}jNj(V&o9_RNz3|nKPqNW-u@tV>-?|kTfg{a}zna|# zDa(zbko%LA151yQ8{Gv~t6oXR#?N{4oipL7Ef8M%n^_rq4D;R5Ah11~5@Q{%NUEK& zz%}r|&h9ZfAbS$l4kl@pWN3PD)H6AbxWYt-ls+di+tszCyurEOB!eA9Yh^b`t0m>@ zJ~gCBne5z^VUf(G^Jb;YfTj)(6b<+ql#V+y%IM^=U*gj#1)^c;TKfvyHH}ZJ1-MjA zEG*!9rR6{%GVdng)qM7Og)-4`!L$^mgzDbp|Lp<{ded^@d9=W}^e+yHfX3s3=+F#m zHlxiSBXW-aL`e4jo@jwN_}QFlPp=^Ct}~f$nghE(kp94N;%^{%6pR(GAKcnNSkoA? z2-Pf?YYkJxu(qO+4z};{(Du14s?04hcZg{&$a}cL%2y!mO>;$sAo!OxDAYB~31b{W z!H~&tk#hGEKt`k5M2oF#0fhgNa8Qt`;sEcoykg;CQVFJp)48xeDi${I9PQ$ocLS~S zWoG9`QhdmEH1!9UimEBbqw<}wuizT^Hli$M4r;TT$gt%j=0&$h9}}i9kXtIgnsXk; zIBnt4p+!o=lU>1>ik8f2=z&ZqItWBwzNK_jFpN`t{i)he5(e{-XU|>UK)DZ(y)Xl_ zF9yTjGnItk*xyDmHv^REQZ1;>lGO1a&^9OlS8Wo0gFPP2n_7%NFihKbdf>i)d=ZV+ zaR7fhlDH>Di&UQ3lGm)mLB~jbbBM3w*5Yj;e^b7RONYjrF7%BqA#mL-3f8%QYFVhF zePSYGUEyqX{QuN+&S90cZ=lY$jmgHO$xXKHnkL(JlU%n0@NH~dciD)pL37lA$W(9}v_ePi;!v(w<*eeXX zNsxw&BB{Q@?kCYIKNewdhdZ^w*kX{XI5voWv3~r{yP3Z<*zF^U{QUPPha*85fowIK z{q`#5$Aw2P_>^3oS(qv`f>SbBAqd5|nbAJjipS7{n3w@0sKf0X8hDOyO}`uzbwdz7 zczGptb%_LMDpkBS@C_Kr;KW$a9>-xhMF8BEx*MEY z`Ete{cFaoiG9mENG@|dKaDA>y;T(;jjZjH)gW|TP4<&$Ow6C!JZn!wC`*-c$Ei5Xk zUTobBzxHJxG)yO;x8SpXaImbe?QMU28KZ8s66PYp1SEBNII9?|e6YhvxFKaPd;tff z_6yx@H%dhJ(-{$^Y;;xygwoqYH>;ZO-B%p_Y zdVZu$>V=^+RKwfpQ83upq9RbjB*5c+4^JxQoP#rPKNF{H%E#W`(fX6GzVVt z8=+q~YtX$+Dua^+#?H{tq^;bTM_zN}f;_%^mDbHrfT|!ec(P~GPksT{=XOg$w)(O| z%HxWCQ;@lYmoDIJG)w624#}5(Fz>uYB*ddfh1o*>hr%2VF4w49Ilr|-oGe@q8al}z ze$)UNSHscdj&8Hw7Y`if62Uf=53Yy-pHS2PW!p!56i{Y?hTU%_YXYYLNfhw%s$R61 z=_1z}he8I$d_`9m-byjP;){S9Gm|x2QE=$V zzm}$3v8A1kTB@<`p&*Nn#v^bLiZENnS8Nk_X!cmitrvE-4SVdCG;0|M8K>KB!gx0{;94J-E0t;oICPx$g+}vKC zg!Pv|ALpA0GkVurb0G73r7w5cQC0q13C)+GE<=3bpOEGt;O}0q+_&CI9DhG z;>TtWO=3eAu|FylD8->92&GmF5j^~#=XIO)hN2H!p}$6lRogPMOrv*`mWgr-v{=|a z-|+O8YGD#*uWZKQ4W_r^bqO*ZVa+sPy@#+J!>Yt*@5}E>yc9mc2Wtbw@pHQ(%{YXmgU8Wf zxL+KUJtK{7_T2{zmoIeTX%-rSG05Usx8=5i7zY&waq%Cc9}h1fnZ$#~hBHPA@_B0P zU0bP^uutx#;}xUZg&gvAgLnqViUyk~j6nbpm{mEP<5Do1Q!ErUx=RL`-4$dd*TP;4 zQqCCEZYr~cUQ5RK5?gQCkbEiSg`of8AM_2WL}$QHMl7Xhk`0LYGs*M;7O|``J~yKT z+uw$CXbU`L{tE8X{LNB^FXD(wbMW9lkog?dB+S}Xp|3;kazV+f>E5qi49D;Lm|u1? zF2N7Cyy-T@Y=e4M^w)9lfXW}Wr=_Q~lZ;Xg2c6&Pc zaj9KbDCH1%H^SmpS}J44k#mxs5~-V5K;CEDP|hUb=zpMPW8D_`lvrGnrbC^Kp+4}1 zI$=_-)+p%JT^xE~_FsVc453+3>c}`O@BBPo0Wxzf+{H+o4uJ*>&vmTwh~z4)3e$pQ zJ8%2Le_V%TWR{KsS=cbMlNwoL?|vGaE*&!lCAm$3enmmS=xdqvao)lry`Y#Y76&24 z&w?L~&jPM+ozVX|e}b35Ignr=+6Pb^M08@v9eX_#J&OPv(id$*I$-ZaZZ&x~b6UjP z>+sdv-{s% zW(}jceM8g{wqU{-j&QecsldMcYZs0K{hjD8;pB-9Q1`19aCJz_fn`e>co)G!SUPag zaotCjpu;St-1`%;`_*x_uuO`?_p~w-5;oQxMaQx0jv6-nc1*GVUr3w&pE6CDz9rQ* zerpmn3I=D|z87x3!+7c1VbScTcQXDp5ygbd)K@VZST15CK4nO)G2`BV<`an;2|T=v z&YYb1g+u&DfbX_<4+dX@u#JV3`gm(fdD%(NFE|E*RN~Ccw~AnjflJ4&MWz0roJ-gJ z%$aIYH!fwK_HQIgP)tKn*;!X5H6x+8x4pe0a+qPp6=`%|QT50}gLr#8BO$Uh!P zY#eXY1zFQb|6II@JD?~o|xdhHJ=mG(ecP*8i&E@L-) zr{WO@pF7NtxL*v2Ix+s#Swn)6**k7*(I<9~YM|w&Mztj%arGS)^6wyDfjKd@(tcVt zhXjc)Tj4m*HbAN=ST61-rgFet#J0uihC;u+D%Nkykb6DCwp7T^q^uYT$ghQf26MZl z!_|@0NebOqWP2^l>9~2HN!`6!D?}B_8VmM*))YeESuNMt9GRtQ%y}~cu8;TQpApl;qdXKfQrow|1^$7(xTWtjH6ptyo*s-00|i){PJY>C`x z*McTlU*r1k;xs~^b+7(ujy;^cw&q-VMkf-?-}_|zy3*Oe zbJ_cZK;QV)OcYxfExHHiLf2bjgyte@)xZr z*iS{sZ3i0K?R+TJ%Teuk2@V?n+jqtJ!vlYieNB=z{pXo`Sxzn`T?=q&Y)MyX= zR|DQ>H42-M?(vXFU&yIz`blcyz*?kuqxP5R;rsD3wqj+&z;C%-t?~#Kd>*MpnVoUb z8xOA=@i7R038ogW57e*=0(Mv3WcmGk!6ZcjUHlzGj0q=tw5|C(s7qv9KK~iOiWKe@ zs?4F%>P1gWdvJgGCtrM}`)9M4sLi_=+=fFEqMAXkSW%_njM2^NSzb0SlDEpEBardZ0Bx=ICj8aL|?a(b7b^CKS}4 z*9kFt-gm#x>lNU&#n2{L;CI&wP86(xF_I*Ic^Y(k6?)eyKcw$24Km4XlRDE;f2v-w zn|SYJ#UM^mv+R5{lRLZDiH#@8|BrYA_U&;vKh0)<)>gf8Xv@sZY=(&lqMDHwHIVoP zUa&r*Kj8ait;4^tax=-C5rV7`B^f_BUjLdB5zL}V#jPTgo#MNP^iocC+B)9FG>_xE zM=;aO%Yn5T^AYYBiyNdxGx2>nmfBpZa(eMu32ur7>(3gWIPZhKoAR&d%85JLdIYRL z012@KbDtX`#-g+SBXZT`{hD1~gI!gkP0!1p=cV-lmgvu`Q_P4}ybg%-)5Pn*yH96W zkQ?vv5_Dc1mf92Y8Kdz|@Z(gUN(LMp)nfh!a&@UAg#tJQSH5y+xP`2&51i9}TOz@c zze90!-!1&CT~oiC)qy`IHL)eQyYThuVoLcZg8^Dbw(Cq6RQSI632Y$+vqdnh!y9oz z$!JPZnUn}O?`uWrI30;Ph8j$?sjM;;i|*zR-P*V>ou_7JS4EOy9R6uBD3O_3DwY9; z_yufx+m3I;0WVX($!9mpGdgzHBBhcCUf$kDS<4UQ^=pFlZYuCS{MrQp2Z?c_?=d#T!!tRKL1_&3cte(&wSG|Q2MLdLT!L(vbE zmZIX~w|V!amJ6lABx)2Eu^IwSCw&O-fWAKJ+^Wi?^oR;e zV17eev!*Fq*AT3D>IH%Er;27F8PfFDAjNjWbedqQB7FBff0;0Z?}-2hdFQ@^X-5WS zi98kw4}bisGoSCZ^CH~oMlTaNhC<@UG=qlJq z5^;hY?l;@$LZY7AD{LMjNZ2_H2vr1B7c9gZz?gimWE#%2Z4p+6$%4yf-Bix~$^e$B}c1{KN! zCnnP)*(FZ0hbs_ap{|`^p@d%^KF`6Lf*TmvTKMtGUBf# z?iWAGF5e0Uc93JN=%L=2U6vaCUdl6*u*QJ)`)Eod^|f^Q+uI?8ZaO_w;BfDu5b`gC zxF%czJ5w=|AE~yTg3r2I``)ocqLfEVz9N3T7I9Jwqsu?t@s3dDEWgad7zQ|_`(G?* zTRuGE3_9fEwS_mcvyk8+IJ~Tv*A`gBWDn6N^2VmaEyXfK=kK^>komc>UvQghJ%XYW z8-dzCF-eQPYdoKRTxm~0_%pqx)jBmzsvj1haDzgpErTJ9jGlSl342mj7(XVAXY6#J z(5xGbit)Od(|*070)QqnS7Y=7z{sMy@`*98`ZNrfJH$5!iRzDWHgv$QN(Ooy0LDE` z_`aq3HRPlN6+hILjl?Pwe1d*g2fQ0SAPA#1MpQLft$ESa6+nbfQjze!)>i=5{GB{O;+9 z`7hM%I(TZC(J7{6=zTH+hH-w0i1gWhk0`io@ZV=p*8491o2%S2@3_nb?F0&ZJEYW+ zBh<*rX0XI&jd&7<9@Fb_^X*qL5WXs;JJ{3!M!qBwHL~#GX4VluTXuMn1wErB$S!i^ z=TK$gtoMt{9$3}Y|1-2w64LEXbi2O<2^RW(ijEDte-q;>@~}YIOyj5KDsN!J?|^50 zFvbXGlTPtV1;HSD!J|>2NbU(T@{0ZC@rx)cMe<+@>se`Sb{AlD84s_8)~NMa#XDR` zMMPB8Va^T+q%M|VT(v_{#~tE|qzQ+E zD+ikA`=_FjWfn*Y!wn#OQ_08d|C;X{C)k!A_IjD~gD@xc5jS6DAOYjz*x>GZ?nB)C z-jUol@-omW@jK=AnJK)C+T!v4wp8co?e=CplaeM*WKlnnOW$x!w-Cj&#xm7N1(10N z;bjwS3E&NE*Qd8qfNcQIE^=muYs;V7?R->p zcRs*UHUkzVtwBA6E9Aysw?<
(hJD8Qi3D=-iKHQWqyqBDdv%2YvR6z9OHK{?PF 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 E57oya?EnA( diff --git a/build/templates/UmbracoProject/.template.config/dotnetcli.host.json b/build/templates/UmbracoProject/.template.config/dotnetcli.host.json new file mode 100644 index 0000000000..2727c1dbcc --- /dev/null +++ b/build/templates/UmbracoProject/.template.config/dotnetcli.host.json @@ -0,0 +1,39 @@ +{ + "$schema": "http://json.schemastore.org/dotnetcli.host", + "symbolInfo": { + "PackageTestSiteName": { + "longName": "PackageTestSiteName", + "shortName": "p" + }, + "UseSqlCe": { + "longName": "SqlCe", + "shortName": "ce" + }, + "SkipRestore": { + "longName": "no-restore", + "shortName": "" + }, + "FriendlyName": { + "longName": "friendly-name", + "shortName": "" + }, + "Email": { + "longName": "email", + "shortName": "" + }, + "Password": { + "longName": "password", + "shortName": "" + }, + "ConnectionString":{ + "longName": "connection-string", + "shortName": "" + } + }, + "usageExamples": [ + "dotnet new umbraco -n MyNewProject", + "dotnet new umbraco -n MyNewProjectWithCE -ce", + "dotnet new umbraco -n MyNewProject --no-restore", + "dotnet new umbraco -n MyNewProject --friendly-name "Friendly User" --email user@email.com --password password1234 --connection-string "Server=ConnectionStringHere"" + ] +} diff --git a/build/templates/UmbracoProject/.template.config/icon.png b/build/templates/UmbracoProject/.template.config/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6e94105808e0f05cb21726b4f729c979ed7d33ad GIT binary patch literal 22265 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 literal 0 HcmV?d00001 diff --git a/build/templates/UmbracoProject/.template.config/ide.host.json b/build/templates/UmbracoProject/.template.config/ide.host.json new file mode 100644 index 0000000000..af5ff5e24c --- /dev/null +++ b/build/templates/UmbracoProject/.template.config/ide.host.json @@ -0,0 +1,60 @@ +{ + "$schema": "http://json.schemastore.org/vs-2017.3.host", + "order" : 0, + "icon": "icon.png", + "description": { + "id": "UmbracoProject", + "text": "Umbraco Web Application - An empty Umbraco CMS web application" + }, + "symbolInfo": [ + { + "id": "UseSqlCe", + "name": { + "text": "Use Sql Compact Edition (SqlCE)" + }, + "isVisible": "true" + }, + { + "id": "SkipRestore", + "name": { + "text": "Skips the automatic NuGet restore of the project on create" + }, + "isVisible": "true" + }, + { + "id": "PackageTestSiteName", + "name": { + "text": "Optional: Specify the name of a package that this should be a test site for" + }, + "isVisible": "true" + }, + { + "id": "FriendlyName", + "name": { + "text": "Optional: The friendly name of the user for Umbraco login when using Unattended install" + }, + "isVisible": "true" + }, + { + "id": "Email", + "name": { + "text": "Optional: Email to use for Umbraco login when using Unattended install" + }, + "isVisible": "true" + }, + { + "id": "Password", + "name": { + "text": "Optional: Password to use for Umbraco login when using Unattended install" + }, + "isVisible": "true" + }, + { + "id": "ConnectionString", + "name": { + "text": "Optional: Database connection string when using Unattended install" + }, + "isVisible": "true" + } + ] +} diff --git a/build/templates/UmbracoProject/.template.config/template.json b/build/templates/UmbracoProject/.template.config/template.json new file mode 100644 index 0000000000..203c5abd1a --- /dev/null +++ b/build/templates/UmbracoProject/.template.config/template.json @@ -0,0 +1,140 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Umbraco HQ", + "description": "An empty Umbraco Project ready to get started", + "classifications": [ "Web", "CMS", "Umbraco"], + "groupIdentity": "Umbraco.Templates.UmbracoProject", + "identity": "Umbraco.Templates.UmbracoProject.CSharp", + "name": "Umbraco Project", + "shortName": "umbraco", + "defaultName": "UmbracoProject1", + "preferNameDirectory": true, + "tags": { + "language": "C#", + "type": "project" + }, + "primaryOutputs": [ + { + "path": "UmbracoProject.csproj" + } + ], + "postActions": [ + { + "condition": "(!SkipRestore)", + "description": "Restore NuGet packages required by this project", + "manualInstructions": [{ + "text": "Run 'dotnet restore'" + }], + "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025", + "continueOnError": true + } + ], + "sourceName": "UmbracoProject", + "symbols": { + "version": { + "type": "parameter", + "datatype": "string", + "defaultValue": "9.0.0-beta001", + "description": "The version of Umbraco to load using NuGet", + "replaces": "UMBRACO_VERSION_FROM_TEMPLATE" + }, + "namespaceReplacer": { + "type": "generated", + "generator": "coalesce", + "parameters": { + "sourceVariableName": "name", + "defaultValue": "UmbracoProject", + "fallbackVariableName": "name" + }, + "replaces":"Umbraco.Web.UI.NetCore" + }, + "PackageTestSiteName": { + "type": "parameter", + "datatype":"text", + "defaultValue": "", + "replaces":"PackageTestSiteName", + "description": "The name of the package this should be a test site for (Default: '')" + }, + "UseSqlCe":{ + "type": "parameter", + "datatype":"bool", + "defaultValue": "false", + "description": "Adds the required dependencies to use SqlCE (Windows only) (Default: false)" + }, + "Framework": { + "type": "parameter", + "description": "The target framework for the project", + "datatype": "choice", + "choices": [ + { + "choice": "net5.0", + "description": "Target net5.0" + }, + { + "choice": "net6.0", + "description": "Target net6.0" + } + ], + "replaces": "net5.0", + "defaultValue": "net5.0" + }, + "SkipRestore": { + "type": "parameter", + "datatype": "bool", + "description": "If specified, skips the automatic restore of the project on create", + "defaultValue": "false" + }, + "HttpPort": { + "type": "generated", + "generator": "port", + "replaces": "HTTP_PORT_FROM_TEMPLATE", + "parameters": { + "high": 65535, + "low": 1024, + "fallback": 5000 + } + }, + "HttpsPort": { + "type": "generated", + "generator": "port", + "replaces": "HTTPS_PORT_FROM_TEMPLATE", + "parameters": { + "high": 65535, + "low": 1024, + "fallback": 5001 + } + }, + "FriendlyName":{ + "type": "parameter", + "datatype":"text", + "description": "The friendly name of the user for Umbraco login when using Unattended install (Without installer wizard UI)", + "replaces": "FRIENDLY_NAME_FROM_TEMPLATE", + "defaultValue": "" + }, + "Email":{ + "type": "parameter", + "datatype":"text", + "description": "Email to use for Umbraco login when using Unattended install (Without installer wizard UI)", + "replaces": "EMAIL_FROM_TEMPLATE", + "defaultValue": "" + }, + "Password":{ + "type": "parameter", + "datatype":"text", + "description": "Password to use for Umbraco login when using Unattended install (Without installer wizard UI)", + "replaces": "PASSWORD_FROM_TEMPLATE", + "defaultValue": "" + }, + "ConnectionString":{ + "type": "parameter", + "datatype":"text", + "description": "Database connection string when using Unattended install (Without installer wizard UI)", + "replaces": "CONNECTION_FROM_TEMPLATE", + "defaultValue": "" + }, + "UsingUnattenedInstall":{ + "type": "computed", + "value": "(FriendlyName != \"\" && Email != \"\" && Password != \"\" && ConnectionString != \"\")" + } + } +} diff --git a/build/templates/UmbracoSolution/Properties/launchSettings.json b/build/templates/UmbracoProject/Properties/launchSettings.json similarity index 68% rename from build/templates/UmbracoSolution/Properties/launchSettings.json rename to build/templates/UmbracoProject/Properties/launchSettings.json index 130f45dedf..3819fb7c86 100644 --- a/build/templates/UmbracoSolution/Properties/launchSettings.json +++ b/build/templates/UmbracoProject/Properties/launchSettings.json @@ -3,8 +3,8 @@ "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "http://localhost:5000", - "sslPort": 5001 + "applicationUrl": "http://localhost:HTTP_PORT_FROM_TEMPLATE", + "sslPort": HTTPS_PORT_FROM_TEMPLATE } }, "profiles": { @@ -20,7 +20,7 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, - "applicationUrl": "https://localhost:5001;http://localhost:5000" + "applicationUrl": "https://localhost:HTTPS_PORT_FROM_TEMPLATE;http://localhost:HTTP_PORT_FROM_TEMPLATE" } } } diff --git a/build/templates/UmbracoSolution/UmbracoSolution.csproj b/build/templates/UmbracoProject/UmbracoProject.csproj similarity index 100% rename from build/templates/UmbracoSolution/UmbracoSolution.csproj rename to build/templates/UmbracoProject/UmbracoProject.csproj diff --git a/build/templates/UmbracoSolution/Views/_ViewImports.cshtml b/build/templates/UmbracoProject/Views/_ViewImports.cshtml similarity index 100% rename from build/templates/UmbracoSolution/Views/_ViewImports.cshtml rename to build/templates/UmbracoProject/Views/_ViewImports.cshtml diff --git a/build/templates/UmbracoProject/appsettings.Development.json b/build/templates/UmbracoProject/appsettings.Development.json new file mode 100644 index 0000000000..0823d89494 --- /dev/null +++ b/build/templates/UmbracoProject/appsettings.Development.json @@ -0,0 +1,50 @@ +{ + "Serilog": { + "MinimumLevel": { + "Default": "Information" + }, + "WriteTo": [ + { + "Name": "Async", + "Args": { + "configure": [ + { + "Name": "Console" + } + ] + } + } + ] + }, + //#if (UsingUnattenedInstall) + "ConnectionStrings": { + "umbracoDbDSN": "CONNECTION_FROM_TEMPLATE" + }, + //#endif + "Umbraco": { + "CMS": { + //#if (UsingUnattenedInstall) + "Unattended": { + "InstallUnattended": true, + "UnattendedUserName": "FRIENDLY_NAME_FROM_TEMPLATE", + "UnattendedUserEmail": "EMAIL_FROM_TEMPLATE", + "UnattendedUserPassword": "PASSWORD_FROM_TEMPLATE" + }, + //#endif + "Global": { + "Smtp": { + "From": "your@email.here", + "Host": "localhost", + "Port": 25 + } + }, + "Hosting": { + "Debug": true + }, + "RuntimeMinification": { + "useInMemoryCache": true, + "cacheBuster": "Timestamp" + } + } + } +} \ No newline at end of file diff --git a/build/templates/UmbracoProject/appsettings.json b/build/templates/UmbracoProject/appsettings.json new file mode 100644 index 0000000000..140c970ebb --- /dev/null +++ b/build/templates/UmbracoProject/appsettings.json @@ -0,0 +1,22 @@ +{ + "Serilog": { + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System": "Warning" + } + } + }, + "ConnectionStrings": { + "umbracoDbDSN": "" + }, + "Umbraco": { + "CMS": { + "Hosting": { + "Debug": false + } + } + } +} diff --git a/build/templates/UmbracoSolution/.template.config/dotnetcli.host.json b/build/templates/UmbracoSolution/.template.config/dotnetcli.host.json deleted file mode 100644 index d8ae0f76c7..0000000000 --- a/build/templates/UmbracoSolution/.template.config/dotnetcli.host.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/dotnetcli.host", - "symbolInfo": { - "PackageTestSiteName": { - "longName": "PackageTestSiteName", - "shortName": "p" - }, - "UseSqlCe": { - "longName": "SqlCe", - "shortName": "ce" - } - } -} diff --git a/build/templates/UmbracoSolution/.template.config/icon.png b/build/templates/UmbracoSolution/.template.config/icon.png deleted file mode 100644 index 9500140b38d4f82d63df3d7ea7fd543cd5041874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33516 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
(hJD8Qi3D=-iKHQWqyqBDdv%2YvR6z9OHK{?PF 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 E57oya?EnA( diff --git a/build/templates/UmbracoSolution/.template.config/ide.host.json b/build/templates/UmbracoSolution/.template.config/ide.host.json deleted file mode 100644 index 7604d3b1f4..0000000000 --- a/build/templates/UmbracoSolution/.template.config/ide.host.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/vs-2017.3.host", - "order" : 0, - "icon": "icon.png", - "description": { - "id": "UmbracoSolution", - "text": "Umbraco Web Application - An empty Umbraco CMS web application" - }, - "symbolInfo": [ - { - "id": "PackageTestSiteName", - "name": { - "text": "Optional: Specific the name of a package that this should be a test site for.", - }, - "isVisible": "true" - }, - { - "id": "UseSqlCe", - "name": { - "text": "Use Sql Compact Edition (SqlCE)" - }, - "isVisible": "true" - } - ] - -} diff --git a/build/templates/UmbracoSolution/.template.config/template.json b/build/templates/UmbracoSolution/.template.config/template.json deleted file mode 100644 index 7e45b01f4d..0000000000 --- a/build/templates/UmbracoSolution/.template.config/template.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "Umbraco HQ", - "description": "An empty Umbraco Solution ready to get started", - "classifications": [ "Web", "CMS", "Umbraco"], - "groupIdentity": "Umbraco.Templates.UmbracoSolution", - "identity": "Umbraco.Templates.UmbracoSolution.CSharp", - "name": "Umbraco Solution", - "shortName": "umbraco", - "defaultName": "UmbracoSolution1", - "preferNameDirectory": true, - "tags": { - "language": "C#", - "type": "project" - }, - "primaryOutputs": [ - { - "path": "UmbracoSolution.csproj" - } - ], - "sourceName": "UmbracoSolution", - "preferNameDirectory": true, - "symbols": { - "version": { - "type": "parameter", - "datatype": "string", - "defaultValue": "9.0.0-beta001", - "description": "The version of Umbraco to load using NuGet", - "replaces": "UMBRACO_VERSION_FROM_TEMPLATE" - }, - "namespaceReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "name", - "defaultValue": "UmbracoSolution", - "fallbackVariableName": "name" - }, - "replaces":"Umbraco.Web.UI.NetCore" - }, - "PackageTestSiteName": { - "type": "parameter", - "datatype":"text", - "defaultValue": "", - "replaces":"PackageTestSiteName", - "description": "The name of the package this should be a test site for (Default: '')" - }, - "UseSqlCe":{ - "type": "parameter", - "datatype":"bool", - "defaultValue": "false", - "description": "Adds the required dependencies to use SqlCE (Windows only) (Default: false)" - }, - "Framework": { - "type": "parameter", - "description": "The target framework for the project.", - "datatype": "choice", - "choices": [ - { - "choice": "net5.0", - "description": "Target net5.0" - }, - { - "choice": "net6.0", - "description": "Target net6.0" - } - ], - "replaces": "net5.0", - "defaultValue": "net5.0" - } - } -}