From e0cce7061ebc532eea7e9f06ff4426211d285682 Mon Sep 17 00:00:00 2001 From: Kevin Cunnane Date: Thu, 1 Aug 2019 14:55:32 -0700 Subject: [PATCH] Remove .Net Core 1.0 requirement for Loc and fix mac build (#841) * Remove .Net Core 1.0 requirement for Loc and fix mac build Use StringResourceTool to remove .Net Core 1.0 dependency for Loc Fixed Mac build by copying the code used in internal repo for build. - This now mostly matches internal, so expect this should work OK. --- .../Microsoft.DataTools.SrGen.1.0.2.nupkg | Bin 20160 -> 0 bytes ...esX.0.5.3.nupkg => mssql.ResX.0.2.0.nupkg} | Bin build.cake | 167 ++++++++++-------- scripts/archiving.cake | 1 + scripts/packages.config | 7 +- 5 files changed, 98 insertions(+), 77 deletions(-) delete mode 100644 bin/nuget/Microsoft.DataTools.SrGen.1.0.2.nupkg rename bin/nuget/{mssql.ResX.0.5.3.nupkg => mssql.ResX.0.2.0.nupkg} (100%) diff --git a/bin/nuget/Microsoft.DataTools.SrGen.1.0.2.nupkg b/bin/nuget/Microsoft.DataTools.SrGen.1.0.2.nupkg deleted file mode 100644 index f410a0af7758425ffd99105f18e633b0f1629caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20160 zcmb5V19WCV&^DNfZ5tEgjcwb>#J1kpn2DWY{p$bURWuBuXA{tJ>{KR`hKg!iTEGH&WVrI!r9rL8vt-JwlK9dbYcM7o7(*wF#|f<8an@LI+_FQ4UMf0%}oK! zjEwAnf71M)JV^gDPhwRMd(;0LM_Wr{N1zkX%$dO$X!}2y{gdk-J0?Z|BL~3N(9Y7# z)XABYSk=(c+|-$m6d?D%AfkrOhN?iIjT3{4qlBp)gPn_$y{R!Nv6KlPsj>+ZGZ&)~ z3p=~9u`w$fiy0{~;Qxz2|G%aPur+lyH2Eh5z!>OgN^kG@5AEn|Y3lU9iTghl)vU0Gpu$mfj7%{UNaGHdb?1af3275m>*hkBnT!Z%5upq;4r zy^>oPGvE8$Ki%Ek-zgFOoT1sj(UoluQr9GZ%#srsZI6Vt&jarAKAnx~T#%Zelx`%W zHdv0Uwc^+NEu^A)4f7Ui9W56CHcB(=ldI~$DVGeY02Qday3nw@RFoCZao1HM>)z(= z?Sv}nd;Y>d3rHW3vnO+vD}zqjbmf(^)$8FkXxC`UGBN!mNJ&w?m8y!K;Wb7{!a>Bm z@;`RjIYYsDj*07|5Z9&y@L5n4G3lF?Y=8hqUp`y--{ z?eMDUY)EAgVu>CYjtwU`T*lm{u8Tw1gSt`ZDBgY#NDCvo@kWMDbCe&czlYUnokaE- z71CIY=_H&_fY8491DuJzNw~?4J-d4Qstdh#%o2I9v#NZP0pA|+^Yg?}GgYsu<1AL{ z=E#Xbv}%77@QtbhHA|8deuw|hHbqs{6+HO2=)3>fmE@mIZ7hudcBan%;f{v(_W#y8 z!0F$zv12eXwRd8$ast}@mqz`|1neh94tkb+MZ$DC*lQ_pC`43SY}C!W3h|LIVHAf7 zQx*HVhB)|XGU6ZYcD?Ciug4JXKRfHrwu5L9lhuiNTmre-^Luw}ta^HLSn|d0@(gOU zbhab2EUtdh#@PzkLqy%mQ-W850%3Phf1ulmDg3m;Vbou4+n;;g^by2C7hKHh-?(p( z2uVcYx9;8+%EaNb=ZLc+l2cAD9F*Vzd)Ddeb=~PHm5{k)`C92he{3{1(ijI`z&Pwx zllm%eUhtuITQsTx7-!upUyU^WRBYDEx0x81EH`~9EQ$2pe#u*vdIe`_Eh zc>k69Y;683#a;Tq8R$s3oV2<%y7|pX|EeQjue)gc(DwRuuFqd*!qfEAFJUFgcr`kn zlk2kg=;-Mx8dEG1=1vhm8G>j@;=_t2Z6@pk7Le=gDjBi3 z_==Uv>1qqP!qB=C-q`htxkV(%1745_5@XZ{Fc_O=f>x46T~N}&bOu{dSfOId;AdEI zCldtwuFnpF^1JfEGynnLA}IuoCxNlLb@-eHIg%HlaODH3COaK`V3*)dT8=)x)qHQJ z(2o)RV+R#pZrqkj$;e<44?Z^>K5jeU$D}J`T5C`##j@{NSD~Xoohsm?&fDy8Z^sEF z7`nz(R)5)U_0jr8bHjqQ{Hxbu;Okx>xL{rip_%u1Pv-z>|COdqZ6=^c-QsA-D0z#RW zH@}rg!&KzP+D9CEtX3MjS{MWP?1b0m-+r3`MYJr1Mc(i;CMK{v;nsJauZPpOp|s?* z*utmd=J59+%06AXlR!ADJm_ljU$l+xDG>bGTn!8i|V9t`+UiAuFD>Xi*u zqE>Z;vPYufs>F0$K?D;lBb4ze@k-c7`uFs+MNc+&Ysbg-K+!IlARjuE0YyALVX<@c#wubAfJ|Ze z(?lu@6*e%|V1q?3E-h`L$byy%bUT1>1ZFi2n$(&^V}5t``dNr!Zz;P+VjjM}W*mvD znLj_Nj8052iaP+NW{m;$ePRS6iX~_wU1&78G&IZ{(?~J>(hlQslKFRIi+*?H!89GI z{;W#{wKU#1V+E~U9r@hi3Tavf#2H#oe^j^#nD!)^sYwq705H* zi*=7P-p0qmw4&FukLVEDRd{913iRkz|3UR%$d;6`4O{@W_DodGEek2pSq{!UtaS&% z7P(yL5|RV8HOZ%a#*1&%1+ewF;$1fdDKqctjdzmONC7%vrCaK4VHF-f`JNoDsm26j z10L`(7yj@UkKS3zr=@e^vh=SOF;BXfAmXy^a~Q~EsT+Y$GJ2|2Z05laMnY%QI!K>EqGm} z?w=8lC{)^Cm6n;}?7~yyS{DSseS1Pn)~HbKLG#DVp9^QSD{jhR>~3~6r}?-S`M78K zka5>GE6zbD`L0~v{EM1XuIo?&3GReyLhOHi2dg9ZZIoHSE)}D+&}@5lkBV_}3r9C! zJ?P3J^9!qBsP-)mtufse7;aD2Yff(dQM9Ik0{H^|SOaJ)vLs1ht zV-$7rQaR7lYlstmNU0b!smz2oU^bxqOnF$BBBJndor{pFHpR~(v=Q$7=5Ex^ z?hHMWpDh4%#I9H?;^h(QyT=pvM~&UGy5{{dDJ#Q$bdO*$XKT%N<=|*l!q`~YPVWNf z1Xk~EGk%HHh@4NjN$>bY`!((;TC|8GJ zTEeu8W!p6nQRo4W0ON$?I{R#{p0pXjS=sKA+KG39j-5wFdfc$K1-6IQQ+7`1F=BV0 z1QbV-*ENi#TR}GHO+#Y&&(^GrjFZ*zHg(2$}>&*P4|OdP2u~uMi7k4 zGmGkrkdnLgwg-;g9>Mrjd)fQGdh5rj>Fw3E)<3Wh)?%B~!rO{Vj4xl(PDdM7)$6fc z^P-l4+9k`TKtUWZH;(O%>}OZy0gzW=#uoH#5;S4F3UlTfGiRIZMCZq62xtO&hYHG! zK4y-e+>E{?yiXU%C!YV8z>m*r&<8_*Uo}BpZTgdLvZO(zYs2L#a=W8C@>S% zLcu{;9HDWV5bwLALrDds?_cFrvU;81s%hIu0YGC9HIm`IO#Z0d^=k}J4q4_J97~KC zi7t)s*2bztOnI?_)H(WtAg3azKfX7o5w=(uVh>PZio7lT^wj^sHpBKl$YO3|(#Xj( zQHSi_gh8S~ch4&}Xd!Re6kbV1Gvqpe@JyUYm{lx;D<*?}BYKQgvJuf}?QE+Z%Nm{T z8gedgWTR!(X)aP<)^N+M-!Q3WGCv}isxDXAx<7ZQeUNrDn3S3+_n~uK(|&L}!bUlA z7`sV%1mha353}?G;1#RiUAJl~Puu{Qk=$gH>4u<&6V-Y|x~rG!j>!J;8FOo?7_jV- z6z}&6V=ZsNhf<_I0HQ5EdxSPVNJdJimzlVn?DTK4f;! zqJdTkvn09!`bc_2zClyRONpt%eZpTGm^~I&`0*g_BUD`*0DjHxs@#dqB%na3FE#C& zfFNNN7ALkv}(C#{-M29Ys-8pl!C@D7O@uI{*Bg)(>NNxcn#Up^Vaqb~@bKEZXEVbKSjt@7IDDS6M z|NB7XX#X-oC~CO9r}opbYgHl6Cd)R_y^#hbJBZBBXb=T(1Yv@n=N~Ot-aYo}WP~inx!sE4=zxw+*hGAfE>E>D; z=ikwhQ-o^w^sSxBQB8o9YV;FYT1VT0f}QD$@W#R8jh#ooC!dbhJvL@)jRa)qCSr>}x3h*UJ zSzY7BQ)p4#S?>5Eam+L_7Utn{eLtp4{S*!S0`Z|k(3D}j16(}huDBf51Trt!o+6w( z&L}Du@h1@S^u?nSe4Rn6LxN7|N;tNw)<9e!gEhXBHNj?W0e*js$<-FE(h9wmj5ATf z;})GuQWw^(c{MXnOcSD+$0LfBQ_@$ujO?;fgT_`L_~iqu`L?hzwPPf1xv}m8oNh+` zR9Mx0Q(C*l8(iqs!yYEN7xMW1+Tp{V=G$>Insbw*=Pkb7jq}Tya76f-2QMCAU;c4I zR7-ntsRZ9LPkk9KF|B;+lH2uY0;hJ#1oPbc2r_A5p{PmBy7P^rrW5vKhOo_5-p7_rVswA|(iRyxk(S@4hE47?5LzFY^DiN%qG>V_ zor@(+R`=WQdJ_fP-mf#++@7@(oOsuCtk9*j1yxq}FJYBOI8=?pA4Lvtpde$eN$?DP71iKIvwJ>fqo^VJ zPcZX0io4(m3G;~hFbBA5!mvDEGrMRmYwHmMLLhY;gb4MIG%#bOw5u3mmj3+G@0?fu z@%bRHMTJoWy(Il91%Ah_t^qcj6&SuoxO14LnP20ycm0ti$^Zh)0`KY9rfA%H-MwHu z&2jr;j%HnSPv7WDwf?Y*%30k&(0l)(Ous#$L2ov|J8~#f#|8!dpnpNvf*9fPEvCT!2VuGW;3hi*1H#cg*qR*er~;5z4XEWY}G;U%d&r2=%d^BcD0Vf-_dqoU*6tO zU6-<^Q|z?5BpCE{AE^kqAFCY2MCX}8n>EdOTU`5=YxICR2e*C46tvR4C!o|?wT=>G zYAC?p@7SQTacDQ~*$Vq*E!RG)Tr#LVVIgTFNDF3G-dI+Bc$XqE4gc4?&u-@Q#!zNn z(=}(Q>7tlRoP>*F*{}YXNlbtM5(n1Yw3h<*mFj%MS8?D;}PsHWGwC* z{HLP8Fwgm6GCu(2{W~&-&dK4NFxL)@$9eYW$}1Fa?&}?f$T8qKkh>Ak>|A}6SVGzG ziFy5T#l#{+-gcb>V+*r)8@P41WX`|h0|=d%D8=Gm`vjQz+q+U)Za(FSl6Nb9c0gB-Xl-*O8e>nDX!EGdjNl zh}>J=@6D`>8D3^MjC?YiXAv{1kTg`Tuc6l;;XArOKInf)V856c&$c;nfB|U|3NG`f z9^t+9e~h3909^vz7za| z6ztok=Tz6(H~bHhW>0kO6cW>c64XH^v`0lq)8PrZ3VWE4?Lo_z51lgJ=xO)vv0Mf&aQB$u6Ir176nJ!=d)G+g*p$}6qq=xt7+Hvh% zXkYeStIYj!KY2L6V^l?>Yha>##L6Qh8DhUf1N*qJmlFWr$N7P7_}GHc&g!35u6l;e_^J1Zgz&8mFU00(Bku(RF*`QJYxHM!Q_01=pbx z9QA|#7OM+m2khm82KOc?z=JOphpA-1_vg1*!w1|mVqaE)J5js+`Iav_CA{I=Ft+AO zd>)K^#j@f=a%1Mx>&fOZ+#Ie2X1ZVc-ku=xBU@Z$W zhOiwVI*su_5LcX4yPTY*gLKp-eA~^gSa|x=~Sr6FWW2+ z`{t0oU67#dU60}3}lsh?JSn?v*U%&U<7(Zl2#_>~fktds3 z5M)eX{f1d}0!&Ln5bXtGm*gZ7?AxDVw#|^aS3t7&5{Qc7VN{T46Uq*MEhE${Jq7~8 zsR6}lI;7LX`)ZZrmUbGz=nbX#f`(+c9^N2jUn{%ogU{c; zOYjGa>6w-={Mzl4b_f_p^+7s+L(NdX4b_RNb8>I=!l`%#mSgmB%!no;mA2X*5lp>- zm@HF|;)q5B+lpY9yiMt`Q!Q$>6tHF5smEEPk+6Y$(z6he;dxx~u4wMPqf2_%mGAuY z7Jm0}lUb9vHgg`r60{%)L<>xEfc^T>=m&{^v>^3T5~2L;9J(OT`usHYTXmw$EvFf0 zOG}dAEE9q#B5WyJDXz2fW?opY$&F#7)?Z~S{Zl~5hs(C;t49D$C7WHvcurOWew$gv zkEXNI4TjgWXb6nsi6O}EUr$j-I|ux<<5|J8?_p=kTVv`o&-Z2L_>LIMG)4=W%2gsM z0J){pjccJ2-Ge@*89z;oP+Cu@+9+M~4(Hn`g_};g51;7J=KwVJjkGxH0=+cSyNmGX;y`BTM`*7jiF#0ZR3z4uLYo399CT=RIO_X7ag?SRoZ=f0j@Sv2s z{kN85KgRyWgJ{unN~VzkMzK=nQ#FE-DzX*p#dVlv$Jy(x+q0Xp4fX6{*&XTZ%pUBk5o`!nv1d;o zlFoT?e4~sAIA)wOjO(}N!tb}I7|Yz_4|6c$gpz0af|!HnLMSg#@QUu!I#t}Ut&#GS z>_T}fG@EYUHFKZx!L#Z`S%xBE=-l+9T(WZcL|GfDxSn>v-#GZRZt&lJ5*Tb%F!t8m zp|r1b=82ALc>vMMYjMuK!w=s7(sy{#W`IE*1Vc5nPQYX$kJ$0G=zo#h3Q|UQs5)ZC zl2-Kv6NbL`xVi3PKP_-p#7UUy*Ge{)Y?Nnm<6y~JFDOpXH+=EG<3D9Tb!@;SN=j<^ z67&Rjy575qpZiXPoF&|faeT>mfDYDA@`WafvkMq5?D#f3bvOm+ZVzZ78Db}Yk=`&G z=e!^uQeyL8e{lt`_5heZey)ihEPV4C5#!2Bqg4r&CRu8S7}j@0mzD*6KPbM$a0bge zeDfnd_c>v|={ENQl+@o3T398*jbBQDqQ3Z52CaNM)1yEC7-P%31N+q`By^F;%;LZj zKVa^*0({4)YYx1H`5`Xn5b%{1F5wzT_@4VG>l83`K5F0VnH?Me#$Wy&f^C{z2uY)& z$0|2}%YXEj2=lcJe?L1SKYk2jdkQ^6qHJ$=5l=Z1-9XiT11k~w=w2)sL;1dWgGpX& zjFCGh@yx*;2HHJ4ZV+GCgE@NRvAdwYaw&t)AG=SZcFQi9;I;pSGjyQ42N^-Hy0AU1 z5wKlF;QRGf{CCOi$$|rJ?BJ^p+(G&O?4m^D-PpnpGx-KMgEgVXQE!awCUbuL2-(@w zLF90BXA6lV?Q`o_@qy#)`n{jd*%h|$5Iro0vqFI&<#Bpl(4G7<;RMv9);s;f^c8pj z9E%zM@x*oY;D`GQjPfV!bu53x?mFnR(aUc~f#7>EB%_tF-R`&UIof$t^m8`HmB1%a z;ZaY5SInA^F}|UfIfX0jVRD^{FlVu8&sOvv*L>SF3X{=dLCp;wo#9 z8qG2agi*(hU(O7Lg^jZO@`djW-n^;I>^)tC*!V1WTHH$lAQJnfN|!rAaC7N$g{DXCGJ1m@xe$mt1GF1EG$Jo&?n3G*1|rY3U_H3YE+dQC$gmVFdIm_RJ6A~%80O>6 zY-E@VFLOfwD5E+%GVewj2?}rI;)r{T1~j}D&`4U^v3B!i;oy)fj)gxwlSk<+<=Bb# zxt?nA(&r^x7>kogbzq|UtSSXZnca;xG?~*C+eVlND~oz&DQiF2tOdf8E>jEfBIEU= zQ$HvUjTp_1M4!P#h5to{mLlP|5%b(nwV_B2Eru2lxl<3s-eOLZ)=cEU3v-vpTf7} z`y6J9%Tcqkf6lUDZ{%VTKJ_VR9>A;z&kt^Tb!SMF{dwP+U;0tPz{-YNCCxJ)x0Yqng^C>{OIo3*7lUMZ+TuGfwT8AF+fBa`uvS~a(qATm zTcY^|sK0dLKlH}_CfE>ofvVI<8yDKsS{KA1S=0uBL=aT016Et)f3rUAB1k|g+pojy?{ z*2F#u`)u;?Z+5=}0TC5@WkfwftKA6$$yKAuFpNFM&& zDodK|D)qP*V{AHN` z7*%x)GdNkzd`Zp*Yg7(BF0(XLq^Tej+ouI{E)K5^-6d;aVq?4~2?ZUs2ZSU&d5BUV zBz&sES#4hnd!SLQ5jMsmZ!lkyd>ol!f^`DRJfmBXrVINic7#gLR{9T~I2b-_laTw` zE_Z%koG0+I=G;MxHfDQ+e6Xa61gV^yFGvrUP-4n8m!9!V=K6l9*_%TsM^I7OI3t`U zZd~3Y4st~!$wP++g4AeHUL@hn7Uf=-{aM@MU|6PIir$`F>l&XO^-;yylssNv$NT&? zy-;(B$&^JucJNK=@ya@B{AL674uJqyWLJ~f_WW%^t_oo9XntM++OT1K)$lMZsd%GF z!xHOnPyjVs`uuz4pMc{>~f~DYg#*`uK&XBfx53G)n9%Q-!$3>v; z$2zQT3wBZ{J&sGyZy{ada?wJ!AN*sxPvWb45Tfx=K5WnSE8X25S*T#5VfSkRf@7{S4Pc zWdW0TV+d1~ak!SW5wCGy=~h{urw`-rU3vIt#!fKk(-3-luI46${Q&HB|LMyboFvCG zESbxJjY)jOy*izQ&51^a{knCgrGUT4Nt+?lo6y@)TwW8Nm=F&W#F>^yY#~g&r<@h+ zr})DFK9Qqj6H_S*mpRucHxQY}-n zET92srt<>4oi zj^(Pf{mvoCe&H_LJA_)sPk+_A8j34`(Jm}NX`M(krS!E5)d0pI#&6M78=H)LNsn+3 z#M+8LQM8Ke{FL}(Jz=C7e5Asg(X~qO<}TK~dzB@8~+$$SxaC`WEN9cb)b%D&~|XCGUHe3-w?g1n-qtS}Oe~ zSa4`N=Kh_&?l3=JwgGJRkQp`*yHGTx6y_*$HhoIU?rUNNsHwvAZbyJL@+EUA`2}z=X4M((i zLya*T2(2JoTO%oDf%w4T7OWhRgG;8<21XUViVDb%&aN`i>TcA=^ziv9<4)DWz{Rk{ zmEX%!jXF%f$0@Cg8;C~ySXRobO@ttP)0gdj>^0!Y9nhE)@s-`E|FQ>qzA_I0LKtPpveDA`R ze|0Q@f1I^fO)VMK4A$l&i-&fmUG`l&FSiw*LygZsw@fjnnMcTo=?BO+o28y|ZOo`< zf&Gx!5c9*U&FC~EWPfHRHke+{G4m)w(*u!0Kg*zjaFH(+$yCwL>2mi3*(Pz~fIh2C z8B+cclLN{tp-I2XLb=o{W{=Mkf_W>E3etZO_sGdqDg2{qz&vzNVSeqe6zE}`6Ei%) zOxSIN0T`SK0pQe9sXLdr$E5~D#>HTQdQMu~ppS0_sX;1kr;=H@V$XBxrHeFNaNfttg=QHmUaaJZki>9k^!PrFluf^M3{AR{w?uAR++5L3$aVnBVz z_WMjmT^%@XL5uQOg}?U3M|(Vnp(o1VN^DK3Mk3Jm3nO20!X>OGRD z%@wB-o!fAPcd+(28h7l2hfc+dPe?yhhhWIGjxv}Svh`T))KRuj-*SewZN$>ZbcS}v z9REp>UOdd02sl$`>&9{6)jP?ok{Ta;!85Xqza6c))lfQ_>^D>R7jN!Gy>crq zf`ymQIG05`tiYqOv7O^YeYJE#F}xMw!qWg9P7QWmbw6daCLCs0SG6$h=bBUE|Kdm? zJ6r6n=5Yjns<+J>g2l{b1vZ2ILYL-H0~kjU?af+pQcwqshx2>7xN{HXQ+$`*IH!Uw zTaU)`xn^WsucpisHOhQgX}y6`#`;CKc9J7d{6Kqn@U z;1@PRo6Yj`WqEqsk#SY-X-;r8g%_?5V?Jo~R@Pc4J&QVMl2j7LuR9gjhP-D~NK6&f z#gXT1WN_`SC;37|e@4S5_15Xsl6JEO-~MctyVr{(V5;lI>hYk!O4P|R;%liZNs=p{ z7eQuUH`tWH%;5VGm78UI^h;V>BV6?vd;Ap|-D~z&;;B+C>$KX`=TY5<4qI=T8#|wS zrI%ggdQ?3NzMt;fbZZH5c^r#vgqfX37=B#6nC^&B_T_uR8$opv;tGC}RyZGEyh~Q0 zo8mpmE6r1gbT8Gg)MTZe$7G6JnE4W;!j(rxSHr8gnW`c7L^^Gpsd)Repl{B%7(7TJ z<-o(2#*cbRFKT{zPENnM#Yd)1U0bQ9Q=wh0c-U$eh0x7aIdZV84qJg_DelgJ;zrvP zRYzKq_20oR{KK^vlDk>f76(t#CHnjfc*Y7#bzySiWy4}fa4UZ11d^Mw>Kg4**2;mW*{P_9oKQaJmmob- zI-h>3R`Dcbxbt6=6y{~uM2oCwKb*aM>|t13)`6y(Gs}G9UzLHVGUu5|R7wq*vCQQ*WUfnjrTe};gsV1DFa5;``b5AwXs9qi9CvR-(zlcFUlE3on zR3b}%8qVZ78m>J;Zqn#zPZ3R7kwWvjXb?wke?Fj8lxHd!9}wXR(ad&&&fiZQe!=VS zW~;z?h_-^L2u^&_Ra?1rzUoUhl4miiOA)1~N&X4WaRW|F~` zs#gdCX#4Uyw|T=}sS_7l->!$%I_eBuhf7hEitdFy_WYcJSPaXOArix_J7x(byJx^sn-jsxxiP+aA z?;{>dD;HGToT~Q6G@IQ;JCx52E_F31uk`fK?VGkRzhGxyhAh&Z@Vjs;ySZF)xLIWR zSkS$Yz=A$;tVA-VQ>u>SvIF*XZ1wRtF&v<=Z8-DR@@2b&)J>byL7jA@*auTF6h~9 zsaL1f($^!?uDB;U3W0KRE%ol8S*vUUfRfo_4{T#7&YUnShz=c@HUI?;y!;sqyqYUPB~8?yyXRCB)q9ycJC)u4WFP%b2_wPs+U4$DR(FXRChdWW%SoYQomt@fs*Lq;SsL(|T zwGdvqA_em>ishFwH&P$jfvX57LmrX0+3~}hC3OJ`e$il zX|D(@yL|NtKVUt|&oMF6tua?b#rs^&n|B_qmd!b7adK2#(<{;qd4+4&Z^cF5Pzzfl zn545Y&Gm{2Xk3Dfx}f~NX4HTn*qaD? z15MZ~#|Le9CU>Lx2_5llbcHfL(aP8$)mgFxzw;i)mvz}MC#>P7DzBo&p`i+!H`Z(U-*1Z zakOl_WTshTTBLaf_k&mZJ3Sy~j_$b7OOq@*T}Pu$hsO3svl|OCrY13m0pwQP6B?2E zS@Bmw+Kag9!XVvGY1M@u@d2T!ed3}yNBBz%NURzU>LJsxNZE-u*jM>#u@CMI&s>J+ z-xf!GjpZ}JhXPX8gSYIvmVfhzoKp${b|&bvk_=pLtHF@`T|!Xl&}5DSC_?&d3$zNm zsRG$iPlS*|J`lO#p_JgPPIb8%9h^>2JX#NuU6b$8hgJLP!J&AhsY^FZ=Ld?oKWXkb z4fc}8w8WcjZK-j4LRK^=R|uvRwCAe==O}`X@R>typr56ZHPszSV$u9s3vUQ@GH9uv zzb{mRLrCX-ehOG7}1vm7ZZy$^+WGtK$=YQ+>@<6 z!47XAO{1z7*&xUgr%Pbg-b*@XFav9jJNVq#7=Q@5IU-zts-+Shq zJa5t$hV00mHY9%8mujf{5J!*Req-M)ZWVXkW@g*2y$C+cx=nOzyhAPo{v18;^K~>9 zRinl!5LBn)bGRqZf{03n3}C@~mflJ|Q**3wP}(QuIthggu(cW~5B9GEvpJqt-H%(w zgZDhl!73OETVDu6ay(#&Y!{i~bO`Sk*t=2qn~;OY_=H2$;va?Phhmc+Q9y!_l^VqZ zT`U03f(J-W&yl)Q8~`^A0R5>|1!LG}otF}!VX6tU*MAO4x(dc7^!CzAFFlc2ZeaLf zFgPT$IRR*j;Oq?KWnlZ0u1PW=Xj&VNR2#a+MtDGI{V3!A26$KUX2GNE3VuA}yBd;# z0~K=cz{N8+lwp=GRN4pDF-2|TL@kdwB1j4ikjV75e*Kk!EklbbM^kVYW|qKtRY{oT zycLOb;4nnD9uNL&mL4 zx~K1Kz>lPLfzho`hojEwsVV}y;LG}+btO-@Gd93h2tbo^G58dU1jrLryPNZKk!|E- zFhMItDl;r#3nkd?=a19TyXM0p@J@dV>^>iQR;_-o(0kVGysG!yJYK-p*gkW~u0C|h zrfi>TEG}>M(YgsE>c*|}s@K2uxNA;y+@gD`t6T8<2AF%ZY}~v)88jZ3FFUTi)%ev> z=$%GoaCqC%K$c-SX3_GWYj^&2;^tKa9C)|>>-d;Dr)@mrORpa0OV4iY@>DW?%o{^i z1(cz0pNS?*}o&WC7k!pmq((LHxibf=&ayWU@sAMB-mMHgF~q89mvS z0^-dRVu(e1pONzt;<0i=M1`3_G^ucQ3hJ~Yi!=t?oCpGMpf6a55vQZdq^@XM#QSsCO$yi$n5Bm z=h>o8gkNrS6myhYr#rTu@XK-3yuIa@Q#FhE5A}9rO+;QSMP8I-%{-aZQ~yRlt=LRv z72hwNG4OS!N=2~6#r^k_e!nJP!c3z(p>^Qgt*o~w9xP5IaX~sZJP1cTtAu~*{|qaV z{3K3Z+!y5$RP`_HT-`{?!sp6Bs?=+BR6Ci`u!!rkL;c~7W4`M&sI~3;*Y$!lDkVab z=nd!VlfLJwx2xAQ`(g?)bHQ`l={_iVvD5h(d-39&yM`-X8uzs!X%r6%63PvpaHE?R zW15IKItomjG(7?j3N>GxKb_y;giPzGC)eaiFx%C_`9M&7oKo@ktq$TKg`;t6uE@>% zjwuqk{ZMFym@A6zzR-!j5W{RD0~3|Y5*plbRp;Ugb}o@w{2*puWt-LGb>2> z`~aQzRiC*7e~dxK%-HS&^$*N3qO5`s&soKY&|3HYeI}{ zFDvzVZWq7-r(Y96m<4_Y|_F1-en6i^8!gA7RB8|FV^>!uH4!R9ZqMBdZ4%?c3fam*X1;{5;@IB=#wV_YaWJlCMkhiI)yUX)+;6!5?p7{X zPc`YahSGwQuor9PSfY@1+g;I57lK_+NApJ$*z<7a2il4{e-DO1QGN_iDRt=blobk7 z!!9=uM}1AqUZBVUk)kL#$Y+-OA%pj+MOadee$vt?8pn3!g+95^!V331v|%JEatJ=& zn|*(PEaSi2RC(pYl=^OkPJcuF=ZvA-V_#k&cn}altp7S=$lk>0zseYj(y+D9P{ZiD z-gMjUY+tSZnJzcyJnuaZFzS}Hl%bc?vbKB$!t0y+vk6WKNoTmAn zGn}T=zhY_M=nY}s;PMb`Pk}tGb#4$y&=MP=zW9|+79Y@29a57&_{j$#{zW2;EsrHh zvZv%*SOpHT`Y66;QItS7#UGkxd+A>~v0l8PTLj|C3}py6|Kep!A#C`ruleM5`xUzz zWcmq+^1P!Wy?#p9sB1^*l}jP64O+xo{JZQU6TYYJKW5>y@I6&fA5lm}(LN7lH_)PA z^Qhs2xFR5w!M~BbW%k`3xaQ6#Z+iV{rZ4Ozq9ts^dQ2ikc#Cy^e(xy?YD=~z)DS|T zt#eo}MtEu0P&|X1NUt^9Hp`xKDcFvCNu`B(`E!lBL3`#(^qqgL-U31B1kazhfyLSR zWEbPm>%CLL7`GMEy*<@!X4`a1Y9-{$EoYlaBNs_%U>WzHnvY@x|_iFwn;E(YU@21T(mp5QLrQ09K z-twab;sG~czsGs$@S>Gu*5YNmj@9l*QN1%x1_(dGN9-;Tq6_Z%@geXtDdjQ7sbe9$5Hh|xq}-l%cox44o?a`c+j1#^X;4EKqv&6R ze6N@%RLwAu@9Iq7!8@yC$m1^UXp&<(U7r!yWxDmzSN2JjN`92t-3aT(gIf(sv3|{b zU;c-u=MF<=pRET*j-><*0+frxcC2r<0XaWZkH1B~O9 zU^x1=RHqBC@(j)9N@;|w8+?qBm03X$tn79qd!fc z&v8g|>a*jT^}IWi{uTRtdpPN*b)ZJtlXtHo1{ z{8|~g_tejCclIP~)Q&2pbo684VXEwj3YdIL6IYiIyp5Ywrj-GdtG}VO& z#c}&NQk`F?&cPPydGJMX9ndWqgyV;BqJlA#Rq1`Y=&xg2 z5gecUXTy0sz)x#CdmGnDHX{7h&Qr~8+D3DUfgs)Ozxr5HlCwdZm?zm=e{?9~amjdE zJJ&~kpVp?Nt_4feq)Ki7Em+lJ;mqK+da<4u$y#^}`faK?cGkeqSoK$XY1wAdEQceT zgORz;>EPxoSGI0vGk)AuXP97Ij$GH=W{v)UqSKCW8IuT`D``Rjp=WM=EO~|JD7Z>G zTEVA_RfSvkP5HEIC1UvdM)(^Jz<>87_vhHm?{jXRNZ{>YVp7#uqxd7KMUqBB=bShy zVM>x$Uk+98DxaC0CMlS@CPDH&h&)z-U2;)Y$WUpsQM-%+CE5QdJn5=nT}>o*CxU>c z`dPhFfBM|V)2CgPf0q15Yh*+yo6s8lPsC-5E6h^=#Lcrp*m*m{&RK4}1?ezK8j@1+ zJf;J9kB(nqI`boa3RF$iw6fuB&xDRN%+Jz`lJkUyvm=hBXQHQsAzRK`0c$tgI3&`Z z*U2MgN~7i^x67wa%^^q-gEV+)H>v!s?mmqWSTY!uOAc$;0NDM-P<}C){=L7NS~BnK zGfBQUH!~UJ)yA}JGlgsxBw2fhh?wLUmyRyPtvw@II=yw;d+h;vN~8{pD$53B1pc}4 zW4CkV_8~zw&N1pW(UF7=5d}aLSGaW?zg3^u6#0SiDsOlXQ~YeaPOrEt2M(JK&n2L) z;Uv3g2+E)DQ2}#~0W-o-zLl?CYk=GK=gX6?(#!ry6%rv{!Ck8}By43;S&`9XPHoW~ zg_O)9i4kialI8-W4dM=_0X2Wx_6cXpI9#JywklcwjA<99KuqR`(E9*hGr;3$V(VVt z?yJRj_T;=AaZ2zszQ|*+Xph&JagKX zL4R>|L;sK3Sns&@yq|uQR$-CzpM-TCO{!p|gayrGm_vZmcR*bg5YZ18BGSrgF@ni z_hXUUl&F6ko$H%v(1>9GP3>DiF@NV&TY?Amz0qXY#cm%XvviSUpQY)b7*kp}!f?h@ zrxH*XnpNSj(1KqcM=mHTO0KZg7EX#!+@g&urdCQpWzDrYL3t%fs?^(?HL8_srYYr> zecPJ3ee5sCCUnF&FH?1=G8DU_9`fO?{p4b9LAW)sxG9boXvz!f6iI9Li0c2xZf&|O z7nsi8W3JfMeCyYgE{(72CTaPtne>La_)kVpSM~fA+O|t#3j|f~cTC}ldMf^?q|~}5 z<#>7GakiC7Q#In0uR7_jIjGroRCS7}y`^|@*H)9BFVhqfOV#qWEt$L`@s3l~nclE_ zM&{;o<-K=)edw-X21nk3DBcUE1h};m(JBn^l|jtn!0oUt@*EB3Q6|{$GZIQz43PW`S>4_UWXAa_r^XvG5uA6firL5x5t)712qh)Q&(>Aaog&z!3%}$sjJIQ9AG-z{D9+v zS0j+3>1c-sA;;Vy>;4$!Gb#rmt7z-6VyI8B3MT-#DD@&&`PhJTk8hgrCW zb>En9{$YdQzIL_tZ699Q2p6tebN;fR=Cj^2Pfv2pTj6!=k)<5p%A`p7N1ErN;}1t} z4!7V^6x}d0@Q=RMaesxGW-)68!qsoxFfv$v`i_A#-$}!Ow^Ps6RKJ|Feg*gCGa9iz z`(tyi==13J{wrW(WeLlhW9b|J%&l2@%hd_NPoy?}(bLI2dq!bSO;BL#r<+ki_cXSx z_TqiL_|8N3SMT{1;>;>fyw1}0yW^e5{ZLy|X7}5qm@fgo+n6{dpPKzW+-y^EykmnSiaPB2b=$L!9?q7DNDTV8U#e=- zvYxCN+AF4gExwxbHon@xL%sIU`AD9ZWzTdcZm@o}!Ma9CFF)wSX&+AKnS2{M)1*zF zYU~L!zj{z*6Q5?8)UTWE`g{}L%>Q{armu2U@*_6&T_M%Z)0-c=&lP^tlbiVH-_-f? z>lF&MWrfae`zIvup9Qs7a=uf3O&stTgIXZg!gG#6QE6UDW^QV7eqLH;I>GZGRzG_h z6cC`LbyoZ28Q-t^8Yj=3*ACkhw1SP3S@lwvP;v0-&)u5@lN>JEEKmq=IB9OYQ)9n{ z{aTmv=S`1T?$-!Czj1+sC;Pf}I$KvrWGHy7TsW_BUZar9GBFp%&L{?u4-n_u%*ogL zV+}l*1cU>DKA`%sDfoJ0#GjG_I#?qBe#{Hxm>jE=Wcax@1*Jtf;B#?OlJ!$_Qgc)D zN{aOj^$hiu;A%@!i*gZ1>mX|Y%fMAu6lcPXEiW(ED>nuk3_NJZP(Q-gCm4Jtk8WmO zaYS{3&<|W&jTGcqySW$nGRH=;H<2WmYD-om{ydZ zt595|S6osAQ~=}yMfJdzAR7#_C^H2Zl$mLnsYP};&#eJ#L{ex2J@m*9cn*r5k&Ql# zYm=Q?S)N~%QVcp02xxY3X;M~da*3T^se5XPLIC7MBL!EWkAbmW1U40>#0GrQ4Kd%Jn@OaSSN5!#vpp%%Wa#|DEJV=rvIm&^#ALJ(8 z5|EpKr!={wrX`l6hiDpq&M!3(c>f z1E~;4KxqU03qF?!ixsfLns8c@pInj(JogD0MObu$jonm7vs;ggEcjYB=F2idqVRy@Y#tKkvi1 { - var projects = System.IO.Directory.GetFiles(sourceFolder, "*.csproj", SearchOption.AllDirectories).ToList(); - var locTemplateDir = System.IO.Path.Combine(sourceFolder, "../localization"); + // save current working directory to restore at end of task + var taskStartedWorkingDirectory = System.IO.Directory.GetCurrentDirectory(); + try + { + var projects = System.IO.Directory.GetFiles(sourceFolder, "*.csproj", SearchOption.AllDirectories).ToList(); + var locTemplateDir = System.IO.Path.Combine(sourceFolder, "../localization"); - foreach(var project in projects) { - var projectDir = System.IO.Path.GetDirectoryName(project); - var localizationDir = System.IO.Path.Combine(projectDir, "Localization"); - var projectName = (new System.IO.DirectoryInfo(projectDir)).Name; - var projectNameSpace = projectName + ".Localization"; - var projectStrings = System.IO.Path.Combine(localizationDir, "sr.strings"); + foreach(var project in projects) { + var projectDir = System.IO.Path.GetDirectoryName(project); - if (!System.IO.File.Exists(projectStrings)) - { - Information("Project {0} doesn't contain 'sr.strings' file", projectName); - continue; - } + // set current directory to this project so relative paths can be reliably + // used. This is to address an issue with quoting differences between Windows + // and MacOS. On MacOS the dotnet command ends up calling SRGen with quotations around + // the arguments stripped off. This causes SRGen to interpret the arg values as options + System.IO.Directory.SetCurrentDirectory(projectDir); + + // build remaining paths relative to the project directory + var localizationDir = System.IO.Path.Combine(".", "Localization"); + var projectName = (new System.IO.DirectoryInfo(projectDir)).Name; + var projectNameSpace = projectName + ".Localization"; + var projectStrings = System.IO.Path.Combine(localizationDir, "sr.strings"); - var srgenPath = System.IO.Path.Combine(toolsFolder, "Microsoft.DataTools.SrGen", "lib", "netcoreapp1.0", "srgen.dll"); - var outputResx = System.IO.Path.Combine(localizationDir, "sr.resx"); - var inputXliff = System.IO.Path.Combine(localizationDir, "transXliff"); - var outputXlf = System.IO.Path.Combine(localizationDir, "sr.xlf"); - var outputCs = System.IO.Path.Combine(localizationDir, "sr.cs"); - - // Delete preexisting resx and designer files - if (System.IO.File.Exists(outputResx)) - { - System.IO.File.Delete(outputResx); - } - if (System.IO.File.Exists(outputCs)) - { - System.IO.File.Delete(outputCs); - } - - if (!System.IO.Directory.Exists(inputXliff)) - { - System.IO.Directory.CreateDirectory(inputXliff); - } - - // Run SRGen - var dotnetArgs = string.Format("{0} -or \"{1}\" -oc \"{2}\" -ns \"{3}\" -an \"{4}\" -cn SR -l CS -dnx \"{5}\"", - srgenPath, outputResx, outputCs, projectName, projectNameSpace, projectStrings); - Information("{0}", dotnetArgs); - Run(dotnetcli, dotnetArgs) - .ExceptionOnError("Failed to run SRGen."); - - // Update XLF file from new Resx file - var doc = new XliffParser.XlfDocument(outputXlf); - doc.UpdateFromSource(); - var outputXlfFile = doc.Files.Single(); - foreach (var unit in outputXlfFile.TransUnits) - { - unit.Target = unit.Source; - } - doc.Save(); - - // Update ResX files from new xliff files - var xlfDocNames = System.IO.Directory.GetFiles(inputXliff, "*.xlf", SearchOption.AllDirectories).ToList(); - foreach(var docName in xlfDocNames) - { - // load our language XLIFF - var xlfDoc = new XliffParser.XlfDocument(docName); - var xlfFile = xlfDoc.Files.Single(); - - // load a language template - var templateFileLocation = System.IO.Path.Combine(locTemplateDir, System.IO.Path.GetFileName(docName) + ".template"); - var templateDoc = new XliffParser.XlfDocument(templateFileLocation); - var templateFile = templateDoc.Files.Single(); - - // iterate through our tranlation units and prune invalid units - foreach (var unit in xlfFile.TransUnits) + if (!System.IO.File.Exists(projectStrings)) { - // if a unit does not have a target it is invalid - if (unit.Target != null) { - templateFile.AddTransUnit(unit.Id, unit.Source, unit.Target, 0, 0); - } - } + Information("Project {0} doesn't contain 'sr.strings' file", projectName); + continue; + } - // export modified template to RESX - var newPath = System.IO.Path.Combine(localizationDir, System.IO.Path.GetFileName(docName)); - templateDoc.SaveAsResX(newPath.Replace("xlf","resx")); + var srgenPath = System.IO.Path.Combine(toolsFolder, "Microsoft.Data.Tools.StringResourceTool", "tools", "netcoreapp2.2", "any", "srgen.dll"); + var outputResx = System.IO.Path.Combine(localizationDir, "sr.resx"); + var inputXliff = System.IO.Path.Combine(localizationDir, "transXliff"); + var outputXlf = System.IO.Path.Combine(localizationDir, "sr.xlf"); + var outputCs = System.IO.Path.Combine(localizationDir, "sr.cs"); + + // Delete preexisting resx and designer files + if (System.IO.File.Exists(outputResx)) + { + System.IO.File.Delete(outputResx); + } + if (System.IO.File.Exists(outputCs)) + { + System.IO.File.Delete(outputCs); + } + + if (!System.IO.Directory.Exists(inputXliff)) + { + System.IO.Directory.CreateDirectory(inputXliff); + } + + // Run SRGen + var dotnetArgs = string.Format("{0} -or \"{1}\" -oc \"{2}\" -ns \"{3}\" -an \"{4}\" -cn SR -l CS -dnx \"{5}\"", + srgenPath, outputResx, outputCs, projectName, projectNameSpace, projectStrings); + Information("{0}", dotnetcli); + Information("{0}", dotnetArgs); + Run(dotnetcli, dotnetArgs) + .ExceptionOnError("Failed to run SRGen."); + + // Update XLF file from new Resx file + var doc = new XliffParser.XlfDocument(outputXlf); + doc.UpdateFromSource(); + var outputXlfFile = doc.Files.Single(); + foreach (var unit in outputXlfFile.TransUnits) + { + unit.Target = unit.Source; + } + doc.Save(); + + // Update ResX files from new xliff files + var xlfDocNames = System.IO.Directory.GetFiles(inputXliff, "*.xlf", SearchOption.AllDirectories).ToList(); + foreach(var docName in xlfDocNames) + { + // load our language XLIFF + var xlfDoc = new XliffParser.XlfDocument(docName); + var xlfFile = xlfDoc.Files.Single(); + + // load a language template + var templateFileLocation = System.IO.Path.Combine(locTemplateDir, System.IO.Path.GetFileName(docName) + ".template"); + var templateDoc = new XliffParser.XlfDocument(templateFileLocation); + var templateFile = templateDoc.Files.Single(); + + // iterate through our tranlation units and prune invalid units + foreach (var unit in xlfFile.TransUnits) + { + // if a unit does not have a target it is invalid + if (unit.Target != null) { + templateFile.AddTransUnit(unit.Id, unit.Source, unit.Target, 0, 0); + } + } + + // export modified template to RESX + var newPath = System.IO.Path.Combine(localizationDir, System.IO.Path.GetFileName(docName)); + templateDoc.SaveAsResX(newPath.Replace("xlf","resx")); + } } } + finally + { + // restore the original working directory + System.IO.Directory.SetCurrentDirectory(taskStartedWorkingDirectory); + } }); /// diff --git a/scripts/archiving.cake b/scripts/archiving.cake index 28dc95db..b1c21908 100644 --- a/scripts/archiving.cake +++ b/scripts/archiving.cake @@ -1,5 +1,6 @@ #load "runhelpers.cake" +using System; using System.IO.Compression; using System.Text.RegularExpressions; diff --git a/scripts/packages.config b/scripts/packages.config index 10e4f480..b01d9630 100644 --- a/scripts/packages.config +++ b/scripts/packages.config @@ -1,8 +1,9 @@ - - - + + + + \ No newline at end of file