运维开发网

如何在Build.scala中设置sbt-proguard插件

运维开发网 https://www.qedev.com 2020-06-04 20:40 出处:网络 作者:运维开发网整理
我想在我的项目中使用sbt-proguard插件,但我需要在Build. scala文件中进行设置. 我阅读了文档,但是只有一个build.sbt文件的例子,在我的情况下不起作用.我需要知道如何为我的Build.scala文件配置插件. 这是回购的链接:https://github.com/sbt/sbt-proguard/blob/master/README.md#example 仅供参考:我使
我想在我的项目中使用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

(注意: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 = ....
}
0

精彩评论

暂无评论...
验证码 换一张
取 消