Gradle(Kotlin DSL):“未解决的参考:proguard”

问题描述 投票:0回答:1

我试图让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 proguard gradle-kotlin-dsl
1个回答
0
投票

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

将依赖项移至buildscript块:

buildscript

然后您应该可以创建任务。


或者,您可以在buildscript { repositories { jcenter() } dependencies { classpath("net.sf.proguard:proguard-gradle:6.2.2") } } 中声明存储库:

settings.gradle.kts

将修剪pluginManagement { repositories { jcenter() } } 中的buildscript块:

build.gradle.kts
© www.soinside.com 2019 - 2024. All rights reserved.