diff --git a/.github/workflows/precommit.yml b/.github/workflows/precommit.yml index d6c5d27..3972aa8 100644 --- a/.github/workflows/precommit.yml +++ b/.github/workflows/precommit.yml @@ -6,11 +6,12 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - # wrapper = oldest supported version + # 8.11 = oldest supported version + # wrapper = supposed to be the oldest supported version but actually runs current # current = latest stable version # release-candidate = next stable version # nightly = latest development version - gradle-version: ["wrapper", "current", "release-candidate", "nightly"] + gradle-version: ["8.11", "wrapper", "current", "release-candidate", "nightly"] steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 @@ -22,10 +23,10 @@ jobs: with: gradle-version: ${{ matrix.gradle-version }} - name: Build Plugin - run: ./gradlew build + run: gradle build - name: Sample Analysis working-directory: sample - run: ../gradlew graphAnalysis + run: gradle graphAnalysis - name: Sample Inspection working-directory: sample - run: ../gradlew :app:graphInspection + run: gradle :app:graphInspection diff --git a/gradle.properties b/gradle.properties index fd0ea19..48b4032 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.caching=true org.gradle.parallel=true org.gradle.configuration-cache=true org.gradle.unsafe.isolated-projects=true -version=1.1.0 +version=1.1.1 diff --git a/src/main/kotlin/com/ebay/plugins/graph/analytics/GraphAnalyticsPlugin.kt b/src/main/kotlin/com/ebay/plugins/graph/analytics/GraphAnalyticsPlugin.kt index 25af0f3..871aca3 100644 --- a/src/main/kotlin/com/ebay/plugins/graph/analytics/GraphAnalyticsPlugin.kt +++ b/src/main/kotlin/com/ebay/plugins/graph/analytics/GraphAnalyticsPlugin.kt @@ -13,6 +13,7 @@ import org.gradle.api.attributes.Attribute import org.gradle.api.initialization.Settings import org.gradle.api.provider.Provider import org.gradle.api.tasks.TaskProvider +import org.gradle.util.GradleVersion import org.jgrapht.graph.DefaultDirectedGraph import org.jgrapht.nio.DefaultAttribute @@ -32,14 +33,10 @@ internal class GraphAnalyticsPlugin : Plugin { private fun applySettings(settings: Settings) { // Verify Gradle version compatibility - val (major, minor) = settings.gradle.gradleVersion - .substringBefore("-") // Remove any qualifier like `-rc-1` - .split('.') - .take(2) - if (major.toInt() < GRADLE_VERSION_MAJOR || minor.toInt() < GRADLE_VERSION_MINOR) { - throw GradleException("GraphAnalyticsPlugin requires Gradle " + - "$GRADLE_VERSION_MAJOR.$GRADLE_VERSION_MINOR or later " + - "(was: ${settings.gradle.gradleVersion})") + if (GradleVersion.current() < GradleVersion.version(GRADLE_VERSION_MINIMUM)) { + throw GradleException("GraphAnalyticsPlugin requires Gradle $GRADLE_VERSION_MINIMUM " + + "or later (was: ${settings.gradle.gradleVersion})" + ) } // Apply the plugin to all projects @@ -348,8 +345,7 @@ internal class GraphAnalyticsPlugin : Plugin { } companion object { - private const val GRADLE_VERSION_MAJOR = 8 - private const val GRADLE_VERSION_MINOR = 11 + private const val GRADLE_VERSION_MINIMUM = "8.11" const val EXTENSION_NAME = "graphAnalytics" const val TASK_GROUP = "graph analytics"