From 5d7c90e25d0ce2155408fc3037238b4f7b3a17c1 Mon Sep 17 00:00:00 2001 From: Geert Bevin Date: Sat, 8 Apr 2023 19:18:50 -0400 Subject: [PATCH 01/51] Update publish.yml --- .github/workflows/publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bcbe7bf..14c4b8d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,6 +27,9 @@ jobs: - name: Download the dependencies run: ./bld download + - name: Import key + run: echo "${secrets.SIGN_SECRET_KEY}" | gpg --import + - name: Publish with bld run: >- ./bld compile test publish From 452bcc3ada9322cce92c028c172af37a78be5bae Mon Sep 17 00:00:00 2001 From: Geert Bevin Date: Sat, 8 Apr 2023 19:21:04 -0400 Subject: [PATCH 02/51] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 14c4b8d..2f19930 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,7 +28,7 @@ jobs: run: ./bld download - name: Import key - run: echo "${secrets.SIGN_SECRET_KEY}" | gpg --import + run: echo "${{ secrets.SIGN_SECRET_KEY }}" | gpg --import - name: Publish with bld run: >- From b472519c23812162b7c1b8b4eb3ab64af6a6435a Mon Sep 17 00:00:00 2001 From: Geert Bevin Date: Sat, 8 Apr 2023 19:24:06 -0400 Subject: [PATCH 03/51] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2f19930..ddbaa7a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,7 +28,7 @@ jobs: run: ./bld download - name: Import key - run: echo "${{ secrets.SIGN_SECRET_KEY }}" | gpg --import + run: echo "${{ secrets.SIGN_SECRET_KEY }}" | gpg --batch --import - name: Publish with bld run: >- From 9cd94acfe4ca7cb950cb2347f832d9a13036b486 Mon Sep 17 00:00:00 2001 From: Geert Bevin Date: Sat, 8 Apr 2023 19:33:42 -0400 Subject: [PATCH 04/51] Update publish.yml --- .github/workflows/publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ddbaa7a..ad77bcc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -41,3 +41,6 @@ jobs: -DsonatypePassword=${{ secrets.SONATYPE_PASSWORD }} -DsignKey=${{ secrets.SIGN_KEY }} -DsignPassphrase=${{ secrets.SIGN_PASSPHRASE }} + + - name: Delete GnuPG data + run: rm -rfv $HOME/.gnupg From 25b94487adb539e85858e581e225962f6cd2482c Mon Sep 17 00:00:00 2001 From: Geert Bevin Date: Mon, 10 Apr 2023 08:20:42 -0400 Subject: [PATCH 05/51] Updated to RIFE2 1.5.19 --- .idea/libraries/bld.xml | 4 ++-- .vscode/settings.json | 2 +- lib/bld/bld-wrapper.jar | Bin 24388 -> 25100 bytes lib/bld/bld-wrapper.properties | 2 +- .../rife/render/TemplateRenderersBuild.java | 7 +------ 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 1bc7dda..7aa10eb 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,11 +2,11 @@ - + - + diff --git a/.vscode/settings.json b/.vscode/settings.json index e04f1cd..ba59365 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,7 +7,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.rife2/dist/rife2-1.5.18.jar", + "${HOME}/.rife2/dist/rife2-1.5.19.jar", "lib/compile/*.jar", "lib/runtime/*.jar", "lib/test/*.jar" diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index a2bd323979382791d67a49208dc3e4c042779231..bccf32dd661babe9dc9ce1a16bc7d71606289ffc 100644 GIT binary patch delta 11944 zcmZ9yWlWu4)IEs17I&w(yHniVxoB}N?gbtk3dJ3Y6nA%bFI=R!7mB<4{NDd0^Ulmk zPS(y&*4ZCcc8;x~9_SxK(CF$)uyD9gNJvOf?q8x4(F0-sgZj8{EdPUzXsj_X{}Uu< zv9keY+QV-j55ms;&W*l;V=`%zP|#oasDh9(kPyDW^ur~%z(d+-QCVnL+B!9Uwb;kB zR<{i6+B#ISju@^{uVVGVIyCB9?N&6U`STm7@<1>b3*Y(Nn9{H1Haf-Q-%mMb#wKZOn`*F02L7!E(n%t*J$D0mqmE^-em|%?r-5VVO8Or0;n`SB4i? z7ku2BF$~>Q9Si3TS6czXi5d<`?9u3P%sqOf9bY_28RhW`yBE}!u=HT!DT|8EyiNjM zxQ^;CljLdZBFh`*h!^VrJ!cXfdoWoM^IxNRGFdVy`s>{8+nNw7Wu=eI!{yKu^L(E+ z=lU50Rjck{z!0J_kSL0B@VnvdYiJ2Xn_e$I%U!{0u4&aWQGF}UZ^b1`a^4O>OU%r) zftC22C<>mlI%ivLf9jTP<&bMWpXnOlwvr2d3zmn1<;E-FXAMhOAmoX$5B796^RDAu zU&4z5qYZoQvJ#`-4)>j>rXGpTl+X{Z@45YxH~7g+@blLs!uYB$LXO-`rU;dUvuaP% z93vI0Za@GAYtfBo1$UXru1Urw+&~>S76`A4iGGcZ%a#*_H1(pM7@fz8tds=c4*$$r z_#qpbrh%hv{jCgfFVm2VW#>coRV7&834$_iL*{RScZjYyZfFOQS%^lKllm5_=w%l*gTz{0*QP|3LuuHBvCYFsPO$v9%j;k> zQ@y%CYhrD%_2;UJ><}R^zinhuo;B6#?ohRPflzox3GIm8(Gl`F(k;vPQ^G^^`{Asb zW0d>RFFRtGXCom6JHhgLbzRI5ej42#R{c$W$UOI?lCWJ|22X<8HGCuF%(WZX~lLE0nC86`Hm8uXsg5K_j>Z)mGZ7r_}G z;V=y-WEIv%Jci=Vodg_<CGA0&E!d)m~-GVRp4`J!YQA!T7VMaM@aA{uCDJP zTglZ<@UlF5mq&uwuldjD&$t_8t&c&4bdsMq{vtAa=s6iM@g8sk9`ULV#J2{|q>hSR zqxPeew%@Ga7SSxei?OnD^B;QTB|qCol5Wmu|H5LrAWv{)i$4pK4ynHu?dle(ke9Vl zI2WgkJtD}ckZqkk@sb_TQ|wuoOzb5*h#s~+Q0~5^3^4fAEj#d(9LVCzeUCVw8~jByqngohHStC1JWm{yQD-J{tRQ@tqM?GB_%JZ(^afjf zdh=pMz}=kttx8T0-PwKXU-?_}O&2=JBSfzOlZE(GRW4EgrvIb5}u=TPtVgw`~HM^y@Do0d2s%dmWBNVZV76=dxeWB#j=eaH4*VLu@u&fy7$bO*_AuD$8*K#=>v zm*w-trV-sjzxKWPF~tmMFpDFK@&KRJagsueK`2Ff3|a|O`Sf`kuAmdi_W=NbPpDq}cb?&Nf^vI_=(Q7neY&P` z&~nF;cNvu_>Wq8wuWU>RD}%Cb;ZsL~)Len!mMq#HbGm&Ig9AncwSAPK#LR4SBp2HN zo@K%W^Q@G!-wEK`9H&dPnxPE!Jla+VW{qfpFaGTlX5xCEhxERWOlb`B3npD(vM3br znMZI7b#lvoMHd;}Zue)an#K#x4c%LM{fF zekxPKs)L9d!PH*DBe3rd%Y!Vgp}B2wZ@ z4z5y7C0nh4&+L)Xo`{9@>ZTGXa#;`l2}W3^SBlJsN!SRj#Oo#0Kh8v9XLG{8Qqphp zUa>$191GDp^Sdgo1R#B92(`&i+PZ*RowJ>=>{08`X)!8!lvViUkSx?X+>hq_YNi`C7v5XyWi?X|K*yP zTdk6tW9039_I$7CR|CfLJ2*rwtUm3Wh4ZB4@jVi~3pv8CyJE5!sMr@|GqO0gn0(D2 zpCNuF1#pCxNDkF#v1vRAS+UsuI+MJT$+n$`Z2TC{;Q4##K;3_?PB0Zg{QeDr_3s6D zPM+(w^je}^ns%V=W&Go49i;{yG9_LOX?tjT-a+2+D|aZs_5>WPe_F$dg*OM>zI_Sk zzi(smeM*02&H=!esIS!WrL)aGBymB_&owS(Y6=^#jjQmAbidMWj6#9YUc`E~#wxnkvI8F*H-6pdC~2-VE0kN; zOUZiakQ97Hm|y)-FCC#ubD>#sM1gl{gwP9COo8c4@PBRk`rA$_LHmrwwtJQC0m&Rm zrEPo0;?h*3=xev`bo-gOO9)4Y&;%KKB0O!_bkn&w2VhK$zg<2in?~QItTjX0QjSa% zH7CtBpE5Nvwn8Ph7Xt&Ll=P9sr9aYLwVxq%qUVc}si#uhQ+2|Z7J%TSHWE8TaqWb5 z>k8{$srwygy5FI95Mm;$D1&7vQDmZhhXv*uhG|{n*e1|94V2BVKd;&66C;B|Q5I_c zJId)P0DcZ3iJR&?75ICgZdaZ8)#+vxrL=yJ)}EN2JGaZaUB!NWZy< zeE&gCba|@5t&FT3LthM>_3!w~g`^fHF?|;iff)SP9R06R!@FO~rFZrkDPO{9eJ5p~ z$2gPbmC$DyV0lGx!AT}M1S(fxiB37oHXyz|HJLRn2Cu`Gb4bw@+gRI8SU8|{ZP2kA zY&hRhRF9ktwliI7K*4@XS>*PtO#j%A+)H36WZFL z-J8bN4@3J5rv|S%;Z-!lHh3IVGvtgP)BSe6EOou^R~Qus*d8( zMZa}Im0eV5Ws2t>1O?}!2g}Q+RV(T_+Q`FfWF2jHh}FNPGoET$lU{+mk&q<;6E|VA z74p^Kbq~r<%4(BZ<;Drq<->Q^0*$qmHu**opxkYptEICK*Itoy%RM2`_^Drc08^D9zW8hP7L$47#iZK5~Pj z1A!VF$`Lx(lCMG053*h^aR7#0Yn?nZskdSjk_q8J4al)?#Uw>vHTw)uoc@`Np`1Qb zmSY}`fJcf*R>e>{vsU|sm!^oTJdmRibKO?trLd4`{lg>Tr`uv= zl-jJWQlr94lF;W`cD-CHA-18t4CSL!Jy&JllfwhHIs7#n7oS$ObqN8hfP>}aF@I&~ zBQ=(}^?@1OZ%ShP6QEYW%p?D^buH^4d5`_qTsYjKPm9Ai+vyJju#Wy9qz4 zS|{tnP12gWPnJVlMfLp;_!F&$9Jp$lIGPhvE(f%M&&=ISqILIyF-)y2Dg;6st7q^r zWZya&7=tz5g0)>W<=lJmxrtzFYA#Tz8q@xi(62qOkR{k0se01_4|>J6Xt!s)-h7$s zY2_>=cB5G4;dGp9XH;&aybvt8@+ZUV z%){e9a+6m0g2mT$s`k`K4jGUclZ;Ordg5$H(N{{Q`DRweMXqFVZ)bj-OHRAkVsh)I z7T0%0C1Js4BSR7Z^qOeryJ|eQnp14|Pz_)A%f#~^+EPPNEjuZye#^J2MkTXvSX9U? zp=i$&UT`n8Ro{)M-H?inRxnzuCO61Xd!i?>Axew*-n}dS=Jq!~Zf4}aoPShFd+v%A z#|e5Ow8-FO8`wl~=dfh*x{;>Z8A(64JzD=*82(<^Vq;GVoPCRsv9Y#1MwkME%8Vzh zK4ubciDo-?dWD8M^-n6iiKg;gtuS8!wup5#4(s|}Tp{hT3h&e4LvZ#Yb= zq{t5~8<;;O=RlmhWxkoliZSulqCGNnVbWDe*$BrQGVC43B2RZ1V>$ zr62y=0qsVOt1`1Mh$u(4Ttp<81l#R4II=8l3BMl zPPMrxD|=(Q1x0({T-oLKvJ$QloyYyNu{-c-b^`+qH7cC8X?(na*fPJF7rbSBydhb+ zzJI#}%>;Kkf1=hAXG!b9J$GPNX*Wd-b|OB@^#8KNeIs(@+YLGjB!V+-O%MNApF-z)p+f#_F60FNVK=*_$ zaRS5c+awdgr_0O?VN*7iP|#70ZwWhESM~?w@$ool%3;u?SA`gJO)B`Pv@%ZDally_ zBQ_n5d{{@41U&lFJXBh+F*mleFy9Uwe`$7JOSJpeOQ#N6P?{ z`+2gISrU0(w+8>(B592>`JaD}(EA6&k=+{1@Hh|sp)F6zDzJ1VIm_O(R+A>$G4Xse z@ba!HrqO}%8<=e*wwPoflaskf(k2%a3X%EFi6TuE_Qb_F1uexqtBBgf_7tgSbMza< z7PZ4UeZ!m3@RzQ3KHe{j^r~gBE&M8w0aMLi|BbU^p6}C(On+I;oh7o3m9htV`%KYn zHkVaqtR050JXWHlm@h*-f1Zdz|Aj!kR#?<9n{Nu0SK<0!hKGXn1BOVAbMF*(Il)~9 zIgL2M30MZx9R}0y*E(_6i((Lq!<(S=qoFZO+aJ1#!puG0nT?xOeiaz$<9~ z&C*q4_M=M@{2WhP_IO{#O5=D9r^tWK{6OUzw+5)FEG=79x#IW?L1O0kOtuTzp(uOd zhjWYUY79|jV>wfA1XY|yPku6>t$D^WG`c`)X|hMyxK7?^yiVz)u{Ajy>w~kaE7&uj z7TEdw-78x(53}OwaM3@j`pKu_^-t#F>JH(OW&8;?zZovhACi3^{4>m8Z^1sJS^V12 zKk(AV<2nx-)5yeYt||VJ)muV(f3RYOC3=U{d~>n`&ZTb2@;ccj)9)Sue*q`8@1@ec z>8g(niX!eO4Qh}_jHW7qFR4AJf3;OSQmmJJ15AMC2)m{IN4Gd^m{Xxa8`45}WklOr z|IVObTPe`_5Ulq03bVW-2OF5 zuT=I@&Zg&BAb45scS|(ZicSc!;w_v?LC0p-;htKtDxi@~g|K`)SH{-r06q0k{_XYTz!;(zg zBH2~dY&%3ns%NOP5c@kwWO@3%mUuv1!7Y6Bte$O9kE$NT`$!RZhMo`)KYdHvlmZGK z=1e93=6SH@6r3!}P?%w!{r%FB`*}`9B-TkwWGgbUS31yD7*~)2mt=^{XL8U-csO!A zzBb#g_YsNq%RAjVYeKA1-;3;X$Rk6KwPnp#A)|$OJLkaHKZC4RlIwO8SeqJ+EeSmUr(lf@v3=!kpHI- zj;Op6_>}CcY*qA%9*NR$Y3F$l?Y&;9l_@;uq!)BzcjCb~PA!VQhQh8fe9it!=X(8#Ps00ojmVi@t;lV*VML) z;v=lKs&>x~H6S87KxnVbJ*opE<9FkOmE=?)N_|KEGm)Wwz+w)s+yNq(xiLEW@|7d) z4twrM_40ykLBje7$Avqu=;lbPDdl{`PfTS}V@WpBRuo;6Vgr-tMFb>;3Gqxw3MlIg z$6!V_L?Z#X5En0<^rgsH|2p?c_!D1C9J4wpI5iegW{XjZ(G*KuwUV;KLAVK|bSA$H)4S?jz50LLiW4arVI0g{QAK_$DR0J{3 zf&|;IzcYPsfOL43^~Asa%<2JlVxm%aw=5v}nR3sp`xeP{OM_7a zSN2W)-&-n%ft&hQ2IZ^z)^PK0X8s-ijag!|$ro-NOIh=Gm429kHERsjwrkj{-U-*0 zy=<{(DjW^1A{yNl|E`|cz&)KqpxusizJ-*wgGDRBSi3Z^vZukBTIKzthgF$-K*tQX zaw~w5wB-K+5#tX#yczf5ohK9lV7hVIm=fplI(;pL> zv!4zIO0Znzsjl>iAAp&{|K(E0&uwWf5Cco^SG8LBMGW61U#Nc5htda2CVgBen5z@Z zi8&%;wLy-72*X$KpLq7gf1QfPI2Xmw$Dfwgg<5euThZBHb3*t>(|MICh-l+qyZ!P| zA!0dbXZ{(+cD~oYQnz-E)|a=Yh>X1|A;tpw0V!f1 zLsEqHpIG}}F%2@NWa=bEh%%IaDF7}YJdvCdcRH8y0>RVLaAOrEAHK^>85LtC2cNhB zOY%h%Nu1&QHi`-1oROHB!FD^2MZsO@EBImvK@8$BL8>i?rH8i1kxC2h>-A=^8g?YM z7(V--BXw0Sj9n@vKl*&tFI}F}q$z%R`G~@=az{#F9V844%Ogxo&2gq1exP((hbHvL zPS$6Ha&7Y+J(vdu0qZXX{VzH+DdYnM_ycU{&;|5{=2F`5?9yF?SRkaRv@edt&@)_c zN=ne<@hB~ z21u3u5@hQ{!K=^(LiH_lGk}m48XC(M=Froh`J+M!JR-BYXZ)PPcIIAOG}a|aVoz+G zMwnB4P>mR7Ekqe$Xlt^*Q%$oLybKV`lu$CqOEjV4Ad6F8i%{6ucOuBs57l@<&c=%A zpv*H_C%K%a@TK^3S;whenAVC8gzY~JlFYES$HQgr+1N*QGj~G_eL!4eFfaUdC10CU zmde2_e8#Iq#w-2nbbgE-PM|Q>oJmRFX1Lj1!hDS@X5Tsd@*C8P+j0|9&ZtJ%#Ty5W z#%kCW$RGaB?Z>kZ)Xs5g3;B$!4`a9vSM#hzFdE-3OWUS({~bpChH}K$ereQ;E0l}2 zJ-@2$>55qHfl&W?LEyW}U+%i{g>ib<1?yy|V#Cf)j($R!DyFUeN;26~h$In52Cx1$ z89hd4;;Q2GLbBpGQMIp(kX|#%+KT>)t=+A3WfLT`ZbJNm>H&+ zQ_cnDQ8Lp9Mz)+3LET-+Y1gAcPow3b7X?@pP4&4bN`h!JR6yT~zyO(cP^%@%323)1 z{Ep3aU_>Z={mFL?>Ni4;35$Hv?$Y5_+LF)cHL-(MRk0gRwZ$y5U-96_qsH@11ry6l zA2la5M&U@U3Sq$qufsM6aHE@B?>takp1odGwlYMB;r$6p)n%Od96;36y$3bJvm-{@bDz- zXX?V$=91sq96vtmy)$OYkVdd{Y5EgSj!sHG3GBhiyuX#fPYhFj9{-^P4WHOA9uGN@ z@?fgh$Zt`36l6IziUY^H#vupk23||-x;o^G8yvPy1OwN55;82imz_pxb(Mb^Y?`5M z7YWp)A5DzUB5SQJ3k`UEp4tCM8Ji85428R{qwWF!=!a|Gf1o_3Bbf)n&whhudy&Z+ z?+xyJXZ>@f`zRg{rEN z$ktQR7y~G&PSTwqC2^U793))|i}O;6>PCoTFtg7e1kw$jONQ)OQeDfNMV?GUDFew! zeNda7ljFDQTh;ti;=hYkHx;dgx^7xvLJ$A+szW1)V1g5t5b$Q5d ziSG?2Z!L4g_M^^XTwSV{-sD`s)7lT4(%%Lu*;gGkW>0fV)wo@~P>SIC1&;fqT-iA2&=*?;Tgg@^ka;+q z2lc}JN*Hr1dsvg!F4oIMJEFG4#^l@#6nT~@Oj?y4iSzNO2spE&{5*B6 z?D%9&-@>A7HMxr0B9cCkMu(KBB2>vDEW#HGCft3-rD0)%m0u$r8jZ6KOOJ9k0H*S+ zH~}dHJm)(lyhyUFMTB$HwhH13<7$x{f7UA9=+kX~ha}?cf6MSzS&F=UE^NlzPtkt^ z8P2H|cq>dJGx6W_rE%>^LRT>)z_mfECJKSCi}~veH3e1{@xONzT>iUYz%MlEmNU|* zF*n8DAfTEeOL7bNqjYies*t8l0SiTOf_Pk`+ViwvZO2G5iuCCly4^MW+RY|ogBv8K z1(ewKI&|#8@#Dc`n}h~z6xe2aRNi9tSmcEXEPB;pT&8@Y!0^?tw3w0V-Zjs>8rjsX z4?`*vXS#=@U`RaXfcXZ(f>W{kaAZC~>)K{Mnrq4eVnowt4*M46&~o^5;B|hCPlZaY z2+`0Da>R!n+^Zxb?JxHlPp3D}+P?bF<$QAYSE-JZs-jFKl^gT68k5jY(>3XUAA86uG7$uyb?E8_Vqp+a}qJcN!O@pxhLu{oywtrCPOq$s9!q9 zJ=Oz@8H`8vk?hHO9VW?1>Sk$Gm`{2pcR+R`BBrJ0HuuFnUy!yS_#??OO=8Arz?PY-ONn$o*Owr4N1UTF;m&a5Zq+Cq&FAFr`*Vw4g6 zbE)1BHQx0>Etnq^yYYn~SycBM8F8;fyPXRzkGcuw(iLQO(oEwV)GRpk(|Ki+!K?b} zhoeu)uB843nw1zHQ~YN7DE@+C>ADtZSEUGQy+0RroI0iAxa{K8@>C(3n><8UGef-? zxrQ)Kn>2#JnX1dPiN9C&bLAkXwifH{o&9QL(=OJ<-?jP#DgP+7YpusO&JWU+8LGfk z)4%*?EvPb#Q?bQcELigiKFD!zMDG(X3fU8sRy_E-FEi@ntL@1|{=dgU^&upRGe zaB3d~)w{gX(;pE;{y8DL=&OvIMH{=U$5PAR+680)J*oP8JK~Kp&W$SM=ahdX=BzQf zA%TF_4J5wV@j3Nhae5P}A80aEeEQ%^b<||DMa{gTPq^-cLsNa10`p(cs!yCPj!zz6 zrt=chBh4!AX06J;)GAt_e&t@WA+LC`&eeQY9#Hk?dZxMkl^M*}oBw-9ui5uCt0ia) zGW{25ZF-_M6*k4SCy3HK`?52S|NUy!f>X&sz2b@V%XdNTB9_z`Cs_vSEjM5B*!s=f zmMxRItL6?q4+t74$y!l?FY*adaNr9q|5O=sns`V0L>WsMdH9q*h zTZSY6Ja-?bh4170>YAl^3aS!d)qK&5j83L5m6Eqm7VcQ(nzuT#&dQ2>YGgF8X-NW5 znsg%**_62FuEhx~v3rqqxVm%CDFgGUHw|?-9HK5vd3JF2s^{p@u0pHdht&UmU91ET zsArd}uPKV1eab2WDdHLSx$>KLJjPyIgm1q)TQLQP3G2P8o==q>nGL{Ss3)?0$O>e~ z|2#{=EM;paxIv2V*`v8n61QgcH8}>7R!pupwD}}QP-@P8F%oT0lUwf26c`TBei5E`a_9$21e z+jjP<=pCJ4JSpDMdue(NYgPk{Jb(7edi?06IurnudII#euV72e-^V#Vb_qXZH!tnv z!)WN;FABN92_?1p^taynfcuwpeH^9)7M9&~42qrf z#HTk#=VQv~_9a^+mE#=m6m=8n;HxxF@PGfPotDQc(+ciW<=Vd$l(OgT z1V4|P@s`HxA6?k;PjUS|-|~pN@38dRzdxOG$}DdkI^AuZ(>%{MsOFj?gijyn5uFEGO_pASI?fz_pA|FJ)F=(s*>q6%qp2u!}q_Y zl~(4mwk_g>T8*#O!VVX8Ci~^wkhuDF%X$U3cRs9DTg<6J{VA+G(^)CK_mb5<5T{F7 z24&3FX~@o+$q-=Sr_lgLkvVJrmSsSMoY3Z9Fx2BdqA~<%OPomgBWju_@G6WUW_UIk z!)}%OR`{q@7O@7m`ok*~Wk$vBI^*Eff0ap-OgZdI7&NtRT1!0FZ6#Wn4hT9OOm@Kz z^t_!Fw%wCz8#VUPZT5$TODxX`m5aY(y(tYacb261?ErG=LS!(HLsuGnP)urPsD*JL z`FnbHwgXjaXxk!WH!vVET)RbxJ~Ui)<;DGvaKv<+sp8<8_&ynu4ATsC^Axp?x~H-P zT0F83L>V_-m;pZ@=qb=Q(`31vKpny#9!{&iX0p4N%Fwd4n~sq&v3i&9-e43Jwx!}} zwPkHS2O$4K3Y9RD&WXc7D(fd);~N)skL`x_Xt-5t3e=^NbN@YJv-&Yt|4DnssZ1rT zc>58lbs%_{Q9Agu{Et$HWi!{wvk{-)*xwklW*N;{Bb`F)Ze8nojvRC{LzNc}QKN&3 z`}Xzt?^a~1*t6@KJ3`ckYmvjpv7tOtt3d?95`Y!!BH;)zO*q|$ty2?#e6gUD8X z^XFe9#(3w#Pw$ikkTpAOw+4is&@}3|(|>RGIfcbYG*beA5G(%Hpk|RMT1BXurt`6_ zR`*6|EsSB8#?4M;`Ft`GeY+&Wmi1JiW)9O&ZK{{-I#P1*&j5J8)B-7ah6-bu$WX+O_2;_z3GUo8E#9}X2v{U`Dc zGQ$7fAAv6wbU;U%I6feXGH_Ubo|Wd|Kd?&y=KD!7=`xCr^^Y?St@pD4$(J+=xAd_W zTD=xQ?+%ahb=Zy3ERl-<@3d4wT!F0fN{(=9EV=m%^9ajWG<{xLA83>EuFcQ~GTo>% zjFyG;fPpUPDVfHM7`dPE8>komBMEKHShg!P6jUe-=KoKV#!^Gh|J%;JW=ul`_n%;h zNa#oojz~~YPze7`btPyRT&VxY44zB@lKMa9Z!3_(|G|2YHpYKuaNYkEJsHPDi1L3@ z|63Faiu=E%{&yr8C4)^Q|8Kqt35*3OdD?{Q|8V}_rP2PE@L!Z>noMa*j<9U{KiU5a D5wH0V delta 11202 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 @tbxB?oQ(P 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 Date: Sat, 15 Apr 2023 13:32:48 -0700 Subject: [PATCH 06/51] Minor cleanup --- src/main/java/rife/render/Mask.java | 2 +- src/main/java/rife/render/RenderUtils.java | 13 ++++++------- src/test/java/rife/render/TestFormat.java | 1 - 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/rife/render/Mask.java b/src/main/java/rife/render/Mask.java index 97647eb..637e012 100644 --- a/src/main/java/rife/render/Mask.java +++ b/src/main/java/rife/render/Mask.java @@ -49,7 +49,7 @@ public class Mask implements ValueRenderer { mask = properties.getProperty("mask", mask); try { unmasked = Integer.parseInt(properties.getProperty("unmasked", "0")); - } catch (NumberFormatException ignore) { + } catch (NumberFormatException ignored) { // do nothing } fromStart = "true".equalsIgnoreCase(properties.getProperty("fromStart", "false")); diff --git a/src/main/java/rife/render/RenderUtils.java b/src/main/java/rife/render/RenderUtils.java index 220c991..f240468 100644 --- a/src/main/java/rife/render/RenderUtils.java +++ b/src/main/java/rife/render/RenderUtils.java @@ -230,7 +230,7 @@ public final class RenderUtils { LOGGER.log(Level.WARNING, "An IO error occurred while connecting to " + fetchUrl.getHost(), ioe); } } - } catch (MalformedURLException ignore) { + } catch (MalformedURLException ignored) { // do nothing } return defaultContent; @@ -340,7 +340,7 @@ public final class RenderUtils { sb.append('-'); } else { space = false; - if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z')) { + if (c >= '0' && c <= '9' || c >= 'a' && c <= 'z') { sb.append(c); } else if (c >= 'A' && c <= 'Z') { sb.append((char) (c + 32)); // lowercase @@ -362,7 +362,7 @@ public final class RenderUtils { if (src != null && !src.isBlank()) { try { properties.load(new StringReader(src)); - } catch (IOException ignore) { + } catch (IOException ignored) { // ignore } } @@ -419,7 +419,7 @@ public final class RenderUtils { for (var i = 0; i < len; i++) { var inChar = src.charAt(i); - if ((inChar >= 'A') && (inChar <= 'Z')) { + if (inChar >= 'A' && inChar <= 'Z') { inChar += (char) 13; if (inChar > 'Z') { @@ -427,7 +427,7 @@ public final class RenderUtils { } } - if ((inChar >= 'a') && (inChar <= 'z')) { + if (inChar >= 'a' && inChar <= 'z') { inChar += (char) 13; if (inChar > 'z') { @@ -593,10 +593,9 @@ public final class RenderUtils { return true; } } - } catch (NumberFormatException ignore) { + } catch (NumberFormatException ignored) { // do nothing } return false; } - } \ No newline at end of file diff --git a/src/test/java/rife/render/TestFormat.java b/src/test/java/rife/render/TestFormat.java index 706c648..38917e2 100644 --- a/src/test/java/rife/render/TestFormat.java +++ b/src/test/java/rife/render/TestFormat.java @@ -17,7 +17,6 @@ package rife.render; -import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import rife.template.TemplateFactory; From 623ecfa7af7f464f91dea701440fabb15e2e6fe7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 15 Apr 2023 13:34:55 -0700 Subject: [PATCH 07/51] Added pmd extension with RIFE2 1.5.20 --- .idea/libraries/bld.xml | 4 ++-- .vscode/settings.json | 2 +- config/pmd.xml | 12 ++---------- lib/bld/bld-wrapper.jar | Bin 25100 -> 25100 bytes lib/bld/bld-wrapper.properties | 5 +++-- .../rife/render/TemplateRenderersBuild.java | 18 +++++++++++++++--- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 7aa10eb..3409629 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,11 +2,11 @@ - + - + diff --git a/.vscode/settings.json b/.vscode/settings.json index ba59365..122fc60 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,7 +7,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.rife2/dist/rife2-1.5.19.jar", + "${HOME}/.rife2/dist/rife2-1.5.20.jar", "lib/compile/*.jar", "lib/runtime/*.jar", "lib/test/*.jar" diff --git a/config/pmd.xml b/config/pmd.xml index 8811583..735454c 100644 --- a/config/pmd.xml +++ b/config/pmd.xml @@ -23,8 +23,8 @@ - + @@ -74,7 +74,6 @@ - @@ -90,13 +89,6 @@ - - - - ^ignore$ - - - @@ -109,4 +101,4 @@ - + \ No newline at end of file diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index bccf32dd661babe9dc9ce1a16bc7d71606289ffc..3780fe6b42a9fd370b947f80cb0eb378163ea409 100644 GIT binary patch delta 151 zcmeAj4=Lj>kVpJxQi zBeUj4=Lj>kVpJxQi zoM;08clt8- diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index cb69c2c..10b401d 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,6 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.1-SNAPSHOT bld.extension-tests=com.uwyn.rife2:bld-tests-badge:1.1.0 -bld.repositories=MAVEN_CENTRAL,RIFE2_RELEASES +bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES rife2.downloadLocation= -rife2.version=1.5.19 \ No newline at end of file +rife2.version=1.5.20 \ No newline at end of file diff --git a/src/bld/java/rife/render/TemplateRenderersBuild.java b/src/bld/java/rife/render/TemplateRenderersBuild.java index 73561e3..a47464b 100644 --- a/src/bld/java/rife/render/TemplateRenderersBuild.java +++ b/src/bld/java/rife/render/TemplateRenderersBuild.java @@ -1,6 +1,8 @@ package rife.render; +import rife.bld.BuildCommand; import rife.bld.Project; +import rife.bld.extension.PmdOperation; import rife.bld.extension.TestsBadgeOperation; import rife.bld.publish.PublishDeveloper; import rife.bld.publish.PublishInfo; @@ -10,7 +12,8 @@ import rife.bld.publish.PublishScm; import java.util.List; import static rife.bld.dependencies.Repository.*; -import static rife.bld.dependencies.Scope.*; +import static rife.bld.dependencies.Scope.compile; +import static rife.bld.dependencies.Scope.test; import static rife.bld.operations.JavadocOptions.DocLinkOption.NO_MISSING; public class TemplateRenderersBuild extends Project { @@ -19,7 +22,7 @@ public class TemplateRenderersBuild extends Project { public TemplateRenderersBuild() { pkg = "rife.render"; name = "rife2-template-renderers"; - version = version(1, 1, 1); + version = version(1, 1, 2, "SNAPSHOT"); javadocOperation().javadocOptions() .docTitle("RIFE2 Template Renderers") @@ -57,7 +60,7 @@ public class TemplateRenderersBuild extends Project { repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) - .include(dependency("com.uwyn.rife2", "rife2", version(1, 5, 19))); + .include(dependency("com.uwyn.rife2", "rife2", version(1, 5, 20))); scope(test) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 9, 2))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 9, 2))) @@ -68,6 +71,15 @@ public class TemplateRenderersBuild extends Project { new TemplateRenderersBuild().start(args); } + @BuildCommand(summary = "Runs PMD analysis") + public void pmd() throws Exception { + new PmdOperation() + .fromProject(this) + .failOnViolation(true) + .ruleSets("config/pmd.xml") + .execute(); + } + public void test() throws Exception { testsBadgeOperation.executeOnce(() -> testsBadgeOperation .url(property("testsBadgeUrl")) From 85cf1ee47f2a75f421ea03f6b93c59aa72d8cbfb Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 15 Apr 2023 14:43:02 -0700 Subject: [PATCH 08/51] Updated test-badges extension --- lib/bld/bld-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 10b401d..81e1c4d 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.1-SNAPSHOT -bld.extension-tests=com.uwyn.rife2:bld-tests-badge:1.1.0 +bld.extension-tests=com.uwyn.rife2:bld-tests-badge:1.2.0 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES rife2.downloadLocation= rife2.version=1.5.20 \ No newline at end of file From 1490b29da594b13eb731248c6be704766aacd836 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 15 Apr 2023 15:18:08 -0700 Subject: [PATCH 09/51] Fixed sonatype repos --- src/bld/java/rife/render/TemplateRenderersBuild.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/bld/java/rife/render/TemplateRenderersBuild.java b/src/bld/java/rife/render/TemplateRenderersBuild.java index a47464b..14ed652 100644 --- a/src/bld/java/rife/render/TemplateRenderersBuild.java +++ b/src/bld/java/rife/render/TemplateRenderersBuild.java @@ -30,11 +30,9 @@ public class TemplateRenderersBuild extends Project { .link("https://rife2.github.io/rife2/"); publishOperation() - .repository(version.isSnapshot() ? repository(RIFE2_SNAPSHOTS.location()) - .withCredentials(property("rife2Username"), property("rife2Password")) - : repository(RIFE2_RELEASES.location()) - .withCredentials(property("rife2Username"), property("rife2Password"))) - .repository(repository(SONATYPE_RELEASES.location()) + .repository(version.isSnapshot() ? repository(SONATYPE_SNAPSHOTS.location()) + .withCredentials(property("sonatypeUser"), property("sonatypePassword")) + : repository(SONATYPE_RELEASES.location()) .withCredentials(property("sonatypeUser"), property("sonatypePassword"))) .info(new PublishInfo() .groupId("com.uwyn.rife2") From a57c5afd62bc6f523e0a85c83c2e88f21a8d7a35 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 12 May 2023 15:03:19 -0700 Subject: [PATCH 10/51] Upgraded to RIFE2 1.7.0 --- .idea/libraries/bld.xml | 4 ++-- .idea/misc.xml | 5 +++++ .vscode/settings.json | 2 +- config/pmd.xml | 14 +++++++++++++- lib/bld/bld-wrapper.jar | Bin 25100 -> 27258 bytes lib/bld/bld-wrapper.properties | 4 ++-- .../rife/render/TemplateRenderersBuild.java | 6 +++--- src/main/java/rife/render/RenderUtils.java | 2 +- 8 files changed, 27 insertions(+), 10 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 3409629..f07cc1c 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,11 +2,11 @@ - + - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 542659b..e31f3a2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,11 @@ + diff --git a/.vscode/settings.json b/.vscode/settings.json index 122fc60..5dd7145 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,7 +7,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.rife2/dist/rife2-1.5.20.jar", + "${HOME}bld-1.7.0-SNAPSHOT.jar", "lib/compile/*.jar", "lib/runtime/*.jar", "lib/test/*.jar" diff --git a/config/pmd.xml b/config/pmd.xml index 735454c..cf0b4d4 100644 --- a/config/pmd.xml +++ b/config/pmd.xml @@ -9,6 +9,7 @@ + @@ -18,6 +19,12 @@ + + + + + + @@ -25,7 +32,6 @@ - @@ -39,6 +45,12 @@ + + + + + + diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 3780fe6b42a9fd370b947f80cb0eb378163ea409..1071c19cf282e26420d13f8e75c81cedce221d86 100644 GIT binary patch delta 25266 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 N#(V#B_j(ZMe*m{@&x!y5 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 81e1c4d..60f348e 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -3,5 +3,5 @@ bld.downloadExtensionSources=true bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.1-SNAPSHOT bld.extension-tests=com.uwyn.rife2:bld-tests-badge:1.2.0 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES -rife2.downloadLocation= -rife2.version=1.5.20 \ No newline at end of file +bld.downloadLocation= +bld.version=1.7.0 \ No newline at end of file diff --git a/src/bld/java/rife/render/TemplateRenderersBuild.java b/src/bld/java/rife/render/TemplateRenderersBuild.java index 14ed652..5e42cd4 100644 --- a/src/bld/java/rife/render/TemplateRenderersBuild.java +++ b/src/bld/java/rife/render/TemplateRenderersBuild.java @@ -58,10 +58,10 @@ public class TemplateRenderersBuild extends Project { repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) - .include(dependency("com.uwyn.rife2", "rife2", version(1, 5, 20))); + .include(dependency("com.uwyn.rife2", "rife2", version(1, 7, 0))); scope(test) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 9, 2))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 9, 2))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 9, 3))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 9, 3))) .include(dependency("org.assertj:assertj-core:3.24.2")); } diff --git a/src/main/java/rife/render/RenderUtils.java b/src/main/java/rife/render/RenderUtils.java index f240468..598863c 100644 --- a/src/main/java/rife/render/RenderUtils.java +++ b/src/main/java/rife/render/RenderUtils.java @@ -154,7 +154,7 @@ public final class RenderUtils { return StringUtils.encodeHtml(src); } case "js" -> { - return RenderUtils.encodeJs(src); + return encodeJs(src); } case "json" -> { return StringUtils.encodeJson(src); From 079671626a1706bf1e57f4564ad51d3e43b1cb93 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 12 Aug 2023 11:06:23 -0700 Subject: [PATCH 11/51] Added more tests --- .idea/misc.xml | 4 +++ lib/bld/bld-wrapper.jar | Bin 27258 -> 27258 bytes lib/bld/bld-wrapper.properties | 3 +- .../rife/render/TemplateRenderersBuild.java | 15 +++++++-- src/test/java/rife/render/TestCase.java | 7 ++++ src/test/java/rife/render/TestFormat.java | 4 ++- .../java/rife/render/TestRenderUtils.java | 30 ++++++++++++++++++ 7 files changed, 58 insertions(+), 5 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index e31f3a2..7f0ae93 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,9 @@ + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 4f85ffa..b018d04 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,3 +1,4 @@ + @@ -7,6 +8,12 @@