From 4ec77cf11f7359fb24a68e9833c06c5ae8606c9b Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Mon, 3 Jul 2023 13:04:56 -0400 Subject: [PATCH 1/4] Upgrade to Gradle 8.2 Resolves wala/WALA#1284. --- .idea/kotlinc.xml | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 62076 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++-- gradlew | 7 ++++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index 0fc3113136..69e86158ba 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ccebba7710deaf9f98673a68957ea02138b60d0a..c1962a79e29d3e0ab67b14947c167a862655af9b 100644 GIT binary patch delta 8979 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 F{TFmrHLU;u delta 8469 zcmY*q~ZGqoW{=01$bgB@1Nex`%9%S2I04)5Jw9+UyLS&r+9O2bq{gY;dCa zHW3WY0%Dem?S7n5JZO%*yiT9fb!XGk9^Q`o-EO{a^j%&)ZsxsSN@2k2eFx1*psqn0e*crIbAO}Rd~_BifMu*q7SUn{>WD$=7n_$uiQ0wGc$?u1hM%gf??nL?m22h!8{ zYmFMLvx6fjz*nwF^tAqx1uv0yEW9-tcIV5Q{HNh`9PMsuqD8VE%oAs5FsWa0mLV$L zPAF5e^$tJ8_Kwp!$N1M<#Z154n!X6hFpk8)eMLu; zaXS71&`24 zV`x~}yAxBw##Oj@qo_@DcBqc+2TB&=bJyZWTeR55zG<{Z@T^hSbMdm~Ikkr?4{7WT zcjPyu>0sDjl7&?TL@ z)cW?lW@Pfwu#nm7E1%6*nBIzQrKhHl`t54$-m>j8f%0vVr?N0PTz`}VrYAl+8h^O~ zuWQj@aZSZmGPtcVjGq-EQ1V`)%x{HZ6pT-tZttJOQm?q-#KzchbH>>5-jEX*K~KDa z#oO&Qf4$@}ZGQ7gxn<;D$ziphThbi6zL^YC;J#t0GCbjY)NHdqF=M4e(@|DUPY_=F zLcX1HAJ+O-3VkU#LW`4;=6szwwo%^R4#UK}HdAXK` z{m!VZj5q9tVYL=^TqPH*6?>*yr>VxyYF4tY{~?qJ*eIoIU0}-TLepzga4g}}D7#Qu zn;6I;l!`xaL^8r*Tz*h`^(xJCnuVR_O@Gl*Q}y$lp%!kxD`%zN19WTIf`VX*M=cDp z*s4<9wP|ev;PARRV`g$R*QV@rr%Ku~z(2-s>nt{JI$357vnFAz9!ZsiiH#4wOt+!1 zM;h;EN__zBn)*-A^l!`b?b*VI-?)Sj6&Ov3!j9k$5+#w)M>`AExCm0!#XL+E{Bp)s;Hochs+-@@)7_XDMPby#p<9mLu+S{8e2Jn`1`1nrffBfy4u)p7FFQWzgYt zXC}GypRdkTUS+mP!jSH$K71PYI%QI-{m;DvlRb*|4GMPmvURv0uD2bvS%FOSe_$4zc--*>gfRMKN|D ztP^WFfGEkcm?sqXoyRmuCgb?bSG17#QSv4~XsbPH>BE%;bZQ_HQb?q%CjykL7CWDf z!rtrPk~46_!{V`V<;AjAza;w-F%t1^+b|r_um$#1cHZ1|WpVUS&1aq?Mnss|HVDRY z*sVYNB+4#TJAh4#rGbr}oSnxjD6_LIkanNvZ9_#bm?$HKKdDdg4%vxbm-t@ZcKr#x z6<$$VPNBpWM2S+bf5IBjY3-IY2-BwRfW_DonEaXa=h{xOH%oa~gPW6LTF26Y*M)$N z=9i`Y8};Qgr#zvU)_^yU5yB;9@yJjrMvc4T%}a|jCze826soW-d`V~eo%RTh)&#XR zRe<8$42S2oz|NVcB%rG(FP2U&X>3 z4M^}|K{v64>~rob;$GO55t;Nb&T+A3u(>P6;wtp6DBGWbX|3EZBDAM2DCo&4w|WGpi;~qUY?Ofg$pX&`zR~)lr)8}z^U3U38Nrtnmf~e7$i=l>+*R%hQgDrj%P7F zIjyBCj2$Td=Fp=0Dk{=8d6cIcW6zhK!$>k*uC^f}c6-NR$ zd<)oa+_fQDyY-}9DsPBvh@6EvLZ}c)C&O-+wY|}RYHbc2cdGuNcJ7#yE}9=!Vt-Q~ z4tOePK!0IJ0cW*jOkCO? zS-T!bE{5LD&u!I4tqy;dI*)#e^i)uIDxU?8wK1COP3Qk{$vM3Sm8(F2VwM?1A+dle z6`M6bbZye|kew%w9l`GS74yhLluJU5R=#!&zGwB7lmTt}&eCt0g(-a;Mom-{lL6u~ zFgjyUs1$K*0R51qQTW_165~#WRrMxiUx{0F#+tvgtcjV$U|Z}G*JWo6)8f!+(4o>O zuaAxLfUl;GHI}A}Kc>A8h^v6C-9bb}lw@rtA*4Q8)z>0oa6V1>N4GFyi&v69#x&CwK*^!w&$`dv zQKRMKcN$^=$?4to7X4I`?PKGi(=R}d8cv{74o|9FwS zvvTg0D~O%bQpbp@{r49;r~5`mcE^P<9;Zi$?4LP-^P^kuY#uBz$F!u1d{Ens6~$Od zf)dV+8-4!eURXZZ;lM4rJw{R3f1Ng<9nn2_RQUZDrOw5+DtdAIv*v@3ZBU9G)sC&y!vM28daSH7(SKNGcV z&5x#e#W2eY?XN@jyOQiSj$BlXkTG3uAL{D|PwoMp$}f3h5o7b4Y+X#P)0jlolgLn9xC%zr3jr$gl$8?II`DO6gIGm;O`R`bN{;DlXaY4b`>x6xH=Kl@ z!>mh~TLOo)#dTb~F;O z8hpjW9Ga?AX&&J+T#RM6u*9x{&%I8m?vk4eDWz^l2N_k(TbeBpIwcV4FhL(S$4l5p z@{n7|sax){t!3t4O!`o(dYCNh90+hl|p%V_q&cwBzT*?Nu*D0wZ)fPXv z@*;`TO7T0WKtFh8~mQx;49VG_`l`g|&VK}LysK%eU4})Cvvg3YN)%;zI?;_Nr z)5zuU1^r3h;Y+mJov*->dOOj>RV^u2*|RraaQWsY5N?Uu)fKJOCSL2^G=RB%(4K{* zx!^cB@I|kJR`b+5IK}(6)m=O{49P5E^)!XvD5zVuzJH{01^#$@Cn514w41BB;FAoS2SYl3SRrOBDLfl5MvgA3 zU6{T?BW}l~8vU;q@p9IOM(=;WdioeQmt?X|=L9kyM&ZsNc*-Knv8@U*O96T@4ZiJ$ zeFL2}pw_~Tm3d4#q!zZS0km@vYgym33C0h(6D)6|Y)*UXI^T`(QPQh$WF?&h(3QYh zqGw@?BTk@VA_VxK@z?a@UrMhY zUD16oqx4$$6J_k0HnXgARm}N#(^yA1MLdbwmEqHnX*JdHN>$5k2E|^_bL< zGf5Z+D!9dXR>^(5F&5gIew1%kJtFUwI5P1~I$4LL_6)3RPzw|@2vV;Q^MeQUKzc=KxSTTX`}u%z?h~;qI#%dE@OZwehZyDBsWTc&tOC1c%HS#AyTJ= zQixj=BNVaRS*G!;B$}cJljeiVQabC25O+xr4A+32HVb;@+%r}$^u4-R?^3yij)0xb z86i@aoVxa%?bfOE;Bgvm&8_8K(M-ZEj*u9ms_Hk#2eL`PSnD#At!0l{f!v`&Kg}M$n(&R)?AigC5Z?T7Jv^lrDL!yYS{4 zq_H}oezX-Svu>dp)wE@khE@aR5vY=;{C-8Hws++5LDpArYd)U47jc-;f~07_TPa^1 zO`0+uIq)@?^!%JXCDid+nt|c@NG1+ce@ijUX&@rV9UiT|m+t-nqVB7?&UX*|{yDBFw9x52&dTh@;CL)Q?6s1gL=CUQTX7#TJPs9cpw<4>GFMUKo|f{! z&(%2hP6ghr%UFVO-N^v9l|tKy>&e%8us}wT0N*l(tezoctVtLmNdGPOF6oaAGJI5R zZ*|k@z3H!~Mm9fXw{bbP6?lV-j#Rfgnjf++O7*|5vz2#XK;kk ztJbi%r0{U5@QwHYfwdjtqJ6?;X{Ul3?W0O0bZ$k*y z4jWsNedRoCb7_|>nazmq{T3Y_{<5IO&zQ?9&uS@iL+|K|eXy^F>-60HDoVvovHelY zy6p(}H^7b+$gu@7xLn_^oQryjVu#pRE5&-w5ZLCK&)WJ5jJF{B>y;-=)C;xbF#wig zNxN^>TwzZbV+{+M?}UfbFSe#(x$c)|d_9fRLLHH?Xbn!PoM{(+S5IEFRe4$aHg~hP zJYt`h&?WuNs4mVAmk$yeM;8?R6;YBMp8VilyM!RXWj<95=yp=4@y?`Ua8 znR^R?u&g%`$Wa~usp|pO$aMF-en!DrolPjD_g#{8X1f=#_7hH8i|WF+wMqmxUm*!G z*4p980g{sgR9?{}B+a0yiOdR()tWE8u)vMPxAdK)?$M+O_S+;nB34@o<%lGJbXbP` z5)<({mNpHp&45UvN`b&K5SD#W){}6Y_d4v~amZPGg|3GdlWDB;;?a=Z{dd zELTfXnjCqq{Dgbh9c%LjK!Epi1TGI{A7AP|eg2@TFQiUd4Bo!JsCqsS-8ml`j{gM& zEd7yU`djX!EX2I{WZq=qasFzdDWD`Z?ULFVIP!(KQP=fJh5QC9D|$JGV95jv)!sYWY?irpvh06rw&O?iIvMMj=X zr%`aa(|{Ad=Vr9%Q(61{PB-V_(3A%p&V#0zGKI1O(^;tkS{>Y<`Ql@_-b7IOT&@?l zavh?#FW?5otMIjq+Bp?Lq)w7S(0Vp0o!J*~O1>av;)Cdok@h&JKaoHDV6IVtJ?N#XY=lknPN+SN8@3Gb+D-X*y5pQ)wnIpQlRR!Rd)@0LdA85}1 zu7W6tJ*p26ovz+`YCPePT>-+p@T_QsW$uE`McLlXb;k}!wwWuh$YC4qHRd=RS!s>2 zo39VCB-#Ew?PAYOx`x!@0qa5lZKrE?PJEwVfkww#aB_$CLKlkzHSIi4p3#IeyA@u@ z`x^!`0HJxe>#V7+Grku^in>Ppz|TD*`Ca4X%R3Yo|J=!)l$vYks|KhG{1CEfyuzK( zLjCz{5l}9>$J=FC?59^85awK0$;^9t9UxwOU8kP7ReVCc*rPOr(9uMY*aCZi2=JBu z(D0svsJRB&a9nY;6|4kMr1Er5kUVOh1TuBwa3B2C<+rS|xJo&Lnx3K-*P83eXQCJ= z(htQSA3hgOMcs`#NdYB17#zP_1N_P0peHrNo1%NsYn=;PgLXTic6b#{Y0Z~x9Ffav z^3eO+diquPfo1AXW*>G(JcGn{yN?segqKL$Wc9po(Kex z#tw_};zd++we+MPhOOgaXSmguul67JOvBysmg?wRf=OUeh(XyRcyY@8RTV@xck_c~ zLFMWAWb4^7xwR)3iO1PIs1<}L3CMJ1L-}s=>_y!`!FvYf^pJO|&nII{!Dz+b?=bUd zPJUUn))z)-TcpqKF(1tr-x1;lS?SB@mT#O7skl0sER{a|d?&>EKKaw* zQ>D^m*pNgV`54BKv?knU-T5bcvBKnI@KZo^UYjKp{2hpCo?_6v(Sg77@nQa{tSKbn zUgMtF>A3hndGocRY+Snm#)Q4%`|Qq3YTOU^uG}BGlz!B=zb?vB16sN&6J`L(k1r+$ z5G6E9tJ~Iwd!d!NH7Q%Z@BR@0e{p6#XF2))?FLAVG`npIjih*I+0!f6;+DM zLOP-qDsm9=ZrI!lfSDn%XuF17$j~gZE@I}S(Ctw&Te75P5?Fj%FLT;p-tm33FaUQc z5cR;$SwV|N0xmjox3V~XL3sV?YN}U0kkfmygW@a5JOCGgce6JyzGmgN$?NM%4;wEhUMg0uTTB~L==1Fvc(6)KMLmU z(12l^#g&9OpF7+Ll30F6(q=~>NIY=-YUJJ}@&;!RYnq*xA9h!iMi`t;B2SUqbyNGn zye@*0#Uu`OQy%utS%IA%$M1f4B|bOH={!3K1=Tc7Ra|%qZgZ{mjAGKXb)}jUu1mQ_ zRW7<;tkHv(m7E0m>**8D;+2ddTL>EcH_1YqCaTTu_#6Djm z*64!w#=Hz<>Fi1n+P}l#-)0e0P4o+D8^^Mk& zhHeJoh2paKlO+8r?$tx`qEcm|PSt6|1$1q?r@VvvMd1!*zAy3<`X9j?ZI|;jE-F(H zIn1+sm(zAnoJArtytHC|0&F0`i*dy-PiwbD-+j`ezvd4C`%F1y^7t}2aww}ZlPk)t z=Y`tm#jNM$d`pG%F42Xmg_pZnEnvC%avz=xNs!=6b%%JSuc(WObezkCeZ#C|3PpXj zkR8hDPyTIUv~?<%*)6=8`WfPPyB9goi+p$1N2N<%!tS2wopT2x`2IZi?|_P{GA|I5 z?7DP*?Gi#2SJZ!x#W9Npm)T;=;~Swyeb*!P{I^s@o5m_3GS2Lg?VUeBdOeae7&s5$ zSL_VuTJih_fq7g8O8b0g+GbmE+xG}^Wx`g~{mWTyr@=h zKlAymoHeZa`DgR?Pj8Yc+I|MrSB>X*ts#wNFOJxs!3aGE)xeTHlF`fC5^g(DTacl$ zx!ezQJdwIyc$8RyNS~Wh{0pp>8NcW)*J=7AQYdT?(QhJuq4u`QniZ!%6l{KWp-0Xp z4ZC6(E(_&c$$U_cmGFslsyX6(62~m*z8Yx2p+F5xmD%6A7eOnx`1lJA-Mrc#&xZWJ zzXV{{OIgzYaq|D4k^j%z|8JB8GnRu3hw#8Z@({sSmsF(x>!w0Meg5y(zg!Z0S^0k# z5x^g1@L;toCK$NB|Fn Date: Mon, 3 Jul 2023 14:46:09 -0400 Subject: [PATCH 2/4] Use concise syntax for lazy property assignment Gradle 8.2's Kotlin DSL now offers [a more concise syntax for setting the values of lazy properties](https://docs.gradle.org/current/userguide/kotlin_dsl.html#kotdsl:assignment). This feature is still incubatng, but is now enabled by default. Let's put it to use! --- build-logic/build.gradle.kts | 2 +- .../com/ibm/wala/gradle/java.gradle.kts | 6 +- .../com/ibm/wala/gradle/publishing.gradle.kts | 48 +++++++------- cast/java/ecj/build.gradle.kts | 2 +- cast/java/test/data/build.gradle.kts | 10 +-- cast/js/build.gradle.kts | 8 +-- cast/js/nodejs/build.gradle.kts | 8 +-- core/build.gradle.kts | 64 +++++++++---------- dalvik/build.gradle.kts | 22 +++---- ide/tests/build.gradle.kts | 2 +- 10 files changed, 86 insertions(+), 86 deletions(-) diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 4548e350e7..8f4f406f6a 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { implementation(libs.gradle.spotless.plugin) } -kotlin.jvmToolchain { languageVersion.set(JavaLanguageVersion.of(11)) } +kotlin.jvmToolchain { languageVersion = JavaLanguageVersion.of(11) } spotless { val ktfmtVersion = libs.versions.ktfmt.get() diff --git a/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts b/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts index 51ded7d7b1..ea44f98fc6 100644 --- a/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts +++ b/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts @@ -23,7 +23,7 @@ repositories { maven { url = uri("https://storage.googleapis.com/r8-releases/raw") } } -the().archivesName.set("com.ibm.wala${project.path.replace(':', '.')}") +the().archivesName = "com.ibm.wala${project.path.replace(':', '.')}" val sourceSets = the() @@ -45,12 +45,12 @@ dependencies { tasks.withType().configureEach { // Generate JDK 11 bytecodes; that is the minimum version supported by WALA - options.release.set(11) + options.release = 11 options.errorprone { // don't run warning-level checks by default as they add too much noise to build output // NOTE: until https://github.com/google/error-prone/pull/3462 makes it to a release, // we need to customize the level of at least one specific check to make this flag work - disableAllWarnings.set(true) + disableAllWarnings = true // warning-level checks upgraded to error, since we've fixed all the warnings error("UnnecessaryParentheses") error("UnusedVariable") diff --git a/build-logic/src/main/kotlin/com/ibm/wala/gradle/publishing.gradle.kts b/build-logic/src/main/kotlin/com/ibm/wala/gradle/publishing.gradle.kts index a8c3763bd0..a20cbc8ccf 100644 --- a/build-logic/src/main/kotlin/com/ibm/wala/gradle/publishing.gradle.kts +++ b/build-logic/src/main/kotlin/com/ibm/wala/gradle/publishing.gradle.kts @@ -21,13 +21,13 @@ val testFixturesJavadoc by val testFixturesJavadocJar by tasks.registering(Jar::class) { - archiveClassifier.set("test-fixtures-javadoc") + archiveClassifier = "test-fixtures-javadoc" from(testFixturesJavadoc.map { it.destinationDir!! }) } val testFixturesSourcesJar by tasks.registering(Jar::class) { - archiveClassifier.set("test-fixtures-sources") + archiveClassifier = "test-fixtures-sources" from(allTestFixturesSource) } @@ -56,15 +56,15 @@ val mavenPublication = } pom { - name.set(project.properties["POM_NAME"] as String) - description.set("T. J. Watson Libraries for Analysis") - inceptionYear.set("2006") - url.set("https://github.com/wala/WALA") + name = project.properties["POM_NAME"] as String + description = "T. J. Watson Libraries for Analysis" + inceptionYear = "2006" + url = "https://github.com/wala/WALA" val pomUrl = url ciManagement { - system.set("GitHub Actions") - url.set("https://github.com/wala/WALA/actions") + system = "GitHub Actions" + url = "https://github.com/wala/WALA/actions" } developers { @@ -77,22 +77,22 @@ val mavenPublication = ) .forEach { entry -> developer { - id.set(entry.key) - name.set(entry.value) - url.set("https://github.com/{$entry.key}") + id = entry.key + name = entry.value + url = "https://github.com/{$entry.key}" } } } issueManagement { - system.set("GitHub") - url.set(pomUrl.map { "$it/issues" }) + system = "GitHub" + url = pomUrl.map { "$it/issues" } } licenses { license { - name.set("Eclipse Public License v2.0") - url.set(pomUrl.map { "$it/blob/master/LICENSE" }) + name = "Eclipse Public License v2.0" + url = pomUrl.map { "$it/blob/master/LICENSE" } } } @@ -103,20 +103,20 @@ val mavenPublication = ) .forEach { topic -> mailingList { - name.set("wala-$topic") - archive.set("https://sourceforge.net/p/wala/mailman/wala-$topic") - subscribe.set("https://sourceforge.net/projects/wala/lists/wala-$topic") - unsubscribe.set( - "https://sourceforge.net/projects/wala/lists/wala-$topic/unsubscribe") - post.set("wala-$topic@lists.sourceforge.net") + name = "wala-$topic" + archive = "https://sourceforge.net/p/wala/mailman/wala-$topic" + subscribe = "https://sourceforge.net/projects/wala/lists/wala-$topic" + unsubscribe = + "https://sourceforge.net/projects/wala/lists/wala-$topic/unsubscribe" + post = "wala-$topic@lists.sourceforge.net" } } } scm { - url.set(pomUrl) - connection.set("scm:git:git://github.com/wala/WALA.git") - developerConnection.set("scm:git:ssh://git@github.com/wala/WALA.git") + url = pomUrl + connection = "scm:git:git://github.com/wala/WALA.git" + developerConnection = "scm:git:ssh://git@github.com/wala/WALA.git" } } } diff --git a/cast/java/ecj/build.gradle.kts b/cast/java/ecj/build.gradle.kts index f375402a9d..f0c333d48d 100644 --- a/cast/java/ecj/build.gradle.kts +++ b/cast/java/ecj/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { testRuntimeOnly(testFixtures(projects.core)) } -application.mainClass.set("com.ibm.wala.cast.java.ecj.util.SourceDirCallGraph") +application.mainClass = "com.ibm.wala.cast.java.ecj.util.SourceDirCallGraph" val run by tasks.existing(JavaExec::class) { diff --git a/cast/java/test/data/build.gradle.kts b/cast/java/test/data/build.gradle.kts index 0d7d25a80d..8bf1cae4d5 100644 --- a/cast/java/test/data/build.gradle.kts +++ b/cast/java/test/data/build.gradle.kts @@ -8,7 +8,7 @@ val compileTestJava by tasks.existing(JavaCompile::class) { options.run { // No need to run Error Prone on our analysis test inputs - errorprone.isEnabled.set(false) + errorprone.isEnabled = false // Some code in the test data is written in a deliberately bad style, so allow warnings compilerArgs.remove("-Werror") compilerArgs.add("-nowarn") @@ -18,7 +18,7 @@ val compileTestJava by val testJar by tasks.registering(Jar::class) { group = "build" - archiveClassifier.set("test") + archiveClassifier = "test" from(compileTestJava) } @@ -43,10 +43,10 @@ spotless { java { targetExclude("**/*") } } val downloadJLex by tasks.registering(VerifiedDownload::class) { - src.set(URL("https://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java")) - checksum.set("fe0cff5db3e2f0f5d67a153cf6c783af") + src = URL("https://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java") + checksum = "fe0cff5db3e2f0f5d67a153cf6c783af" val downloadedSourceDir by extra(layout.buildDirectory.dir(name)) - dest.set(downloadedSourceDir.map { it.file("JLex/Main.java") }) + dest = downloadedSourceDir.map { it.file("JLex/Main.java") } } sourceSets.test.get().java.srcDir(downloadJLex.map { it.extra["downloadedSourceDir"]!! }) diff --git a/cast/js/build.gradle.kts b/cast/js/build.gradle.kts index ae342a41b5..61ce46db8b 100644 --- a/cast/js/build.gradle.kts +++ b/cast/js/build.gradle.kts @@ -38,11 +38,11 @@ val downloadAjaxslt by tasks.registering(VerifiedDownload::class) { val version = "0.8.1" val versionedArchive = "ajaxslt-${version}.tar.gz" - src.set( + src = URL( - "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ajaxslt/$versionedArchive")) - dest.set(project.layout.buildDirectory.file(versionedArchive)) - checksum.set("c995abe3310a401bb4db7f28a6409756") + "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ajaxslt/$versionedArchive") + dest = project.layout.buildDirectory.file(versionedArchive) + checksum = "c995abe3310a401bb4db7f28a6409756" } val unpackAjaxslt by diff --git a/cast/js/nodejs/build.gradle.kts b/cast/js/nodejs/build.gradle.kts index 10f7ded60e..d03fed4068 100644 --- a/cast/js/nodejs/build.gradle.kts +++ b/cast/js/nodejs/build.gradle.kts @@ -19,10 +19,10 @@ dependencies { val downloadNodeJS by tasks.registering(VerifiedDownload::class) { - src.set(URL("https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz")) - dest.set(project.layout.buildDirectory.file("nodejs.tar.gz")) - algorithm.set("SHA-1") - checksum.set("147ff79947752399b870fcf3f1fc37102100b545") + src = URL("https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz") + dest = project.layout.buildDirectory.file("nodejs.tar.gz") + algorithm = "SHA-1" + checksum = "147ff79947752399b870fcf3f1fc37102100b545" } val unpackNodeJSLib by diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 2c0984ddc9..ea2738060b 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -49,7 +49,7 @@ tasks.named("check") { dependsOn(ecjCompileJavaTestSubjects) } compileTestSubjectsJava.configure { // No need to run Error Prone on our analysis test inputs - options.errorprone.isEnabled.set(false) + options.errorprone.isEnabled = false } dependencies { @@ -80,9 +80,9 @@ interface ExtractServices { val downloadKawa by tasks.registering(VerifiedDownload::class) { val archive = "kawa-3.0.zip" - src.set(URL("https://ftp.gnu.org/pub/gnu/kawa/$archive")) - dest.set(project.layout.buildDirectory.file(archive)) - checksum.set("2713e6dfb939274ba3b1d36daea68436") + src = URL("https://ftp.gnu.org/pub/gnu/kawa/$archive") + dest = project.layout.buildDirectory.file(archive) + checksum = "2713e6dfb939274ba3b1d36daea68436" } val extractKawa by @@ -113,9 +113,9 @@ val kawaChessCommitHash = "f1d2dcc707a1ef19dc159e2eaee5aecc8a41d7a8" val downloadKawaChess by tasks.registering(VerifiedDownload::class) { - src.set(URL("https://github.com/ttu-fpclub/kawa-chess/archive/${kawaChessCommitHash}.zip")) - dest.set(project.layout.buildDirectory.file("kawa-chess.zip")) - checksum.set("cf29613d2be5f476a475ee28b4df9d9e") + src = URL("https://github.com/ttu-fpclub/kawa-chess/archive/${kawaChessCommitHash}.zip") + dest = project.layout.buildDirectory.file("kawa-chess.zip") + checksum = "cf29613d2be5f476a475ee28b4df9d9e" } val unpackKawaChess by @@ -142,9 +142,9 @@ val compileKawaSchemeChessMain by val buildChessJar by tasks.registering(Jar::class) { from(compileKawaSchemeChessMain) - destinationDirectory.set(project.layout.buildDirectory.dir(name)) - archiveFileName.set("kawachess.jar") - archiveVersion.set(null as String?) + destinationDirectory = project.layout.buildDirectory.dir(name) + archiveFileName = "kawachess.jar" + archiveVersion = null as String? } //////////////////////////////////////////////////////////////////////// @@ -154,15 +154,15 @@ val buildChessJar by val compileKawaSchemeTest by tasks.registering(CompileKawaScheme::class) { - schemeFile.set(layout.projectDirectory.file("kawasrc/test.scm")) + schemeFile = layout.projectDirectory.file("kawasrc/test.scm") } val buildKawaTestJar by tasks.registering(Jar::class) { from(compileKawaSchemeTest) - destinationDirectory.set(project.layout.buildDirectory.dir(name)) - archiveFileName.set("kawatest.jar") - archiveVersion.set(null as String?) + destinationDirectory = project.layout.buildDirectory.dir(name) + archiveFileName = "kawatest.jar" + archiveVersion = null as String? } //////////////////////////////////////////////////////////////////////// @@ -174,10 +174,10 @@ val downloadBcel by tasks.registering(VerifiedDownload::class) { val basename by extra("bcel-5.2") val archive = "${basename}.tar.gz" - src.set(URL("https://archive.apache.org/dist/jakarta/bcel/binaries/$archive")) - dest.set(project.layout.buildDirectory.file(archive)) - checksum.set("19bffd7f217b0eae415f1ef87af2f0bc") - useETag.set(false) + src = URL("https://archive.apache.org/dist/jakarta/bcel/binaries/$archive") + dest = project.layout.buildDirectory.file(archive) + checksum = "19bffd7f217b0eae415f1ef87af2f0bc" + useETag = false } val extractBcel by @@ -210,9 +210,9 @@ val extractBcel by val downloadJavaCup by tasks.registering(VerifiedDownload::class) { val archive = "java-cup-11a.jar" - src.set(URL("http://www2.cs.tum.edu/projects/cup/$archive")) - dest.set(layout.buildDirectory.file("$name/$archive")) - checksum.set("2bda8c40abd0cbc295d3038643d6e4ec") + src = URL("http://www2.cs.tum.edu/projects/cup/$archive") + dest = layout.buildDirectory.file("$name/$archive") + checksum = "2bda8c40abd0cbc295d3038643d6e4ec" } //////////////////////////////////////////////////////////////////////// @@ -232,8 +232,8 @@ val collectJLex by inputs.files(collectJLexFrom) from(zipTree(collectJLexFrom.singleFile)) include("JLex/") - archiveFileName.set("JLex.jar") - destinationDirectory.set(layout.buildDirectory.dir(name)) + archiveFileName = "JLex.jar" + destinationDirectory = layout.buildDirectory.dir(name) } //////////////////////////////////////////////////////////////////////// @@ -246,9 +246,9 @@ val downloadOcamlJava by val version = "2.0-alpha1" val basename by extra("ocamljava-$version") val archive = "$basename.tar.gz" - src.set(URL("http://www.ocamljava.org/downloads/download.php?version=$version-bin")) - dest.set(project.layout.buildDirectory.file(archive)) - checksum.set("45feec6e3889f5073a39c2c4c84878d1") + src = URL("http://www.ocamljava.org/downloads/download.php?version=$version-bin") + dest = project.layout.buildDirectory.file(archive) + checksum = "45feec6e3889f5073a39c2c4c84878d1" } val unpackOcamlJava by @@ -284,7 +284,7 @@ val generateHelloHashJar by inputs.file(ocamlJavaJar) classpath(ocamlJavaJar) - mainClass.set("ocaml.compilers.ocamljavaMain") + mainClass = "ocaml.compilers.ocamljavaMain" args("-o", jarTarget) argumentProviders.add { listOf(ocamlSource.get()) } } @@ -296,11 +296,11 @@ val generateHelloHashJar by val collectTestData by tasks.registering(Jar::class) { - archiveFileName.set("com.ibm.wala.core.testdata_1.0.0.jar") + archiveFileName = "com.ibm.wala.core.testdata_1.0.0.jar" from(compileTestSubjectsJava) from("classes") includeEmptyDirs = false - destinationDirectory.set(layout.buildDirectory.dir(name)) + destinationDirectory = layout.buildDirectory.dir(name) } val collectTestDataJar: Configuration by configurations.creating { isCanBeResolved = false } @@ -314,11 +314,11 @@ artifacts.add(collectTestDataJar.name, collectTestData.map { it.destinationDirec val collectTestDataA by tasks.registering(Jar::class) { - archiveFileName.set("com.ibm.wala.core.testdata_1.0.0a.jar") + archiveFileName = "com.ibm.wala.core.testdata_1.0.0a.jar" from(compileTestSubjectsJava) from("classes") includeEmptyDirs = false - destinationDirectory.set(layout.buildDirectory.dir(name)) + destinationDirectory = layout.buildDirectory.dir(name) exclude( "**/CodeDeleted.class", "**/SortingExample.class", @@ -371,7 +371,7 @@ artifacts.add(testResources.name, sourceSets.test.map { it.resources.srcDirs.sin val testJar by tasks.registering(Jar::class) { group = "build" - archiveClassifier.set("test") + archiveClassifier = "test" from(tasks.named("compileTestJava")) } diff --git a/dalvik/build.gradle.kts b/dalvik/build.gradle.kts index e15b59400a..ed810068bc 100644 --- a/dalvik/build.gradle.kts +++ b/dalvik/build.gradle.kts @@ -107,11 +107,11 @@ dependencies { val downloadDroidBench by tasks.registering(VerifiedDownload::class) { - src.set( + src = URL( - "https://codeload.github.com/secure-software-engineering/DroidBench/zip/DroidBench_2.0")) - dest.set(project.layout.buildDirectory.file("DroidBench_2.0.zip")) - checksum.set("16726a48329835140e14f18470a1b4a3") + "https://codeload.github.com/secure-software-engineering/DroidBench/zip/DroidBench_2.0") + dest = project.layout.buildDirectory.file("DroidBench_2.0.zip") + checksum = "16726a48329835140e14f18470a1b4a3" } val unpackDroidBench by @@ -144,10 +144,10 @@ val downloadAndroidSdk by }) .run { val archive = "commandlinetools-$sdkOs-7583922_latest.zip" - src.set(URL("https://dl.google.com/android/repository/$archive")) - dest.set(project.layout.buildDirectory.file(archive)) - this@registering.checksum.set(checksum) - algorithm.set("SHA-256") + src = URL("https://dl.google.com/android/repository/$archive") + dest = project.layout.buildDirectory.file(archive) + this@registering.checksum = checksum + algorithm = "SHA-256" } } @@ -175,9 +175,9 @@ val extractSampleCup by val downloadSampleLex by tasks.registering(VerifiedDownload::class) { - src.set(URL("https://www.cs.princeton.edu/~appel/modern/java/JLex/current/sample.lex")) - dest.set(layout.buildDirectory.file("$name/sample.lex")) - checksum.set("ae887758b2657981d023a72a165da830") + src = URL("https://www.cs.princeton.edu/~appel/modern/java/JLex/current/sample.lex") + dest = layout.buildDirectory.file("$name/sample.lex") + checksum = "ae887758b2657981d023a72a165da830" } tasks.named("processTestResources") { diff --git a/ide/tests/build.gradle.kts b/ide/tests/build.gradle.kts index 50190e31f7..d8965b60e5 100644 --- a/ide/tests/build.gradle.kts +++ b/ide/tests/build.gradle.kts @@ -85,7 +85,7 @@ tasks.register("runIFDSExplorerExample") { group = "Execution" description = "Run the IFDSExplorerExample driver" classpath = ifdsExplorerExampleClasspath - mainClass.set("com.ibm.wala.examples.drivers.IFDSExplorerExample") + mainClass = "com.ibm.wala.examples.drivers.IFDSExplorerExample" if (System.getProperty("os.name").startsWith("Mac OS X")) { jvmArgs = listOf("-XstartOnFirstThread") } From 2ad60f63fef6c7fffe127a85ab3f079afa4e5fa6 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Mon, 3 Jul 2023 18:36:49 -0400 Subject: [PATCH 3/4] Work around Spotless conflict with Gradle configuration cache This Spotless bug workaround replicates the one we were already added to the top-level `build.gradle.kts` in revision 89de874efbc3369097e03b85493f4a3beb8e1a44. --- build-logic/build.gradle.kts | 7 ++++++ .../com/ibm/wala/gradle/java.gradle.kts | 24 ++++++++++++------- .../com/ibm/wala/gradle/project.gradle.kts | 6 +++++ 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 8f4f406f6a..809cb665f9 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -1,3 +1,5 @@ +import com.diffplug.spotless.LineEnding.PLATFORM_NATIVE + plugins { `kotlin-dsl` `kotlin-dsl-precompiled-script-plugins` @@ -19,6 +21,11 @@ dependencies { kotlin.jvmToolchain { languageVersion = JavaLanguageVersion.of(11) } spotless { + // Workaround for + // using idea found at + // . + lineEndings = PLATFORM_NATIVE + val ktfmtVersion = libs.versions.ktfmt.get() kotlin { diff --git a/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts b/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts index ea44f98fc6..379353c934 100644 --- a/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts +++ b/build-logic/src/main/kotlin/com/ibm/wala/gradle/java.gradle.kts @@ -2,6 +2,7 @@ package com.ibm.wala.gradle // Build configuration for subprojects that include Java source code. +import com.diffplug.spotless.LineEnding.PLATFORM_NATIVE import net.ltgt.gradle.errorprone.errorprone import org.gradle.plugins.ide.eclipse.model.EclipseModel @@ -171,12 +172,19 @@ if (project.gradle.parent != null) { } } -spotless.java { - googleJavaFormat( - rootProject - .the() - .named("libs") - .findVersion("google-java-format") - .get() - .toString()) +spotless { + // Workaround for + // using idea found at + // . + lineEndings = PLATFORM_NATIVE + + java { + googleJavaFormat( + rootProject + .the() + .named("libs") + .findVersion("google-java-format") + .get() + .toString()) + } } diff --git a/build-logic/src/main/kotlin/com/ibm/wala/gradle/project.gradle.kts b/build-logic/src/main/kotlin/com/ibm/wala/gradle/project.gradle.kts index 5dd2ec38c8..6c3b4a9bd0 100644 --- a/build-logic/src/main/kotlin/com/ibm/wala/gradle/project.gradle.kts +++ b/build-logic/src/main/kotlin/com/ibm/wala/gradle/project.gradle.kts @@ -1,5 +1,6 @@ package com.ibm.wala.gradle +import com.diffplug.spotless.LineEnding.PLATFORM_NATIVE import org.gradle.plugins.ide.eclipse.model.AbstractClasspathEntry import org.gradle.plugins.ide.eclipse.model.Classpath import org.gradle.plugins.ide.eclipse.model.EclipseModel @@ -43,6 +44,11 @@ tasks.register("allDeps") {} // spotless { + // Workaround for + // using idea found at + // . + lineEndings = PLATFORM_NATIVE + findProperty("spotless.ratchet.from")?.let { ratchetFrom(it as String) } kotlinGradle { From caf0c7399219e29b6618e08334b83bef327a37c3 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Mon, 3 Jul 2023 18:40:34 -0400 Subject: [PATCH 4/4] Avoid using task extensions at task execution time Apparently the Gradle configuration cache does not permit accessing task extensions at task execution time. Instead, use task input properties to store little bits of information that (1) influence a task's own behavior and also (2) are needed in order to configure *other* tasks' behaviors. --- cast/java/test/data/build.gradle.kts | 10 +++++++--- core/build.gradle.kts | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/cast/java/test/data/build.gradle.kts b/cast/java/test/data/build.gradle.kts index 8bf1cae4d5..b773d3ea47 100644 --- a/cast/java/test/data/build.gradle.kts +++ b/cast/java/test/data/build.gradle.kts @@ -45,11 +45,15 @@ val downloadJLex by tasks.registering(VerifiedDownload::class) { src = URL("https://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java") checksum = "fe0cff5db3e2f0f5d67a153cf6c783af" - val downloadedSourceDir by extra(layout.buildDirectory.dir(name)) - dest = downloadedSourceDir.map { it.file("JLex/Main.java") } + val downloadedSourceDir = layout.buildDirectory.dir(name).map(Directory::toString) + inputs.property("downloadedSourceDir", downloadedSourceDir) + dest = layout.buildDirectory.dir(name).map { it.file("JLex/Main.java") } } -sourceSets.test.get().java.srcDir(downloadJLex.map { it.extra["downloadedSourceDir"]!! }) +sourceSets.test + .get() + .java + .srcDir(downloadJLex.map { it.inputs.properties["downloadedSourceDir"]!! }) //////////////////////////////////////////////////////////////////////// // diff --git a/core/build.gradle.kts b/core/build.gradle.kts index ea2738060b..54392228f0 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -172,7 +172,8 @@ val buildKawaTestJar by val downloadBcel by tasks.registering(VerifiedDownload::class) { - val basename by extra("bcel-5.2") + val basename = "bcel-5.2" + inputs.property("basename", basename) val archive = "${basename}.tar.gz" src = URL("https://archive.apache.org/dist/jakarta/bcel/binaries/$archive") dest = project.layout.buildDirectory.file(archive) @@ -182,7 +183,7 @@ val downloadBcel by val extractBcel by tasks.registering { - val basename = downloadBcel.map { it.extra["basename"] as String } + val basename = downloadBcel.map { it.inputs.properties["basename"] as String } val jarFile = basename.flatMap { layout.buildDirectory.file("$name/${it}.jar") } inputs.files(downloadBcel.map { it.outputs.files }) outputs.file(jarFile)