如何为bundle内置任务创建osgi清单?

时间:2013-10-30 10:53:09

标签: scala osgi sbt sbt-osgi

我必须为使用proguard的任务创建的bundle创建osgi清单。 对于osgi部分我正在使用sbtosgi插件(版本0.6) 目前我尝试过这样的事情:

  object BuilderKeys {
    val pkg = TaskKey[File]("package")
    val bld = TaskKey[File]("build")
    val targetFile = TaskKey[File]("targetFile")
    ... 
  } 

  lazy val settings = ... + BuilderSettings.default(bundle) + BuilderSettings.osgi(bundle)

  object BuilderSettings {
    def default(configuration: Configuration) // initializes bld (task that creates one uber-jar using proguard)   

    def osgi(configuration: Configuration) = inConfig(configuration)(SbtOsgi.defaultOsgiSettings ++ Seq(
      fullClasspath in Compile := Seq(Attributed.blank((targetFile in configuration).value)),
      pkg <<= (OsgiKeys.bundle dependsOn bld) map { f: File =>
        f
      }
   ))          
  }

运行bundle:package创建带有清单的jar,但不是基于proguard创建的jar。是否有可能以某种方式强迫它?

0 个答案:

没有答案