From 58849d528ab2121b78ee0e095aeb13671fc11e1f Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Sun, 1 May 2022 13:02:15 +0530 Subject: [PATCH] Added support for resolving dependencies of java library projects --- .../assets/data/common/tooling-api-all.jar | Bin 4819881 -> 4828144 bytes .../com/itsaky/androidide/EditorActivity.java | 117 +++++-------- .../services/GradleBuildService.java | 50 +++--- build-tools/project/.gitignore | 1 + build-tools/project/build.gradle | 58 +++++++ build-tools/project/consumer-rules.pro | 0 build-tools/project/proguard-rules.pro | 21 +++ .../projects/ExampleInstrumentedTest.java | 43 +++++ .../project/src/main/AndroidManifest.xml | 17 ++ .../androidide/projects/ProjectManager.kt | 34 ++++ .../com/itsaky/projects/ExampleUnitTest.java | 34 ++++ .../tooling/impl/util/ProjectReader.java | 158 ++++++++++++++---- .../tooling/impl/ToolingApiImplTest.kt | 17 +- .../test/test-home/.androidide/init/model.jar | Bin 55103 -> 77272 bytes .../src/test/test-project/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../test-project/java-library/build.gradle | 6 + .../tooling/api/model/HasModules.kt | 29 ++++ .../tooling/api/model/IdeAndroidModule.kt | 5 +- .../tooling/api/model/IdeGradleProject.kt | 26 +-- .../tooling/api/model/IdeJavaModule.kt | 43 +++++ .../tooling/api/model/JavaContentRoot.kt | 24 +++ .../tooling/api/model/JavaModuleDependency.kt | 29 ++++ .../api/model/JavaModuleExternalDependency.kt | 35 ++++ .../api/model/JavaModuleProjectDependency.kt | 29 ++++ .../tooling/api/model/JavaSourceDirectory.kt | 27 +++ .../model/util/AndroidModulePropertyCopier.kt | 1 - .../tooling/api/model/util/ProjectBuilder.kt | 24 ++- .../tooling/api/util/ToolingApiLauncher.java | 13 ++ build.gradle | 2 +- settings.gradle | 1 + 31 files changed, 680 insertions(+), 168 deletions(-) create mode 100644 build-tools/project/.gitignore create mode 100644 build-tools/project/build.gradle create mode 100644 build-tools/project/consumer-rules.pro create mode 100644 build-tools/project/proguard-rules.pro create mode 100644 build-tools/project/src/androidTest/java/com/itsaky/projects/ExampleInstrumentedTest.java create mode 100644 build-tools/project/src/main/AndroidManifest.xml create mode 100644 build-tools/project/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt create mode 100644 build-tools/project/src/test/java/com/itsaky/projects/ExampleUnitTest.java create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/HasModules.kt create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeJavaModule.kt create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaContentRoot.kt create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleDependency.kt create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleExternalDependency.kt create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleProjectDependency.kt create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaSourceDirectory.kt diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar index 23402b9cf5eede048b850281dcee7f81d49d3297..7f46319e8e727b0662375044a6367aa8df54e481 100644 GIT binary patch delta 117263 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

?f!*@x%a*CfM>} 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

