@@ -1301,6 +1301,178 @@ void updateWrapperDistributionURLInKotlinDsl() {
13011301 );
13021302 }
13031303
1304+ @ Test
1305+ void updateWrapperVersionViaTasksPropertyAccessInGroovyDSL () {
1306+ rewriteRun (
1307+ spec -> spec .recipe (new UpdateGradleWrapper ("7.4.2" , "bin" , null , null , null ))
1308+ .allSources (source -> source .markers (new BuildTool (Tree .randomId (), BuildTool .Type .Gradle , "7.4" ))),
1309+ properties (
1310+ """
1311+ distributionBase=GRADLE_USER_HOME
1312+ distributionPath=wrapper/dists
1313+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4-all.zip
1314+ zipStoreBase=GRADLE_USER_HOME
1315+ zipStorePath=wrapper/dists
1316+ """ ,
1317+ """
1318+ distributionBase=GRADLE_USER_HOME
1319+ distributionPath=wrapper/dists
1320+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4.2-bin.zip
1321+ zipStoreBase=GRADLE_USER_HOME
1322+ zipStorePath=wrapper/dists
1323+ distributionSha256Sum=29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda
1324+ """ ,
1325+ spec -> spec .path ("gradle/wrapper/gradle-wrapper.properties" )
1326+ ),
1327+ buildGradle (
1328+ """
1329+ tasks.wrapper {
1330+ gradleVersion = '7.4'
1331+ distributionType = Wrapper.DistributionType.ALL
1332+ }
1333+ """ ,
1334+ """
1335+ tasks.wrapper {
1336+ gradleVersion = '7.4.2'
1337+ distributionType = Wrapper.DistributionType.BIN
1338+ }
1339+ """
1340+ ),
1341+ gradlew ,
1342+ gradlewBat ,
1343+ gradleWrapperJarQuark
1344+ );
1345+ }
1346+
1347+ @ Test
1348+ void updateWrapperVersionViaTasksPropertyAccessInKotlinDSL () {
1349+ rewriteRun (
1350+ spec -> spec .recipe (new UpdateGradleWrapper ("7.4.2" , "bin" , null , null , null ))
1351+ .allSources (source -> source .markers (new BuildTool (Tree .randomId (), BuildTool .Type .Gradle , "7.4" ))),
1352+ properties (
1353+ """
1354+ distributionBase=GRADLE_USER_HOME
1355+ distributionPath=wrapper/dists
1356+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4-all.zip
1357+ zipStoreBase=GRADLE_USER_HOME
1358+ zipStorePath=wrapper/dists
1359+ """ ,
1360+ """
1361+ distributionBase=GRADLE_USER_HOME
1362+ distributionPath=wrapper/dists
1363+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4.2-bin.zip
1364+ zipStoreBase=GRADLE_USER_HOME
1365+ zipStorePath=wrapper/dists
1366+ distributionSha256Sum=29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda
1367+ """ ,
1368+ spec -> spec .path ("gradle/wrapper/gradle-wrapper.properties" )
1369+ ),
1370+ buildGradleKts (
1371+ """
1372+ tasks.wrapper {
1373+ gradleVersion = "7.4"
1374+ distributionType = Wrapper.DistributionType.ALL
1375+ }
1376+ """ ,
1377+ """
1378+ tasks.wrapper {
1379+ gradleVersion = "7.4.2"
1380+ distributionType = Wrapper.DistributionType.BIN
1381+ }
1382+ """
1383+ ),
1384+ gradlew ,
1385+ gradlewBat ,
1386+ gradleWrapperJarQuark
1387+ );
1388+ }
1389+
1390+ @ Test
1391+ void updateWrapperVersionViaTasksWithTypeInGroovyDSL () {
1392+ rewriteRun (
1393+ spec -> spec .recipe (new UpdateGradleWrapper ("7.4.2" , "bin" , null , null , null ))
1394+ .allSources (source -> source .markers (new BuildTool (Tree .randomId (), BuildTool .Type .Gradle , "7.4" ))),
1395+ properties (
1396+ """
1397+ distributionBase=GRADLE_USER_HOME
1398+ distributionPath=wrapper/dists
1399+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4-all.zip
1400+ zipStoreBase=GRADLE_USER_HOME
1401+ zipStorePath=wrapper/dists
1402+ """ ,
1403+ """
1404+ distributionBase=GRADLE_USER_HOME
1405+ distributionPath=wrapper/dists
1406+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4.2-bin.zip
1407+ zipStoreBase=GRADLE_USER_HOME
1408+ zipStorePath=wrapper/dists
1409+ distributionSha256Sum=29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda
1410+ """ ,
1411+ spec -> spec .path ("gradle/wrapper/gradle-wrapper.properties" )
1412+ ),
1413+ buildGradle (
1414+ """
1415+ tasks.withType(Wrapper) {
1416+ gradleVersion = '7.4'
1417+ distributionType = Wrapper.DistributionType.ALL
1418+ }
1419+ """ ,
1420+ """
1421+ tasks.withType(Wrapper) {
1422+ gradleVersion = '7.4.2'
1423+ distributionType = Wrapper.DistributionType.BIN
1424+ }
1425+ """
1426+ ),
1427+ gradlew ,
1428+ gradlewBat ,
1429+ gradleWrapperJarQuark
1430+ );
1431+ }
1432+
1433+ @ Test
1434+ void updateWrapperVersionViaTasksWithTypeInKotlinDSL () {
1435+ rewriteRun (
1436+ spec -> spec .recipe (new UpdateGradleWrapper ("7.4.2" , "bin" , null , null , null ))
1437+ .allSources (source -> source .markers (new BuildTool (Tree .randomId (), BuildTool .Type .Gradle , "7.4" ))),
1438+ properties (
1439+ """
1440+ distributionBase=GRADLE_USER_HOME
1441+ distributionPath=wrapper/dists
1442+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4-all.zip
1443+ zipStoreBase=GRADLE_USER_HOME
1444+ zipStorePath=wrapper/dists
1445+ """ ,
1446+ """
1447+ distributionBase=GRADLE_USER_HOME
1448+ distributionPath=wrapper/dists
1449+ distributionUrl=https\\ ://downloads.gradle.org/distributions/gradle-7.4.2-bin.zip
1450+ zipStoreBase=GRADLE_USER_HOME
1451+ zipStorePath=wrapper/dists
1452+ distributionSha256Sum=29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda
1453+ """ ,
1454+ spec -> spec .path ("gradle/wrapper/gradle-wrapper.properties" )
1455+ ),
1456+ buildGradleKts (
1457+ """
1458+ tasks.withType<Wrapper> {
1459+ gradleVersion = "7.4"
1460+ distributionType = Wrapper.DistributionType.ALL
1461+ }
1462+ """ ,
1463+ """
1464+ tasks.withType<Wrapper> {
1465+ gradleVersion = "7.4.2"
1466+ distributionType = Wrapper.DistributionType.BIN
1467+ }
1468+ """
1469+ ),
1470+ gradlew ,
1471+ gradlewBat ,
1472+ gradleWrapperJarQuark
1473+ );
1474+ }
1475+
13041476 private <S extends SourceFile > S result (RecipeRun run , Class <S > clazz , String endsWith ) {
13051477 return run .getChangeset ().getAllResults ().stream ()
13061478 .map (Result ::getAfter )
0 commit comments