in aspoet/src/main/kotlin/com/google/androidstudiopoet/generators/project/GradlewGenerator.kt [31:70]
    fun generateGradleW(root: String, projectBlueprint: ProjectBlueprint) {
        val gradlew = "gradlew"
        val gradlewbat = "gradlew.bat"
        if (!File(getAssetsFolderPath()).exists() ||
                !File(getAssetsFolderPath(), gradlew).exists() ||
                !File(getAssetsFolderPath(), gradlewbat).exists() ||
                !File(getAssetsFolderPath(), "gradle/wrapper").exists()
                ) {
            println("AS Poet needs network access to download gradle files from Github " +
                    "\nhttps://github.com/android/android-studio-poet/tree/master/resources/gradle-assets?ref=$ref " +
                    "\nplease copy/paste the gradle folder directly to the generated root folder")
            return
        }
        val gradleWFile = File(root, gradlew).toPath()
        Files.copy(FileInputStream(File(getAssetsFolderPath(), gradlew)), gradleWFile, StandardCopyOption.REPLACE_EXISTING)
        Files.copy(FileInputStream(File(getAssetsFolderPath(), gradlewbat)), File(root, gradlewbat).toPath(), StandardCopyOption.REPLACE_EXISTING)
        Runtime.getRuntime().exec("chmod u+x " + gradleWFile)
        val gradleFolder = File(root, "gradle")
        gradleFolder.mkdir()
        val gradleWrapperFolder = File(gradleFolder, "wrapper")
        gradleWrapperFolder.mkdir()
        val sourceFolder = File(getAssetsFolderPath(), "gradle/wrapper")
        val gradleWrapperJar = "gradle-wrapper.jar"
        val gradleWrapperProperties = "gradle-wrapper.properties"
        Files.copy(FileInputStream(File(sourceFolder, gradleWrapperJar)),
                File(gradleWrapperFolder, gradleWrapperJar).toPath(),
                StandardCopyOption.REPLACE_EXISTING)
        File(gradleWrapperFolder, gradleWrapperProperties).
                writeText(gradleWrapper(projectBlueprint.gradleVersion))
    }