diff --git a/build.gradle.kts b/build.gradle.kts
index ba5c6a0..6eff32b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -51,7 +51,7 @@
 
 val compileJavacc = tasks.register<freemarker.build.CompileJavaccTask>("compileJavacc") {
     sourceDirectory.set(file("freemarker-core/src/main/javacc"))
-    destinationDirectory.set(buildDir.toPath().resolve("generated").resolve("javacc").toFile())
+    destinationDirectory.set(project.layout.buildDirectory.map { it.dir("generated").dir("javacc") })
     javaccVersion.set("7.0.12")
 
     fileNameOverrides.addAll(
@@ -346,7 +346,7 @@
 }
 
 val distArchiveBaseName = "apache-${name}"
-val distDir = buildDir.toPath().resolve("distributions")
+val distDir = layout.buildDirectory.map { it.dir("distributions") }
 
 fun registerDistSupportTasks(archiveTask: TaskProvider<Tar>) {
     val signTask = tasks.register<freemarker.build.SignatureTask>("${archiveTask.name}Signature") {
@@ -378,7 +378,7 @@
 val distBin = tasks.register<Tar>("distBin") {
     compression = Compression.GZIP
     archiveBaseName.set(distArchiveBaseName)
-    destinationDirectory.set(distDir.toFile())
+    destinationDirectory.set(distDir)
     archiveAppendix.set("bin")
 
     registerCommonFiles(this)
@@ -405,7 +405,7 @@
 val distSrc = tasks.register<Tar>("distSrc") {
     compression = Compression.GZIP
     archiveBaseName.set(distArchiveBaseName)
-    destinationDirectory.set(distDir.toFile())
+    destinationDirectory.set(distDir)
     archiveAppendix.set("src")
 
     registerCommonFiles(this)
@@ -454,7 +454,7 @@
     val ratInputTask = tasks.register<Sync>(inputTaskName) {
         dependsOn(srcArchiveTaskRef)
 
-        destinationDir = buildDir.toPath().resolve("rat-prep").resolve(taskName).toFile()
+        destinationDir = layout.buildDirectory.get().asFile.resolve("rat-prep").resolve(taskName)
         from(tarTree(srcArchiveTaskRef.flatMap { it.archiveFile }))
     }
 
