2015-10-06 1 views
0

Я пытаюсь интегрировать rpmPlugin в Build.scala, но, похоже, не удается определить rpm config. Ниже, как мой конфиг выглядит в Build.scalaSBT rpm: сбой в пакете с ошибкой config не найден

enablePlugins(RpmPlugin) 
lazy val packageSettings = Seq(
    packageName in Rpm := "noname", 
    version in Rpm := "1.0.0", 
    rpmRelease in Rpm := Some("1"), 
    packageArchitecture in Rpm := "noArch", 
    packageSummary := "zyx", 
    packageDescription := "zyx", 
    rpmVendor := "zyx", 
    rpmUrl := "zyx", 
    rpmLicense := "zyx" 
) 

У меня есть следующие в plugin.sbt

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.3") 

и следующие импорта в build.scala

import Keys._ 
import sbtassembly.AssemblyKeys._ 
import scoverage.ScoverageSbtPlugin.ScoverageKeys._ 
import com.typesafe.sbt.SbtNativePackager._ 
import com.typesafe.sbt.SbtNativePackager.autoImport._ 
import com.typesafe.sbt.packager.rpm.RpmPlugin 
import com.typesafe.sbt.packager.archetypes.JavaServerAppPackaging 

со всем этим когда я запускаю команду пакета rpm ... Я получаю следующую ошибку (несколько из этих ошибок)

[info] Compiling 1 Scala source to /home/vikrant/project/target/scala-2.10/sbt-0.13/classes... 
[error] /home/vikrant/project/Build.scala:46: not found: value rpmRelease 
[error]  rpmRelease := Some("1"), 
[error] ^
[error] /home/vikrant/project/Build.scala:48: not found: value packageArchitecture 
[error]  packageArchitecture in Rpm := "noArch", 
[error] ^
[error] /home/vikrant/project/Build.scala:54: not found: value rpmVendor 
[error]  rpmVendor := "zyx", 
[error] ^
[error] /home/vikrant/project/Build.scala:56: not found: value rpmUrl 
[error]  rpmUrl := "zyx", 
[error] ^
[error] /home/vikrant/project/Build.scala:58: not found: value rpmLicense 
[error]  rpmLicense := "zyx" 
[error] ^
[error] 5 errors found 
[error] (compile:compileIncremental) Compilation failed 

Просьба сообщить, что я могу сделать, чтобы избавиться от этой ошибки. Документация не очень полезна и, кажется, написана для использования Buid.sbt.

ответ

0

Как видно из документации (http://www.scala-sbt.org/sbt-native-packager/formats/rpm.html#settings), вам нужно указать только rpmRelease, а не rpmRelease in Rpm.

Для примера, проверьте здесь:

https://github.com/sbt/sbt-native-packager/blob/master/test-project-play-rpm/packaging.sbt

А также этот вопрос:

Building paths in SBT for the packageMappings of the sbt-native-packager

+0

Infact thats, с чего я начал ... но он не работал. Я добавляю более подробную информацию. – vikrant

+0

Возможно, вы захотите зарегистрировать проблему, если ее еще не подали: https://github.com/sbt/sbt-native-packager/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+ rpm – tuxdna

0

Кажется, эта функция строги заказ мы помещаем конфигурацию. Когда все остальное не получилось, я пытаюсь играть с порядком конфигурации .. и после работы.

version in Rpm := "1.0.0", 
maintainer := "someValue", 
packageArchitecture in Rpm := ""someValue"", 
packageSummary in Rpm := ""someValue"", 
packageDescription in Rpm := ""someValue"", 
packageName in Linux := ""someValue"", 
rpmRelease := "1", 
rpmVendor := ""someValue"", 
rpmLicense := Some(""someValue"") 

Уверен, что это может быть неправильным способом исправить ... но он разблокировал меня. Однако, чтобы открыть проблему с SBT.

+0

Я бы порекомендовал больше не использовать 'Build.scala'. Вместо этого попробуйте поместить настройки в свою 'build.sbt' и настраиваемую логику в' AutoPlugins'. Существуют некоторые ограничения с 'Build.scala' и' AutoPlugins' – Muki