/*
 * 第 2 章 · 环境搭建 — 最小可跑的 Hello Gradle 项目
 *
 * 这是史上最简的 Gradle 项目模板。
 *
 * 跑：
 *   ./gradlew run        —— 编译并跑 Hello.java 的 main
 *   ./gradlew build      —— 完整构建
 *   ./gradlew tasks      —— 列出所有任务
 *   ./gradlew envCheck   —— 自定义任务：检查环境
 */

plugins {
    application
}

group = "com.example.gradle.env"
version = "1.0.0"

java {
    toolchain {
        // 指定 JDK 版本，Gradle 会自动找/下载（toolchain 机制）
        languageVersion = JavaLanguageVersion.of(17)
    }
}

application {
    // application 插件需要知道 main class 在哪
    mainClass = "Hello"
}

// 自定义一个"环境自检"任务，演示读 system property
tasks.register("envCheck") {
    group = "verification"
    description = "打印当前 Gradle / JVM / OS 信息"

    doLast {
        println("================ Environment Check ================")
        println("Gradle version : " + gradle.gradleVersion)
        println("JVM version    : " + System.getProperty("java.version"))
        println("JVM vendor     : " + System.getProperty("java.vendor"))
        println("JAVA_HOME      : " + (System.getenv("JAVA_HOME") ?: "(not set)"))
        println("OS             : " + System.getProperty("os.name") + " " + System.getProperty("os.arch"))
        println("Project dir    : " + projectDir.absolutePath)
        println("====================================================")
    }
}
