【问题标题】:How to use the Gradle Proguard Plugin as a Maven repository dependency? (Without referencing local folders.)如何使用 Gradle Proguard 插件作为 Maven 存储库依赖项? (不引用本地文件夹。)
【发布时间】:2018-10-10 09:41:53
【问题描述】:

为了使用Proguard的gradle插件,使用Proguard Gradle manual中介绍的方法,必须手动下载Pr​​oguard并将其放置在本地文件夹中。特别是手册说:

一种方法是将以下行添加到您的 build.gradle 文件中

并且手册提供了如下的build.gradle

buildscript {
    repositories {
        flatDir dirs: '/usr/local/java/proguard/lib'
    }
    dependencies {
        classpath ':proguard:'
    }
}

值得注意的是,这只是添加 proguard 的“一种方法”。 通过将路径定义为变量可以使其更加参数化,以便从一个 proguard 构建轻松迁移到另一个构建,但它不是那么便携。

需要的是使用 proguard 而无需配置程序员的工作空间,最好从 Maven 存储库下载 proguard。 这可以节省时间并减少错误,例如在 CI(例如 Jenkins)中构建项目或在不同环境中使用项目。

【问题讨论】:

    标签: java maven gradle proguard


    【解决方案1】:

    我想出了以下 gradle 脚本:

        // Tell Gradle where to find the ProGuard task.
        buildscript {
            repositories {
                mavenLocal() //in case it is already downloaded
                mavenCentral()
            }//end repositories
    
            dependencies { classpath 'net.sf.proguard:proguard-gradle:6.0.3' }
        }//end buildscript
    

    这种方法运行良好,并且使用存储库中的 proguard 似乎没问题。 See also in sourceforge.

    理由:'/usr/local/java/proguard/lib' 文件夹仅包含 proguard 的 jar,使用 proguard-gradle 作为依赖项还会获取其他所需的依赖项。

    【讨论】:

      猜你喜欢
      • 2015-11-13
      • 1970-01-01
      • 2012-01-21
      • 2020-10-18
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      相关资源
      最近更新 更多