From 761faf0ef754a7acf4f24e4ce79701df2652dacb Mon Sep 17 00:00:00 2001 From: longwei Date: Mon, 25 Apr 2022 11:02:58 +0800 Subject: [PATCH] delete temp file Signed-off-by: longwei Change-Id: Ib13768b5d9008e6c917086f83b547ab1d6c8acbd --- adapter/ohos/Compressor.java | 93 ++++++++++++++++++++--------------- jar/app_packing_tool.jar | Bin 41682 -> 41847 bytes 2 files changed, 52 insertions(+), 41 deletions(-) diff --git a/adapter/ohos/Compressor.java b/adapter/ohos/Compressor.java index 4bba16dc..80791cd9 100644 --- a/adapter/ohos/Compressor.java +++ b/adapter/ohos/Compressor.java @@ -418,56 +418,67 @@ public class Compressor { * @throws BundleException FileNotFoundException|IOException. */ private void compressAppMode(Utility utility) throws BundleException { - pathToFile(utility, utility.getJsonPath(), NULL_DIR_NAME, false); + List fileList = new ArrayList<>(); + File appOutputFile = new File(utility.getOutPath().trim()); + String tempPath = appOutputFile.getParentFile().getParent() + File.separator + TEMP_HAP_DIR; + try { + pathToFile(utility, utility.getJsonPath(), NULL_DIR_NAME, false); - if (!utility.getCertificatePath().isEmpty()) { - pathToFile(utility, utility.getCertificatePath(), NULL_DIR_NAME, false); - } + if (!utility.getCertificatePath().isEmpty()) { + pathToFile(utility, utility.getCertificatePath(), NULL_DIR_NAME, false); + } - if (!utility.getSignaturePath().isEmpty()) { - pathToFile(utility, utility.getSignaturePath(), NULL_DIR_NAME, false); - } + if (!utility.getSignaturePath().isEmpty()) { + pathToFile(utility, utility.getSignaturePath(), NULL_DIR_NAME, false); + } - File appOutputFile = new File(utility.getOutPath().trim()); - List fileList = new ArrayList<>(); - String tempPath = appOutputFile.getParentFile().getParent() + File.separator + TEMP_HAP_DIR; - File tempDir = new File(tempPath); - if (!tempDir.exists()) { - tempDir.mkdirs(); - } - for (String hapPathItem : utility.getFormattedHapPathList()) { - File hapFile = new File(hapPathItem.trim()); - String hapTempPath = tempDir + File.separator + hapFile.getName(); - fileList.add(hapTempPath); - try { - compressPackinfoIntoHap(hapPathItem, hapTempPath, utility.getPackInfoPath()); - } catch (IOException e) { - LOG.error("Compressor::compressAppMode compress pack.info into hap failed"); - throw new BundleException("Compressor::compressAppMode compress pack.info into hap failed"); + File tempDir = new File(tempPath); + if (!tempDir.exists()) { + tempDir.mkdirs(); + } + for (String hapPathItem : utility.getFormattedHapPathList()) { + File hapFile = new File(hapPathItem.trim()); + String hapTempPath = tempDir + File.separator + hapFile.getName(); + fileList.add(hapTempPath); + try { + compressPackinfoIntoHap(hapPathItem, hapTempPath, utility.getPackInfoPath()); + } catch (IOException e) { + LOG.error("Compressor::compressAppMode compress pack.info into hap failed"); + throw new BundleException("Compressor::compressAppMode compress pack.info into hap failed"); + } + } + for (String hapPath : fileList) { + pathToFile(utility, hapPath, NULL_DIR_NAME, false); } - } - for (String hapPath : fileList) { - pathToFile(utility, hapPath, NULL_DIR_NAME, false); - } - for (String hapPath : fileList) { - deleteFile(hapPath); - } - deleteFile(tempPath); + for (String hapPath : fileList) { + deleteFile(hapPath); + } + deleteFile(tempPath); - if (!utility.getEntryCardPath().isEmpty()) { - String entryCardPath = ENTRYCARD_NAME + utility.getModuleName() + LINUX_FILE_SEPARATOR - + ENTRYCARD_BASE_NAME + ENTRYCARD_SNAPSHOT_NAME; - for (String entryCardPathItem : utility.getformattedEntryCardPathList()) { - pathToFile(utility, entryCardPathItem, entryCardPath, true); + if (!utility.getEntryCardPath().isEmpty()) { + String entryCardPath = ENTRYCARD_NAME + utility.getModuleName() + LINUX_FILE_SEPARATOR + + ENTRYCARD_BASE_NAME + ENTRYCARD_SNAPSHOT_NAME; + for (String entryCardPathItem : utility.getformattedEntryCardPathList()) { + pathToFile(utility, entryCardPathItem, entryCardPath, true); + } } - } - if (!utility.getPackResPath().isEmpty()) { - pathToFile(utility, utility.getPackResPath(), NULL_DIR_NAME, false); + if (!utility.getPackResPath().isEmpty()) { + pathToFile(utility, utility.getPackResPath(), NULL_DIR_NAME, false); + } + File file = new File(utility.getPackInfoPath()); + compressFile(utility, file, NULL_DIR_NAME, false); + } catch (BundleException e) { + LOG.error("Compressor::compressAppMode compress failed"); + throw new BundleException("Compressor::compressAppMode compress failed"); + } finally { + // delete temp file if compress app failed + for (String hapPath : fileList) { + deleteFile(hapPath); + } + deleteFile(tempPath); } - File file = new File(utility.getPackInfoPath()); - compressFile(utility, file, NULL_DIR_NAME, false); } private void copy(InputStream input, OutputStream output) throws IOException { diff --git a/jar/app_packing_tool.jar b/jar/app_packing_tool.jar index 8a80468f23975c4f845bb56eef740bd80a4722b3..0460b71357cf886f5faffef06decf4cc389356ce 100644 GIT binary patch delta 22170 zcmV)EK)}D!#RB)n0u4}00|XQR2nYxOm2H`k4LSprZJCiutOJv6nX&nW0Rxk5nX`cc zl??-vZJDzf5HJM;lWm!kOcg1Acoo$aH@x=Do|2OjNpS^!FTffiN@8{eeemuaH58C?Pfc}vFa6o@Vf7H?+3(%?Dtq(s= z)gMpP|Ecfe#}k%+{$zm8W@dPbY56o~p5Zpn@;J|N+4G!w!P5T~piA_n{P;H)Kgy{W zx#^3XebLrmvh|la`3iS<)z)9*uX~*zZ}8NQ@&nD@Wb#IA{jC6P(CaMy?Ew8o5#cU>pYY>TTmQ_~KezQSn6zKo z`d7C8H7CEZ^=}!S-*Kz&ZT$yZ|Iya}!?~Yq{byVMudV;WxnFJlH(TFt>%ZIj0bBpW z*8k-GO?XJ+hp?rFhEnH;Q6Y?&F5Suz_B;8YH^9(9<%K{#1rY&c2-E4jo+Oo)& z#kQQotXaqWQ^b!~coZm@v*lcVlyF-pn0|6TXBQYmVzvBp21*yoMO?I)A4|B!Qd=Hr z%cE?0G8FsN5DZmxoW$*XO7jV-UW<#k-S z)0WrU@&;SpXv>>y*lc(>T{R$KnVmbcmRc3a+I%R6li?eDVX-L|~P zmiOAS(U!Yx?Mhqj=JD>c<^8tYW6K9@`5+hUwdF&$e3)T)#FmfR@-bUJ&b;(bOYXCO zcfPSwDN}O3zT(qoY{9ESus#U{EBDED&tHujT%B!xbiuvc4;3}Fwd-k%a1#_1n9;tnF0%`Y<}X@*Hmv|K zm*mgMotrzac&;FGYC*}oxy6EvX~lC3OJd*U&g9E2E6QIe$X2M&FPbVSp(MYsAg_3~ zLPzeLIkOA$a_8Y=ZTTkV%PTINgO4de-+2WK@|W>9ptxj4?%e#T%bI;r;?(>F1$p_) z<}IFsTz6j%5YH>ZFbi|%<;@U()T^y32Rg$A2k*kdTtOZ3i{{N;oR>RyY7~`oa`R>> zR&equu?AC^;7)0`SZPU7?wpbt#q-=68w8z)@0`sHR6Ms}NpaCU&gf_?NSn6+Oi(hl zU=Ch|>SZs?2d<~gX1179khg5aqLFTDq%SqvO^xPMhq?LF^A|0fom(`2eSYqAhex=e zByVoPoO$>LC!1G1pP>Y~ojjlc*op#PSsYrsc*Er97on=Cq+lMpcZv=-yLj%hLdD04 zZcB&=!#%TP*__;Yz`o5~=Olyk@(brIV;KS!!3&D9<`poG#7vAZ1yYkgcUein5-usw ziP8yZnq52{n44X_y1H(E*z9T+)Wmh++PaGBs=Vs*a4c6;x)wQeQ$Xk{XSyoopu4VY@W~)(yD=R90!<=`rsde==HPy9| zsTFI(Rs1P#Gjl>kRYhbHaF9NPxy1S2j*}g&0Zy=@uCThizB24+qSW-3P!C}g)Rab6YdRU$hg^15QS)NxURkuIJL{e zb&+Z6i;}AABXde?!&PqH;ty54(<2V5W^5BETOBT26E0VOEe~nNWqDp*tP27i72_Zv zskh`?J~YiJttnJAZGk3`J5X9z7mn1;QADuN+({)NRb5|O7R@Kr)|6G0JLzBzC{j?h zvYN99+c1cSClI51vw5dg*E)OvRy!s-kvCzls`e9H>(h6hy*nA%5lI4Zd9I ziZXw$W{od@cT8!mFBjPmiRLW%b{tk}9jtgIxiv1H1pZPz;uI9ealz`+8i$aHNX-kc zt#Q7CbFpbHHwT=DqY@vhO^Pc+Yn0YZt*8axFmpI!nN(WisuE{9JL1jNHC_@o);Q8= zNdzMK2xt*)L7>X2Yrv~R(_SMoM9SmQJy>BQ5!^CExSWd=40?0*q8p6{!aO1&wP(NgPZG18zeylzIgV zw$#e12Egen>Q~}f8Lnb3L}5i3JloCJA-}4AZMe47rMJiI4i&Tt^b5raZajJ%agVHa z00UHi(f+7%Bx**Kfx5MX(p7pUXdkWu`bM@6*M!WrK5!EBz+;xa%#!aTI!4@!uiRAO zPS~mn2Ihj*J^}(c)lA;*%s z0bizrB<7qji-A#J1^Dp}JEXO$!t0$O%o?|UW56XNtQG3Ho027c1zV=x9<8R-uUr|1 zijSw4zM>kf`m|`(jHmUL)g0|3(8ouuudRrL9UvB@w>y6O!?s04C5B}%QT+Xp>PTrN zKC(Pq8IH~>Dp0|y0-$$X8gDW!?NWG;ehGt7a`c+9((zs-s}eL?+FE=PSgVw^)3Td? z(nqMTFI^SRV~A=uIyIfSW==&JJQVbE%Iv7aVQE)DBP#nJu5|0z({ZP-Qm;N0b@NtN z)RxZ~H zEvSOc;E7%E;b+!`%c`r&o3}7APel!XaGj!tZeDGbIp56_z%63N>!stUB!l$O;YRdNmVV&jXKy8_9K)-Fx&f>M3pabK@X~2UKG+!DqHLa ztfMNL>VqRWI)Wd`9o&H`t6lS$P!>z4##a{CmN>9E&WfAqTv6AIW1u!G>tg(W=J>H} z!dTY@V$DI~x=5|1J))S$V=nkVttp%q9$%-5x{{i3S;fkVvQpO<=}_LB8=^ikKCC?I z2xGccVWo?ro^n-bP2KA1NHYc#D_tIU%y4%X8?E^Eozvrmk|jE3^&KJZ++r3WgPq}d zuB{o<%w0PerMrY@vR0JVg_RC}Osc4h`sC_674(i1(mARkeAAC?b;jsNv@x4rt~{6M zaDwvETkF?mh}6cg39K-txjJq|yf?0#LpBo*qB?Gh9}=uED;#Ez3i2S z$6w<42|2Ao8fV1X@g&M>%RDzJ=9`G$9Ge6FfQcWp(j=lc3w4!7Qtn=E-;RO@?abHE?*zk<&= zbJ3&#Mzp~OVpO~1w8g^790MrTU0UhI^nKeOiq+iO(g;4L)^o^z)xfpkRpAZ83Y{uO zDpV@;e^qO(<~UW{YDIlTWw~!G-`7rYs#r)@#Nm`}U2{5E@*_(JCng^Q?r8o^haCi( zTXzR-K(f|h&!p-VY;YDtnRN8QDzRpM9$cZ76|0;vlbtaOs;a`Z-oS%e3l~}&szU`E z*W#64&xFd-x`=Ckal5u0+Fem|dpS9yqRr-xYUv1fzb;(pb54h}^u1kPZ@J82RaR6v zq6L#U6_%y8x+GFs%TAvfm;Ge_*qy!7X`aKt7KBr*qod*7L3k!iJp^-6Pq2=sjd~+h z-s)Uti*ZyNXy@XUQ+TziF189`$$e0Qo*rrrQ#S>B)b1C5!53PGNmhXWx|CH`*M*lf zx0ViS{jMQ=xLDRjls%!W(p@PGl=!W0Y}Icle?w49)Pg~cG!fJ^O$UZ!e4SfcTe^`y zIH*a@2x>Mz5;OxAyZPs1;AU%zFcBj*jKp)K`y7qu=nbPS`EgKwB0mjk0Ujynmj(uA zeNcWTKM%@(FXWftI!DtFW$_HkujJQ3`HlQCD8H581?BhL><2u=0r7{Rsj<0pa+)nV zronA4jfB$>$ELB`PIIEswDPDomA0}J#pV5i@<(kw^m1EkeGDO@^nQQ2!WV}~Pko}h z{13w1cI`Sh`ibLwA7cV{@YjR#Xa4&C;-MvLDM4+2j5ai=WotuKb!||~RmswtnxHm? zt1ibwKMVwxzsO&s^R~6H3SMkOnL=%~hg^lxs%oH?$4m2;a)Vm6{4FT=Gt9p;IlHvB zSSu*2y}_Ngxn&daU&hg4avm;Z*_KbVbX1#VZc(2u9#$PX$?EKwQI+WM#FA@M)#l*;-02c5j1)jor6YCe)Qr;Z+`UQ zM_+!VDM%6QLX9tTKf52p)L-nz7xR(@d=>cgLE{iE9>9-*=&4m3gM!9jNV2wED~(D? z{KBoENv)B~UGa^Pm>27YvNw`eQ5C69gMhe{3u+fZj~M9+`(B_2>`RWdpd6#YT+kSQ z!e5iYi2P1_1B(5iCU$1AhxppQDZ-AwQ+3wkHtsGiYwJK=jYAKwaQ#2joe`L^@V&n;$_E+HaK`_j&C}G9A3k(lxYB34 z*)L;$+8T$B=Af>x0KRI&%tcjypb8WQ?}mafrEAeNCvDT}Wiv{vDwgFHWg}LKRFsug zW|x)LX0I);smLxbtzDB=UE6LW1ZH^$4X=ZPenIV@8r;LV?IEFUlomMO+Kknr=*Y?f z{%U#BG+sw5jYPkd(G*=-%Lc15O9~qEe>%_X|Am4Oj*7LVtHR7V;QlCoWC|h(Yd=8+ zZNu?D4hGR$7BupWX+dMUF@sYDD9R3M_pW&IocgF)fw}+ky)d*Y+gD% zdz?G+fcB}TmVz;Kk7h%U8Zl;!2XE@pQ6bp8y1KSv6ECh-V(j$x#`Z11WBftB@sEp+ zmX#J8Zi_ot=Fv5)tES8xAZYKW{f9wR!geRNqxZJ9!7 zulB}-=~5$wp<=^-wT@AU&cY)#8@#GowNYCoZoMy{x=>R%W1b){`jqDJR!NrIo@tffrg|S)R6k0+WOhlp;t)W@Fmm?7{tl z#yoaT=gY4J9ok|7Wkg(v>Ns5*Q|eisZcg-}3c3$IYOfX}c{?lI;qW*c8tcprS5{Y6 zRcEvl;BMpceM_M96y z!$YT*EK}Qm06}8`JM%^J0ERNB*`s|1wR&Zm=jErZtp`J`a1d0^Scy9OS!pW}{+HF) zs?fipjyP3E~ve(y%E&D(Z2P6c{YBroTg&sHl6KOb+GE=k2n}P zL)vV)qFMCMCVElOSZpi_8cXreKG(ho8b@;3QN|KWeh@T{HemFZ8>K;G1wYC-FgtX9 zRhe&!_}!a!KB4>ca3l>)(^jHw{MtZfyFbcyo}jVXsKAIUqjA>9w|&%t>V4X37!Bf^bh3EU6v{;qr*t#ZY9LwE@w*e1(P%e`;r)~OQcZo9As1{A*w!6|GS+RJ-mT#H}h9`#0_K z6uUH=b3pseqm!rc_ayXp$J$ImJ z@4xC9ovkHD=KV!aHzF^uS1T)Voui{Rr)(>uw9Alf&gxsch*6{Y7G^wVJ#^;aFH6wa zgBajo)J7X!+ry4B$;~{hHil`}Z)$hyW+-ZX+qQKSjXj8t2cyQ?=-M7?c-ZEDsA*%E zc2U#r)Pl@%wZ-ghH)bo-sUNBjYZkjV+th9`Y4)<1uV4NsuWQ!SE?#Z_xct7Xsy>-bd)ijMa#5~H!hfb|*>8Gu%tgl-g8yMr}{AC|i z=&myOp~45B#9JXF|9aMns*1R2gT~2>s+JrdJ6zBf$2%)(X%TJ`{cbyddOOQ9w#A(o zC|+?4f@=;vDx8z{QS-?93MMk>jFzXYb99GL^_;i5wtBsLzbO`u6h!!-J)bz}5P$Q^ zzq{x^q1C0es}OO!cfQm6g3|u#KwxyQ-aAp#t&O8gQ8dI(SJd(K0rzUxz;yo+ZwE_p zr?A}1W@d$ZmQPRTlUxvo5iNzJ7faJ=g3s;vRFo8(zrxkNjA*;hM@)zIid#|BZR8 zOKVF&Zrc33JpEx&mpRA+ekJyzm2ew?_y)*`VN`*_Q1Vy)4 zMSiqZSN>SFBpL~SmzSua95F~vZ-wXW3Qx$p#??oK-?{8nR}|h5;X4cJ6)z7i!}Dry z#U@93U;u4CXk4w1U-$Myl&j43Mn7QP{Pj~ElDATm>)dv0t;V_e)=JGx=N4QmHS?Ss zaZZgo6|K%(FvG+U9KDp2;I1Jvnvyv#<3(_Fz~1F4Ca-sYRn@)H=bvqca}my&ExR>! z(T?=!rRC+$6#4Nt<`}Unqf^AyITLkoS<2&fS*xz2S?Nos6cjL(40VaeD^Xg*&jsp&?lT(0+V0%O zmArt`UGCg}20loApej@pga(SNuIAf#>FP_9oU?01(VJA=TfZa7O?$MVO4T@qax?h0 z!;q!TH98-8tXo*YxHsx*!1%3S8ynK<9i(1>vmLgu+>@hi+-NJ{kFH-)=c?MS=>@Hf zHa@20{iTXGOy}H#y85%WMxm%3z2EA2;!$nt(3ZV_VrP|GSoy-}31|1Lb6uRhcka+Q zN78fG!AW8>Ib01Wl}TqfDQv%x@j53oc+a>HY+US*I3!z{tEPURY6C$v5`~qQ}A9oZ#7J zuHu6CrjL&Drb*+FHhLCyM_@=~QU@{6X=E-0Dd{lZ5x1V^f8 zSFaD(=BblmgVI~JX_Xz>D*ALtkM#BcRNi6i8Uml`bgZH0G4^kjW8>~K@KpzGHBN0u1 zqaI?H*iAy*hnyyIkiXxT--G-Eu{>Rc{DZ#y1IX|7<@X~0kgxxGR&llA{(a=X@#Q~7{##%E3*^7^<-bP$dtd%LZCPiU48#N~5;kWSQscqXCb0zw_$#TmOuWQco7%aHeyp0S7I;$39i zOJ*!-#gcZ0^&llI){_%U7R%&d$zmfpsbsO4+@WMQb-b54-Ki$)fM*}F@El2!Hc|p@ z0^v4O2<$lkEI5pg*E*s$=zySg(mL~p^A!XayeiUxJfgHc)Oj&LOrD*8*+?ndsWV<( zl2aS0>vl5at@^EKqpSInF%!`lnCndHMQ36DbJQGNopH1-3aJUyO-t3fVwP^m*(457 zA4}_wd`Roz%&kkHCV@zl%85KXX6yz4in1H2dyWjrebhT78!5DdQu*Cu2PNG_J(GJi zQg8iMkz}ewEe)aTXawz~QFIfHp$3fhcgmxiX+GUTE9h3R)jwzh-9{(S9dtU~ zMHkcEbS2$Ge*+YMchD|8AEx{05j-EIf6`<0G(8ST?xPpze)>1

I+1BkF%c{h#z0 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 delta 21947 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 -- Gitee