From dfeea0102f838250e742d4e4bcdf5173ade0d7e9 Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Fri, 22 Jul 2022 11:57:10 -0700 Subject: [PATCH] Handles auto downloading a default settings.gradle if one doesn't exist --- build.gradle | 16 +++++++++++++++- settings.gradle.example | 10 ++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 settings.gradle.example diff --git a/build.gradle b/build.gradle index fefd87e..c0403ca 100644 --- a/build.gradle +++ b/build.gradle @@ -43,7 +43,6 @@ buildscript { classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' } } - plugins { id 'java-library' id 'idea' @@ -60,6 +59,7 @@ plugins { id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false id "com.diffplug.spotless" version "6.7.2" } +verifySettingsGradle() dependencies { implementation 'com.diffplug:blowdryer:1.6.0' @@ -664,12 +664,26 @@ if (isNewBuildScriptVersionAvailable(projectDir.toString())) { static URL availableBuildScriptUrl() { new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/build.gradle") } +static URL exampleSettingsGradleUrl() { + new URL("https://raw.githubusercontent.com/GTNewHorizons/ExampleMod1.7.10/main/settings.gradle.example") +} + + +def verifySettingsGradle() { + def settingsFile = getFile("settings.gradle") + if (!settingsFile.exists()) { + println("Downloading default settings.gradle") + exampleSettingsGradleUrl().withInputStream { i -> settingsFile.withOutputStream { it << i } } + throw new GradleException("Settings.gradle has been updated, please re-run task.") + } +} boolean performBuildScriptUpdate(String projectDir) { if (isNewBuildScriptVersionAvailable(projectDir)) { def buildscriptFile = getFile("build.gradle") availableBuildScriptUrl().withInputStream { i -> buildscriptFile.withOutputStream { it << i } } out.style(Style.Success).print("Build script updated. Please REIMPORT the project or RESTART your IDE!") + verifySettingsGradle() return true } return false diff --git a/settings.gradle.example b/settings.gradle.example new file mode 100644 index 0000000..97d8f71 --- /dev/null +++ b/settings.gradle.example @@ -0,0 +1,10 @@ +plugins { + id 'com.diffplug.blowdryerSetup' version '1.6.0' +} + +apply plugin: 'com.diffplug.blowdryerSetup' + +blowdryerSetup { + github('GTNewHorizons/ExampleMod1.7.10', 'tag', '0.1.4') + //devLocal '.' // Use this when testing config updates locally +}