rPCo{#)nuF zI{jUaQuq%11>x=LA84-kMrxqqADEjxNDal;l^H0}`X5l_&C$OiYbpL1uL%`&3$^8T z-2Nws>P`Oz>r+g>P-|ROrKJ5VZo_QdxPO1jv5GD8b)ZEZ)RBq=63C(*>gtNHRXpHH zRVIa6@=OBt)G*ui9FD~F0K8{2=<&l-COrfr- z_;5i(no>y}p*R7bg(uv|LNl-P99*fa5_0c*M-ytTkGP)?LYZIh1jZPMcow`9`+7Q5 zcdi)xOheYmC{CXO&V-6#&c^@+UGef)oB?$*P*;_3Q-hbO+KsjtpfnTASipmR7^tJ9 z&9)*i?p-JzEjCnFlcxGH#GgEk)aG>3P#rEU$GlX7#7G5IwE?`mW?jXQ(&|9PqaCU! zX`hkWMB0q4C~f*Pb<_@|G*;tg-r72FCu6Ynh|@u;`hwFrV>R4DwGJF?0>X*-DnZL} z9z*6f(<1ux&IE4h0Y>aa{8S>up5 z-x%bo?qZI(hIu0Hm^qRLtr3A}3k0lj!vM=+7YlsbBmz|}5qOGKRBOb91X7p2>0%k+0oz&~waNb4Tz(4^ZTqZfZ^5i7a} z$(Wz>i%-mH6q!Hyz_s4Y9vp|f&>>i54<>stxno%$zE}mf204Jq56tGY!dP4d6FxrJ z-KZe43ZDX)sw>ke2N;L>bxLuBm!@=7$4Iqru|OAT*#iO2ITB_i27_0QXgxfU&dCWuZxVc&#t1y4gLtZqlD!45?7pB`JkH6rNJ~aDQm?_0Lt7|A`ef$Oa z(m`i+kmBCI8pzy59WBjK(q%8WdRgzof@y#$G{4*hYB00a!p`)}1tsX}qD64wkQ8oA zja{Mi${rPAODb}OimH0+z;Uz@G`oEBzm~b=N>#nXL-NeV+<#a$T=xLR3KPq6|d20`FUX9PTE5xt!fXz*4 z{vXuN6ROzJ`akFtPtg8sR{_NrCN5xZ<^|@TUx}z_FI1{KK6wR5WuXbiw9-pmRWF1( z`>-m%60T3LywugD-@cQVx4MZ`P>BZmLFYVXhPOIG+G;A0m2bmwm-u+BeR7NZ?2TNm zTZp){s$hJn6wL5IwT9s3`*7X1>|&)QHKI%(bfv?sb&yLw>Np8!LwV+4XGCGXkbH9} zL+}uevKlVeHb}rw>Wh49MF=>=zM3t)^+lzAuBkS0Q=Vehl_6WwsjpEGdYasY!9TZ4x zkh-DN5zAIgHz{kul{*6`f{^O`aV=~@hHiK^i)ZE#jJOL|$O=!VP;RXR14<4C$KY!M zao=4HUsQfXnGP_*A9n=&HW)hb#Nsqd1sX$Y6rzrldcPG&>Sa{RFSFVof~0e>dd;Zc zgs7WJ#^1F82kIZHPLx{UGsp-?eJK=eueYHHw0~L6l%h74TVEU;W$7(;xfx;cn`$uK zQuxV>7`zIXIWc%sZP?R|DkuUbCmeDA7lg2pAW3o-NJdo{Lthtdz=HbzsOBIVTE0O9 zP6dZyRKMpV2rd{z=oY3)7;@VdAmWnS#aYm-FyuBpSRm)x!}NZ(s)f7Q(X6;H%NEt8 zPFO{VP`guDI0RXy35*I?HS$GNxHFgq zva6#Gmkkqvf2yl%OQF~Sj=-4m{2weP7577H=vPDSBpq8O;DQ=Rpk6Hk%9;?p#Rd@= zP!nyb<5m{H*C{KJ?S-1K&2NPj5fi#+iK7_8>?0xZ3VflYNn%dxRzwIV?@tzGb5I*) zL(2av>$(G?I-Y-gPeG8Xpfo9VPyq{f+`+-!5%nGlqS&w?#4gx-M~zYJ#^~6v#a^*@ z#S&ZWMq@$6-UUr!SAL&;`|h~={{Fg~&(6;7&hFbfvm1#*r2N5=_K_yP5>1zdw=io7 zx!W2z&`!pOch$^Dc{V&&q{t~Iq6 z&cU|J%z4y*{_Q38_=#+!=!@|2}TglA~+Eihxz(RBa(^IT96oF8q78r@6sToIi?iS zJQWAIdyE`DTOIJBSin&~0><40;I2oB$q}-0LWG6M6x7HRPA`7MfUiwu#7{z97-cZ6 z1~iUoA?g!N}wrw8ZqkGJ9am|(*djE|4W0+&6V|J&e1btG&R$zQ?f#>mrE zm~SwKu;d6AOU5v9Vqv=emayuqGI<{(ua`YWQb7}V{lllri3T+>`3sE|WNj0Cs9UmF za3^8dMD|;mI-1b4yw7F?PG$QcFNK*<%|R2I+zcu=;4xmhJ*Ar&b}FS*i73BBUc1q`V|d7~mKP|;&_*6HymL(F0hFN;SGx-Vr! zE1}j3_FI9pP0@AiTFHq#gH(|gH-)IPt2lD6DLU^{xQ&JJ_I+xwr^C}wbFs~kn~V({ z9@`8&ew#SqGz*2&CdQR0N^Gztg52jIOMfjzGiW#`!g^NQ%^Wy8P70*%6|m%$Yi2620wa~fOT)oUIj|~J;IG*7f1NWi}J-eHd4>+{~s<#+MH+#7yIRv;DJ<| zeVkRBBcVGdN^m#2yEejurY=L^nTQ1{L+K1=a*!MGC&WrOBNVTbiQ9o9{}X)?(0y63UCZRWP4rXp$jy%@2OSh7qm^_nMeZs1Oafb(^g>Z-P9!}-<^9qMO)mvE zcd_8y#%OwJuOiCO(uwBJ{aY)v-X|`cp>AtaoKPP2FpT@ld&HmL+N2d6Vf&&Wm>VT2 zAE@lMal}s%T^!*|QXAyuyESs@s{wm#ZA>2WU>0-`&Jb0CSPbl3Fy_t*5ngQYpnj!Q zW$48O)J58OjLVq49m{GVq z=x#gos#v%IxhA}WDNKrK6-{ps@N+aLx^w{H2a{PAl2b!vPdA-V2Q4~6LrD^YqiKCd zq&_N{5o(&HQo-=1t)h=QH_(+VX-nI>n7k;pleLzv$Y>C4?1VDAw__|pPCg7jwhA6LDC2wiw<7iGiYA)3mVp&gj&FzMcY|0iDO>Zhyp{IEe>TD(aYk!@tozAfnHH6>UpECwhTV$p=+bZ<(qV-5Lvlkv;Jt zCm#m1LKVv#+1zNz8k;oM9H+dVrWEnk8JVdT6>LHS!l8;Ab?k-6et)Ux^KQsX%7DCW z3~G5pMd1fj)wn#NH=ugAR5ZH+im2;t(u(Q%3bmj&`d<42nF=A-d$F(2G%UqUeU!2Q!7z;tD=IdDqLARjM;x?VwipTmHKCznuxy& zYU=+O4Yk}bWXb!L%6eRhcTiKQKBmT^S2;Ds_W^qw7d8FX$CN7ixU1>oKdRak*cW;5 z_fS(pUsHnEz)wx?#V8I=_}u7=ptk;8ab~f+zsZ~I`eCelRFx5-RA{G$MQ1;>*Oz!R znjtUxVLi1oloLnX)xInk_qbNF5w^A=W9ThF)%dMTngM9RUv!M{rk@93C2&X22rv4Z zh2Vu+hk?l89n)P1&kOb%BD1qq9o8Kd2oz@Q zU1~PM)K1u6zH)q4_BE41X75t_B&U-=Pr67ytuC z1I1nHNuy0I#1-$+gli%CA%-6QNN+}C?y%#tn&#Y5H(>9Mhlt0&scA)lx(Xd&)cayJ zwFohK(zh|_0_q94CTuLCv@RVX3z~DefFu zlZ8ICx(6pdF~Sa4q%fh)#)J6e&531n~bvDPawk#j37rQoA69>c%%p4bDP1!)?jNw2{Qr&y3O6cTNYx@Zcbe(7ix_D^i2vK3i01zqY1T}tgjHq`{v)ogT4vAzBmF35%+uVTq%5eM!lAsp){3sNgNQrSmbKNYe+4YCR= zn2Nowqr*57G0oIia39Hu(w!oGxUtNkX^2&3EQbrHVbBd2&x!cy*aNkn#E44trAH*5 z;bP z5(H6^w)~16tjD-knjxQlh3bnRa-!8-sQ&p=P88gO1?A4Uh+Y3BN2*^y24q!6{>Cy{ z#9=sEIMA}IXpFL&_TIEn)ARS7EB_`M%&p&$vq7IY;x`ZbTeH4$V)#7tZKHqCP>Xyd z(*Gee_kB)MY8W4CHR_<6^|V5~0M_ zE-`rqVd~q8StJOGS%Pngc>?|!)EY`}5{WHzAB{atUjnhCtsqR0S19`e?0y1agNEF4 zFt5I@q4*qA6X9bt&CNlz4v(RmIXFmJq^DX-F>UyvrH1Y{)cDZm9P9lT$JUg-0&79+ zD!?X2A^I;fIg95g2K7q`#J7IGynmN5(eNxKZ$Oh`?@=EU$9B z26Kx&P~V*8XsIrl94=1O_~S)m^O#V`!p8PxVO~^q1rprXpAoHvltHw2g{h688%}O3 zO+ADUBiU~-saNBZ*}D=t4IHbX?`fLaXm%mu$Sj%gCDZSiB)9rSL(?jV|7F{KEXPqE(sirxmf{ntWB^hJ(rT#E|VUuA>`eOimz^1s(O zk+=@~fARS=XFZE!GCI-Pb*QJV4;bQ09skha`lNNJr~c0vQj6?1n5xo{^$`B^ONO)) zdcNVYJ6uK$%KKlz8xWlOR)II*$kgs%sJo*Sz@+0<=6oB~O#ei>jnLhz23oHCppA$> z<|{)J#p$A!W^OdK7US);RO^MNrrd2*-h}%3?x3aoSE#m4>!9!+3<_}5Qqh0VWI?Ve zkd85^d<7Y*MrmtVEq=4DMISANZ-$<|{OQhSOr~8*DVbO-YOU+N?@NsdAZoR5ADl-1Igt*nu}cE z!6`PeR}bY3Gq<5f8a)aQKIvL-QtejSy|5icXfRfWF|XT>PvzJoT;$$U3zcriT2Stz zUiQ*je+qt+We!-~Z&xA^fU>tR0y7d|5%ucbHm=cYoK? z_%y7gU3S7|=G1DL@_~P^whZ;ziNvdJ&{C-x+F+$&&9X_i{U$BF?Pjb*&1ZohD}fMk z$#yN(>tXbwtIN=!7cR2lKf6Z>%v+>&;&yIQjt$4i{m4POggcr($0=K)cDtdGCkM22 zVyU(^GbDDSR0cgbgtxSNVV!VuxmMZt9kEht?IMYd+WpwSoxU6Mw%5DST6D*>G-tau zko0?C@Ko=FLWQl>+Oe)LL`*xWK&k7sE|kD}!*Y9(R@!MZzENvW&G&-!55#v>LYH_Uy;e*b!Xcb_mDvulA#bU&GC9j5v4H ztcJ$NZCc#00?yF)xYn6nTjWN24xpVUJmB!_1IUp3V@_xeqN6H&!igCNFs!j zHgqeO=+a>{#Y3MN++O(jo&DmS^dnf`e)}Pc-X2C@`sWeU8#zSL)}h!~n)M3p45oe| zVrAzj`cepeVu>0e-f)YWf7Dc+4&`B^D#e2ltwqs4YTo@Qf8Ofl&*qn-sEI!U8068ZbrnuDDHBzm`w&z+2HljYOZsEzT1$tqUqAZh9_7m(AH(fpo>A7l(y023!I!*_ zBb!-qQIuLEDqQX$ryWOHQeznjq-Uhu{2`xiWMQdu61DAo0v-D{g*Y-CUyb)EbVDOf zn0!h-q7^6cf4L^go^nq>_gmYrNH9*-MB!BD6!H?Kv&lC1THd%_IP?Ida?vL{123$Jh-bQ0#WUZ+rd`6r=-a#*0ST$Ve9`FGM# zDs>vEA7KgiJ;l~GV=RbXC^dl*X~O6!?6*3N&4|K5*JDcTXeYj=2`Z zAlxGwaK@A>MCZ`uGw4+RU9KdW9p!4ZvGQVyO;LTU*~Yq1?-7#xoaU%Ef>*m41HjQTw{pgi4~G~1_|PR3}ql` zdkGSQaPz%VJ||js3G1h=udEQ)%M5`fkcDU5W%N5`aBsZ@ak&-cMt|Nx+pxQW##@ap zUB#yih2ie{D`7;XKXX4kYZl%<4g=)IcP=16Ck zXuP}0PQ9*OgQT=D24@QP4cKoe?pMU8w@_sv?CI-u#16*5$AUZkjk(-e9VfnBFu~K} zZv^)=Fr+SNZ(xQzzY!;v*NXPy+l1$DAfWV#!QR_QV?|dE zZ)_6nLazA`Pdzx&Gatolp23Nf#AvuUvfwWLIMO!*`N?V@U7C{aU@qQom@Qm^SIO-= zNFzPV66Q=3mSGhk-38oriUpRR;t3I&&4EV@s?_-&ByRtW5xs=o3pm@&duTat7jr^a zfc|OZG7I5EvnL=w2MdtHwrd#-SBR<6cI0y(Lxp6oqx4--73gJQw4+rIbEYubdP?=# zse}zT>#|<&_IsNq1#7~*hv*T%y^qFWJ=^_t{A$C1URY-6(+5UZeIB5%9Tvcmo`Noj zM|t=Fg-@!%;nRI2cRm7W9s(W$m&=D}V_D8RWqbKkd7X8m4hd%rslvd96!-|{13`H8 z{E?|9ZG42rWEVrBk1>Fv8w(eD$1;MS;mAvu(v4{5V=S!eH`0+?EuBB#T>tbKW7bk! zD?U0zSDEh_@2;z}R?E|P9nGny^QODN<#BG|6U5n(D8m7yeQ91PzKF8Pt8WV4{V??v z{!FC-Pchne?!xFmdi@mH8=64@&#<|im&txTY1A_e6K95V;`}pwf!-6S`E&Hgm7jzC z!emC6#OSFy^522GN)JEBEO+=^nZiYfLm)!+0@<3mKu4LQbiQz)L0j-zL~~wZJaZce z1GF74P#=SqS&%Xmw#QhG(q1C2-%Dse3$H9O?*2dPe5kIExmewQu_+e)&bZnL(^s=! zKPvMIos`E0GQ7e8fX`+wBJVX!NH)E~5z2;bR*2JUEYY2J*&+@!>NScu_@D*W3D`C( zevO?0?P*GUgIUSCv+UQOPQC%B-9`HN27%HQ_UlJo3QhIIP1kfZb+4`g>mox+;XR}x zG*pKo>=$J}z)bUiu>$S1gEffk`ZlZxX7(4~>uB>$T@5-g)?CyxMNq@F&-AzmTj$5b z7+U@W4Mo1dRGv+BcncMOE*nF`-(n@P%QpRvviDg!}}VBNI3-;TPwW z|6&clNEbut<752k?7x^m4sWVZHUBed#H3_}YNm?uql+)FhS>ZcvZzTf!QJW8e-Lx3 zw+sbP!h5Wn9p}qb6>=OADe1Q;^i*1-z99`amIMcZQVqCdF{BIv^GWLh3g$ri$UooZL zFea9!q{UXHS>90I`>zl_F$-r8U1BjEV|JO>y2V;|iFOmI^EY%2N!jS}GGi-qP5%82 z@gnBOQr&zbmXP1^>4z<%r0=F~;`*hrG=7*=gYGhP(@KWIEpAe55WOl!lFzbjQYJy7bmzg!j~iwDV&1WlX$H>LxRa!kc^_zuwfhjD&?}3?sa_8a`Lm zTh~Kv0}l(VrZ+p%*0f8<+#uU6n^R#gsay$|OYV-Nil1HYq&g5*e70SPW`snA}M#F;(yl-X2Yodtym(=%y$ zSrlc_04gXedHlb4Hd-Bn5uzAd6$SE;pdW--~jNeSZYC3@;RPG6OAoxR!B)fV3(f0;dKX|(g#n7aNDh?Hw*At%Zcw>X!9k#*p0_cP%XuK@C7U~ zm-I_T#5=!FPaBu$8}N7?DgpYsUr%Aohr1}poXgD&e|%8JVWU|I-}~u9RMQKUclNNJ z)~$f&w4CtoUdZ;$BXqKJ&k>gTT^Ozqje2Bs;3sK^hym>Ty3MCCdc%Y_M}O5 z`qBhD(4r5LyLucowg$bHEVu)MW}VPepSAir9NGy;===v=@{!sJktZp{S8B#4K*N1e zsorPx%#+%W?)f6^)IasiiMlTJ+F~x!`mHt@xOGlXd$*z(%l+_O=r8EGTeV$9gBwq6 z@^%}Q?!8EXm8H%?5}ur{EG3EGuITCZE+4<$nAt{DAQhjAcvX*5@K#phCjZ9 zz?+okj|w&2Cf5MudU!r{3Xmir_%5x(uej}=o@O00N39l!sJ|DGJ`e>P`AAQONp&jF z(m)if(o;R0i#@3jgwXXFZr7IL#ZAxkH1(XhN_t+h$@s$8@K%wUiQz@Cq&ZN>gHrO% zDlz?K!#UzDb*h3)-F!#usz@f`EY2LON)>Sbf?m-{^{U8NcN{!cm72r+LJ#u`eE=`+ zF$9SoU!lfV@D_KuXHLVX8lvp`N~&sTJ2$`Uak_6-+D-(Cy95LC2u=`_%fLyoI^?dj zGf>uZvn~$2u&K6J_6Ft`++Fg}rX6_ZT zsPVNBZ;OY8LHQ8wG8p$U%i?ms=^ZHWi@BrH1|#gSk0mUaOG+uWQ9m{{%#mGjmlyn_ zXBV5bST+O_2Krkuz}dAlH4Bk6*k*ehiYWoobft|Ul1{*#5haDPuMMQ2Do1AT3@yXl zT^kEMt6L%PY=vJ7YsXJ(Bb}$gR$+IYVDl-58R{Sm*8#|~A*n2ltb;kt-B6BPayKab zQ`x#;ObX{P{Oz#cQ^5e|WtKn>7KV)!S;!@CY>xQFnKk*IJ33A{g@HH}%LrJ^g-J%CKyM++(yginWt?~z2D$y>c$i1HWDq7a;zTAR zG)*`WRvmlk;UR`fR1l6fu+n6Kohh^)(mE+w5O+FL$DHl$^&tLTJP(VlFX3{Yx&~a# z#ER=uA7PW4S;86#2NF23IozQ1{HGbu&E^)^k*?J@tE+cIgY^_@aSK|}0Mo144Gq3L z0dJKJLwqu0=p?jk#eQ-9S`%~aHED=cX0+k(42@Yg>lh4MS6OU+LzHr7DkE^gLM^ON zV%LE>;aftp(%5Av_FTT+UX#$8RjG(=Z+eFD|7GtnXlxv0KAA1Dv`P{nqSc!_aOd z)zhJpnszc^^~Y4QF$#ij?cwm9D5;5X>MSRsqa}T*sT8i0D$$r7=9alXn(<#|ES2cO zPO}(K9pE3{FgR84ETTC&e2WL(v0vE-r4sqZph=wlha>PL0pf-sd_@c*{`Ic~mK{u# zM!NonP3CX?$GOhkFqdx1Z5xJtA34Lu+XiKH*>lH+;n`<$H)3Q;8xDK+;#g#;5Vy@S z#W2B0&W{b@T=y-F7+uDQMha|(L$_=r2Bfj2WeS^OM#&(~DPzP_wT4hiio;~% zk{xbjWa||;dZdVj_6h~h4rT76{SoqxIVd>XJ6vhRj}lhQP6{OZRg5S!H~Ie<|4wJ? zKzK~x0J{-#lI~i9yWm}QbEN%^5NWr&Iq(rYEbe_Ue*!*@5jd$rNg&+m8%uiehKB;d zNujw|P*I`ak>EkWO^{kWF9m{Mf;){YGz(nU1Ol&kn`1LS1b7`N^X)&sAyXkH$x;03 z^FJJT*5vu1B_R_P)igOtN)%^A zq6oe?z~)_wpV7MU=WC3#-w#`>a$x%wOp970ovUnAs&Ny8sz)1{5wJf!Z2_H{bVjNX zXjCeyO-nH3#2A?=FwE-ZZi_*G;=xRq0*7$OtC|tlwzWWOkPJpTItqI)x@yq8%-<>* zip(-n|76U;_r)2h#b_KV?X6)B7h6GI)ka2UF03RG9BfmJ_KlIj(KuvC3N}aD#3Bu9 z0%0NM;(cS#K9iALAFFXWQEfA8%hpIAHyrhCjb&Qdrj*xOYA$%;)rL0s9@;iHQbc_& z!pbIST@vkRgPGFxBr0qp@u#fh%g>WqlD@6fNXV9deQ9M|3@W#i8R$!8+ewW?+&@I6 zmSGDwvmGk!W*g{ZDK?;Cs#T6owS$7Iv{NA1YE_`%6hM1YWXNNFbJ+eoK7yPtPeFtH z)?VQ(NWqf9rK3XW+e=LasS_T|!Eh3-hw5cLZ!p?4wcDK;LrXC~-N=lhyeXjrQhL+H zNX4shl=`%>Io^p5(9f7|RM0`{AO!SaznGdfHI|`v9i>>|P)`d|g(q~sBO>_srf(h5 z7Y@$Ahsq3j`gcNcyY|65s<|jG40Rfb8~T+{aL(>5)uO~yR8rso8TX=!t<0JD+}ftb zYY#$Mb8+r*FBMWp4N<7X&Dfv}OU2mLr8DIGI}~40x)v4`Ddx)F$M8}kjC8MqxiPt< zA-n&LrI0kKmC$$sW#Lz>Fww|tUgX^mH*!u#tmL1K%;rUD(p>=w?E6T=NH*nVt@?sd}$j^Sj|& z`)M}H$gDVEs^LJL2bpy=ryE4>oFfMY(D`lQ1RWB=1rYRL~c5^lb+kD*m3l%@&LSQbAc1@77;{*=u{Pz(Ud*}jTfod?+E_E!)NwXk2bOTIjpK~U zRIPq5B=I1J!+~jtJfaWU(7)qt;#FV988S0)tSB>RC)zM%EawccfhbRXCYqB^?hWZX zSMaclBXNR0ybrdY=1;PTd}<|UD3=WeS-M*W;<>Kk@bWLvpd7CUgA1);SUtGWmJFy6 z`_^(b$lQSKsa&QMEvPqG!7zqUR)*P`kaT*ZC9E8E?1zj!WU#Q6!!HV>oyflrWVg-b zNZJD|B1)=YK_77cx{ZhF9dHIzqWF(2?AUf5Ry-e8kM|y8(sp5O*f9W6HG&@4d0hs(5a00x2)SEX?NUjb)uJ`U43nc?$b6lm!~ z4$nGi9-uo70qp#k!LX4Zf^XUI#z+B|&7o#)F{9~lFZx~9CTsK!z<6Ac69`=C- z48^$7{F9L#v}orK!^+zAGu0UeaE*N&J7?)EW;n!Ai|<(d;f%$FGGCdM`0=$(a>3=| z=u9yVIjg@xa{Y&+DkY~loNahgbfG!UmEkDDJx>llsROUV8Y6&=_hpDTbsT|0o%Lgc zFYN>&r213Q2&tWz92m#WLX;kR(nzR&cM#s&!S?IwDsk)-#E+JhiBskw+EEZ%Ts4mF z*kK+h>vTFGp=ovcItnczZxlo?slkX=Vs@=K(%S(YSB}T$lY{Khl5b#mNSypMU9Y}_ zyJcqf`v0#Y${zNeLg@ZziC@fbdF5ahE(;qY#S7=<-$0r%MrtVFW;=j^)XEJvT(PHi z=Z}|4lQmN#ni4rc?AIs((xC(?3d1JBWUl`7bI^#gFD-T%6Ru4#snyyILI}Q@I z*5^U{Jmb761HMnP@Q^G7oo&E_24&$Zy4;Wxx3i=;;U#WOVDb{iqwoK!;>7;(*m-e{ z^gG@fMugJ*31AC@y)GlPm0^cvNvN!Uob~)y6UCT@3hkrWFP_v6h^s(%hd1K6 zG6mW&kI+%QpQXOS^cY(4GrmL}b{mddTA<-XdX|-`APi*8K@nOqoJ@V5VR=~KxG;}MXE3OC*eQNuBV_{=e5B9WFa6~ z4)#{X;m9-_{2N;V@S{`NQj`$dM*bf-6-|?Q<}ycaF{^DHrE24FtrilMVRq5Cc*qPN z$cEKlm;)@K^QYp>$gZ8j?mG=fhc`NwPSm=BtRlS>3{hDQ90Cpm1O^5qyg4@!u>?FWD>t#3^k1_|^Iww;0m}ZbGbz>(e8q_~x7Fq)7?+x|9_IXJqED(@M@npkJiu9j`Vvx!CQjp0iFc^Ri ztf%@Crr@!eSMqo25Ku6c1QJj&4Fnn-ELbDf1jJyHokun=8A&R3r!>n8W1C9%xwR>* zi=MURwL&{^&=q@an@i(MbDQdx=4$tCJ?l@G?JPzw(qxkN@u$OXm+Q`_jmA8eYeJ&e znM9um%Mx?%iV%3WWj|MJpDtH+>=)p~{Soe9VfE%lMn89Wp+xUu7nk>sU-7NH5bDfr zQlHDATm`>k+6b*+N7nHve=kg|nw$R4E*mrR!NNhkv}B5pXZ^HX)U#{N&0hWDM5^xL zzIDy*T(B;EJa10=*e~`2o$hq3+uvmReHPxg+!IQZHlZ7Cym|X2bWHcR-u6Js2vklM z#IfY}R+-}|qOH9WZ^4z3sjj7g^^hp69G&haxP_mi&Vg$X*4X7@MC&D9xxzVMmnbK` zf$p!K*ajq1n}YN0vT1ANQ{D4j%9+?Qcg9xwWV0n;-@)8qF%n2O=bMUG$*1(K9=&)* z(_x#G1VbRs(xtQpQ4&W2IG6!!wnD);r`TyHW@=C69=+XtdN1i7y~9Jz+seaRJg+W| zFx~3Ab6;0l=5(n}etqWn@4wq5i5wDC9PU*UYL{MknI$BOr+mBlw~Ftw1m3U`_jI~B zM!!fO$LjmzZ&Ua=Jk7%Y_7A`BQX{(lebYHqu0AtGuj5F#u7>z6 zoVH6|&RHj~f+i{A%ZM>7J(cJH8iy@}8mqLeB3|yupq;X8!-BBJsy{s8-6trJ8BeP zr3X?dcngX~EjZ;mm9dLLjV^3UGVi{*Au){R#mO5kOgH;4e6IaSnzldFDe{Nn@Vjjc zPLk;nV^(}&jwG4@mrKe8{V7ied!SXQ=sw4JhpinSI`p|6iN=a0phQkH7#@;gJzzTO zINS82J&5w;dACJVIaMB^!`vccBCf~s0FG6{m%grW4u-&IWe`gUvad>~`p%9QNINy4 zR{!(4GR>mECW=R>#vt|WpvRg?Bj1BE_<1~A{WQ#EhTa6Ayb@{EI%t~1tLxv?;6}la zfpl)pq~*&|hk4B}&UVbMa2iM3wkitf-k#b5m-g=dkbNA-5@B>q_uslgtLm# zA?>a_%?dU$ldE~7F|kz7w(XdQquBewl)-aCmAJf5$&F5^0ec{=Y@c@4687uI%tac> z7ek4CF?m9uMm2!fC#XBJTzn0S9Tn+b1c51#ZgXL)L^RCuC%Usa3*!_nPbp$?1RV~C zSfq-qE0*DpY0TqHS)*2V3n(++8vg08sxykXiuH~*(`NhX^YgbUNG8rL3gioG+4ZJZ z`158iMkH(~7=8{p1ceMiNnESNj@9N&Z^UrFKk49s_~iwHAyur2xa#(@eRO?iq+dG} za>H|$JzpgDK5Jb$Gii|v&ym<$kWc$Ev)>i1L{e|}w3McCsI(MDlQNMo+^ISU2!p1d zKLe)cj-VUvj3b#YsBSm*LJFilk3+H@)xh!^*}62jNaT>1;(T#e!^%Tv^}+A0J;quOCnC$xgN+0k_6Kun=| zJYS0%M}jRIAu`k89%o>JOYYfa3`HTRjf-+lt~sIaG8{P6Wf}P2_bOTl3WyVOm^C=5 zg(5!SL*SM6U|CY?fiu$HkuOIKD;YSe`O0pybhFmyopa6c4F4t(+#?mw#z?@v!8Hb4 zt>s!4_j1vU3}G_KXA^H>$LXSKB(1rc{lrUn59u@5Giv)2CQU&UEj1OWLBEB48mGW~ zAVwr;djmrpX!u+%62G8?_)6zDmG5&Z7<|3gx$DF9xD@@YFiKHrD&d z?Ti2YMEWoiUfJ6o?u`GV0n%QdzZ-jrZ9iGqVl|)#6zumM+bzdVILB)ZrI3 zHf5tBr%>;aA5}JY2zEX0KMEL8FwDYQl=-G+v8)cmTC{YGEz4{c0K%0FR~|!4%>Fx7 zFZF)pCOY9JgGzH=8|&50S?eZkvC0MO??hGm;DyrS+%e|iEXNSm8w0wVFHxy$0i z2G?$rHSpDm&4^Ij-|HEHOS!8?L5m-;~p0l_rM;?Sw8WZdHkr z#EC@GI*YG|qqC>(?4#`a&eI074w}>SY&LPF3AoYK?gAEgfLm+&iVdmA_ro zrg$S4#?L*F?eCHYSphNmTw~aUtjrLXA5FN1mQFWe##6d#4_-nv@WG4SPP}yKUnR!7Gc7R2P-bI zF>?J78(!maDK%AEU*Uo(@{}x$m>U|?3TjY(JpWCfqIDz;`(>4!VrUA4&CCtA+_&B} zPa)IVjm|hD?Q7d_Yx?EWCVC^EFkL|fbAFhSB;Y$W@`7=ZGz$fD$-b9es1G;smvQ*; z)6YZ<;FRj;Ul^yvAdHu?_`hB1qhP@jf4%>T)cS*n{=CACUUsEZqdpneez%nS z=fxW7oPzO!pT2Z)6}8zrNVAZct7V3ni3Nk}PjKK=+G_#E=TTLV;;I z2Q82jlao=Ts7pm8)#Xwo>bf_);&d_?YuRoS2Jt0)QlDfyBYHO5dYlJnl zTN6qMhM?|eb8}LZ&!bM;d+x7@b`eFQFm4+{W6&{uKpqUIU>&GxgcCZ|vEvI}^Oc#S z4@6Ej*N7oXcdfvhU0$?+d>qQwX8Rjm9^kc^%MiMvPOwt_1GuO@D|U)&e+L(uzBG8K zPnsB(?!`q|=h6Ei^(3aVQlGpo5M%71-GZb{TR?)-Y$vaQ=W{V7sYYCk(VWnxMaw;*v(-3a%51I$aFJ03Ses$ zCyxXz`vE%)C3=*gcjOsVA1AI!gHzYb^L){8gxAWKsM$m91-IL?kIj4*Gr&J-+3NQ? zyqJ+@zU;PcO4qZ8(3N$uZ4i}x@PuJ06aEN(ezYLpqtZhdEavtQ%`tR*`BMfAg4Lj0@(XTs7{@E zG8(pDcRTad%r_H4#am*Ztl5jL7hQ6mKzh&3GA%N(otROT{;qHNakD<+o27tx?0SiY zVMy1eGE0kOnuGE$7@@dKJb512?Vbjc}8@pJ$sAUBjXX| z6~qtan(P(D52wiV_hpLIi)Xs#YcuNjLV5Em%b{kxGU$R|aq|*C2ykL(rm$p0#~zP>DeP!gn>TcM&evM~{OcO`DfzuhyC~#6>npb^0>{y_6pn=NZ?%A6B>EUbHulH5h`*&a1+kKN7OErgq-$8KH`-CO&R3VD`9cq`I2yk7z>d7Vcce7JxhoS?2 zQIPthB4;`ui8s1sL2@lH_pTz@ea^lk;MEeDb)ed@$Tk40G>@nk4T0hN_d%eRGAN}(jj$ZE!MNIfm>D!iZDAMxoBV zC>l1h49cw_t-Yx64U(O4Bw>hipy@!7w_Ek^C)o&pwVGMTSt@FcQY(@Mi4NKdRS$Bv zJ2P$0W_PnT5Vi}B$dhyNsRQHT&I;5ohe+ACN{QA=0OO5v*3u{Sk<81@`^HNfbgx$g znP>156G$FxXAbI0Yx=rOP*4KlrfE%~n2g3IYyihE`?V7pRjYDthwvmUXNGx-xIo*e z**+tU6C+@b-C7pj_GmtPDF`j-JJzgQ!pXzzP%KMttI=GRC1y9F(;;C~;1;Y4fQ|6D z88zU>6-e8|e<1xSgW!y>cQm zCTPHFPyN~-c)nXPVHaN=G@#)@REn8H?pm5Q7OdHR?LYb^9QK|v_jJlCVSxJ%(o`4Z zFD*1)N9?m0f7=rKM*Z`F`+X7C_8Pjn{}lbS+zBh9TplVbwKHy>4(7vFyyyk-h4Xp# zCr~%L1Xhh|X%{QtnXwG(8Yg@XX^mkSEUbWVX`gabnyCtFngzMVCV#v(Wo~6pSZc>< z*(6=`HJ>YR?UIxb%z?P{?!vr`!vkUArS3Xsph+&wfW)uUXvat0RDxrp66_*0qJ)-b zt?x=qJqo1_Wlaz4ok?ueQdoF3f@B_w8R!BDEX6J`M`7#2>N}u1hy<@YQ6fzy48ph$ zd=iLQyn(UZV-0B>F~YUV@(S_~ODraVb+01fGh`G$XeX}buky+8S5)d}A}TPZ#wg`{ z3_%~XjeQ5h^NGrJw>`E{D*EF-eLou$W?Q%+T;woGypLzuV9<|c26?=(0kUee%4P$vP~xe!6Ut;?^7YtQ;!^D zmZD1_(Ve8X{|1HNBx~o)$g~A;C?T){RVdq@zfO@`Dm$ssZTU5&urgByb;MRs-Ub6@ zCZL-dv(jClRkvOk4h<8KO?!iHGPXI!V__)z5wD8TgJx4PxaI_-wFT=%T++AsK_7NH zF2=zjs%bW)%LfR-5BMPozWQXsqiO_R-k&WgzCHY;`;Y`i&a6N+EF?Ao44>1yduAyu zAy?UG@Pwb0+D*-~@0AW>K13hSb0b&)>NW1yj}?Rk8)RjXtu?@_l@<#%ReCoKXk>Xh z+v`VGqYqelF%XhpA;_2f>2TAl(q{qIvkc?}rGxcseNsWrK);!P>R|8}u{mUHc@r;H zV))+BY}Ty<`=s9M-L#}JjJL?My{BGXb`!#(oJwWhkJGPTa-gZ|dE7JjS5QBy=zyHh z(sA<9rki+=13<1rv2tVh^9Z3}TGi@ny)^S25D|!pZwGyj7n7)xOXs=4$BEaC+fE9e zOdUElFqt_>GA(y$g~eOQ@Vob%rTY&&#~&ohO^zSzwDChm989zBi3f(u(<@BN?y9si z4PwwUR7Ys~k$8@nc~gj8nJYKpbDyXmG{8mgKZP6SpTzy2YRyUU8~mS~O-Cd1PsVnq z0fqPnycr@f{{bjb6UcwSRtgLG9|+Y5{GZeftM~Pv1DoT-@pa+qzZ2DLKrgFdoY&_5qsxA`i(%CA3*!XEAA53(A|-A*R^=D0zH~Y}Odlah1cw5wgDSvC#dlcyeVPMJry3T^EHI!_yr z*1}QJ+MP?9G)Enzt;jv3D>_fjJ|DO(&6~g=WZYM^ezYwNF$ezo!P)ed=xiezdWN2z zboh<2bI4?h`YOAVqogYso*LLcU6{LU^5%%0Rj@NlD_k6#bi6GzQDiIp>s+B<=kKFt zeU&n_1u-Vo#WkK7O+xvS5y-=U0k`-vg+9hwCW|)gYY@%_VT2VWbIk`gJ@l5edb*zU zJDAQ56sA{wvCPpmMVb9DS~{i``Bt|2AJrW#hw2D+=)L~r!sgtqjG_nv{l>pGlW@Lo zKEiq{*@Ph^X48D@IOa3G6#B%*l5vwF8_98F+sDW;<92m5uirIgCPHHc+_c-Zv<@Y6 z97trcI?e^5)2~>}SSIrA*K*!2ZyGKWyFEBr6XU!Y5V`0c)PFU81^F8km~?Op7e zQip~{M$K*hW8DOWxUP*w30K84Z^(@X^*5)Lqgs)rSU4E0VxA;hm0yM`K|#VnYFYA2 znJ>6*&6{uj<%L9h2{oz*l)1(#KUF;YD$bkHEuRJ6`*T?QiR-I{#qIFPn)uyzP`pQZ zVZq%QoBTt1FC-`)CrL?Y_?N9fO^TENr^&Ys*!h4?I#&#J9GV|HS{f?-aH+}P)*p3e z=IHM>bn2t8l!XRaG)^12Vqh_;#_6W}RgH@J9d}QUX%-GGtiO}x0WSB2V-CD6^73Jz zxch9Yn7&p0f$M~8^4vlW*nY_*{Fs8vUwwm=Fm2195%Sb1+yk-kn5y_TtKgMVS2mmN zyEAL_0G_#{PhchCAS1}xTll*i zAF4LN4QT|uKznD=Ea*1`=AS0Jc7L87Px38|f(i7e@F%E&ThH)R-;RNRu0x$%8fffC zd6n7(p4!te3qJgN{>F4%jm)VI8DS9-%VZDq96{H-ww#z$MgU)BmEOrggn6M|>I`bT zi;>aEQ>HB>=?xf%J{Mcr_a$_iK zUXyaJrBCwT758$5D$`=2!|EtxWQ^kpC(g~4C`|0~;RdecLvVB(iN)(y%_l$-&+mH* z)phW@Vh&N4yd6No9~Zp%qW}zPm&K2qThvgXZ;$6yXpP=%Olu}G8F}{4I#z%ZY#=x797b_@lN+KDcoL)Muwp93%9 z9M(HYm$_ikj-**pjk(w->_l~T8Q}$Wz8L=YTJN!WahDxXWof=1ns2yBm#@0a% z$Mo*Q&;DbXqA@)m?T+&^ldBGC{1%rLiqn#yEi-M{L9pE9aA!DHEX(|jTkzxsqLk!yM+01Rfjkb%uf}<0zv*w-Vlc^#89K5P8y6f z8b!vq@S(3O0eS!-hYzJfqe!Fky4u~~qHtL|7EVT?nZy0>VwCP$-&wu+H1)XgL^RO# z#UVg=@7m(C?QXjBc;hqG1+f=`Fd@B});2mJjI~qEeLMt^Doum6B&scq zI9xPWhjofb7p(0_f~Pvrx16wMc;g`K-Hx5&9PeKCclD%l_{FEQ$O1BmT{8uYts|$fGkT@Lc_FYjH`X7S3DMCi=~m< zS?j9e>>zHG&8}hRaG5XQ5EVASAs#JhUZWH}xTGZx3!Sw@KCaAd-!axi%D-4CAup%h zFUy=K;E4Zy6@w6m!r=lJgX?z_l7K_<>HMNetTu(Xsz%P~=C{=$wzFKJQ)L5ApK``y zaNE58Kh@I7ft5;bb7`NIlT~?s=5(wIk%Py3@u$gIdsbr|ivcr$_6yV8IuF_@YoOJt zp_dQGGX90y{wAwLv?ExI_Ro z!Re&*ir*D}L`U!gWN4GI#!wChvJGu2{X0ZlV6qObI9LeL1XbMEZB9#NJ0e1qFB;& zRk_1p*?2mjVAJuKDQxmtB^JY$KOLi0J-2DX6wcHef$p}b={Q7v3w^;Ao6U3bvg}(C zVe!w7D$Blex6LJeem{v$+C{+yyb3h0y!s(eZa>tpz)D$e1 zd@Hd>M(8|dkqEyG!*H^Y@G%#XfEFM#4dp07T94Dp&`-SZ%LFLr14g=(w9^gd}ixCWp+%m?DKFxR);$?ksUFsP0E&eSb65 z%AEfOI52Y}a>(Umpncxy1glQ5ez#dxE1xaY$QDCj^~oDB=UP#hY3Z*^D65~fyR z)E2U``yl#^IE=JrsezBSWqRMc`qLqsL4abzsBTLXGx_J2^8}adre?In8?G+BfS!Tb z6&^48|0V;RI#f8 z0L^$O=rtn52>cKfmK^FKzg%!L$U9?ks7Mk`UcFkzYtGX5bD~cMSus-8Em9x}v!!#~ z{0mV*hXO7JE%&!GEu@ANCN)H!6BAE$OYcdp`7U!s0cYKqHwXn9<(h5Qv6K<30pyf2 zefG!)+O<)z!(|=lzv7E3g|eU%Xi3}*aEemlfne;XA6}=gRPiU;yY(SVcGI8~kv=fH zOAY0^vdLe~i=1j_g_bSQnSJH4Lf7DnH>}d616nd#XO3O@MZ6VA#;Prb5 zE9(JImLa3y)l#4|c8*K3v+x3A+MPZC~yWm-^tfq!9(5QdQ2q z7#QHzr{Y697u(QO_uwAdp~Bcf0G8WiM*p8bUn@Sf6}pyCFtw-H`1eO@Z`)*bBf0!H z_LJcGnLNVg4yTKsoV$I3I=NpI(w%s^J2s-FpV5-jUR%V%*6#sGmKWd&9O<i0q+Wz2sq^2`YxiY6SpVDw5 zG&g9D(nso%YNF}1ZjV1s0AB}@MwbQ^+19KF=y;?rioa>Cat<;jX-0dY6nQ17$hD*^ zcuxHAi0ulwUmi=J?^@xV@*#}XBduj-WI3w-w69uq+?lkKp~*V%7F}g*VxN)}RGFwFU^*%xTnYsmUW^+lbEN?0 zVc9xygWN4mFhJITQ-ksW*F-Ma@zX5XAec9+OVf8(arASY>>6{s3%%>}S6$|8_Ktwf zzMazE`%2i0Yt)qfZS@-0ms*-PTW7QT;z~p|Ez}&DC)K=Jz%hL0a!M%lrAPM~>~{2y z2?KfT96cWFn(Q{A8#_{};K|tgx$*~ikGw$|^LqNe%O7VY}OZI~YUe(AsD!FB}oqA}A>tI#E@ps*%`5`(daK7>E2ncG&hK zXd3cbCc`Q9;gVuyOxX7G6-b4;yh}3bVTzXnm?_RdXJmA8Wsm5o)oRd=2?TUBkzkk0 z6=a3ZZn6~RQf1=2N2e*$qB3RTXNTu0(rsWlXs4V?K$*De7%!!2`K)}XZc9RLcc?kP z#bZ|bJ)fHrT{_dUWJ^Ny_p4Hd&jGDlVKS~&Z;R9`oiP*^UmI=TUr7N7n!DEMj^s|E zt&Q(rQ+TKeP@@qe#hV(O5MQFc|6-o)P8>knaebji>1Z*##_li4pxPGW?RA)IEp@~fzu&aO$5QpX}dlE9^5*mq7lYIGEbz zG8dur;lR|qXZC6ir!81&WzDYU`*M*J0*{w#HLzL4X(gbYel}-B;Bs>U)#+Bb;C-*1 zB_%}w`ehZ=W&x~c6ih4P+_4+nFq+WOPx~kKI*3C)I+@+1&IPMM9@o)SWCn5Ta2LuK zp0y3@RxdH_EQgj=-wAcD)-}5=7Vs;Q|i*+nz~%T6|E>)Z5xrb*_&7U%R+s7=;WI0 z$R-yrKmJLCZSj6B?4jw2vu+q19SE2@>XIQer2{?Tg&l`8wM=XBAk$g3lCx3gzBy0Y zues^W8lM{uMU}DJxktL|Q&wMHEuk>>EkFtHUN7jQNo1S+WCriP`~F7IX!a@cgBj=k zJ?JAzBoF0Y6XBIq1W=ewsSf%G6KREe)d`#QfH-df;--Wy0M|a*rh@1~`{Cj$> z5qg`brw?Ts{b!w)m3XiAdt1QuSTAc_mQgKR3CnHP#Lj7@^0(IlAC>G9H-x3$foqy* zNabqS11ux_5#kFixum)cD6CkaAR*qEUJC*scl8 z_;&EGVh8^{o}WDO(?$}@#FeRqO_RQ8TRu&KV#3~xXHww@_k>xl*srnr^nDTwFM@QJ zCMQ=%SLciUwxFVD6QL1MBpC}#z)5nDEr;nyYfPno_qhCs=8z%J1W}4m3U|bK8jgE| zK*@!FY;MMha)dOllDpn_HAXirbqf&e@V+fMA4Ml6#G3+WFooga?W{ch@tj zNan=sj=N^REq5O(4xgvRWn<6@9(ofBn#Y(Rn|zve(20Ho$Kv(3` zo4lx2@2M)3xR6Ba$D7_>MJ-Q^BX-izQZ=NCH^tBHP+$*r9g)a2S%$N9`kh80gVSZu z^Q40xo7gs<{e!kDbJz=bSX zCqi#|>LuH}7~nxIW-m3z!%ZstU6I12l*WG1v)vR!Yd&A)otrnK9px+(gm4*+o17A% zr%#2rP?{@eQ!J_NnTrp572IFP=_I4Xutu?J!TQqAHVFl0N~KN1_TlJ^p}kujR?SWU4W7 zYL&dZGjJRkBzOs1w9r~SbtwDx zNZl&y2`~T(Mf~nB%j+dKG!tzv7$GLoMNED`%Ss3E(Dd&?bLKDq=Ev#HoI1@`!#HYE z*VnuOr5`R5Rmhde>rSI|oQxV^jjHh)BkBH<2sa{&+7xiAdV+%|8xZr&Qg7*@Tt&-r zT!l{;YhX?_8wV_?4`~+W{k1^M)M+M7Hmt!#56Duj!YTdnGg0c4SR-EoJ|9v^2+6)P zM=O`lNGjZVzc5jesN4L-?}wz1KgG6J!{GS{4_kN;t3PFJ3D*TK*ZiNVpgT{Eg9S)F zY`MojH%5gV<&ak9VSC%Uy9I5rYFq#Yapj0qzRKc{5kF~V5#9Oc6#u1^sfgu8r+Ok8 z1|Y(mVt1UkzFEz1ry--Ye8*}MlD03soLbqYM4gn5DR-*BwP@9LTzZs=|GUhQ8ZU5Q zirYNQ$cwAiT%6Al_Xtk>984%lr{y=wE`AY9nkZ8;YS|tilX|d#5f-oJq|c$+WS%{; zu(3D~EBj;jH%u+PYx$3FUsDr0Fs$9KeaX12uSC8(Nj0t+LG&3|s6M$- zyMSsDmtRZF zPV=7l@V@WZN?gm<*5UL1{5=SJ=*ktm*D%Ag>yqmOhtGCDM2|bUqk@uCjeN4X>7tY# z3>~@FGa!%=&3_5SK#YR&iRE#o88{acS#j5##nkR3D*mjQEzO^}Zei&S?;%G^%Zq*N zoZjy8yL{DOLE-Dje-*32nsMhkpc+$4Ig3itlod>Rlb}^j2~ySWtf4D-#p*p%(Yt3Y zp0x;mZ?}?efBLb4x#lYid)ZV!n&3=_aaIR(uHdgN?cq7+{SJ4RqY+gt1B4a1W;m*u zX>)k6|dSo50o<$kRLZvD9P49x~fVjU|9{kXuua!(!z88 z!Y)bAvzi+#!Nhv?S1o~w31$bZEqnL*$waJ>3far(8cD%%zkjnoX6$ajnt1IAA&1l- zILpXK>{%>A8WJ=_AGnj4uyeSRxUgahZ&OSu zcpN~F?g2^QNpxcq=r2}<=V`&@J28M>n^m~N|EYK(7E%LG$SsP5ORYIIr+Yh+5S`}D zt*987QdI{d12I5Ji3--560$F#igs0#oaES`Dcj#HNDCYOT0*gbUAK8WU~nQpQ1||^ zl^eL%sG{o=5ymf9EdS#hwjVlUYqbB3Y@NhfsTR8J`Z)L&5P{Aaxt1+njgOX7C4=FF zcKIuTCQgkrf;UIp?k`s(vv^5iy`5lLNTsqU)8rynC?mf_g6E1R!9~FvY*krD7xBm) z$!m@B4feS&O51KwUZLMlv0v|6mRm=p4bsA8gA(E_ktBfnqt!gt_p^&_EKu4o0@Sm!%Ho(AXE9bbRGYyNV{f~DNx zAX}^LJl%$QPPj;rZB{e$u86~*i>6XFkMJI5fnpWaASl=(O^H?AL{=kUA23a?>lMMNhf)Ld^oPo_<9L;i%ERDhjtP)_kn&mt zK8r73ysgt$G;jOy(sG)hCoIoxit*5;w6d-cb!M_0_J?2i+A4aQf|#Rg#F!r{(>ACM zYIU5&N4J{}rZIh`y3NKmML&8dr9$7LD3Re_q|&;iMuqAR{6s%0DC6O$^A=1XdtKL@ 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 { if (task != null) { - // TODO Handle multiple application modules - final var app = mRootProject.findFirstApplicationModule(); - if (app == null) { - LOG.error("No application module found in root project. Cannot install APKs"); - return; - } - - final var variants = app.getVariants(); - final var foundVariant = - variants.stream() - .filter(variant -> variant.getName().equals(variantName)) - .findFirst(); - - if (foundVariant.isPresent()) { - final var variant = foundVariant.get(); - final var main = variant.getMainArtifact(); - final var outputListingFile = main.getAssembleTaskOutputListingFile(); - if (outputListingFile == null) { - LOG.error("No output listing file provided with project model"); - return; - } - - final var apkFile = ApkMetadata.findApkFile(outputListingFile); - if (apkFile == null) { - LOG.error( - "No apk file specified in output listing file:", outputListingFile); - return; - } - - install(apkFile); - } else { - LOG.error( - "No", - variantName, - "variant found in application module", - app.getProjectPath()); - } +// // TODO Handle multiple application modules +// final var app = mRootProject.findFirstApplicationModule(); +// if (app == null) { +// LOG.error("No application module found in root project. Cannot install APKs"); +// return; +// } +// +// final var variants = app.getVariants(); +// final var foundVariant = +// variants.stream() +// .filter(variant -> variant.getName().equals(variantName)) +// .findFirst(); +// +// if (foundVariant.isPresent()) { +// final var variant = foundVariant.get(); +// final var main = variant.getMainArtifact(); +// final var outputListingFile = main.getAssembleTaskOutputListingFile(); +// if (outputListingFile == null) { +// LOG.error("No output listing file provided with project model"); +// return; +// } +// +// final var apkFile = ApkMetadata.findApkFile(outputListingFile); +// if (apkFile == null) { +// LOG.error( +// "No apk file specified in output listing file:", outputListingFile); +// return; +// } +// +// install(apkFile); +// } else { +// LOG.error( +// "No", +// variantName, +// "variant found in application module", +// app.getProjectPath()); +// } } }; } @@ -1295,27 +1293,13 @@ public class EditorActivity extends StudioActivity mRootProject = root; CompletableFuture.runAsync( () -> { - final var app = mBuildService.findFirstAndroidModule(root); - if (app == null) { - LOG.error( - "No Android application module is present in root project:", - root.getName()); - return; - } - - // Notify Java language server about updated dependencies - // TODO Java language server must also be notified about updated source - // paths - final var debugDependencies = - app.getVariantDependencyJars().get("debug"); - getApp().getJavaLanguageServer() - .configurationChanged( - new JavaServerConfiguration( - debugDependencies.stream() - .filter(File::exists) - .map(File::toPath) - .collect(Collectors.toSet()), - collectSourcePaths(app))); +// final var app = mBuildService.findFirstAndroidModule(root); +// if (app == null) { +// LOG.error( +// "No Android application module is present in root project:", +// root.getName()); +// return; +// } }) .whenComplete( (result, error) -> { @@ -1327,17 +1311,6 @@ public class EditorActivity extends StudioActivity ThreadUtils.runOnUiThread(() -> mBinding.buildProgressIndicator.setVisibility(View.GONE)); } - private Set collectSourcePaths(IdeAndroidModule app) { - final var paths = new HashSet(); - final var mainSourceProvider = app.getMainSourceSet().getSourceProvider(); - paths.addAll( - mainSourceProvider.getJavaDirectories().stream() - .map(File::toPath) - .collect(Collectors.toList())); - - return paths; - } - private void setupDrawerToggle() { ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( diff --git a/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java b/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java index 511a78876..e5884ee0e 100644 --- a/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java +++ b/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java @@ -238,31 +238,31 @@ public class GradleBuildService extends Service implements BuildService, IToolin public boolean isBuildInProgress() { return isBuildInProgress; } - - /** - * Find the first direct subproject of the given root project that is an {@link - * IdeAndroidModule}. - * - * @param root The project whose subprojects will be searched. - * @return The found {@link IdeAndroidModule} or null. - */ - @Nullable - public IdeAndroidModule findFirstAndroidModule(IdeGradleProject root) { - return root.findFirstApplicationModule(); - } - - /** - * Find all the direct children of the given root project that are {@link IdeAndroidModule} and - * their projectType is {@link - * com.android.builder.model.v2.ide.ProjectType#APPLICATION APPLICATION} - * - * @param root The project whose subprojects will be searched. - * @return The found application modules. Never null. - */ - @NonNull - public List findAndroidModules(@NonNull IdeGradleProject root) { - return root.findApplicationModules(); - } +// +// /** +// * Find the first direct subproject of the given root project that is an {@link +// * IdeAndroidModule}. +// * +// * @param root The project whose subprojects will be searched. +// * @return The found {@link IdeAndroidModule} or null. +// */ +// @Nullable +// public IdeAndroidModule findFirstAndroidModule(IdeGradleProject root) { +// return root.findFirstApplicationModule(); +// } +// +// /** +// * Find all the direct children of the given root project that are {@link IdeAndroidModule} and +// * their projectType is {@link +// * com.android.builder.model.v2.ide.ProjectType#APPLICATION APPLICATION} +// * +// * @param root The project whose subprojects will be searched. +// * @return The found application modules. Never null. +// */ +// @NonNull +// public List findAndroidModules(@NonNull IdeGradleProject root) { +// return root.findApplicationModules(); +// } public void startToolingServer(@Nullable OnServerStartListener listener) { if (toolingServerThread != null && toolingServerThread.isAlive()) { diff --git a/build-tools/project/.gitignore b/build-tools/project/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/build-tools/project/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/build-tools/project/build.gradle b/build-tools/project/build.gradle new file mode 100644 index 000000000..0cecf7100 --- /dev/null +++ b/build-tools/project/build.gradle @@ -0,0 +1,58 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +plugins { + id 'com.android.library' + id 'kotlin-android' +} + +android { + compileSdkVersion rootProject.ext.compileSdk + buildToolsVersion rootProject.ext.buildTools + + defaultConfig { + minSdkVersion rootProject.ext.minSdk + targetSdkVersion rootProject.ext.targetSdk + } + + buildFeatures.viewBinding true + + compileOptions { + sourceCompatibility rootProject.ext.javaSourceVersion + targetCompatibility rootProject.ext.javaTargetVersion + } + + buildTypes { + release { + minifyEnabled true + } + } +} + +dependencies { + implementation "androidx.core:core-ktx:1.7.0" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + + implementation project (path: ':build-tools:tooling-api-model') + implementation project (path: ':lsp:api') + implementation project (path: ':lsp:java') + implementation project (path: ':lsp:xml') + + testImplementation tests.junit + testImplementation tests.google_truth + testImplementation tests.robolectric +} \ No newline at end of file diff --git a/build-tools/project/consumer-rules.pro b/build-tools/project/consumer-rules.pro new file mode 100644 index 000000000..e69de29bb diff --git a/build-tools/project/proguard-rules.pro b/build-tools/project/proguard-rules.pro new file mode 100644 index 000000000..481bb4348 --- /dev/null +++ b/build-tools/project/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/build-tools/project/src/androidTest/java/com/itsaky/projects/ExampleInstrumentedTest.java b/build-tools/project/src/androidTest/java/com/itsaky/projects/ExampleInstrumentedTest.java new file mode 100644 index 000000000..627716996 --- /dev/null +++ b/build-tools/project/src/androidTest/java/com/itsaky/projects/ExampleInstrumentedTest.java @@ -0,0 +1,43 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.projects; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext () { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation ().getTargetContext (); + assertEquals ("com.itsaky.projects.test", appContext.getPackageName ()); + } +} \ No newline at end of file diff --git a/build-tools/project/src/main/AndroidManifest.xml b/build-tools/project/src/main/AndroidManifest.xml new file mode 100644 index 000000000..399cb52f6 --- /dev/null +++ b/build-tools/project/src/main/AndroidManifest.xml @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/build-tools/project/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt b/build-tools/project/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt new file mode 100644 index 000000000..d2489d9cc --- /dev/null +++ b/build-tools/project/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt @@ -0,0 +1,34 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.projects + +import com.itsaky.androidide.tooling.api.model.IdeGradleProject +import com.itsaky.lsp.java.JavaLanguageServer + +/** + * Manages projects in AndroidIDE. + * + * @author Akash Yadav + */ +object ProjectManager { + var rootProject: IdeGradleProject? = null + + fun notifyProjectUpdate (server: JavaLanguageServer) { + rootProject!! + } +} \ No newline at end of file diff --git a/build-tools/project/src/test/java/com/itsaky/projects/ExampleUnitTest.java b/build-tools/project/src/test/java/com/itsaky/projects/ExampleUnitTest.java new file mode 100644 index 000000000..b547a1b43 --- /dev/null +++ b/build-tools/project/src/test/java/com/itsaky/projects/ExampleUnitTest.java @@ -0,0 +1,34 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.projects; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect () { + assertEquals (4, 2 + 2); + } +} \ No newline at end of file diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java index 76adccbd8..5edadbe55 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java @@ -26,6 +26,12 @@ import com.android.builder.model.v2.models.VariantDependencies; import com.itsaky.androidide.tooling.api.model.IdeAndroidModule; import com.itsaky.androidide.tooling.api.model.IdeGradleProject; import com.itsaky.androidide.tooling.api.model.IdeGradleTask; +import com.itsaky.androidide.tooling.api.model.IdeJavaModule; +import com.itsaky.androidide.tooling.api.model.JavaContentRoot; +import com.itsaky.androidide.tooling.api.model.JavaModuleDependency; +import com.itsaky.androidide.tooling.api.model.JavaModuleExternalDependency; +import com.itsaky.androidide.tooling.api.model.JavaModuleProjectDependency; +import com.itsaky.androidide.tooling.api.model.JavaSourceDirectory; import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectSyncIssues; import com.itsaky.androidide.tooling.api.model.internal.DefaultVariant; import com.itsaky.androidide.tooling.api.model.util.AndroidModulePropertyCopier; @@ -39,8 +45,15 @@ import org.gradle.tooling.ProjectConnection; import org.gradle.tooling.UnknownModelException; import org.gradle.tooling.model.GradleProject; import org.gradle.tooling.model.GradleTask; +import org.gradle.tooling.model.idea.IdeaDependency; +import org.gradle.tooling.model.idea.IdeaModule; +import org.gradle.tooling.model.idea.IdeaModuleDependency; +import org.gradle.tooling.model.idea.IdeaProject; +import org.gradle.tooling.model.idea.IdeaSingleEntryLibraryDependency; +import java.util.ArrayList; import java.util.Collections; +import java.util.List; import java.util.Map; /** @@ -52,48 +65,48 @@ public class ProjectReader { public static IdeGradleProject read( ProjectConnection connection, Map outIssues) { - final var modelBuilder = connection.model(GradleProject.class); - configureBuilder(modelBuilder); + final var watch = new StopWatch("Create basic models"); + LOG.debug("Creating Idea project model..."); + final var ideaProject = connection.getModel(IdeaProject.class); + watch.lapFromLast("Idea project model created"); - final var gradleModel = modelBuilder.get(); - if (gradleModel == null) { - return null; - } - - return buildProjectModel(connection, gradleModel, outIssues); + return buildGradleProjectModel(ideaProject, outIssues); } - private static IdeGradleProject buildProjectModel( + private static IdeGradleProject buildModuleProject( ProjectConnection connection, - GradleProject gradleModel, + IdeaModule ideaModule, Map outIssues) { + + final var gradle = ideaModule.getGradleProject(); + final var modelBuilder = connection.model(AndroidProject.class); + addProperty(modelBuilder, AndroidProject.PROPERTY_BUILD_MODEL_ONLY, true); + addProperty(modelBuilder, AndroidProject.PROPERTY_INVOKED_FROM_IDE, true); + try { - final var modelBuilder = connection.model(AndroidProject.class); - configureBuilder(modelBuilder); - addProperty(modelBuilder, AndroidProject.PROPERTY_BUILD_MODEL_ONLY, true); - addProperty(modelBuilder, AndroidProject.PROPERTY_INVOKED_FROM_IDE, true); final var android = modelBuilder.get(); if (android == null) { throw new UnknownModelException( - "Project " + gradleModel.getPath() + " is not an Android project."); + "Project " + gradle.getPath() + " is not an Android project."); } - final var module = buildAndroidProjectModel(gradleModel, android, outIssues); + final var module = buildAndroidModuleProject(gradle, android); readDependencies(connection, module); final var issues = readSyncIssues(connection); - outIssues.put(gradleModel.getPath(), issues); + outIssues.put(gradle.getPath(), issues); return module; } catch (Throwable error) { try { - LOG.info("Building IdeGradleProject model for project:", gradleModel.getPath()); + LOG.info("Building IdeGradleProject model for project:", gradle.getPath()); if (!(error instanceof UnknownModelException)) { // If the error is something else than UnknownModelException, we should log it LOG.error(error); } - return buildGradleProjectModel(gradleModel, outIssues); + + return buildJavaModuleProject(gradle, ideaModule); } catch (Throwable e) { LOG.error("Unable to create model for project", e); return null; @@ -101,6 +114,69 @@ public class ProjectReader { } } + private static IdeJavaModule buildJavaModuleProject(GradleProject gradle, IdeaModule idea) { + + final var builder = new ProjectBuilder(); + builder.setName(gradle.getName()); + builder.setDescription(gradle.getDescription()); + builder.setPath(gradle.getPath()); + builder.setProjectDir(gradle.getProjectDirectory()); + builder.setBuildDir(gradle.getBuildDirectory()); + builder.setBuildScript(gradle.getBuildScript().getSourceFile()); + builder.setContentRoots (collectContentRoots(idea)); + builder.setJavaDependencies(collectJavaDependencies(idea)); + + final var project = builder.buildJavaModule(); + addTasks(gradle, project); + return project; + } + + private static List collectJavaDependencies(IdeaModule idea) { + final var list = new ArrayList(); + for (IdeaDependency dependency : idea.getDependencies()) { + // TODO There might be unresolved dependencies here. We need to handle them too. + if (dependency instanceof IdeaSingleEntryLibraryDependency) { + final var external = (IdeaSingleEntryLibraryDependency) dependency; + // There might be multiple entries of same dependency, but with different scope + // So we only add dependencies with 'RUNTIME' scope + if (external.getScope().getScope().equals("RUNTIME")) { + list.add( + new JavaModuleExternalDependency( + external.getFile(), + external.getSource(), + external.getJavadoc())); + } + } else if (dependency instanceof IdeaModuleDependency) { + final var project = ((IdeaModuleDependency) dependency); + list.add(new JavaModuleProjectDependency(project.getTargetModuleName())); + } + } + return list; + } + + private static List collectContentRoots(IdeaModule module) { + final var list = new ArrayList(); + for (var contentRoot : module.getContentRoots()) { + final var thisRoot = new JavaContentRoot(); + for (var sourceDir : contentRoot.getSourceDirectories()) { + thisRoot.getSourceDirectories() + .add( + new JavaSourceDirectory( + sourceDir.getDirectory(), sourceDir.isGenerated())); + } + + for (var testDir : contentRoot.getTestDirectories()) { + thisRoot.getTestDirectories() + .add( + new JavaSourceDirectory( + testDir.getDirectory(), testDir.isGenerated())); + } + + list.add(thisRoot); + } + return list; + } + private static DefaultProjectSyncIssues readSyncIssues(ProjectConnection connection) { final var builder = connection.model(ProjectSyncIssues.class); addProperty(builder, AndroidProject.PROPERTY_BUILD_MODEL_ONLY, true); @@ -130,7 +206,6 @@ public class ProjectReader { addProperty(modelFinder, AndroidProject.PROPERTY_BUILD_MODEL_ONLY, true); addProperty(modelFinder, AndroidProject.PROPERTY_INVOKED_FROM_IDE, true); modelFinder.addProgressListener(new LoggingProgressListener()); - configureBuilder(modelFinder); final var variantDependencies = AndroidModulePropertyCopier.INSTANCE.copy(modelFinder.run()); android.getVariantDependencies().put(name, variantDependencies); @@ -141,10 +216,8 @@ public class ProjectReader { launcher.addArguments(String.format("-P%s=%s", property, value)); } - private static IdeAndroidModule buildAndroidProjectModel( - GradleProject gradle, - AndroidProject android, - Map outIssues) { + private static IdeAndroidModule buildAndroidModuleProject( + GradleProject gradle, AndroidProject android) { LOG.debug("Building IdeAndroidModule for project:", gradle.getPath()); final var builder = new ProjectBuilder(); final var copier = AndroidModulePropertyCopier.INSTANCE; @@ -164,14 +237,25 @@ public class ProjectReader { builder.setLintChecksJars(android.getLintChecksJars()); final var module = builder.buildAndroidModule(); - addSubprojects(gradle, module, outIssues); addTasks(gradle, module); return module; } private static IdeGradleProject buildGradleProjectModel( - GradleProject gradle, Map outIssues) { + IdeaProject ideaProject, Map outIssues) { + final var hasGradle = + ideaProject.getModules().stream() + .map(IdeaModule::getGradleProject) + .filter(it -> it.getPath().equals(":")) + .findAny(); + + if (hasGradle.isEmpty()) { + throw new IllegalArgumentException( + "No GradleProject model is associated with project path: " + ":"); + } + + final var gradle = hasGradle.get(); final var builder = new ProjectBuilder(); builder.setName(gradle.getName()); builder.setDescription(gradle.getDescription()); @@ -181,7 +265,7 @@ public class ProjectReader { builder.setBuildScript(gradle.getBuildScript().getSourceFile()); final var project = builder.buildGradleProject(); - addSubprojects(gradle, project, outIssues); + addModules(ideaProject, project, outIssues); addTasks(gradle, project); return project; @@ -193,18 +277,24 @@ public class ProjectReader { } } - private static void addSubprojects( - GradleProject gradle, + private static void addModules( + IdeaProject ideaProject, IdeGradleProject project, Map outIssues) { - for (final var subGradle : gradle.getChildren()) { + for (final var module : ideaProject.getModules()) { + final var gradle = module.getGradleProject(); + if (gradle.getPath().equals(":")) { + // Do not try to add the root project again + continue; + } + final var connection = GradleConnector.newConnector() - .forProjectDirectory(subGradle.getProjectDirectory()) + .forProjectDirectory(gradle.getProjectDirectory()) .connect(); - final var sub = buildProjectModel(connection, subGradle, outIssues); + final var sub = buildModuleProject(connection, module, outIssues); if (sub != null) { - project.getSubprojects().add(sub); + project.getModules().add(sub); } } } @@ -219,6 +309,4 @@ public class ProjectReader { task.isPublic(), project.getProjectPath()); } - - private static void configureBuilder(ConfigurableLauncher launcher) {} } diff --git a/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt b/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt index 6101b977a..7c1dbc9bd 100644 --- a/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt +++ b/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt @@ -17,9 +17,9 @@ package com.itsaky.androidide.tooling.impl -import com.android.builder.model.v2.ide.ProjectType import com.google.common.truth.Truth.assertThat import com.google.gson.GsonBuilder +import com.itsaky.androidide.models.LogLine import com.itsaky.androidide.tooling.api.IToolingApiClient import com.itsaky.androidide.tooling.api.IToolingApiServer import com.itsaky.androidide.tooling.api.messages.InitializeProjectMessage @@ -27,13 +27,13 @@ import com.itsaky.androidide.tooling.api.model.IdeAndroidModule import com.itsaky.androidide.tooling.api.model.IdeGradleProject import com.itsaky.androidide.tooling.api.util.ToolingApiLauncher import com.itsaky.androidide.utils.ILogger +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 import java.io.BufferedReader import java.io.File import java.io.InputStream import java.io.InputStreamReader -import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.JUnit4 /** @author Akash Yadav */ @RunWith(JUnit4::class) @@ -49,7 +49,6 @@ class ToolingApiImplTest { val result = server.initialize(InitializeProjectMessage(getTestProject().absolutePath)).get() val project = result.project - log.debug(result.syncIssues.asJson()) assertThat(project).isNotNull() assertThat(project!!).isInstanceOf(IdeGradleProject::class.java) @@ -69,7 +68,6 @@ class ToolingApiImplTest { } private fun assertAndroidModule(android: IdeAndroidModule) { - assertThat(android.projectType).isEqualTo(ProjectType.APPLICATION) assertThat(android.viewBindingOptions).isNotNull() assertThat(android.viewBindingOptions!!.isEnabled).isFalse() } @@ -110,6 +108,13 @@ class ToolingApiImplTest { private class TestClient : IToolingApiClient { private val log = ILogger.newInstance(javaClass.simpleName) + override fun logMessage(line: LogLine) { + log.log(ILogger.priority(line.priorityChar), line.formattedTagAndMessage()) + } + override fun logOutput(line: String) {} + override fun prepareBuild() {} + override fun onBuildSuccessful(tasks: List) {} + override fun onBuildFailed(tasks: List) {} } private class Reader(val input: InputStream) : Runnable { diff --git a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar index f2069bd6d7852ae9f98f28174a1310519868df62..60c3669abccccac3e5338cbcb3c15ce1d541d2c7 100644 GIT binary patch delta 56026 zcmZU3Q*dBGw{9k!*tTuk*2K=lwlT?`*w)1M#I|kQwyit=Ik)QEQ@0Uji*4 zW#}w#Z{liW>datlW9aOh87FLwDvUPtRVU4HVs*w*k=6(!BD^Zf%ZvtI?vHsf$`KC1 z$Suz@$24Lh>1HO{aj^G{%_ntz9D=gN;D_f$-Fy4^LD=Paw+Vc{f4snUV`s74OSla- zxEsA@M#vqi%hIDiE#hQGwLBNSjLQI~&p{3;>KGC&6j-8s$j&`cM2B+@c@mvrIHGLo zzT(XFG0}73H0>OG3zONb_x9*Ni{0^w<4#2x3Y4;)b@V+ylW_=&I0)~;Zu@kP$CX0H zy>=Q3+wFb2n1V|#T&(yT_EJV+soQh3nbMbrA=QJc;S3B^%C?S`U8xfovGf53%r>QI z=sY5Q29j6*XRX4Nh(%ZPmSYILM@L$ON1Y2V-s8o#hKQpsATa9IBWCA(@~i^CXvZR1 z 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 delta 35102 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. + */ + +package com.itsaky.androidide.tooling.api.model + +/** + * Any project that has modules. + * + * @author Akash Yadav + */ +interface HasModules { + + /** Get the modules. */ + fun getModules(): List +} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt index d4675e640..335a95d6d 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt @@ -38,7 +38,6 @@ class IdeAndroidModule( buildDir: File?, buildScript: File?, parent: IdeGradleProject?, - subprojects: List, tasks: List, override var dynamicFeatures: Collection?, override var flags: DefaultAndroidGradlePluginProjectFlags, @@ -49,8 +48,7 @@ class IdeAndroidModule( override val lintChecksJars: List, override val modelSyncFiles: List ) : - IdeGradleProject( - name, description, path, projectDir, buildDir, buildScript, parent, subprojects, tasks), + IdeGradleProject(name, description, path, projectDir, buildDir, buildScript, parent, tasks), AndroidProject { var variantDependencies: MutableMap = mutableMapOf() @@ -64,7 +62,6 @@ class IdeAndroidModule( buildDir, buildScript, parent, - subprojects, tasks, dynamicFeatures, flags, diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt index 5334e2d79..7ae670aca 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt @@ -19,7 +19,7 @@ package com.itsaky.androidide.tooling.api.model import java.io.File /** - * Default implementation for [IdeGradleProject]. + * A root Gradle project. * @author Akash Yadav */ open class IdeGradleProject( @@ -30,34 +30,22 @@ open class IdeGradleProject( val buildDir: File?, val buildScript: File?, val parent: IdeGradleProject?, - val subprojects: List, val tasks: List, -) { +) : HasModules { - protected val gsonType: String = javaClass.name + private val gsonType: String = javaClass.name + private val moduleProjects: MutableList = mutableListOf() + override fun getModules(): List = moduleProjects fun findByPath(path: String): IdeGradleProject? { if (path == this.projectPath) { return this } - for (sub in subprojects) { - val subSub = sub.findByPath(path) - if (subSub != null) { - return subSub - } - } - - return null + return getModules().firstOrNull { it.projectPath == path } } - // TODO Filter by application modules - fun findApplicationModules(): List = - this.subprojects.filterIsInstance(IdeAndroidModule::class.java) - - fun findFirstApplicationModule(): IdeAndroidModule? = findApplicationModules().firstOrNull() - override fun toString(): String { - return "IdeGradleProject(name=$name, description=$description, projectPath=$projectPath, projectDir=$projectDir, buildDir=$buildDir, buildScript=$buildScript, parent=$parent, subprojects=$subprojects, tasks=$tasks, gsonType='$gsonType')" + return "IdeGradleProject(name=$name, description=$description, projectPath=$projectPath, projectDir=$projectDir, buildDir=$buildDir, buildScript=$buildScript, parent=$parent, subprojects=$moduleProjects, tasks=$tasks, gsonType='$gsonType')" } } diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeJavaModule.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeJavaModule.kt new file mode 100644 index 000000000..1d505f44d --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeJavaModule.kt @@ -0,0 +1,43 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.model + +import java.io.File + +/** + * A java library model. Modules represented by this model does not apply any of the Android + * plugins. + * + * @author Akash Yadav + */ +class IdeJavaModule( + name: String?, + path: String?, + description: String?, + projectDir: File?, + buildDir: File?, + buildScript: File?, + parent: IdeGradleProject?, + tasks: List, + + /** * Source directories of this project. */ + val contentRoots: List, + + /** Dependencies of this project. */ + val dependencies: List +) : IdeGradleProject(name, description, path, projectDir, buildDir, buildScript, parent, tasks) {} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaContentRoot.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaContentRoot.kt new file mode 100644 index 000000000..f67be7b5f --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaContentRoot.kt @@ -0,0 +1,24 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.model + +/** @author Akash Yadav */ +class JavaContentRoot { + val sourceDirectories: List = mutableListOf() + val testDirectories: List = mutableListOf() +} \ No newline at end of file diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleDependency.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleDependency.kt new file mode 100644 index 000000000..5f1a6a4c0 --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleDependency.kt @@ -0,0 +1,29 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.model + +import java.io.File + +/** + * Dependency of an [IdeJavaModule]. + * + * @author Akash Yadav + */ +abstract class JavaModuleDependency(val jarFile: File?) { + private val gsonType = javaClass.name +} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleExternalDependency.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleExternalDependency.kt new file mode 100644 index 000000000..5455ae5ce --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleExternalDependency.kt @@ -0,0 +1,35 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.model + +import java.io.File + +/** + * An external dependency of an [IdeJavaModule]. + * + * @author Akash Yadav + */ +class JavaModuleExternalDependency( + jar: File, + + /** `sources.jar` for this dependency. */ + val sources: File? = null, + + /** `javadoc.jar` for this dependency. */ + val javadoc: File? = null +) : JavaModuleDependency(jar) {} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleProjectDependency.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleProjectDependency.kt new file mode 100644 index 000000000..3cd0521b7 --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaModuleProjectDependency.kt @@ -0,0 +1,29 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.model + +/** + * A project dependency of an [IdeJavaModule]. More details about the project can be fetched by + * querying the [projectPath] in the root project. + * + * @author Akash Yadav + */ +class JavaModuleProjectDependency( + /** The name of the module project. */ + val moduleName: String +) : JavaModuleDependency(null) diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaSourceDirectory.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaSourceDirectory.kt new file mode 100644 index 000000000..d758c228d --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/JavaSourceDirectory.kt @@ -0,0 +1,27 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.model + +import java.io.File + +/** + * A source directory of an [IdeJavaModule]. + * + * @author Akash Yadav + */ +class JavaSourceDirectory(val directory: File, val isGenerated: Boolean) {} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt index 093776c2a..3eb677a5f 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt @@ -91,7 +91,6 @@ object AndroidModulePropertyCopier { module.buildDir, module.buildScript, module.parent, - module.subprojects, module.tasks, module.dynamicFeatures, copy(module.flags), diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt index 4eab6ffe6..9aa8448e2 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt @@ -19,6 +19,9 @@ package com.itsaky.androidide.tooling.api.model.util import com.itsaky.androidide.tooling.api.model.IdeAndroidModule import com.itsaky.androidide.tooling.api.model.IdeGradleProject import com.itsaky.androidide.tooling.api.model.IdeGradleTask +import com.itsaky.androidide.tooling.api.model.IdeJavaModule +import com.itsaky.androidide.tooling.api.model.JavaContentRoot +import com.itsaky.androidide.tooling.api.model.JavaModuleDependency import com.itsaky.androidide.tooling.api.model.internal.DefaultAndroidGradlePluginProjectFlags import com.itsaky.androidide.tooling.api.model.internal.DefaultJavaCompileOptions import com.itsaky.androidide.tooling.api.model.internal.DefaultModelSyncFile @@ -39,7 +42,7 @@ class ProjectBuilder { var buildDir: File? = null var buildScript: File? = null var parent: IdeGradleProject? = null - var subprojects: List = mutableListOf() + var modules: List = mutableListOf() var tasks: List = mutableListOf() var dynamicFeatures: Collection? = mutableListOf() var flags: DefaultAndroidGradlePluginProjectFlags = @@ -50,10 +53,26 @@ class ProjectBuilder { var viewBindingOptions: DefaultViewBindingOptions? = null var modelSyncFiles: List = emptyList() var lintChecksJars: List = mutableListOf() + var contentRoots: List = mutableListOf() + var javaDependencies: List = mutableListOf() fun buildGradleProject(): IdeGradleProject { return IdeGradleProject( - name, description, path, projectDir, buildDir, buildScript, parent, subprojects, tasks) + name, description, path, projectDir, buildDir, buildScript, parent, tasks) + } + + fun buildJavaModule(): IdeJavaModule { + return IdeJavaModule( + name, + path, + description, + projectDir, + buildDir, + buildScript, + parent, + tasks, + contentRoots, + javaDependencies) } fun buildAndroidModule(): IdeAndroidModule = @@ -65,7 +84,6 @@ class ProjectBuilder { buildDir, buildScript, parent, - subprojects, tasks, dynamicFeatures, flags, diff --git a/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java b/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java index cda34ec46..783826985 100644 --- a/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java +++ b/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java @@ -23,7 +23,11 @@ import com.itsaky.androidide.tooling.api.IToolingApiServer; import com.itsaky.androidide.tooling.api.model.IdeAndroidModule; import com.itsaky.androidide.tooling.api.model.IdeGradleProject; import com.itsaky.androidide.tooling.api.model.IdeGradleTask; +import com.itsaky.androidide.tooling.api.model.IdeJavaModule; import com.itsaky.androidide.tooling.api.model.IdeLaunchable; +import com.itsaky.androidide.tooling.api.model.JavaModuleDependency; +import com.itsaky.androidide.tooling.api.model.JavaModuleExternalDependency; +import com.itsaky.androidide.tooling.api.model.JavaModuleProjectDependency; import org.eclipse.lsp4j.jsonrpc.Launcher; @@ -56,11 +60,20 @@ public class ToolingApiLauncher { builder.registerTypeAdapterFactory( RuntimeTypeAdapterFactory.of(IdeGradleProject.class, "gsonType", true) .registerSubtype(IdeAndroidModule.class, IdeAndroidModule.class.getName()) + .registerSubtype(IdeJavaModule.class, IdeJavaModule.class.getName()) .registerSubtype(IdeGradleProject.class, IdeGradleProject.class.getName())); builder.registerTypeAdapterFactory( RuntimeTypeAdapterFactory.of(IdeLaunchable.class, "gsonType", true) .registerSubtype(IdeGradleTask.class, IdeGradleTask.class.getName()) .registerSubtype(IdeLaunchable.class, IdeLaunchable.class.getName())); + builder.registerTypeAdapterFactory( + RuntimeTypeAdapterFactory.of(JavaModuleDependency.class, "gsonType", true) + .registerSubtype( + JavaModuleExternalDependency.class, + JavaModuleExternalDependency.class.getName()) + .registerSubtype( + JavaModuleProjectDependency.class, + JavaModuleProjectDependency.class.getName())); } public static Launcher createServerLauncher( diff --git a/build.gradle b/build.gradle index 56960e472..f81601c06 100755 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ import java.nio.file.Paths import java.util.stream.Collectors buildscript { - ext.kotlin_version = '1.6.20' + ext.kotlin_version = '1.6.21' project.ext { compileSdk = 31 diff --git a/settings.gradle b/settings.gradle index 85e7134ec..92d677368 100755 --- a/settings.gradle +++ b/settings.gradle @@ -27,3 +27,4 @@ include ':build-tools:tooling-api-model' include ':build-tools:xml-formatter' include ':build-tools:builder-api' include ':build-tools:builder-model' +include ':build-tools:project'