From 4cf73ad6895aff2e6d645977b7b8472540bdeaf4 Mon Sep 17 00:00:00 2001 From: XDjackieXD Date: Mon, 4 Jan 2016 03:49:35 +0100 Subject: [PATCH] First commit \o/ --- .gitignore | 22 + .idea/vcs.xml | 6 + ExamplePack/ExamplePack-MultiMC-Instance.zip | Bin 0 -> 181386 bytes ExamplePack/ExamplePack.cfg | 85 ++ ExamplePack/config.zip | Bin 0 -> 36509 bytes ExamplePack/resources.zip | Bin 0 -> 619 bytes LICENSE | 204 ++++ PackUpdate.iml | 12 + README.md | 17 + commons-io-2.4/LICENSE.txt | 203 ++++ commons-io-2.4/NOTICE.txt | 6 + commons-io-2.4/RELEASE-NOTES.txt | 873 ++++++++++++++++++ src/META-INF/MANIFEST.MF | 3 + src/at/chaosfield/packupdate/FileManager.java | 158 ++++ .../chaosfield/packupdate/FxController.java | 135 +++ src/at/chaosfield/packupdate/PackUpdate.java | 70 ++ src/at/chaosfield/packupdate/main.fxml | 11 + 17 files changed, 1805 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/vcs.xml create mode 100644 ExamplePack/ExamplePack-MultiMC-Instance.zip create mode 100644 ExamplePack/ExamplePack.cfg create mode 100644 ExamplePack/config.zip create mode 100644 ExamplePack/resources.zip create mode 100644 LICENSE create mode 100644 PackUpdate.iml create mode 100644 README.md create mode 100644 commons-io-2.4/LICENSE.txt create mode 100644 commons-io-2.4/NOTICE.txt create mode 100644 commons-io-2.4/RELEASE-NOTES.txt create mode 100644 src/META-INF/MANIFEST.MF create mode 100644 src/at/chaosfield/packupdate/FileManager.java create mode 100644 src/at/chaosfield/packupdate/FxController.java create mode 100644 src/at/chaosfield/packupdate/PackUpdate.java create mode 100644 src/at/chaosfield/packupdate/main.fxml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..836ef6b --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +#modpack testing instance +/testModpack + +# IntelliJ IDEA +/*.iml +/*.ipr +/*.iws +/.idea +/out \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ExamplePack/ExamplePack-MultiMC-Instance.zip b/ExamplePack/ExamplePack-MultiMC-Instance.zip new file mode 100644 index 0000000000000000000000000000000000000000..06eae6927435d46f9f5d4e0bba76a450da161276 GIT binary patch literal 181386 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%0DeV!>LLB4PH&_I!Z&|gcR z6GySzG?r%#Tm6F=K>0~(v@)d6YvI{Qw~c+1d1>d#cCOpq%V9#nbyqi5XTHLL>$cda z_pU#8mtyttYj$&Tm-mqt+H|p&S})Yo1_gRU{)1^MA?F_yY{Un#>_dRsw8$?;elRTM zF$!CTrvqoz_3|)m(Q7g@N!BIt9b4;HGo3IQ@Lj{-s!5MNfceubmSxCTu?NJR0j^(BKEIeVYLbrf?a_C~=KmkR(9kyR6_X}3?T zz85=-3H>jmI6D?#iU=cVI^rCl!ZBrWFGwfo?-eY+6)5GRl5F_ z{n1bx16yIgKu$eco-LxH)8yG1rsEjvnO`Y6CHDSZv@E(eLYw!*UmQfw&VkX(2L&? z5Mh%OP*<&g5V07u;u0!Ld=GmAIvJK8N)AN1BmYE~>xFny#Vd^Yt@zCKjuRP0E7sCX z3<81ro#`P}m(mQVW)A89W{#6uHk6q>p;`u4B7!DZ{mT)x6FFY7oiYU>^SV=%r~OP8 zk95~c4@~be-$bX?mu>)Nr3EyF7@>A-Aj zqD>L{K(2NqWZ0{1Jb@S?^rt+}FQF8lVO)Hqc4tr;*$m3luSiR;x{ zIEz_bL0B=XG{(^T#O;)Q*j@vTca#f4$ls2MF*DXsFajM zV4vN>&hz^O0pr7=y$qu|oG4MccW_|^I{e+V77aV91%6lxZ*RgQ07AcP*B6K4?4>=L ze~3V#H@}|4hoT61p8}?Nq*0#KiXD*W zj=Pe8StqsBewKz#tzz=Kj~WwsKn!+2 z78CJ9R_)v*z~Ou8>ZCvX-59k zPm@=tf^9do1W9V=Xwr{6-LkLJ%$Q;KSe@oM?R>NQ=IHIm&=*deLGT3iUv!QSA(UY? zcHmbsenA*=MuEKQFnfErZ7@4*vpa||>=!#u^LNnq1$l0Q|6G)sq{rI)`21LzT4lU+ zK|rcHn2l~alr4CMxTKshBHp61hpTty^mP- z%WwTKQPhi@#3lB4dWhi)QvaWyo_)e@Le41wy&(LIF3(x9w_|@Ag{M6#Y<01n8`o%c zc|Nuie#$iLnGR2tHmN#%-Oz1%-iU~_v0O*}U|oNJ-^@?w^772~R0eyZGA$8=wQLpu z|LdIp->z+OTI%x<7xYD{O~C0RDv<+;&*8y9%mmGNRV*06rOnp5OJ1L~;0#V0Yu=YX zz)zHc@3ja2R^vNQAK=nwOtH`|#POSzp}D-D`wlM+|MRK@$xnvvl7!XP#n!IS&^%=Z z$$l3ur5d}#?pStikV@Uq?ghQi>F{=DywEW=o_Y%ZV_>6NbZ(~%Zz;w1rzcl>{E#@P zc;RzGD)`OgALTt=-_YMg0#<*1s0#2d?{ho!RC$igueBawRScZsZq-W$EB*d!HW@Pf zoLK_$9bE%mYOfBGb*loPf49_9z}WSbM&XZT;)hMyQxp*KGRU{#!CV1-K&sF(zRUxL zvc=a0-2t0r666)$`vwAG&wO1k)&uETvvPGWde-V4naX5Z?ZfHL<)KtmERx3MfGfPBn%aMU%v0L7$@UkdnME5MH}MP;5oPAI4mLH}&I#o%+2vAX9E{y94)Ja@*8av?#)Lglj*($-q1vIvZzB;Ei{ z=ZA>7P@D~+@-zd9t0nda9Yc;i3C*ddQ_Z1wA4xe1AEPMI&-j9bi>`1$&AC4cwdM^b zhcgRJTcRKx_nxte8a`~O$3iB>eW>N@-4dzs9xYWVUB^8Gt}*?7@T6s@{hqc(iZ=I~ zl&uXM+aXoNJ-M_#dC{g{X7Vh6m6tjmK8%Ksxzqt^Qax?0^WiVM;mcR=d2Z6n6wi+3 zB``P-mTDeL+4-5XuG)be*C`be=cY-~vUoQ4OMw{Xtz>I(g@?w-=_D}}J;JVBP1X`h ziQKKitEi_ohyswKOoC>9#;XBscA`IvPbN6Dn!l#dI#CFg9{F{iu2+?%l6=wX-2tS) zX;w@D)H%l#`Z8gX5aa_{}8YEmOL6y{)tD<&OEFDRd3$w>ME_g8taxMl=6?2UOvV1~tZ$hF^7WsxN}l%P1!1B~LCK%Smpn1W7X( zSD!$GC*WP@WL?2|RYBwo$K_jA-5c49;6z=4`O%;8xH(4ZT@$Hpq&u{ZH^bqlZJ5HHo)Y`l0u8s8+L-WnR>mMiYS; zoUFL8_uU(9Xb_^>p6h5Z4Ji)tA5w4l;lTw~j2o=m8p<1QN>jm?Rq?hTg1b=%t7dIb zP>6s|Cd&y_X$VBKiAKo+`x$eF)tLL=7d{SDZ4%CK6sz<#2bYvJQ_xggN38dMN*aM& zp0OU5qapQV%E+I7&$}XGqr?Nom>dRLh8pTkL6Mmi7IZ%CqOP*(>}?8C>7@(7ZVd@W zTX2<+DhkSaPuS3aFFDtbQ)980`u$VmFn4bvzyl2CKn^R!=eOqDPW0_xB?Tdzh*1W7 zzF4oEMv3_n*zvzgaArxQ$LAJKjz=cg7NV|!N10iK52z~YC=^OuR^3sg+UDiNPzUx< zmmo!LzumCQnROw&Z70@f2kNos(KqFWD|{{McA`kA*&tzjXPy_A$2+3l0pusy;GCF0 zzZh8%o}mP((0Dl-B_Q?V20+Mt;?$@wZn0gY9s-O5`s<#!Z7B2F*I~j8f5oMxt#BT} z=QZ(xI;WwRJ+ohE{?ls^N3uCc(cBxbkQh5B(%UC{?_vyd^DqEtq3D_@B*+A$C=E|S z_^NNzh1I%|kz4(8hRa@wm^d=7m88TN<(@u0t^xc}}V zko$EX{|ozdDR1%*PDx5T36`S>|2*;b9~|@l1Pn)!W!oT{UfhiCe;qdOcS`RZx8U%@ zD;miSW%u=&5gcGjdjY1S$eOJP>HT&f2RQKH-re$aCpZt~?D9MA6mz)lCArQNbEK9h zoWV46M9!L)cd8*wpJm1%&Lupewl=%SM&#VR9o-bTP=aoNAE}2VOg(oVq;zIl{-|3z zbf3$QNp4>vGe%vst?w-RSy`AsEcHbc8h8o?df9NS=fI9o&MrYYk8ET*y3 zoJ!r}C=ApLw#{CsfGWN$nretl$o2sZ7v}W7g0Xf^b5mlOgyHf$Ppc_{@8N z#s=;=0^2;hO{5YYebYFhwX{p@3MvLDEHi30jB1M)6e+29%UdO+9(j*9$^bZ z2jLl04?QF-%d4H@BKMxYxhlH)#J4Bg-;l0sgH^xKdWQW@F}9;BFCi-|Ncz9m7!M1l zne*XQj<>r(5#gzapm{R;Ml&vI#WoNh9=YS0(qZX2CFrKpE|@euQnX2p`|}B)_%Jsd zeSbC&FYfSe-aJMcD?wcx{Gqk7`pQmf{D+fvM1+AE1rJR1~?ac!+cf zuS3%;Z^SzXY5CakJiCS~~j-dM+G*O`{)2*x-~snIH-h7N*s(%Rd=^o-cxD9BT%=-K42CQyW>SSiM!{Qq7m~TsovpcO3 zM%yK`wWvhqFX(rJ0{V}^I45m;ba8`Hf z2IDH%tZkdBkv{==WxV68)2flhP?oe!Y5n&DmjbvUkZD0D0`U8mD-HHnrZa%()bdOz zFz@CO${%=`yCyh+eAEp-&TQm_GN}@zAc29MImizT;6UFY?jC{r_lf1W+En}90E@ZL zC{xSU%zXWpFKk@3T!OpL>e2U;b=ANz?8NCyM{TIq#eaIYw^zyIUZTR=@-I)wQv8V4 zJcZ8WV3IMX)U`fX_%%h&zrPH)LxSY! zalNX`W4Fs0b}^|gcW$}Zsp*oOiY=qbDaNT0d|v(N18$iDI)ImF_db}f#a@ zIk(yL3z{m>7HX*(tNfPkv1|TM!6Z^=>;ah7Xeh_=fVh*&;)Oh z9Fi0T0+zHh!DqJ|+Y{3&NeHzFk_Ka$yJZvKCg7F$G4l}RCo?0R+N^|_1Rn<%I48vu zH`cZ|mR$(X(wFBGV%uxPg86TQ5cdR_G-q}gk{VAPQhz}$xsIDx5EmM#b#@m^?Z z8NT6X%G9`BMcc-(s6^|+L%)V_VWvNZ&jlD${Y}O>C$X=ieDtK7pJ%D}$OfQ5OB?j; zAcA!f*d)72k4`s#h9JiP%;Ts@Vwc8zCey))rjLf1nz5$F7O`p~Mx7OZvx*U?#gSrF z#vF_(hQbHS@B-pPC&0L?%)^5TX5Tjx{~DTwPGs!dM4tufD`<4#a9AWVZZSbqn_w%c zdo{f$-yO|He*Zo5yqVdx`d$7VTiWh2@PnX@(MZA2q5cYbre)CIb`C;jVm0`~`7)F` z6>THo==f39uMmWwN2e%UtH+$T>K2euf~J|wd@K=J5!qi16B(yRbBr=vY1*E4D?#TM zEMx<#7XNyN2z(646qOhE7GD0<`_Wv1FZ-&m%C97`Q5TlST)?GDy9hzVv={KIInW}Cc$XCm&zwGhRY1JPZj(1`K+PY@77=BHdYyPurkmY|! zd#4~xpdeefYYVXC~(1M4Wr(#Etv7ANJd~GuK`b znd^vJ-|;vmjHviShfemTe@&gY48C^l1n(C@O?iM|2R}85o(_Y^?a!;V-4&0KHfVmo4Y_r1-_VWY%MuRa*Z|d1 zhx8ulHHIOAO^chaUHv!0L|_sNvF#Jms|SDcSMiaA6A+7`8JsH6~*aj4U#{u-)! znF7!QU8h7-J2Z%%7$3!}VVAu%$A9oQvkjYSxryp;Td&bppy>VSB zeARm;&(IPt52aQ+1AUr)@kn*n-#IGDy?aCdCuEu`f3%+vPLSCH>9Jc@$#iC>`tVK4I8 z57`k-s8M)pyLXWeB1LDTB-nKgC&)o3`Fh}=4Bi7sDJSa_Vq$;NvF4eh0O>j-9jqE1 z^xmp8Wc$m^m8r;~h)DRNs*uGQt- zjeZy@r<%!DEH#Gum^yvBui=k+r?QMY@VMrRTaFT&wgx^(k+1NLCv{c|{=t9tiIgdN zLm>C*q*A4W#U4bXEOfjSLT735ffw3Tq)3b{>=xn4kO2Um(y6@P>1}r_a zg2++W6bz!Nl#HVGEmN!qnd$beV`1cf7!vd@3S(5quT*GE14L^vf(w&{D_MWBCac6( zMF$%H)27xM9r7^;tJb0%pfqRwRHq5vNU3lvV@2#tIlIkdg%?z|V2e|oKK(2%LZzo5 z#i#GF{{xXqAJa~-+{i@`BMr&GK_TS7Pm&&vquy=*xxE}Sq0B`MkBu&4YAwtBc%7~` z54nQ4_O}9M+gbgeQg^&$2h8_Gs=G~c#UXw&+CWux5c`pt)--?k*MMe`$R$Gu<H&%wkU}&z>ZoukNpAyHm4|KVRJgy^as9cmq*winHd3 z9Ag87tCK5`Z4i{6e8@t12WO#qDym#LiJf^WVB4_Z6RL@eC&lf~U)Tb@9EHF(iBM;6 z7jAA)w(%+#w}DBFmwfrsek2};HAHXXbH5p3WN=xS7JGqc^-QDYd4z*x%=Gf+LG%*D zW9lpAnh@iLc~H8P1>=@R)bnJ8*?ikjiz5VXLmo6Y>XUwje=mEQN6@#`C=}shU$x$Vrc(V=Fp{yOGl_CW4CO4+zQBMbJdG&{6 zBD`Lg&X22>7k5@3YUdFFfLq*;0AFh76fNaE!NGo3NCR=-cNl)vDA@tNduDmCp$zIz z6;mRc%bC|QYAY5V=ajkvCiCL8gDGsX*I__>9+~#N57vkmtBqK3IrZF;Vao8)57l1b z7y*;A#&vinYDaj*W~_ZN8sxjP3yJ$6yE)aQs#^hk2cDw3TM_&kI2P?or_ZazrP{_T zV`K1^4C^RuMF~wq?QRp{;4s0R@jed%+6*uxLMaYKNyvHs%!e;^Rwg2nEw-w=VZ;@5d!Wvy!ozG`W1n(T+I3EU+L==w9I58S+=F!LeoXy2L}apwVO zULn3YcuYw3dyEut0Z=|es&B^mX2!P%^sUp6tVXJVL#nPCs(3*8L}ZZhpfPnLCLJaAKyQZuoW>1; zk&T=68dvsUwFkc`u^v_8Q8D@xYrwPgl{h6ZdpNMpXxdgip|jy{K&X&ZBm`=Zv8I8KAv*uCc4GFp2Pl_-14Ot@mM zBevKh0sK*kP-A?is`#?ukx5kIBN4DFaT)P8Gh8Z3m`}wr(8SiA{rlpW>rD~4d)%q5?`p3s%`z&Pd-+f zOaV3LBe!TzzuFDABCXwUx=Rd@{MG6Lg3nXrwb~k7T#u8qJKFIJhKLc==;eskCH zQZHS3rrT9*fICLk*njMa|K1`DHgD}Lc*Li`yQW@qlo}7+kd>sUFpD2xrH72U#u#@; zb;ScMjZ3~nK^U<4^XJ=rH>vZ9A-eUE_QEjV7qOCVdTkMU z+kDX7aMAK#v|)RP(gv3TGj^ z#{#0ue=7H#MocC8TgB52t49{ekqwf*gz`^q)Du|5Qog8ARZJbr)t^Wdep$ch0TxO$ zU)d86%!JtekXnb|!IWp}TQ2ilS)4gc<1LK3Ki8puI3y^xZu{Zb+n^hmd(aTp4Kobh zr4!`OCRt0Q8EXZdkVREl=&q?uOapq7l&ablF zXDnh%*$QViSJXmVa9aNaxYK?4m`~k@#I&Dok+>O6Ha^G#EmC^<K;hyVw|BVitq3 zjr&0LzmTNduvrE0p*)zqAIh1higl01&-RZh63qS8$!yMyI#MVX zYbQO_E!^k3MytUDj@{N--J3^4YqKybRG60^T5%(fTPV0~UXK*Rb@1=ick^jUmel@& zXCM~|a4>JH!J`R88P!^{sC%Uj!RBJr&o<4s8DD$6OW;MfMj@BJd*+1F<HnLn;23e@vUNTge`hc z2j=evPne+3DhW1a65_`#X(@JhUXnR+@2aei=uCeTGMM6Db){(Wj|cpXS-}?HT?iKa z$@*g5>^6ydmxHo+N{d7LJ=@)y;#A)~VJ`kH&(|8(l84(1572^m(D$=j2!65~G6L{q zXn+1Ruoqhi-yQ^?+=;o@+5o>?I^*~g+FS41K%bc>=0RtMe|uioXKR6-J_NjRcm!dF z(ULp?$l`@kWKzy^)G}#Q+|ZqrxBQ2MZxH~Wcmy!Gds}8m(D5e0e7`7`WJG?01HVRH zNGZV( z0UN2g;I%ZFD+8AjlTjvRRxr)|P`t~6Peli}c}idpN9n(u^1f{niiMGP&}8T4+)3Cf-_JOr{bq! zI|UF)9xittRHR~iaF)u?43|$~3o`EIGhBqG9e6fhjzQbKc?gn>v;I8|)!I*`X>Q>@ zb!C}APY68qDa_$KQ*H9V50x2b>BfySCNo)Gghz<_#Vp^-!f(!m6=#$Vc@Q#bSc-lU zzx5e=|F&|-YDrZ*TUn`h>vKrRvvev&m-ssKAN6oj<%0!oAB?#fz97yG^>Kl5pyIKF z8Rq8iy5@>;5Gqmy8NRBN_GG+6)}fxPa4-Ll)l?c(d@=Nz^R?RC@$B|?isVTQ-Zr|o z2i+yaG}R2q7bR0fvc0H@gPXa!U>I|rSo+LD2Adyv-0 z--$s)=qzL7s9^r3P(3@FAV?lA*hBk}&j2~BU&IrgrLX2(f-y=r5$`Jp0RBMk+{*|r zL9*EQKRy;pi&VmXs3d)hXipFwQsCXvzV$lUW?gu(*nt+u}pwQPJhKHffT4A={6?n;UNQ+)}QHr`+N# z_}o(LHZ*7p8Kgv$$122ovY%&6D>65VP)FFbl)%N5ZpOoHX=820F}hg+Yq%YsA0Fz# z{YA*JI<2w!^C(N*+yvFTzzw6DmZZN0)vYibvxdJTC%?pKcso?j4klUu!a3mtfawxV zqMve4f_S=jaQ8s0ar|=eMK3-rDu@%rYB>XdRyD5h$jSgJO@&it0Gy)T6vOW#Aw2`%iTCN~OWDDA1qV8au<{>%x*kg92 zFYDkeNN67EGPqfamJLQB)rp-in0lB!TD76!{+f5EZU;j2hvxP1cYfYC8+P#y+|c7j zzVc0o>K77r%nR$+$@EL`7jf`cVqLP#q`KvpS`LYlYbgH`ZlkRfE3u^@PRy;?%R7Bb znr;2^!7RPh#tvF8t86?vJWY#{^1I7BNJ|@y-wG>1Cm0fo9c5Ri7Fc_kqUCRCDm#6N1=eyKFEr9zW9nhc<@J|!sl*iwMQY5m~RsL zm7hz;u2F;ey?EFo9}ZsyF|$rhNJNy1u>5d>kWFkRd`Bp$vd|hOo9qGK01~`B!RTL< zmg(o}1MpbPvwf&to-DG=SH`MKOe8)d85(8dR zNx2P4RRJxW0;9jy8^fu;@z+RRLj*rQ*!{BdrLP$=hh=#Wn#w;Duc)Or9;d~1CWF*( zY^m=w2O%6Vll_&c=4x_>iLxF`I_qa3r5XtTjMlPonu)jHseFSul5XvmT0aC3X6xP zWams>HA}6H?G9btX~g|PLu!>nbgI#-kzX)L8<|L3E49&Ku>33l>|Bo|hO5t5dvo$mlnt{&$47;)}r~ zH}i7kw_3?ISf4eaucb2X&(`Di#dX+kn%B2>^ofw$W$_L(#5=hXywFtP+d^@CfR+NnDF zMUwZ~)D2)$yrHkjTge?F5-@bwX)@nXq$Orow7$2fsy@2E$M={sF7X$`gL~!6@&h8ih0lR64;s zz%=8$n?iY$LAHryt)jk1#X@>vMoe3}G~M+H)96lX$V~K&uG^GD`-0X?9y7%Y?fFpd z{%vtrWc+I|6C&woE5#FgLzvAE%s1MGcwrT3D29M}y`69rkE@@&dxqKGWop2JM=$el za&92IrD%ms9SNQ|(fjW3`U4MJ;|W@pT@D6M;JAIu@c87B>qriOs5g!VR;rUV z!@A9sP}QJRVP*@|js*xW)xK-Vx+NJu-pz?{V(Y_|)Wkyn3Bt?BYUWQi^S~AVq8?@PFH=R!f0&Ks2=w7NBiHE$yr9Vl6t)qZ`H{!+sTA| z`&87UqDj5v8 z-`_`du1GTm6aKrmk<&57r7=@+#tX;<7(2#Q+&^``?5zA5k(P~*;vREuj2^KJ zljJ?uHZ}6mLnh0S*dy2O@{ztUkoOF5hsGh$AL{8h5B*SiNOpoudPfff zNO`ayJ{7m=Oo+LUB|}ZUg113T;090Ttj7~>G@R~=YtA3ZU#84_A`S3x%1v}8U)LQ! zebjDl*(M)w!gm;=m31(0+6bP#s??7$A*wr8*f)6KRlWztH4b3eH(3xXuasRF8*i6q z*ytZp(=0ERm&)DeeWk1S2QJHfNz0B6@n|m!0S|+w#47<#>lsSyaSdbVh^Eb(>vFM-+Fkf7|%^Q zl=kGCJJo9W5if!`IPTkaY>hRrChBT*a-UjSRx2)}lk{Q2nhEE9V&ac%f@}@p4_|c$ zZuk&mA6kkKhLn#tV1OT-dnhxGp_*_spZpeI|I}It5}b|je;SgCGV)9Rgb_myIqtBp zyt?@HKHzzFUF~4QznDLI3%v{$3*6U5z1{qUZR8h81&-fy>kyJnn3{Pe)5j$qp<>4O z+QKMo)Q2J#wb`cABV!>4pBQj6B@wJl-QWCel4+)=)#b)uOF-mK;e`+Fhve?HV}`UJ zgZSEoNYUlXh zE9Nv59Mv??zwQ0r4Gb2Z*Eyy0TR>|{=USm`!WhjlzcU2E95{cz3uwfK!8RO=4yz7MA_0fv&YJ4ST%z0IWbI6Rufd72{&> z{j&LpkgaSY70mtK;;sE`-Ma6d`9*cdNN;!LPLoDx|e*EvDC*hA?E~re6P9G=UHMIedH~_f z`~E1U5?3mxGph}0y;5&3B?y7KnA%>fPWYboTyTZs1gPGcJ}A#}wMh4Oecc?={u>$0 z7OP9I)nd|VaOTO8G!iE{xn2j`?=d^1q909>MWvON%^-rZ%uyFW4R6~6$KQ(3Jd;x~ zql;YapLIcoDMsZ56~B>qk`LnBF#L;a5}dut}?QKyGd<* zTUcJi70LFGB9KAFcBIA@*p2Z`!@MVLpL*hu5CBc zFv)>s#ag9NH5hu`*ZYs`LZgk2r`7&W!166g*z(>>On2BGT^Z4PKCiR(@YL(|en$#{ z$JF!8Q>llhz$_2<-!z^A5#B}}rWR5!90p_RMawTk3dP-!9hjftygEXGd^_24!&F zE=7hG@tVLf(&(9wKJf_*_LKFZD66+_Don5OO$<$YCm+H zGC5|#y?~V}lEnUc=&gD4xHz~IE4SG&0u5F@gT*i@{AsuijrIHZRT^O75Rx6(^6Vy= z7i}|v#Du#)Xt?ug|Ig23M3-_~!bC%;Enu1>n=3gDnH+i?Xm{o?r!+NUpyng>|#6N44HV|dH>Fl3GrQbtAPE`-#W z3oIM4kdI`*_tqFEwed#cn~ejtM!eLYgVP=+Zh?tCu(2&Ft*YF&XAP;dD@(g=$uYx! zY|(FqPk4D*omyaC^N;doK|mz)`)QW+{{1aZUu+!rN`UufgSNHqVD&}-$|6niNym34 zxPC6aIgx8ki6v-4clE}f8IHV(xw*mc1nE-7Xkt1eG28{6>nqXPQ$JKE5#RF4^0cSx zx8a+o74e1(+|%IvzWClk<40Dm+*z z8TjZNgg;f0=S-4Gv*qP+bc>M-(DQ4Lo$$0cWYGNLm%7cdX}7)WDA&0dIfY9za9aCu zV1zX|?q6T@y9@?%Xm#j}o=Te~IV#)JQ?{Qt7QMf=Wu(6uKh8XSwpC2xYvj?to;)^7 z!Y^DrWR%svE{z`Zra|n8Yt$*FDRN3~l(;UlO@XG~I2^d7uuXn1g93Lk$2Kwz1?6Q! zAZ9~AnPLveH3o?hg|}cNsrAx-eQ|h7;*@%~G;Vr;Kzgs64EF!87)4@sT}*f=5D*@? z|Eafd{vUhGAA3hv7bX!`7Y8w02WNAc|2(R>IGG#U{daO$;*}zr2zuzwnjbwMBax~w z%BQgMglJc2A9gZ|d?vaLJ&A~)LK`@Nt$Ws$=3LbsrhGDGrU$4&^4+8x!(VptYYQqi z%W2PP@9oPQAt67|Rq=$OK{0q!?PHG+474izKm5n&I(r^LWt8`n%h-)GDRqT*p>IBK z@;)fFaGQxc*OE)r$%QQ~Ze#J=i06sMjnzJHog0-wq9o@_DAiJjW$-=x@u>V=66VQZ^9GroLsvAV@d!OXm zN=4RF;zP-0i?jOBN#u|p%JKe1jZVQHtxCAvzKL=xbi5RQE36QdL%V>egxZ=-s!Q(G z#ipn(e_GvbH$UJkRj^$hGY&0qTnJ|=5e%6N!9jz>lk0q4`*|O#2dIr_F?0X8PzZ3{ zHn1{Z7&g;#L8f5(v!F)`DT1cI>UigCt)g!#Da}(%W zk`oBf^~7f&4ko3v;#!#*Bri3Q)#Q^!C?zQ2n_3r(oEDybgE|1CIiZ@D5-{r>YKKr# z{&fpRY4FR4Dsycq`@$1r`;sxNLMD|tFHgfsmv zqYBmmt%d%dCiZk=x?I?L7w9tRht7L4S$`=DLS&k@TADtoov-%m0mJ_!t{;W<7zqpn zWaEEKkY@eA5GSgn@V~G|&hp>1sp&iX5OnN7HC$>Qg|{AdW^l z23~qIR;H z54=7~6;7tQ1O?a`!AC=0Z%pc7vLG%(+;QTesErza!i5YGUFlyAaeN+ImW$wRhryp> zmzMCi(?RY<7%Em!DM)hF6$%VRdWByJQbP*~Dl$QJ3z;|dQm(6te&goJ$H9oF_sHYR z*y@T4kK?L&PmjK;06#d~5CPQ`>pOa+++- zj-?tZz}(?ScE;wd)rh&44)v?&O38$yQDyMQUOi7J@}Bzm84CMl$C zACmUtuOZ^L&1Q#IF)BXj0PEQc)E~Ok?&CMaz-`hf_x7Nd_E2QhwH}t;5P5GMdP&5? zdT}K*gHZ~4sdV_qG-DJIo5(M5O&I5I(1bcgU7tz*8g8}K_gIgF3y9HE`5Z1_gnv1k ztu@7aF3B4l9fIs^3Rim76~ksJNBuwFSh|r*ado~2y#FM1l0@N3_CHAVg7}|EW&Zy} z>VJ!HEgKj0C5-RsZnlmsJdots5qwVM!yONt&O}thKr>52S4LzZP0P7l;@pIKQ5ACioLqkAd0V z(;XjoIX!(nGdXQP59c}{Hg~Z^?kU21*TlMxN+>ptbwn?aj?6Gjf?9)9GZVLeiLZg+ ztUfBK$dQj?C9l7FFM(P?=}}^!{PZ(*|8Bz(;v#oVMb^JFCwm!(xWtd@F9{Nk=7OP_h@Y*(uC*66lCfKtiF;ro={7vFhM}XH^@>De1s*NTfDla#9_T zdC9gV()@*ll$y9f8+gYtocuoQRYx-HnPqqQj!-vFv4__;aom7O|F&0J>Mtvzysh)w)CtY=)cajjGbJ;zt_k`l|K z$HoFFoYnRM(>-tOmO$cCs!&~Q5H^;@b71=*{-{ZQQ9h-|FU>&9S$Twd;mH(rMq=AC zb2HCNAcPG??e7pNhPZT+bU*vhmu7djNK|)!3+2e_oP|T;vg`DOcI}|7qzs6Oa&|lM zqzF*UqmtSyL3^wgs!f_bCe#BKHhWzJfxoIy$QEQ6m1Qp(WTc%X#_*uCz58slm@z!& zzb+LlR8@+G&?{%?O7E zugwVbOE2chBp317V?gKpB!)_~tBlDw-vGKpRoq2;9No2hrmyXxTdM~^9Ylv+g};B* z9+q=iOoz$cp6TeP2#XmLn$NMvM4ZE8TBc=}5wTNITh7^ih=k(z!f^dUvN-f8%RJy6 ztlPn~tgR%nLY=wm_JF4=w`h7&_BPn566oIS)mVXT5)WmsI8C*CC#MUy@SmzfDE8<_ zhJR)y{II<_Y*F5-4qa%9IW|MTa3ui&SLV-K=0_!P-I2}H;)Bw5v1ez^j`XbF;6K2P zR&}RG;e^+29A5D~dnFOYi86~2J6Es2@nybzy!O4>TP*xN&mkR0o+Szu$$rBBsB@CL zN@%*vgiFf&nb_8NAACteeY|uTl?;N|&N$@zf=h+`ve?P|jZ)`${CX~GH$B#qkvbn{^+T%JbJvHZEs5u;O8!S-E;P^qfAMOX zv*xUs@nu%9HuE&?9Q@GzZ`qK(hq!D<(Ob3?0cg{{04wAk7%5$}@xZ&t_#)@{lpFLR z@w+?NbQW_p%xU;mW*XBB!;vAyc&2riHxsQ%KX%O^)75fH^GB)a`q!-;Q7ayZpxUUm5L&vY;Nf_ z_j%a&LJ+AFUE{$Qv%wcH@zpKBref@}XTod}NBRBqZh&q_mX0JupM0}YI-pzjQbg2I z^7)tepSdg^n^aEuKF<@d8y%?_F4<9@OnN1F7;aAIdlPuJ6I{HhHz&EfYuG%nHFxaC z?T!#Fzhc{2pWtQ(7bv?ncr0~*F^LHPu=%C`OyJ!MY8psN~Q_$4x$Q1fZt~0HUj{9 zm%2L4h9=+~xsncjhOn!W*@}$1r~SA!W3|B-w~r|` _u(v3K2nKE0f^0Qtc7I%=B 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 U`^S|~KL-FX0Dw#1PY?z8Uq}9M4*&oF literal 0 HcmV?d00001 diff --git a/ExamplePack/ExamplePack.cfg b/ExamplePack/ExamplePack.cfg new file mode 100644 index 0000000..af0f61b --- /dev/null +++ b/ExamplePack/ExamplePack.cfg @@ -0,0 +1,85 @@ +Resources,1,https://raw.githubusercontent.com/XDjackieXD/PackUpdate/master/ExamplePack/resources.zip,resources +Config,1,https://raw.githubusercontent.com/XDjackieXD/PackUpdate/master/ExamplePack/config.zip,config +Actually Additions,r14,http://minecraft.curseforge.com/projects/actually-additions/files/2271344/download,mod +AncientWarfare2,2.4.113,http://minecraft.curseforge.com/projects/ancient-warfare-2/files/2259933/download,mod +Another One Bites the Dust,2.8.4,http://minecraft.curseforge.com/projects/another-one-bites-the-dust/files/2256581/download,mod +Another One Bites the Dust Berry Bushes,1.0.6,http://minecraft.curseforge.com/projects/another-one-bites-the-dust-berry-bushes/files/2263870/download,mod +AppleCore,1.1.0,http://minecraft.curseforge.com/projects/applecore/files/2225648/download,mod +AsieLib,0.4.5,http://files.vex.tty.sh/AsieLib/AsieLib-1.7.10-0.4.5.jar,mod +Better Loading Screen,1.3.8,http://minecraft.curseforge.com/projects/better-loading-screen/files/2248187/download,mod +BiblioCraft,1.11.4,http://minecraft.curseforge.com/projects/bibliocraft/files/2264882/download,mod +Carpender`s Blocks,3.3.7,https://dl.dropboxusercontent.com/s/wodar9eqt3soqnr/Carpenter%27s%20Blocks%20v3.3.7%20-%20MC%201.7.10.jar,mod +ChickenChunks,1.3.4.19,http://chickenbones.net/maven/codechicken/ChickenChunks/1.7.10-1.3.4.19/ChickenChunks-1.7.10-1.3.4.19-universal.jar,mod +Chisel2,2.5.1,http://minecraft.curseforge.com/projects/chisel-2/files/2256718/download,mod +ChiselTones,1.0-3,http://minecraft.curseforge.com/projects/chiseltones/files/2254543/download,mod +CodeChickenCore,1.0.7.47,http://chickenbones.net/maven/codechicken/CodeChickenCore/1.7.10-1.0.7.47/CodeChickenCore-1.7.10-1.0.7.47-universal.jar,mod +CoFHCore,3.0.3-303,http://minecraft.curseforge.com/projects/cofhcore/files/2246919/download,mod +Computronics,1.6.0,http://files.vex.tty.sh/Computronics/Computronics-1.7.10-1.6.0.jar,mod +CraftingTableIV,1.1.Beta.62,http://minecraft.curseforge.com/projects/craftingtable-iv/files/2260932/download,mod +CustomMainMenu,1.9.2,http://minecraft.curseforge.com/projects/custom-main-menu/files/2264779/download,mod +DeadlyWorld,1.0.2,http://minecraft.curseforge.com/projects/deadly-world/files/2214317/download,mod +Decocraft,2.2.1,http://minecraft.curseforge.com/projects/decocraft2/files/2264953/download,mod +Deep Resonance,1.1.3,http://minecraft.curseforge.com/projects/deep-resonance/files/2269882/download,mod +Dense Ores,1.6.2,http://minecraft.curseforge.com/projects/dense-ores/files/2234692/download,mod +ElecCore,1.4.176,http://minecraft.curseforge.com/projects/eleccore-rendering-library/files/2266459/download,mod +EnderStorage,1.4.7.37,http://chickenbones.net/maven/codechicken/EnderStorage/1.7.10-1.4.7.37/EnderStorage-1.7.10-1.4.7.37-universal.jar,mod +Ender Zoo,1.0.15.32,http://minecraft.curseforge.com/projects/ender-zoo/files/2252457/download,mod +Et Futurum,1.5.2,http://minecraft.curseforge.com/projects/et-futurum/files/2270081/download,mod +Extra Utilities,1.2.12,http://minecraft.curseforge.com/projects/extra-utilities/files/2264383/download,mod +Farseek,1.0.10,http://minecraft.curseforge.com/projects/farseek/files/2259854/download,mod +FastCraft,1.21,http://files.player.to/fastcraft-1.21.jar,mod +FastLeafDecay,1.3,http://minecraft.curseforge.com/projects/fastleafdecay/files/2259506/download,mod +Fusion,1.6.0,http://minecraft.curseforge.com/projects/fusion/files/2230642/download,mod +Garden Stuff,1.7.0,http://minecraft.curseforge.com/projects/garden-stuff/files/2269692/download,mod +Highlands,2.2.3,http://minecraft.curseforge.com/projects/highlands/files/2227924/download,mod +HQM-The Journey,4.4.4,http://minecraft.curseforge.com/projects/hardcore-questing-mode/files/2270435/download,mod +iChunUtil,4.2.2,http://minecraft.curseforge.com/projects/ichunutil/files/2233005/download,mod +ImmersiveEngineering,0.6.4,http://minecraft.curseforge.com/projects/immersive-engineering/files/2270176/download,mod +ImmersiveIntegration,0.6.6,http://minecraft.curseforge.com/projects/immersive-integration/files/2271206/download,mod +Inventory Pets,1.3.8,http://minecraft.curseforge.com/projects/inventory-pets/files/2270185/download,mod +Inventory Tweaks,1.5.9-dev-152,http://minecraft.curseforge.com/projects/inventory-tweaks/files/2210792/download,mod +IronChest,6.0.62.742,http://files.minecraftforge.net/maven/cpw/mods/ironchest/1.7.10-6.0.62.742/ironchest-1.7.10-6.0.62.742-universal.jar,mod +IvToolkit,1.2,http://minecraft.curseforge.com/projects/ivtoolkit/files/2235549/download,mod +JourneyMap,5.1.3,http://minecraft.curseforge.com/projects/journeymap-32274/files/2269314/download,mod +MalisisCore,0.14.0,http://minecraft.curseforge.com/projects/malisiscore/files/2268724/download,mod +MalisisDoors,1.13.0,http://minecraft.curseforge.com/projects/malisisdoors/files/2268733/download,mod +McJtyLib,1.8.0,http://minecraft.curseforge.com/projects/mcjtylib/files/2267295/download,mod +MineTweaker3,3.0.10B,http://minecraft.curseforge.com/projects/minetweaker3/files/2259434/download,mod +ModTweaker2,0.95,http://minecraft.curseforge.com/projects/modtweaker/files/2270009/download,mod +Morpheus,1.6.20,http://minecraft.curseforge.com/projects/morpheus/files/2269412/download,mod +MrCrayfish`s Furniture Mod,3.4.7,http://minecraft.curseforge.com/projects/mrcrayfish-furniture-mod/files/2221679/download,mod +Netherrocks,1.3.0,http://minecraft.curseforge.com/projects/netherrocks/files/2230644/download,mod +NotEnoughItems,1.0.5.188,http://chickenbones.net/maven/codechicken/NotEnoughItems/1.7.10-1.0.5.118/NotEnoughItems-1.7.10-1.0.5.118-universal.jar,mod +NotEnoughResources,0.1.0-121,http://minecraft.curseforge.com/projects/notenoughresources/files/2269453/download,mod +OpenComputers,1.5.20.38,http://minecraft.curseforge.com/projects/opencomputers/files/2267428/download,mod +OpenModularTurrets,2.1.6-187,http://minecraft.curseforge.com/projects/openmodularturrets/files/2267223/download,mod +OpenRadio,0.6.0,https://github.com/XDjackieXD/OpenRadio/releases/download/0.6.0/OpenRadio-0.6.0.jar,mod +ProjectRed Base,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-base/files/2255230/download,mod +ProjectRed Integration,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-integration/files/2255233/download,mod +ProjectRed Fabrication,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-fabrication/files/2255234/download,mod +ProjectRed Mechanical,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-mechanical/files/2255236/download,mod +ProjectRed Lighting,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-lighting/files/2255235/download,mod +ProjectRed World,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-world/files/2255237/download,mod +ProjectRed Compat,4.7.0pre9.92,http://minecraft.curseforge.com/projects/project-red-compat/files/2255238/download,mod +Recurrent Complex,0.9.6.3,http://minecraft.curseforge.com/projects/recurrent-complex/files/2247175/download,mod +ResourceLoader,1.2,http://minecraft.curseforge.com/projects/resource-loader/files/2235671/download,mod +RFTools,4.13,http://minecraft.curseforge.com/projects/rftools/files/2268140/download,mod +SaltyAdditions,15.44.1,http://minecraft.curseforge.com/projects/saltyadditions/files/2264915/download,mod +SaltyMod,1.5.a,http://minecraft.curseforge.com/projects/saltymod/files/2270603/download,mod +SciAPI,0.5.3,http://minecraft.curseforge.com/projects/sciapi/files/2257069/download,mod +SimpleCore API,1.1.0,http://minecraft.curseforge.com/projects/simplecore-api/files/2230640/download,mod +SimpleOres 2,1.6.0,http://minecraft.curseforge.com/projects/simpleores/files/2230641/download,mod +Stellar Sky,0.1.17,http://minecraft.curseforge.com/projects/stellar-sky/files/2270931/download,mod +Storage Drawers,1.7.5,http://minecraft.curseforge.com/projects/storage-drawers/files/2270237/download,mod +Storage Drawers Erebus,1.1.0,http://minecraft.curseforge.com/projects/storage-drawers-erebus-pack/files/2270240/download,mod +Streams,0.1.6,http://minecraft.curseforge.com/projects/streams/files/2261828/download,mod +Sync,4.0.0,http://minecraft.curseforge.com/projects/sync/files/2232310/download,mod +WTF`s TextureGeneratorLib,Beta2,http://minecraft.curseforge.com/projects/wtfs-texturegeneratorlib/files/2268414/download,mod +The Erebus,0.4.1,http://minecraft.curseforge.com/projects/the-erebus/files/2267104/download,mod +Torched,4.0.0,http://minecraft.curseforge.com/projects/torched/files/2232268/download,mod +TubeTransportSystem,0.6,http://minecraft.curseforge.com/projects/tube-transport-system/files/2243359/download,mod +Waila,1.5.10,http://minecraft.curseforge.com/projects/waila/files/2230518/download,mod +Waila Harvestability,1.1.6,http://minecraft.curseforge.com/projects/waila-harvestability/files/2270923/download,mod +WTF`s CaveBiomes,1.53,http://minecraft.curseforge.com/projects/cavebiomes/files/2266742/download,mod +WTFCore,1.66,http://minecraft.curseforge.com/projects/wtfcore/files/2266743/download,mod +ZTones,2.2.1,http://minecraft.curseforge.com/projects/ztones/files/2223720/download,mod \ No newline at end of file diff --git a/ExamplePack/config.zip b/ExamplePack/config.zip new file mode 100644 index 0000000000000000000000000000000000000000..e937ebab57b20c391de1b1a8edc1b988d02073d9 GIT binary patch literal 36509 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 literal 0 HcmV?d00001 diff --git a/ExamplePack/resources.zip b/ExamplePack/resources.zip new file mode 100644 index 0000000000000000000000000000000000000000..a46a9270e03b715cae49aa90b1205467c908f502 GIT binary patch literal 619 zcmWIWW@h1H0D&Iv$?jkVlmLkqr55Lx7A2<^>j%Kqb)u=`0IDlaF3Kz@fv6Gz@;Mly zfvTeRug=*H + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f5eefd7 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# PackUpdate + +## WTF? +A simple program that downloads and updates modpacks automatically. +It avoids + * Licensing issues + * Downloading the whole pack on mod or config changes +and can easily be integrated into a MultiMC instance using Pre-Launch commands. + +## How? +You can find an example modpack in the folder "ExamplePack". +Basically the config file on your server is a csv with the following values: +Name,Version,Download-URL,Type +Where Type is either "mod", "config" or "resources": +"config" and "resources" are both zip files. +the "config" zip gets extracted into the config folder of your Minecraft instance +and the "resources" zip gets extraced into the root folder of your Minecraft instance. \ No newline at end of file diff --git a/commons-io-2.4/LICENSE.txt b/commons-io-2.4/LICENSE.txt new file mode 100644 index 0000000..6b0b127 --- /dev/null +++ b/commons-io-2.4/LICENSE.txt @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/commons-io-2.4/NOTICE.txt b/commons-io-2.4/NOTICE.txt new file mode 100644 index 0000000..e2a1de0 --- /dev/null +++ b/commons-io-2.4/NOTICE.txt @@ -0,0 +1,6 @@ +Apache Commons IO +Copyright 2002-2012 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/commons-io-2.4/RELEASE-NOTES.txt b/commons-io-2.4/RELEASE-NOTES.txt new file mode 100644 index 0000000..16a0b67 --- /dev/null +++ b/commons-io-2.4/RELEASE-NOTES.txt @@ -0,0 +1,873 @@ + +Apache Commons IO +Version 2.4 +Release Notes + +INTRODUCTION: + +Commons IO is a package of Java utility classes like java.io. +Classes in this package are considered to be so standard and of such high +reuse as to justify existence in java.io. + +The Commons IO library contains utility classes, stream implementations, file filters, +file comparators, endian transformation classes, and much more. + +============================================================================== +Apache Commons IO Version 2.4 +============================================================================== +New features and bug fixes. + +Changes in this version include: + +New features: +o IO-269: Tailer locks file from deletion/rename on Windows. Thanks to sebb. +o IO-333: Export OSGi packages at version 1.x in addition to 2.x. Thanks to fmeschbe. +o IO-320: Add XmlStreamReader support for UTF-32. Thanks to ggregory. +o IO-331: BOMInputStream wrongly detects UTF-32LE_BOM files as UTF-16LE_BOM files in method getBOM(). Thanks to ggregory. +o IO-327: Add byteCountToDisplaySize(BigInteger). Thanks to ggregory. +o IO-326: Add new FileUtils.sizeOf[Directory] APIs to return BigInteger. Thanks to ggregory, kinow. +o IO-325: Add IOUtils.toByteArray methods to work with URL and URI. Thanks to raviprak. +o IO-324: Add missing Charset sister APIs to method that take a String charset name. Thanks to raviprak. + +Fixed Bugs: +o IO-336: Yottabyte (YB) incorrectly defined in FileUtils. Thanks to rleavelle. +o IO-279: Tailer erroneously considers file as new. Thanks to Sergio Bossa, Chris Baron. +o IO-335: Tailer#readLines - incorrect CR handling. +o IO-334: FileUtils.toURLs throws NPE for null parameter; document the behavior. +o IO-332: Improve tailer's reading performance. Thanks to liangly. +o IO-279: Improve Tailer performance with buffered reads (see IO-332). +o IO-329: FileUtils.writeLines uses unbuffered IO. Thanks to tivv. +o IO-319: FileUtils.sizeOfDirectory follows symbolic links. Thanks to raviprak. + + +Compatibility with 2.3: +Binary compatible: Yes. +Source compatible: Yes. +Semantic compatible: Yes. + +Compatibility with 2.2 and 1.4: +Binary compatible: Yes. +Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318. +Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318. + +Commons IO 2.4 requires JDK 1.6 or later. +Commons IO 2.3 requires JDK 1.6 or later. +Commons IO 2.2 requires JDK 1.5 or later. +Commons IO 1.4 requires JDK 1.3 or later. + +============================================================================== +Apache Commons IO Version 2.3 +============================================================================== + +Changes in this version include: + +New features: +o IO-322: Add and use class Charsets. Thanks to ggregory. +o IO-321: ByteOrderMark UTF_32LE is incorrect. Thanks to ggregory. +o IO-318: Add Charset sister APIs to method that take a String charset name. Thanks to ggregory. + +Compatibility with 2.2 and 1.4: +Binary compatible: Yes. +Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318. +Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318. + +Commons IO 2.3 requires JDK 1.6 or later. +Commons IO 2.2 requires JDK 1.5 or later. +Commons IO 1.4 requires JDK 1.3 or later. + +============================================================================== +Apache Commons IO Version 2.2 +============================================================================== + +Changes in this version include: + +New features: +o Add IOUTils.toBufferedReader(Reader) Issue: IO-313. Thanks to ggregory. +o Allow applications to provide buffer (or size) for copyLarge methods. Issue: IO-308. Thanks to Manoj Mokashi. +o New copyLarge() method in IOUtils that takes additional offset, length arguments Issue: IO-305. Thanks to Manoj Mokashi. +o Use terabyte (TB), petabyte (PB) and exabyte (EB) in FileUtils.byteCountToDisplaySize(long size) Issue: IO-287. Thanks to Ron Kuris, Gary Gregory. +o FileUtils.listFiles() doesn't return directories Issue: IO-173. Thanks to Marcos Vinícius da Silva. +o CharSequenceInputStream to efficiently stream content of a CharSequence Issue: IO-297. Thanks to Oleg Kalnichevski. +o The second constructor of Tailer class does not pass 'delay' to the third one Issue: IO-304. Thanks to liangly. +o TeeOutputStream does not call branch.close() when main.close() throws an exception Issue: IO-303. Thanks to fabian.barney. +o ArrayIndexOutOfBoundsException in BOMInputStream when reading a file without BOM multiple times Issue: IO-302. Thanks to jsteuerwald, detinho. +o Add IOUtils.closeQuietly(Selector) necessary Issue: IO-301. Thanks to kaykay.unique. +o IOUtils.closeQuietly() should take a ServerSocket as a parameter Issue: IO-292. Thanks to sebb. +o Add read/readFully methods to IOUtils Issue: IO-290. Thanks to sebb. +o Supply a ReversedLinesFileReader Issue: IO-288. Thanks to Georg Henzler. +o Add new function FileUtils.directoryContains. Issue: IO-291. Thanks to ggregory. +o FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line endings" + Added contentEqualsIgnoreEOL methods to both classes Issue: IO-275. Thanks to CJ Aspromgos. + +Fixed Bugs: +o IOUtils.read(InputStream/Reader) ignores the offset parameter Issue: IO-311. Thanks to Robert Muir. +o CharSequenceInputStream(CharSequence s, Charset charset, int bufferSize) ignores bufferSize Issue: IO-312. +o FileUtils.moveDirectoryToDirectory removes source directory if destination is a subdirectory Issue: IO-300. +o ReaderInputStream#read(byte[] b, int off, int len) should check for valid parameters Issue: IO-307. +o ReaderInputStream#read(byte[] b, int off, int len) should always return 0 for length == 0 Issue: IO-306. +o "FileUtils#deleteDirectoryOnExit(File)" does not work Issue: IO-276. Thanks to nkami. +o BoundedInputStream.read() treats max differently from BoundedInputStream.read(byte[]...) Issue: IO-273. Thanks to sebb. +o Various methods of class 'org.apache.commons.io.FileUtils' incorrectly suppress 'java.io.IOException' Issue: IO-298. Thanks to Christian Schulte. + +Changes: +o ReaderInputStream optimization: more efficient reading of small chunks of data Issue: IO-296. Thanks to Oleg Kalnichevski. + + +Compatibility with 2.1 and 1.4: +Binary compatible: Yes +Source compatible: Yes +Semantic compatible: Yes. Check the bug fixes section for semantic bug fixes + +Commons IO 2.2 requires a minimum of JDK 1.5. +Commons IO 1.4 requires a minimum of JDK 1.3. + +============================================================================== +Apache Commons IO Version 2.1 +============================================================================== + +New features: +o Use standard Maven directory layout Issue: IO-285. Thanks to ggregory. +o Add IOUtils API toString for URL and URI to get contents Issue: IO-284. Thanks to ggregory. +o Add API FileUtils.copyFile(File input, OutputStream output) Issue: IO-282. Thanks to ggregory. +o FileAlterationObserver has no getter for FileFilter Issue: IO-262. +o Add FileUtils.getFile API with varargs parameter Issue: IO-261. +o Add new APPEND parameter for writing string into files Issue: IO-182. +o Add new read method "toByteArray" to handle InputStream with known size. Issue: IO-251. Thanks to Marco Albini. + +Fixed Bugs: +o Dubious use of mkdirs() return code Issue: IO-280. Thanks to sebb. +o ReaderInputStream enters infinite loop when it encounters an unmappable character Issue: IO-277. +o FileUtils.moveFile() JavaDoc should specify FileExistsException thrown Issue: IO-264. +o ClassLoaderObjectInputStream does not handle Proxy classes Issue: IO-260. +o Tailer returning partial lines when reaching EOF before EOL Issue: IO-274. Thanks to Frank Grimes. +o FileUtils.copyFile() throws IOException when copying large files to a shared directory (on Windows) Issue: IO-266. Thanks to Igor Smereka. +o FileSystemUtils.freeSpaceKb throws exception for Windows volumes with no visible files. + Improve coverage by also looking for hidden files. Issue: IO-263. Thanks to Gil Adam. + +Changes: +o FileAlterationMonitor.stop(boolean allowIntervalToFinish) Issue: IO-259. + +============================================================================== +Apache Commons IO Package 2.0.1 +============================================================================== + +Compatibility with 2.0 and 1.4 +------------------------------ +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes + Check the bug fixes section for semantic bug fixes + +Commons IO 2.0.1 requires a minimum of JDK 1.5 + (Commons IO 1.4 had a minimum of JDK 1.3) + +Enhancements from 2.0 +--------------------- + + * [IO-256] - Provide thread factory for FileAlternationMonitor + +Bug fixes from 2.0 +------------------ + + * [IO-257] - BOMInputStream.read(byte[]) can return 0 which it should not + * [IO-258] - XmlStreamReader consumes the stream during encoding detection + +============================================================================== +Apache Commons IO Package 2.0 +============================================================================== + +Compatibility with 1.4 +---------------------- +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes + Check the bug fixes section for semantic bug fixes + +Commons IO 2.0 requires a minimum of JDK 1.5 + (Commons IO 1.4 had a minimum of JDK 1.3) + +Deprecations from 1.4 +--------------------- + +- IOUtils + - write(StringBuffer, Writer) in favour of write(CharSequence, Writer) + - write(StringBuffer, OutputStream) in favour of write(CharSequence, OutputStream) + - write(StringBuffer, OutputStream, String) in favour of write(CharSequence, OutputStream, String) + +- FileFilterUtils + - andFileFilter(IOFileFilter, IOFileFilter) in favour of and(IOFileFilter...) + - orFileFilter(IOFileFilter, IOFileFilter) in favour of or(IOFileFilter...) + +Enhancements from 1.4 +--------------------- + + * [IO-140] Move minimum Java requirement from JDK 1.3 to JDK 1.5 + - use Generics + - add new CharSequence write() flavour methods to IOUtils and FileUtils + - replace StringBuffer with StringBuilder, where appropriate + - add new Reader/Writer methods to ProxyReader and ProxyWriter + - Annotate with @Override and @Deprecated + + * [IO-178] New BOMInputStream and ByteOrderMark implementations - to detect and optionally exclude an initial Byte Order mark (BOM) + * [IO-197] New BoundedInputStream (copied from from Apache JackRabbit) + * [IO-193] New Broken Input and Output streams + * [IO-132] New File Listener/Monitor facility + * [IO-158] New ReaderInputStream and WriterOutputStream implementations + * [IO-139] New StringBuilder Writer implementation + * [IO-192] New Tagged Input and Output streams + * [IO-177] New Tailer class - simple implementation of the Unix "tail -f" functionality + * [IO-162] New XML Stream Reader/Writer implementations (from ROME via plexus-utils) + + * [IO-142] Comparators - add facility to sort file lists/arrays + * [IO-186] Comparators - new Composite and Directory File Comparator implementations + * [IO-176] DirectoryWalker - add filterDirectoryContents() callback method for filtering directory contents + * [IO-210] FileFilter - new Magic Number FileFilter + * [IO-221] FileFilterUtils - add methods for suffix and prefix filters which take an IOCase object + * [IO-232] FileFilterUtils - add method for name filters which take an IOCase object + * [IO-229] FileFilterUtils - add varargs and() and or() methods + * [IO-198] FileFilterUtils - add ability to apply file filters to collections and arrays + * [IO-156] FilenameUtils - add normalize() and normalizeNoEndSeparator() methods which allow the separator character to be specified + * [IO-194] FileSystemUtils - add freeSpaceKb() method with no input arguments + * [IO-185] FileSystemUtils - add freeSpaceKb() methods that take a timeout parameter - fixes freeSpaceWindows() blocks + * [IO-155] FileUtils - use NIO to copy files + * [IO-168] FileUtils - add new isSymlink() method + * [IO-219] FileUtils - throw FileExistsException when moving a file or directory if the destination already exists + * [IO-234] FileUtils - add Methods for retrieving System User/Temp directories/paths + * [IO-208] FileUtils - add timeout (connection and read) support for copyURLToFile() method + * [IO-238] FileUtils - add sizeOf(File) method + * [IO-181] LineIterator now implements Iterable + * [IO-224] IOUtils - add closeQuietly(Closeable) and closeQuietly(Socket) methods + * [IO-203] IOUtils - add skipFully() method for InputStreams + * [IO-137] IOUtils and ByteArrayOutputStream - add toBufferedInputStream() method to avoid unnecessary array allocation/copy + * [IO-195] Proxy streams/Reader/Writer - provide exception handling methods + * [IO-211] Proxy Input/Output streams - add pre/post processing support + * [IO-242] Proxy Reader/Writer - add pre/post processing support + +Bug fixes from 1.4 +------------------ + * [IO-214] ByteArrayOutputStream - fix inconsistent synchronization of fields + * [IO-201] Counting Input/Output streams - fix inconsistent synchronization + * [IO-159] FileCleaningTracker - fix remove() never returns null + * [IO-220] FileCleaningTracker - fix Vector performs badly under load + * [IO-167] FilenameUtils - fix case-insensitive string handling in FilenameUtils and FilesystemUtils + * [IO-179] FilenameUtils - fix StringIndexOutOfBounds exception in getPathNoEndSeparator() + * [IO-248] FilenameUtils - fix getFullPathNoEndSeparator() returns empty while path is a one level directory + * [IO-246] FilenameUtils - fix wildcardMatch gives incorrect results + * [IO-187] FileSystemUtils - fix freeSpaceKb() doesn't work with relative paths on Linux + * [IO-160] FileSystemUtils - fix freeSpace() fails on solaris + * [IO-209] FileSystemUtils - fix freeSpaceKb() fails to return correct size for a windows mount point + * [IO-163] FileUtils - fix toURLs() using deprecated method of conversion to URL + * [IO-168] FileUtils - fix Symbolic links followed when deleting directory + * [IO-231] FileUtils - fix wrong exception message generated in isFileNewer() method + * [IO-207] FileUtils - fix race condition in forceMkdir() method + * [IO-217] FileUtils - fix copyDirectoryToDirectory() makes infinite loops + * [IO-166] FileUtils - fix URL decoding in toFile(URL) + * [IO-190] FileUtils - fix copyDirectory not preserving lastmodified date on sub-directories + * [IO-240] FileFilterUtils - ensure cvsFilter and svnFilter are only created once. + * [IO-175] IOUtils - fix copyFile() issues with very large files + * [IO-191] Improvements from static analysis + * [IO-216] LockableFileWriter - delete files quietly when an exception is thrown during initialization + * [IO-243] SwappedDataInputStream - fix readBoolean is inverted + * [IO-235] Tests - remove unused YellOnFlushAndCloseOutputStream from CopyUtilsTest + * [IO-161] Tests - fix FileCleaningTrackerTestCase hanging + +Documentation changes from 1.4 +------------------------------ + * [IO-183 FilenameUtils.getExtension() method documentation improvements + * [IO-226 FileUtils.byteCountToDisplaySize() documentation corrections + * [IO-205 FileUtils.forceMkdir() documentation improvements + * [IO-215 FileUtils copy file/directory improve documentation regarding preserving the last modified date + * [IO-189 HexDump.dump() method documentation improvements + * [IO-171 IOCase document that it assumes there are only two OSes: Windows and Unix + * [IO-223 IOUtils.copy() documentation corrections + * [IO-247 IOUtils.closeQuietly() improve documentation with examples + * [IO-202 NotFileFilter documentation corrections + * [IO-206 ProxyInputStream - fix misleading parameter names + * [IO-212 ProxyInputStream.skip() documentation corrections + +============================================================================== +Apache Commons IO Version 1.4 +============================================================================== + +Compatibility with 1.3.2 +------------------------ +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes + Check the bug fixes section for semantic bug fixes + +Commons IO 1.4 introduces four new implementations which depend on JDK 1.4 features +(CharSequenceReader, FileWriterWithEncoding, IOExceptionWithCause and RegexFileFilter). +It has been built with the JDK source and target options set to JDK 1.3 and, except for +those implementations, can be used with JDK 1.3 (see IO IO-127). + +Deprecations from 1.3.2 +----------------------- +- FileCleaner deprecated in favour of FileCleaningTracker [see IO-116] + +Bug fixes from 1.3.2 +-------------------- +- FileUtils + - forceDelete of orphaned Softlinks does not work [IO-147] + - Infinite loop on FileUtils.copyDirectory when the destination directory is within + the source directory [IO-141] + - Add a copyDirectory() method that makes use of FileFilter [IO-105] + - Add moveDirectory() and moveFile() methods [IO-77] + +- HexDump + - HexDump's use of static StringBuffers isn't thread-safe [IO-136] + +Enhancements from 1.3.2 +----------------------- +- FileUtils + - Add a deleteQuietly method [IO-135] + +- FilenameUtils + - Add file name extension separator constants[IO-149] + +- IOExceptionWithCause [IO-148] + - Add a new IOException implementation with constructors which take a cause + +- TeeInputStream [IO-129] + - Add new Tee input stream implementation + +- FileWriterWithEncoding [IO-153] + - Add new File Writer implementation that accepts an encoding + +- CharSequenceReader [IO-138] + - Add new Reader implementation that handles any CharSequence (String, + StringBuffer, StringBuilder or CharBuffer) + +- ThesholdingOuputStream [IO-121] + - Add a reset() method which sets the count of the bytes written back to zero. + +- DeferredFileOutputStream [IO-130] + - Add support for temporary files + +- ByteArrayOutputStream + - Add a new write(InputStream) method [IO-152] + +- New Closed Input/Output stream implementations [IO-122] + - AutoCloseInputStream - automatically closes and discards the underlying input stream + - ClosedInputStream - returns -1 for any read attempts + - ClosedOutputStream - throws an IOException for any write attempts + - CloseShieldInputStream - prevents the underlying input stream from being closed. + - CloseShieldOutputStream - prevents the underlying output stream from being closed. + +- Add Singleton Constants to several stream classes [IO-143] + +- PrefixFileFilter [IO-126] + - Add faciltiy to specify case sensitivity on prefix matching + +- SuffixFileFilter [IO-126] + - Add faciltiy to specify case sensitivity on suffix matching + +- RegexFileFilter [IO-74] + - Add new regular expression file filter implementation + +- Make IOFileFilter implementations Serializable [IO-131] + +- Improve IOFileFilter toString() methods [IO-120] + +- Make fields final so classes are immutable/threadsafe [IO-133] + - changes to Age, Delegate, Name, Not, Prefix, Regex, Size, Suffix and Wildcard IOFileFilter + implementations. + +- IOCase + - Add a compare method to IOCase [IO-144] + +- Add a package of java.util.Comparator implementations for files [IO-145] + - DefaultFileComparator - compare files using the default File.compareTo(File) method. + - ExtensionFileComparator - compares files using file name extensions. + - LastModifiedFileComparator - compares files using the last modified date/time. + - NameFileComparator - compares files using file names. + - PathFileComparator - compares files using file paths. + - SizeFileComparator - compares files using file sizes. + +============================================================================== +Apache Commons IO Version 1.3.2 +============================================================================== + +Compatibility with 1.3.1 +---------------------- +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes + +Compatibility with 1.3 +---------------------- +Binary compatible - No + See [IO-113] + +Source compatible - No + See [IO-113] + +Semantic compatible - Yes + +Enhancements since 1.3.1 +------------------------ + +- Created the FileCleaningTracker, basically a non-static version of the + FileCleaner, which can be controlled by the user. [IO-116] +- The FileCleaner is deprecated. + +Bug fixes from 1.3.1 +-------------------- + +- Some tests, which are implicitly assuming a Unix-like file system, are + now skipped on Windows. [IO-115] +- EndianUtils + - Both readSwappedUnsignedInteger(...) methods could return negative + numbers due to int/long casting. [IO-117] + +Bug fixes from 1.3 +------------------ + +- FileUtils + - NPE in openOutputStream(File) when file has no parent in path [IO-112] + - readFileToString(File) is not static [IO-113] + +============================================================================== +Apache Commons IO Version 1.3.1 +============================================================================== + +Compatibility with 1.3 +---------------------- +Binary compatible - No + See [IO-113] + +Source compatible - No + See [IO-113] + +Semantic compatible - Yes + +Bug fixes from 1.3 +------------------ + +- FileUtils + - NPE in openOutputStream(File) when file has no parent in path [IO-112] + - readFileToString(File) is not static [IO-113] + +============================================================================== +Apache Commons IO Version 1.3 +============================================================================== + +Compatibility with 1.2 +---------------------- +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes + Check the bug fixes section for semantic bug fixes + +Deprecations from 1.2 +--------------------- +- WildcardFilter deprecated, replaced by WildcardFileFilter + - old class only accepted files, thus had a confusing dual purpose + +- FileSystemUtils.freeSpace deprecated, replaced by freeSpaceKb + - freeSpace returns a result that varies by operating system and + thus isn't that useful + - freeSpaceKb returns much better and more consistent results + - freeSpaceKb existed in v1.2, so this is a gentle cutover + +Bug fixes from 1.2 +------------------ +- LineIterator now implements Iterator + - It was always supposed to... + +- FileSystemUtils.freeSpace/freeSpaceKb [IO-83] + - These should now work on AIX and HP-UX + +- FileSystemUtils.freeSpace/freeSpaceKb [IO-90] + - Avoid infinite looping in Windows + - Catch more errors with nice messages + +- FileSystemUtils.freeSpace [IO-91] + - This is now documented not to work on SunOS 5 + +- FileSystemUtils [IO-93] + - Fixed resource leak leading to 'Too many open files' error + - Previously did not destroy Process instances (as JDK Javadoc is so poor) + - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4801027 + +- FileUtils.touch [IO-100] + - The touch method previously gave no indication when the file could not + be touched successfully (such as due to access restrictions) - it now + throws an IOException if the last modified date cannot be changed + +- FileCleaner + - This now handles the situation where an error occurs when deleting the file + +- IOUtils.copy [IO-84] + - Copy methods could return inaccurate byte/char count for large streams + - The copy(InputStream, OutputStream) method now returns -1 if the count is greater than an int + - The copy(Reader, Writer) method now throws now returns -1 if the count is greater than an int + - Added a new copyLarge(InputStream, OutputStream) method that returns a long + - Added a new copyLarge(Reader, Writer) method that returns a long + +- CountingInputStream/CountingOutputStream [IO-84] + - Methods were declared as int thus the count was innacurate for large streams + - new long based methods getByteCount()/resetByteCount() added + - existing methods changed to throw an exception if the count is greater than an int + +- FileBasedTestCase + - Fixed bug in compare content methods identified by GNU classpath + +- EndianUtils.writeSwappedLong(byte[], int) [IO-101] + - An int overrun in the bit shifting when it should have been a long + +- EndianUtils.writeSwappedLong(InputStream) [IO-102] + - The return of input.read(byte[]) was not being checked to ensure all 8 bytes were read + +Enhancements from 1.2 +--------------------- +- DirectoryWalker [IO-86] + - New class designed for subclassing to walk through a set of files. + DirectoryWalker provides the walk of the directories, filtering of + directories and files, and cancellation support. The subclass must provide + the specific behaviour, such as text searching or image processing. + +- IOCase + - New class/enumeration for case-sensitivity control + +- FilenameUtils + - New methods to handle case-sensitivity + - wildcardMatch - new method that has IOCase as a parameter + - equals - new method that has IOCase as a parameter + +- FileUtils [IO-108] - new default encoding methods for: + - readFileToString(File) + - readLines(File) + - lineIterator(File) + - writeStringToFile(File, String) + - writeLines(File, Collection) + - writeLines(File, Collection, String) + +- FileUtils.openOutputStream [IO-107] + - new method to open a FileOutputStream, creating parent directories if required +- FileUtils.touch +- FileUtils.copyURLToFile +- FileUtils.writeStringToFile +- FileUtils.writeByteArrayToFile +- FileUtils.writeLines + - enhanced to create parent directories if required +- FileUtils.openInputStream [IO-107] + - new method to open a FileInputStream, providing better error messages than the JDK + +- FileUtils.isFileOlder + - new methods to check if a file is older (i.e. isFileOlder()) - counterparts + to the existing isFileNewer() methods. + +- FileUtils.checksum, FileUtils.checksumCRC32 + - new methods to create a checksum of a file + +- FileUtils.copyFileToDirectory [IO-104] + - new variant that optionally retains the file date + +- FileDeleteStrategy +- FileCleaner [IO-56,IO-70] + - FileDeleteStrategy is a strategy for handling file deletion + - This can be used as a calback in FileCleaner + - Together these allow FileCleaner to do a forceDelete to kill directories + +- FileCleaner.exitWhenFinished [IO-99] + - A new method that allows the internal cleaner thread to be cleanly terminated + +- WildcardFileFilter + - Replacement for WildcardFilter + - Accepts both files and directories + - Ability to control case-sensitivity + +- NameFileFilter + - Ability to control case-sensitivity + +- FileFileFilter + - New IOFileFilter implementation + - Accepts files where File.isFile() is true + - In other words it filters out directories + - Singleton instance provided (FILE) + +- CanReadFileFilter + - New IOFileFilter implementation + - Accepts files where File.canRead() is true + - Singleton instances provided (CAN_READ/CANNOT_READ/READ_ONLY) + +- CanWriteFileFilter + - New IOFileFilter implementation + - Accepts files where File.canWrite() is true + - Singleton instances provided (CAN_WRITE/CANNOT_WRITE) + +- HiddenFileFilter + - New IOFileFilter implementation + - Accepts files where File.isHidden() is true + - Singleton instances provided (HIDDEN/VISIBLE) + +- EmptyFileFilter + - New IOFileFilter implementation + - Accepts files or directories that are empty + - Singleton instances provided (EMPTY/NOT_EMPTY) + +- TrueFileFilter/FalseFileFilter/DirectoryFileFilter + - New singleton instance constants (TRUE/FALSE/DIRECTORY) + - The new constants are more JDK 1.5 friendly with regards to static imports + (whereas if everything uses INSTANCE, then they just clash) + - The old INSTANCE constants are still present and have not been deprecated + +- FileFilterUtils.sizeRangeFileFilter + - new sizeRangeFileFilter(long minimumSize, long maximumSize) method which + creates a filter that accepts files within the specified size range. + +- FileFilterUtils.makeDirectoryOnly/makeFileOnly + - two new methods that decorate a file filter to make it apply to + directories only or files only + +- NullWriter + - New writer that acts as a sink for all data, as per /dev/null + +- NullInputStream + - New input stream that emulates a stream of a specified size + +- NullReader + - New reader that emulates a reader of a specified size + +- ByteArrayOutputStream [IO-97] + - Performance enhancements + +============================================================================== +Apache Commons IO Version 1.2 +============================================================================== + +Compatibility with 1.1 +---------------------- +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes + +Deprecations from 1.1 +--------------------- + +Bug fixes from 1.1 +------------------ +- FileSystemUtils.freeSpace(drive) + Fix to allow Windows based command to function in French locale + +- FileUtils.read* + Increase certainty that files are closed in case of error + +- LockableFileWriter + Locking mechanism was broken and only provided limited protection [38942] + File deletion and locking in case of constructor error was broken + +Enhancements from 1.1 +--------------------- +- AgeFileFilter/SizeFileFilter + New file filters that compares against the age and size of the file + +- FileSystemUtils.freeSpaceKb(drive) + New method that unifies result to be in kilobytes [38574] + +- FileUtils.contentEquals(File,File) + Performance improved by adding length and file location checking + +- FileUtils.iterateFiles + Two new method to provide direct access to iterators over files + +- FileUtils.lineIterator + IOUtils.lineIterator + New methods to provide an iterator over the lines in a file [38083] + +- FileUtils.copyDirectoryToDirectory + New method to copy a directory to within another directory [36315] + +============================================================================== +Apache Commons IO Version 1.1 +============================================================================== + +Incompatible changes from 1.0 +----------------------------- +Binary compatible - Yes + +Source compatible - Yes + +Semantic compatible - Yes, except: +- FileUtils.writeStringToFile() + A null encoding previously used 'ISO-8859-1', now it uses the platform default + Generally this will make no difference + +- LockableFileWriter + Improved validation and now create directories if necesssary + +plus these bug fixes may affect you semantically: +- FileUtils.touch() (Bug fix 29821) + Now creates the file if it did not previously exist + +- FileUtils.toFile(URL) (Bug fix 32575) + Now handles escape syntax such as %20 + +- FileUtils.sizeOfDirectory() (Bug fix 36801) + May now return a size of 0 if the directory is security restricted + +Deprecations from 1.0 +--------------------- +- CopyUtils has been deprecated. + Its methods have been moved to IOUtils. + The new IOUtils methods handle nulls better, and have clearer names. + +- IOUtils.toByteArray(String) - Use {@link String#getBytes()} +- IOUtils.toString(byte[]) - Use {@link String#String(byte[])} +- IOUtils.toString(byte[],String) - Use {@link String#String(byte[],String)} + +Bug fixes from 1.0 +------------------ +- FileUtils - touch() [29821] + Now creates the file if it did not previously exist + +- FileUtils - toFile(URL) [32575] + Now handles escape syntax such as %20 + +- FileFilterUtils - makeCVSAware(IOFileFilter) [33023] + Fixed bug that caused method to be completely broken + +- CountingInputStream [33336] + Fixed bug that caused the count to reduce by one at the end of the stream + +- CountingInputStream - skip(long) [34311] + Bytes from calls to this method were not previously counted + +- NullOutputStream [33481] + Remove unecessary synchronization + +- AbstractFileFilter - accept(File, String) [30992] + Fixed broken implementation + +- FileUtils [36801] + Previously threw NPE when listing files in a security restricted directory + Now throw IOException with a better message + +- FileUtils - writeStringToFile() + Null encoding now correctly uses the platform default + +Enhancements from 1.0 +--------------------- +- FilenameUtils - new class [33303,29351] + A static utility class for working with filenames + Seeks to ease the pain of developing on Windows and deploying on Unix + +- FileSystemUtils - new class [32982,36325] + A static utility class for working with file systems + Provides one method at present, to get the free space on the filing system + +- IOUtils - new public constants + Constants for directory and line separators on Windows and Unix + +- IOUtils - toByteArray(Reader,encoding) + Handles encodings when reading to a byte array + +- IOUtils - toCharArray(InputStream) [28979] + - toCharArray(InputStream,encoding) + - toCharArray(Reader) + Reads a stream/reader into a charatcter array + +- IOUtils - readLines(InputStream) [36214] + - readLines(InputStream,encoding) + - readLines(Reader) + Reads a stream/reader line by line into a List of Strings + +- IOUtils - toInputStream(String) [32958] + - toInputStream(String,encoding) + Creates an input stream that uses the string as a source of data + +- IOUtils - writeLines(Collection,lineEnding,OutputStream) [36214] + - writeLines(Collection,lineEnding,OutputStream,encoding) + - writeLines(Collection,lineEnding,Writer) + Writes a collection to a stream/writer line by line + +- IOUtils - write(...) + Write data to a stream/writer (moved from CopyUtils with better null handling) + +- IOUtils - copy(...) + Copy data between streams (moved from CopyUtils with better null handling) + +- IOUtils - contentEquals(Reader,Reader) + Method to compare the contents of two readers + +- FileUtils - toFiles(URL[]) + Converts an array of URLs to an array of Files + +- FileUtils - copyDirectory() [32944] + New methods to copy a directory + +- FileUtils - readFileToByteArray(File) + Reads an entire file into a byte array + +- FileUtils - writeByteArrayToFile(File,byte[]) + Writes a byte array to a file + +- FileUtils - readLines(File,encoding) [36214] + Reads a file line by line into a List of Strings + +- FileUtils - writeLines(File,encoding,List) + writeLines(File,encoding,List,lineEnding) + Writes a collection to a file line by line + +- FileUtils - EMPTY_FILE_ARRAY + Constant for an empty array of File objects + +- ConditionalFileFilter - new interface [30705] + Defines the behaviour of list based filters + +- AndFileFilter, OrFileFilter [30705] + Now support a list of filters to and/or + +- WildcardFilter [31115] + New filter that can match using wildcard file names + +- FileFilterUtils - makeSVNAware(IOFileFilter) + New method, like makeCVSAware, that ignores Subversion source control directories + +- ClassLoaderObjectInputStream + An ObjectInputStream that supports a ClassLoader + +- CountingInputStream,CountingOutputStream - resetCount() [28976] + Adds the ability to reset the count part way through reading/writing the stream + +- DeferredFileOutputStream - writeTo(OutputStream) [34173] + New method to allow current contents to be written to a stream + +- DeferredFileOutputStream [34142] + Performance optimizations avoiding double buffering + +- LockableFileWriter - encoding support [36825] + Add support for character encodings to LockableFileWriter + Improve the validation + Create directories if necesssary + +- IOUtils and EndianUtils are no longer final [28978] + Allows developers to have subclasses if desired + +============================================================================== +Feedback +============================================================================== + +Open source works best when you give feedback: +http://commons.apache.org/io/ + +Please direct all bug reports to JIRA +http://issues.apache.org/jira/browse/IO + +Or subscribe to the commons-user mailing list (prefix emails by [io]) +http://commons.apache.org/mail-lists.html + +The Commons-IO Team diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000..c7e122a --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: at.chaosfield.packupdate.PackUpdate + diff --git a/src/at/chaosfield/packupdate/FileManager.java b/src/at/chaosfield/packupdate/FileManager.java new file mode 100644 index 0000000..d94cc59 --- /dev/null +++ b/src/at/chaosfield/packupdate/FileManager.java @@ -0,0 +1,158 @@ +package at.chaosfield.packupdate; + +import java.io.*; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +import org.apache.commons.io.FileUtils; + +/** + * Created by Jakob (XDjackieXD) Riepler & Phillip (Canitzp) Canitz + */ +public class FileManager{ + + //open an online file for reading. + public static BufferedReader getOnlineFile(String fileUrl) throws IOException{ + return new BufferedReader(new BufferedReader(new InputStreamReader(new URL(fileUrl).openStream()))); + } + + public static boolean deleteLocalFile(String fileName){ + File file = new File(fileName); + return file.delete(); + } + + public static boolean deleteLocalFolderContents(String path){ + try{ + File file = new File(path); + if(file.exists()) + FileUtils.cleanDirectory(file); + else + return file.mkdir(); + return true; + }catch(IOException e){ + return false; + } + } + + public static boolean unzipLocalFile(String zipFile, String outputPath){ + //Unzip the config file + + byte[] buffer = new byte[1024]; + + try{ + File input = new File(zipFile); + File output = new File(outputPath); + + if(!output.exists()){ + output.mkdir(); + } + + ZipInputStream zis = new ZipInputStream(new FileInputStream(input)); + ZipEntry ze; + + while((ze = zis.getNextEntry()) != null){ + if(ze.isDirectory()) + continue; + + File file = new File(outputPath + File.separator + ze.getName()); + new File(file.getParent()).mkdirs(); + FileOutputStream fos = new FileOutputStream(file); + int length; + while((length = zis.read(buffer)) > 0) + fos.write(buffer, 0, length); + fos.close(); + } + zis.closeEntry(); + zis.close(); + + return true; + }catch(Exception e){ + return false; + } + } + + //open a local file for reading. Create an empty one if it doesn't exist + public static BufferedReader getLocalFile(String fileName) throws IOException{ + File file = new File(fileName); + BufferedReader reader = null; + for(int i = 0; i < 3; i++){ + try{ + reader = new BufferedReader(new FileReader(file)); + }catch(FileNotFoundException e){ + file.getParentFile().mkdirs(); + file.createNewFile(); + } + } + return reader; + } + + //open a local file for writing. Create an empty one if it doesn't exist + public static BufferedWriter writeLocalFile(String fileName) throws IOException{ + File file = new File(fileName); + BufferedWriter writer = null; + for(int i = 0; i < 3; i++){ + try{ + writer = new BufferedWriter(new FileWriter(file)); + }catch(FileNotFoundException e){ + file.getParentFile().mkdirs(); + file.createNewFile(); + } + } + return writer; + } + + //Download a binary file to a given location + public static void downloadFile(String fileUrl, String destination) throws IOException{ + FileUtils.copyURLToFile(new URL(fileUrl), new File(destination)); + } + + //Parse a PackInfo CSV file "name,version,download url,type" + //type is either "resource", "mod" or "config". + //config has to be a zip file that gets extracted into the config folder after deleting the original content + //mod had to be a jar file + //resource has to be a zip file that gets extracted into the resources folder + private static HashMap parsePackinfo(BufferedReader packinfo) throws IOException{ + HashMap parsedInfo = new HashMap(); + String tmp; + while((tmp = packinfo.readLine()) != null){ + if(!tmp.equals("")){ //Ignore empty lines + String[] parsed = tmp.split(","); + if(parsed.length == 4){ + parsedInfo.put(parsed[0], new String[]{parsed[1], parsed[2], parsed[3]}); + } + } + } + return parsedInfo; + } + + //Get all mods that need to be updated + //If returned URL is empty, the entry has to be deleted & if the local version is empty there was no previous version installed. + public static HashMap getAvailableUpdates(String onlineVersionFile, String localVersionFile) throws IOException{ + HashMap onlinePackInfo = parsePackinfo(getOnlineFile(onlineVersionFile)); + HashMap localPackInfo = parsePackinfo(getLocalFile(localVersionFile)); + HashMap needsUpdate = new HashMap(); //Key: Name Value: New Version, Old Version, Download URL, Type + if(onlinePackInfo.isEmpty()) return needsUpdate; + for(Map.Entry entry : onlinePackInfo.entrySet()){ + if(localPackInfo.containsKey(entry.getKey())){ + if(!localPackInfo.get(entry.getKey())[0].equals(entry.getValue()[0])){ + //Entry existed previously and needs to be updated + needsUpdate.put(entry.getKey(), new String[]{entry.getValue()[0], localPackInfo.get(entry.getKey())[0], entry.getValue()[1], entry.getValue()[2]}); + } + }else{ + //Entry didn't exist previously and needs to be downloaded + needsUpdate.put(entry.getKey(), new String[]{entry.getValue()[0], "", entry.getValue()[1], entry.getValue()[2]}); + } + localPackInfo.remove(entry.getKey()); + } + //Entry doesn't exist in the online list anymore. Has to be deleted! -> set new version and download url to "" + for(Map.Entry entry : localPackInfo.entrySet()){ + needsUpdate.put(entry.getKey(), new String[]{"", entry.getValue()[0], "", entry.getValue()[2]}); + } + return needsUpdate; + } +} diff --git a/src/at/chaosfield/packupdate/FxController.java b/src/at/chaosfield/packupdate/FxController.java new file mode 100644 index 0000000..b0597e6 --- /dev/null +++ b/src/at/chaosfield/packupdate/FxController.java @@ -0,0 +1,135 @@ +package at.chaosfield.packupdate; + +import javafx.concurrent.Task; +import javafx.concurrent.WorkerStateEvent; +import javafx.event.EventHandler; +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.control.ProgressBar; +import javafx.stage.Stage; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.zip.ZipInputStream; + +/** + * Created by Jakob (XDjackieXD) Riepler + */ +public class FxController{ + + @FXML + private Label status; + + @FXML + private ProgressBar progress; + + private List parameters; + + private PackUpdate main; + private Stage primaryStage; + + public void setMain(PackUpdate main){ + this.main = main; + this.primaryStage = main.primaryStage; + this.parameters = main.getParameters().getRaw(); + + Task updater = new Task(){ + @Override + protected String[] call(){ + try{ + HashMap updateables = FileManager.getAvailableUpdates(parameters.get(0), parameters.get(2) + File.separator + parameters.get(1)); + updateMessage("To Update: " + updateables.size()); + + int current = 0; + updateProgress(current, updateables.size()); + + final String modsPath = parameters.get(2) + File.separator + "mods" + File.separator; + final String configPath = parameters.get(2) + File.separator + "config"; + final String resourcesPath = parameters.get(2); + + for(Map.Entry entry : updateables.entrySet()){ + updateMessage("Updating " + entry.getKey()); + + switch(entry.getValue()[3]){ + case "mod": + if(!entry.getValue()[2].equals("")){ //If URL is not empty -> download new Version + if(!entry.getValue()[1].equals("")) //If old version exists delete it + if(!FileManager.deleteLocalFile(modsPath + entry.getKey() + "-" + entry.getValue()[1] + ".jar")) + return new String[]{"Delete Failed", "Could not delete file", entry.getKey() + "-" + entry.getValue()[1] + ".jar"}; + FileManager.downloadFile(entry.getValue()[2], modsPath + entry.getKey() + "-" + entry.getValue()[0] + ".jar"); + }else{ + if(!FileManager.deleteLocalFile(modsPath + entry.getKey() + "-" + entry.getValue()[1] + ".jar")) + return new String[]{"Delete Failed", "Could not delete file", entry.getKey() + "-" + entry.getValue()[1] + ".jar"}; + } + break; + + case "config": + if(!entry.getValue()[2].equals("")){ //If URL is not empty -> download new Version + if(!FileManager.deleteLocalFolderContents(configPath)) //delete current config files + return new String[]{"Delete Failed", "Could not delete current config", "Either deleting the config folder's content\nor creating an empty config folder failed."}; + FileManager.downloadFile(entry.getValue()[2], configPath + File.separator + entry.getKey() + "-" + entry.getValue()[0] + ".zip"); + if(!FileManager.unzipLocalFile(configPath + File.separator + entry.getKey() + "-" + entry.getValue()[0] + ".zip", configPath + File.separator)) + return new String[]{"Unpack Failed", "Could net unpack config", "The zip file seems to be corrupted."}; + }else{ + if(!FileManager.deleteLocalFolderContents(configPath)) + return new String[]{"Delete Failed", "Could not delete current config", "Either deleting the config folder's content\nor creating an empty config folder failed."}; + } + break; + + case "resources": + if(!entry.getValue()[2].equals("")){ //If URL is not empty -> download new Version + if(!FileManager.deleteLocalFolderContents(resourcesPath + File.separator + "resources")) //delete current config files + return new String[]{"Delete Failed", "Could not delete current resources", "Either deleting the resources folder's content\nor creating an empty resources folder failed."}; + if(!FileManager.deleteLocalFolderContents(resourcesPath + File.separator + "scripts")) + return new String[]{"Delete Failed", "Could not delete current scripts", "Either deleting the scripts folder's content\nor creating an empty scripts folder failed."}; + FileManager.downloadFile(entry.getValue()[2], resourcesPath + File.separator + "resources" + File.separator + entry.getKey() + "-" + entry.getValue()[0] + ".zip"); + if(!FileManager.unzipLocalFile(resourcesPath + File.separator + "resources" + File.separator + entry.getKey() + "-" + entry.getValue()[0] + ".zip", resourcesPath + File.separator)) + return new String[]{"Unpack Failed", "Could net unpack resources", "The zip file seems to be corrupted."}; + }else{ + if(!FileManager.deleteLocalFolderContents(resourcesPath + File.separator + "resources")) + return new String[]{"Delete Failed", "Could not delete current resources", "Either deleting the resources folder's content\nor creating an empty resources folder failed."}; + if(!FileManager.deleteLocalFolderContents(resourcesPath + File.separator + "scripts")) + return new String[]{"Delete Failed", "Could not delete current scripts", "Either deleting the scripts folder's content\nor creating an empty scripts folder failed."}; + } + break; + + default: + + } + current++; + updateProgress(current, updateables.size()); + System.out.println("Successfully updated " + entry.getKey()); + } + + FileManager.deleteLocalFile(parameters.get(2) + File.separator + parameters.get(1)); + FileManager.downloadFile(parameters.get(0), parameters.get(2) + File.separator + parameters.get(1)); + + }catch(IOException e){ + return new String[]{"Error While Updating", "Could not update", "Got IOException while updating!"}; + } + return null; + } + }; + + progress.progressProperty().bind(updater.progressProperty()); + status.textProperty().bind(updater.messageProperty()); + updater.setOnSucceeded(t -> { + String[] returnValue = (String[])updater.getValue(); + if(returnValue != null){ + System.out.println(returnValue[1] + ": " + returnValue[2]); + main.errorAlert(returnValue[0], returnValue[1], returnValue[2]); + } + primaryStage.close(); + }); + new Thread(updater).start(); + } + + @FXML + private void initialize(){ + + } +} diff --git a/src/at/chaosfield/packupdate/PackUpdate.java b/src/at/chaosfield/packupdate/PackUpdate.java new file mode 100644 index 0000000..6523050 --- /dev/null +++ b/src/at/chaosfield/packupdate/PackUpdate.java @@ -0,0 +1,70 @@ +package at.chaosfield.packupdate; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.control.Alert; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; + +import java.io.IOException; +import java.util.List; + +/** + * Created by Jakob (XDjackieXD) Riepler + */ +public class PackUpdate extends Application{ + + protected Stage primaryStage; + protected VBox rootLayout; + + //The first parameter has to be the link to the online Pack Info CSV file, + //the second parameter has to be the location of the local Pack Info CSV file inside the modpack root and + //the third parameter has to be the path to the modpack root where the mods folder should go. + List parameters; + + public static void main(String[] args){ + launch(args); + } + + @Override + public void start(Stage primaryStage) throws Exception{ + this.primaryStage = primaryStage; + this.primaryStage.setTitle("Updating"); + parameters = this.getParameters().getRaw(); + if(parameters.size() != 3){ + errorAlert("Wrong Parameters", + "Pack Updater was provided with the wrong Parameters", + "If you did not modify any instance settings\nplease contact the modpack author!"); + primaryStage.close(); + return; + } + + initRootLayout(); + } + + public void initRootLayout(){ + try{ + FXMLLoader loader = new FXMLLoader(); + loader.setLocation(PackUpdate.class.getResource("main.fxml")); + rootLayout = loader.load(); + + Scene scene = new Scene(rootLayout); + primaryStage.setScene(scene); + primaryStage.show(); + + ((FxController) loader.getController()).setMain(this); + }catch(IOException e){ + e.printStackTrace(); + } + } + + public void errorAlert(String title, String header, String message){ + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setTitle(title); + alert.setHeaderText(header); + alert.setContentText(message); + alert.initOwner(this.primaryStage); + alert.showAndWait(); + } +} diff --git a/src/at/chaosfield/packupdate/main.fxml b/src/at/chaosfield/packupdate/main.fxml new file mode 100644 index 0000000..44f413d --- /dev/null +++ b/src/at/chaosfield/packupdate/main.fxml @@ -0,0 +1,11 @@ + + + + + + + + +