Gradle – Create a New File From Text
This feels like a feature that should be baked into Gradle or at least common, but nothing comes up when I search how to create a file on the fly. The requirements:
- Create a file where one does not exist from generated text
- Make it incremental
The following is my solution:
project.task('createFile') {
inputs.property "myTextProperty", "any old text"
outputs.file outputFile
doLast{
outputFile.write "some text"
outputFile.write inputs.properties.myTextProperty
}
}
Using the inputs
and outputs
makes the task incremental and the doLast
is required if you don’t want the file to be created during the configuration phase. You might also need to set the input property in the doLast
block if the information is not available until execution. This was not necessary the last two time I was creating a file: Creating a version file from a hard coded string, and the last time I was using the Gradle classpath to generate a file.
How do you create a file on the fly?
Edit:
Here is another solution I found.