【问题标题】:Gradle (Kotlin DSL): "Unresolved reference: proguard"Gradle(Kotlin DSL):“未解决的参考:proguard”
【发布时间】:2019-12-29 22:26:48
【问题描述】:

我试图让 Proguard 工作,但我还是 Gradle 的新手。 我的构建 gradle.kts 有一个错误(未解决的参考:proguard),我无法创建 proguard 任务:

plugins {
    id("com.github.johnrengelman.shadow") version "5.2.0"
    java
    kotlin("jvm") version "1.3.61"
}

group = "*...*"
version = "*...*"

repositories {
    mavenCentral()
    jcenter() 
}

dependencies {
    implementation(kotlin("stdlib-jdk8"))
    //*...*
    implementation("net.sf.proguard","proguard-gradle","6.2.2") //is this correct?
}

configure<JavaPluginConvention> {
    sourceCompatibility = JavaVersion.VERSION_1_8
}
tasks {
    compileKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
    compileTestKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
    jar{
        manifest {
        attributes["Main-Class"] = "*...*"
        }
    }

    shadowJar{
        archiveBaseName.set("*...*")
        archiveClassifier.set("")
        archiveVersion.set("")
    }



    register<proguard.gradle.ProGuardTask>("myProguardTask") { //Unresolved reference: proguard

    }


}

不是一个 Android 项目 因为 Stackoverflow 希望我写的不仅仅是代码:我打算以某种方式将 proguard 输出链接到 shadowjar 任务。如果你知道怎么做我也对此感兴趣(因为这个问题我自己无法尝试)。

【问题讨论】:

  • 如果要在gradle脚本中使用ProguardTask,需要将proguard依赖添加到buildscript环境中,而不是作为项目依赖添加。

标签: gradle proguard gradle-kotlin-dsl


【解决方案1】:

您在项目中声明了 proguard 的依赖项,而不是 Gradle 本身。

将依赖项移至buildscript 块:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'net.sf.proguard:proguard-gradle:6.2.2'
    }
}

那么你应该可以创建你的任务了。


或者,您可以在settings.gradle.kts 中声明存储库:

pluginManagement {
    repositories {
        jcenter()
    }
}

这将减少build.gradle.kts 中的buildscript 块:

buildscript {
    dependencies {
        classpath("net.sf.proguard:proguard-gradle:6.2.2")
    }
}

【讨论】:

  • 您的第一个解决方案已经对我有用,但您的最后一个示例是 Groovy 而不是 Kotlin DSL,对吧? > 类路径 'net.sf.proguard:proguard-gradle:6.2.2'
猜你喜欢
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2019-09-17
  • 2015-10-18
相关资源
最近更新 更多