Gradle(科特林 DSL):"Unresolved reference: proguard"
Gradle (Kotlin DSL): "Unresolved reference: proguard"
我正在尝试让 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项目
因为 Whosebug 希望我编写的不仅仅是代码:我计划以某种方式 link proguard 输出到 shadowjar 任务。如果你知道怎么做我也很感兴趣(因为这个问题我不能自己尝试)。
您在项目中声明了混淆器的依赖项,而不是 Gradle 本身。
将依赖项移动到 buildscript
块:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'net.sf.proguard:proguard-gradle:6.2.2'
}
}
那么您应该可以创建任务了。
或者,您可以在 settings.gradle.kts
:
中声明存储库
pluginManagement {
repositories {
jcenter()
}
}
这将 trim 在 build.gradle.kts
中的 buildscript
块下:
buildscript {
dependencies {
classpath("net.sf.proguard:proguard-gradle:6.2.2")
}
}
我正在尝试让 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项目 因为 Whosebug 希望我编写的不仅仅是代码:我计划以某种方式 link proguard 输出到 shadowjar 任务。如果你知道怎么做我也很感兴趣(因为这个问题我不能自己尝试)。
您在项目中声明了混淆器的依赖项,而不是 Gradle 本身。
将依赖项移动到 buildscript
块:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'net.sf.proguard:proguard-gradle:6.2.2'
}
}
那么您应该可以创建任务了。
或者,您可以在 settings.gradle.kts
:
pluginManagement {
repositories {
jcenter()
}
}
这将 trim 在 build.gradle.kts
中的 buildscript
块下:
buildscript {
dependencies {
classpath("net.sf.proguard:proguard-gradle:6.2.2")
}
}