grails / grails-forge

This is Grails project creator. Grails projects may be created using the browser interface, Command Line, or via CURL.
Apache License 2.0
3 stars 9 forks source link

Remove buildSrc and settings.gradle files #406

Open codeconsole opened 5 days ago

codeconsole commented 5 days ago

buildSrc overcomplicates the build and makes upgrading more difficult.

A lot of people reference the results of create-app in determining how to upgrade their existing app. People are finding the new configuration challenging.

buildSrc/ and settings.gradle can be completely eliminated by simply adding the builscript at the top of build.gradle

buildscript {
    repositories {
        maven { url "https://repo.grails.org/grails/core/" }
    }
    dependencies {
        classpath "org.grails:grails-gradle-plugin:6.2.1"
    }
}

plugins {
    id "groovy"
    id "com.github.erdi.webdriver-binaries" version "3.2"
    id "war"
    id "idea"
    id "com.bertramlabs.asset-pipeline" version "4.5.1"
    id "application"
    id "eclipse"
}
apply plugin:"org.grails.grails-web"
apply plugin:"org.grails.grails-gsp"

This should go out in 6.2.2 unless we plan on continuing support for 5.x

codeconsole commented 4 days ago

https://github.com/grails/grails-forge/blob/a6860bacaa901dac54f67b5e5319d5beaaf95244/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/Gradle.java#L77-L82

https://github.com/grails/grails-forge/blob/a6860bacaa901dac54f67b5e5319d5beaaf95244/grails-forge-core/src/main/java/org/grails/forge/feature/database/HibernateGorm.java#L82-L85

@jamesfredley started removal in 7 https://github.com/grails/grails-forge/commit/514e2e7886005248d3695e96e9d4f666ccdaa3f9

but removal must also be done in HibernateGorm, AssetPipeline, GrailsGradlePlugin, DatabaseMigrationPlugin, ViewJson, ViewMarkup

matrei commented 14 hours ago

Is this really something we want to change in a patch release? Isn't it better to just fix the bugs and move on?

codeconsole commented 10 hours ago

Is this really something we want to change in a patch release? Isn't it better to just fix the bugs and move on?

  1. The fix is already needed in 7. Why not update both? If the work wasn't already needed for 7, I would say hold off, but isn't it easy to apply the same fix in both places?
  2. Keeping it will cause confusion for anyone that upgrades to 6 between now and when 7 is finally released. 6 is the only version that uses this technique. I would imagine there are more people still using version < 6 then that are using 6 and a lot of upgrades could happen between versions.