【问题标题】:How to set-up the sbt-proguard plugin in Build.scala如何在 Build.scala 中设置 sbt-proguard 插件
【发布时间】:2015-01-19 16:58:47
【问题描述】:

我想在我的项目中使用 sbt-proguard 插件,但我需要在 Build.scala 文件中进行设置。

我阅读了文档,但只有一个 build.sbt 文件的示例,这在我的情况下不起作用。 我需要知道如何为我的 Build.scala 文件配置插件。

这里是回购链接:https://github.com/sbt/sbt-proguard/blob/master/README.md#example

仅供参考我使用的是 scala.version=2.11.4 和 sbt.version=0.13.5

【问题讨论】:

    标签: scala sbt scala-2.11 sbt-proguard


    【解决方案1】:

    (注意:sbt 目前推荐 multi-project build.sbt 而不是 build.scala。)

    一些 sbt 插件使用脚本来测试自己,这会在 src/sbt-test 下设置虚假构建。如果你找到一个,它可能包含关于如何设置插件的很好的示例。

    sbt-proguard 创建了一个名为 akka 的示例,据称该示例由 Akka 项目使用。

    import sbt._
    import sbt.Keys._
    import com.typesafe.sbt.SbtProguard._
    
    object SampleBuild extends Build {
      import ProguardKeys.{ mergeStrategies, merge, options }
      import ProguardOptions.keepMain
      import ProguardMerge.append
    
      lazy val proguardAkka = Project(
        id = "proguard-akka",
        base = file("."),
        settings = Defaults.defaultSettings ++ proguardSettings ++ Seq(
          scalaVersion := "2.10.1",
          libraryDependencies += "com.typesafe.akka" %% "akka-remote" % "2.1.2",
          merge in Proguard := true,
          mergeStrategies in Proguard += append("reference.conf"),
          options in Proguard += keepMain("A"),
          options in Proguard += keepMain("B"),
          options in Proguard += "-dontoptimize", // reduce time for proguard
          options in Proguard += ProguardConf.akka
        )
      )
    }
    object ProguardConf {
      val akka = ....
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      相关资源
      最近更新 更多