From 43e0ba202ecdec02bbcbad361fd25d9a1fa891b4 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 18 Dec 2024 16:52:57 -0300 Subject: [PATCH] Fix `AppUtils` to show `ProductName`. --- CHANGELOG.md | 2 ++ Directory.Build.props | 2 +- ricaun.RevitTest.Command/Utils/AppUtils.cs | 21 +++++++++++++++--- .../ricaun.RevitTest.Application.bundle.zip | Bin 1199639 -> 1199683 bytes .../net48/ricaun.RevitTest.Console.zip | Bin 2270489 -> 2270551 bytes .../ricaun.RevitTest.Console.zip | Bin 2289760 -> 2289795 bytes 6 files changed, 21 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5de862d..320ecf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Make project public ### Application - Remove `net46` framework, remove `Revit 2017` and `Revit 2018` support. +### Command +- Fix `AppUtils` to show `ProductName`. ### Console - Update `ricaun.Revit.Installation` to `1.3.1`. - Add `EnvironmentVariable` class, with `ProcessArguments` and `TimeoutNotBusyMaxSeconds` variables. diff --git a/Directory.Build.props b/Directory.Build.props index c3ee3c0..baac1d9 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 1.8.0-rc.2 + 1.8.0-rc.3 \ No newline at end of file diff --git a/ricaun.RevitTest.Command/Utils/AppUtils.cs b/ricaun.RevitTest.Command/Utils/AppUtils.cs index e4ef9ea..8486ffb 100644 --- a/ricaun.RevitTest.Command/Utils/AppUtils.cs +++ b/ricaun.RevitTest.Command/Utils/AppUtils.cs @@ -5,16 +5,31 @@ namespace ricaun.RevitTest.Command.Utils public static class AppUtils { /// - /// Get Info (Assembly Name, Version and Target Framework) + /// Get Info (Product Name, Version and Target Framework) /// /// public static string GetInfo() { - var assemblyName = typeof(AppUtils).Assembly.GetName(); - var info = $"{assemblyName.Name} {GetSemanticVersion()} [{GetTargetFrameworkName()}]"; + var info = $"{GetProduct()} {GetSemanticVersion()} [{GetTargetFrameworkName()}]"; return info; } + /// + /// Get Product Name + /// + /// + public static string GetProduct() + { + var assembly = typeof(AppUtils).Assembly; + string product = assembly.GetName().Name; + try + { + product = assembly.GetCustomAttribute().Product; + } + catch { } + return product; + } + /// /// Get Semantic Version /// diff --git a/ricaun.RevitTest.Console/Resources/ricaun.RevitTest.Application.bundle.zip b/ricaun.RevitTest.Console/Resources/ricaun.RevitTest.Application.bundle.zip index 599308f709b53329f48dd3f0cbe8d636cd69a4f1..79acc6fd6a09b434a16eaff800dff8cca40e9ab5 100644 GIT binary patch delta 457625 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⁣~FDS76|>#8aMgz{by8v*Nr#d<$!=h-dgDj0DA_*=B9y&P~Gi{oQ0 zb(n*@SfvCmG;u^f8z&nau3(qY2zYV;?1+$gt3U``6ev^CyL^?5)6l7t54B$z>ca31 zjqqgp;36U-^!$SZSl*r?K6(tMUuKsDxS8jhF@N9AW|^t;g{5u_2sYyNw(IrwmRiIy z6Nq+VmlD^pgbbqjzS)m$lBIk_g1VrXrsbB3@H+$3^ejOv^*{&h1YY-9Fk=+;Fur_{|m~s1OP(Tg^0i%m2aK;;MaVchc~pN|mW` zT|YaOSDz*r@4Z>BKBc~uA5XS5F)~;(uM0VlX?@f*OKH}$qvjOm!-fRLn(euvv)()t z6baCJE-*56N@ShX=5)cXbd41X>uPtlPJd6%*=VFN7*uJQP>u*vhbe zv1Q$>-SgK--g|4Z-L_|2UWn*v6iaOVn)OM4s@ktL&?I_!H0)LRH$_Y(-A9$GAYYXY9ifxdWu(HMbhfu%#)V=zA zli2F-F}Dwwyxo*y%Q`t-q=o9bfL!cjvg=_7h4CR(d^~zb5ruwED2*CSAtf zJX6|aFgB2K*}*`{(X3eRna^Xjke@LbYj+ifETd={u&%n^4D29WxbXrpoPXbQP~;-Z z%;4;DjsA)kYl!Bcg8x~^U$PdbE+!M(ek6SvcOq1%#(}a!EKhCA_X8Z2>pdAuv@dT9F<$sd za&~r9P2-&@fx}rr?6n%lh<`I4u3d7@$*V0iE9mOa@_a9aqWzoqd)#MVU6%OhQO4%W z)^i;KPu=Oj?_5%RZ|3?s=Ym{syp>dkz*ue~(NL@I9^rtDxW$3JoJZ5NF0c=p5N7SM z^_pcn&3EBJcTo$~zNrNt=k+UH+y8NIx%pwaV``sh$n(yY>8jOIOMi(@GsL@R-`e3J zdt9IT{Nokl?G5Sn`D^iyhxm*gip>+LcIPHDuDUU>OXtt0;oz@bM`m5v>ll1zv9SFr zyT@}6e@nlF+f6G@Q2TaAZ*ii?k)>y=G>n&?F|=|_+#D{~GVCR}Z|~`)@~b~S?E9v# zb@ZLPk;gnvTjdO^YfaVfX<8-t(}Ojn{KsDtKA@3X$pN6ORt}wUWc>eV(E3cwmkAFp(aelQXXLjcICB|-1 zisD=sDR3yX&X#qZpZ1_jU)Upfv@}1isk^pnhe=>h%Ga{!>&1Na_nNxfKevhanx#p1 z=I#IM{lyT)s-V_Vt+Aa^J1jYF%ghPcmS>#6Q}8ix@6Y=q2Jkr|A6HfLP0Hi>2 z_y8X+f;@!7KY!YQaP!c9q;T6qxHK0I`^ZchN0yrhQFxpJcmfCWUr-|u%YO%7O5DEi zhdOEerIYfPfdMJN{ns1Lhx-J|yfiZF{sAXvpf|SOIAd-9?X}%b2eq=qkmqt+W}Aji zlNCJ?-Pa^%En%Is#^`x`;`WNn6u)m?l~HbGKG%Y-Mt?W=XgRfiHN06=9nvu-G;HEfZ*?cyIpBNa`e#e@9IhQ8vxV{sdPEH(n-6&D*L>AmKhmRf>UK+P zj;JpES$|Z4={`brq)E!%bFKYT2C56&Z@Xs4>9;Sg6~9I1Ea_nQaI88`uFiR%B|}yi zKD&&3>)k5Ts_mf{f1d8${>by5=wOUQy!A!xp3yM7G{?qmx%G}Y%VP9X;`3^Vvszs3 ze;&9zmUA!vgs0+1ajz9;onLR>8GY``_NSh8kAD}$i?$9ZHz}vT^t)(XRkwm!miac9 z;um|TV`=U8##W^sTI`Az?+P!`G)vW|zRxRkfS>N(~DRWmL&o}8n+$3HMCjNI`9OC;uFUn2g#o|f42!9cb$BXc9Qv4fU zEJpwK3idB*1|H=>UK*M8^`Il<#maA)>wjFd2;PvYrDl@DclWPrA6*1$s=be<_ zvy;6?g7U184H?~`C0ncal--yk6;f|ZmU?w(<@b}_&Tlh}cXS$x)o=VfG_5VLLOVwA zXJ@8m4ZY%0+n$o`L&6C`XLdxbUgG6)d*)Zo*?rT+GBa7^E5=tFEtgpyNNR{w3V${+ z)?#)&+Zy=rRQt%9hzs-G_1{&RJDtjt*qL$mzE{YB$Mb7{>M~>{{>P zj*h058~4}x?R#)2rD$4uOlsy!+cU(iL91hgl`>;ho*#Pp*A1oco-J?pe7xeWb0;lm zg!V<^#+yNl$H7wM;IO4W1C_yHntwaWNtsnAY<;Vn7M=~#L#jJ(y9$>cYxb*HJKdnB zrgm*%)<}f3M{tQlhs_>NMNeH^t(DjM86z6`fkTXWeOuaxI{HN)1)h6d-*%7%G zwEE@W3?GUbXY^LRLk>7V`5cx zoJDqG#-<4A)G+msu3YKOw|{YL$FkwyO9A?)R3_zlQV>e|?^3Xp_eaNQo#9&aX&8wQjq@G*~LbxV%6Y)x$s7x#R^6l)S$#m>gwv##Fy)I z5oB}*gv75Z2+&nic3oP$H20od%bgSEo05|<=FM4|#4l+qv!SxLp?@ymlT&wk`tYZQ z&~IC`N_wAmKT9|CtCF5``AW^wvl&?y({$(#8JZgb)|)Sh;m(>Fy&Dz=jL!IcB&9P)ldX0Kb7yL4Uu<+fIl(Xb-%)>WEpMFolO;oBsc7JWvN!7b|!+N8m_dliG zPw?vr)DVj#r5QanSImyH@;=uRk{L@O^s)<7*O7enPxjSqs zM9VWrM;G=QKkjP4z%9~$;oIt=X=Q^^}U(P@RNHF(=1$;S)4K&IDeJ?bKj1A%29Jqy5eM{4zEul~&{ z8(c@-ev}-$6tm!1d~n?gFVB1r$8%0=JyLG@4p>@hAFfxh>A7{_?eMXorlWU1JA7D} zTIC*ArIlqipEbNC?zm3_rEA!I)F>_bqG(^_v|oAzdNwFj|F zB@!{ZbUrQc%!zxN@5cBvG6U!RUT;jFq&KEd(i`W6{=42tCH-D+OrNATd^0Z5QOYdTkuP zD0nO=v^SoR?%h9yH9aypv(2bE9hW98eyC=~dZkdKmVeI?UF&}kQ?H0!K2nzDD74#O zKUQWa?PkfSTxyVb#nmtPh^xyz*NF6l44l?~yD_+;CD*dKYB`yCy)dAD&jX6w-5$LV zzm93A%Ur_mnu-`{v&(`zly}`<6g{)4I>~A%x#6`iBfz|S#xVc0TVl0A>`lWxW-H#h zxj83tE`RT;4SG7qde*T64aIMqy7!p)b8dwFuZnm zJbBB2>dTsnq&1&X8dq+L)$u+gRUN~py}CDGYkBTpD|+kf?Kz>Px3W$tC?2SNPAIt= z?X7!$zNyuTA6e@yU(R|hf9}j6Blhahf(4OAe10 z>!N4rOcV1om#GArIXOVm&`GGodTr;dpR0osRF*H_@No8K<$&Pi)h;KaRwcwI2}PdD z(|>LdA?}|c?pf*TzsG95f9k#9l6*IrA5}j-#`yTO3SY{ttE`&6t3!4zM?rK);jx3w z3U9j~FywqB8ehmq-V07C@Vdh;b$sVBeN*EHuROE-d%>Tz-lw;xc!}f*TdZ@~DPF}< z6bZZRb7YV5&+TRTK|Av^5`Dv$?JX-kU4M`his)TB_JTNO^wh{uUijd_y|vwCoZ_;y zp(~0bZ(C0HN8QvveO^&|P&TZnU+7ZZQg`$A#qS;u=jzZ6 zI^~;SRA5~07|gjFEhBd%^{0K%g@5JY3y_ujKE2eqAN-T=#h7+i_3iWLS}fh#%3IFT z3QFE7%@O-i$Sy!$PwCP>wZBw*Ta$rC+D|{7ic@(er;I}Uge;#c1_&rcZ1l6b-K}p% zAgqnd8s>1U2{u_7vqs}x-*MEpxVUIjKAL!i%)yhMJz?2C;GE*Lw-vfP<$tJU?Vrj& zvwuvyXV_Bh;PJCfo~DK_%Io_c+jRCHDhth@D_N>>XSU$_>aRAR`iGkb@=i1@>Ah2H z)7t-%l*Jsos91$9zUrm46I!Q&;z^k;up>IazT`TU$tER{XJ+XN!&3TDFoxyJ>21 z&WX8Ae7$cLtXJ_?{xMdeBJ-r|(scgf(jM#6=NCAdct zZ0pQ~pQ85GyFM(j*uD)n2EuLYekAh$2OoU)B+Wg0lIHfM{8@9uG=G@#XUz@Ugi|Io zH~e!>Jk7n8^6xaaujGX0z6Z2@CU|i6254>YY!WwG$B$}oUJCu7lBK90

^&MVY9Q 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