2014-06-26 7 views
5

SBT sürüm 0.13.5 kullanan bir projede özel bir Otomatik Akışı etkinleştirmeye çalışıyorum. Komut satırından SBT başlatmaya çalışırken aşağıdaki hatayı alıyorumNeden sbt "value enablePlugins sbt.Project" özelliğinin bir istisnası atmıyor?

val aProject = project.in(file("foo")).enablePlugins(MyAutoPlugin) 

: Ben aracılığıyla benim build.sbt eklentiyi etkinleştirmek çalıştığınızda

value enablePlugins is not a member of sbt.Project 
... (big stack trace) ... 
[error] sbt.compiler.EvalException: Type error in expression 
[error] Use 'last' for the full log. 
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 

Ben sbt için kaynak kodu bakmak .Project Ben enablePluginsis defined görüyorum. Burada neler oluyor?

Düzenle: aramayı kaldırdığımda enablePlugins Başarıyla bir SBT oturumu başlatabilirim. > about çalıştırıldığında SBT sürümünün 0.13.5 olduğunu doğrular.

Düzenleme 3: buldum ben SBT yukarıdaki hata ile yüklenmemesi "2014.06.26-1-SNAPSHOT" biçiminde bir sürümü ile Sonatype için eklentileri yayımlamak zaman. Ancak, biçimi "-1" den sonra tek bir harf içerecek şekilde değiştirirseniz, SBT yüklenir. Yani bu sürüm biçimi çalışır: "2014.06.26-1a-SNAPSHOT". Bunu keşfettim çünkü yerel olarak yayımlanan eklentilere çözüm bulmak iyi görünüyordu (hiç işe yaramadı bir eklenti hariç), sonatype için yayınlanmış olan aynı eklentiler hataya neden oldu. Yerel olarak yayınladığımda, her zaman versiyona bir mektup ekledim.

Düzenleme 2: SBT günlüğünün tam çıkışı:

[info] Loading global plugins from /Users/markschaake/.sbt/0.13/plugins 
[debug] 
[debug] Initial source changes: 
[debug]  removed:Set() 
[debug]  added: Set() 
[debug]  modified: Set() 
[debug] Removed products: Set() 
[debug] External API changes: API Changes: Set() 
[debug] Modified binary dependencies: Set() 
[debug] Initial directly invalidated sources: Set() 
[debug] 
[debug] Sources indirectly invalidated by: 
[debug]  product: Set() 
[debug]  binary dep: Set() 
[debug]  external source: Set() 
[debug] All initially invalidated sources: Set() 
[debug] Copy resource mappings: 
[debug]  
[debug] Other repositories: 
[debug]  FileRepository(publish-m2-local,FileConfiguration(true,None),Patterns(ivyPatterns=List(), artifactPatterns=List(/Users/markschaake/.m2/repository/[organisation]/[module](_[scalaVersion])(_[sbtVersion])/[revision]/[artifact]-[revision](-[classifier]).[ext]), isMavenCompatible=true, descriptorOptional=false, skipConsistencyCheck=false)) 
[debug] Default repositories: 
[debug]  Raw(ProjectResolver(inter-project, mapped:)) 
[debug]  URLRepository(typesafe-ivy-releases,Patterns(ivyPatterns=List(http://repo.typesafe.com/typesafe/ivy-releases/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=List(http://repo.typesafe.com/typesafe/ivy-releases/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)) 
[debug]  URLRepository(sbt-plugin-releases,Patterns(ivyPatterns=List(http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=List(http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)) 
[debug]  FileRepository(local,FileConfiguration(true,None),Patterns(ivyPatterns=List(${ivy.home}/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=List(${ivy.home}/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)) 
[debug]  public: http://repo1.maven.org/maven2/ 
[debug] Using inline dependencies specified in Scala. 
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))))) 
[debug] :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin) 
[debug] sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List() 
[debug] :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[info] Loading project definition from /Users/markschaake/ai2/git/ai2-parsers/project/project 
[debug] Running task... Cancel: [email protected], check cycles: false 
[debug] 
[debug] Initial source changes: 
[debug]  removed:Set() 
[debug]  added: Set() 
[debug]  modified: Set() 
[debug] Removed products: Set() 
[debug] External API changes: API Changes: Set() 
[debug] Modified binary dependencies: Set() 
[debug] Initial directly invalidated sources: Set() 
[debug] 
[debug] Sources indirectly invalidated by: 
[debug]  product: Set() 
[debug]  binary dep: Set() 
[debug]  external source: Set() 
[debug] All initially invalidated sources: Set() 
[debug] Copy resource mappings: 
[debug]  
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))))) 
[debug] :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin) 
[debug] sorting: ns: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin) not found List(sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin) not found List(sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin) not found List(sbt.plugins.JUnitXmlReportPlugin) 
[debug] :: sorting:: found: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) not found List() 
[debug] :: sorted deduced result: List(sbt.plugins.CorePlugin, sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.JUnitXmlReportPlugin) 
[info] Loading project definition from /Users/markschaake/ai2/git/ai2-parsers/project 
[debug] Running task... Cancel: [email protected], check cycles: false 
[debug] 
[debug] Initial source changes: 
[debug]  removed:Set() 
[debug]  added: Set() 
[debug]  modified: Set() 
[debug] Removed products: Set() 
[debug] External API changes: API Changes: Set() 
[debug] Modified binary dependencies: Set() 
[debug] Initial directly invalidated sources: Set() 
[debug] 
[debug] Sources indirectly invalidated by: 
[debug]  product: Set() 
[debug]  binary dep: Set() 
[debug]  external source: Set() 
[debug] All initially invalidated sources: Set() 
[debug] Copy resource mappings: 
[debug]  
sbt.compiler.EvalException: Type error in expression 
    at sbt.compiler.Eval.checkError(Eval.scala:343) 
    at sbt.compiler.Eval.compileAndLoad(Eval.scala:165) 
    at sbt.compiler.Eval.evalCommon(Eval.scala:135) 
    at sbt.compiler.Eval.evalDefinitions(Eval.scala:109) 
    at sbt.EvaluateConfigurations$.evaluateDefinitions(EvaluateConfigurations.scala:197) 
    at sbt.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:99) 
    at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:507) 
    at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:502) 
    at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:501) 
    at scala.Option.getOrElse(Option.scala:120) 
    at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:501) 
    at sbt.Load$$anonfun$loadSettings$1$2.apply(Load.scala:500) 
    at sbt.Load$$anonfun$loadSettings$1$2.apply(Load.scala:500) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
    at scala.collection.AbstractTraversable.map(Traversable.scala:105) 
    at sbt.Load$.loadSettings$1(Load.scala:500) 
    at sbt.Load$.sbt$Load$$expand$1(Load.scala:523) 
    at sbt.Load$.loadSettings(Load.scala:528) 
    at sbt.Load$.sbt$Load$$loadSbtFiles$1(Load.scala:464) 
    at sbt.Load$.defaultLoad$1(Load.scala:475) 
    at sbt.Load$.loadTransitive(Load.scala:478) 
    at sbt.Load$.loadProjects$1(Load.scala:418) 
    at sbt.Load$.loadUnit(Load.scala:419) 
    at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:256) 
    at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:256) 
    at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:93) 
    at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:92) 
    at sbt.BuildLoader.apply(BuildLoader.scala:143) 
    at sbt.Load$.loadAll(Load.scala:312) 
    at sbt.Load$.loadURI(Load.scala:264) 
    at sbt.Load$.load(Load.scala:260) 
    at sbt.Load$.load(Load.scala:251) 
    at sbt.Load$.apply(Load.scala:134) 
    at sbt.Load$.defaultLoad(Load.scala:37) 
    at sbt.BuiltinCommands$.doLoadProject(Main.scala:473) 
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:467) 
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:467) 
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60) 
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60) 
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62) 
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62) 
    at sbt.Command$.process(Command.scala:95) 
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100) 
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100) 
    at sbt.State$$anon$1.process(State.scala:179) 
    at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:100) 
    at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:100) 
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) 
    at sbt.MainLoop$.next(MainLoop.scala:100) 
    at sbt.MainLoop$.run(MainLoop.scala:93) 
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:71) 
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:66) 
    at sbt.Using.apply(Using.scala:25) 
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:66) 
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:49) 
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:33) 
    at sbt.MainLoop$.runLogged(MainLoop.scala:25) 
    at sbt.StandardMain$.runManaged(Main.scala:57) 
    at sbt.xMain.run(Main.scala:29) 
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:129) 
    at xsbt.boot.Launch$.run(Launch.scala:109) 
    at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36) 
    at xsbt.boot.Launch$.launch(Launch.scala:117) 
    at xsbt.boot.Launch$.apply(Launch.scala:19) 
    at xsbt.boot.Boot$.runImpl(Boot.scala:44) 
    at xsbt.boot.Boot$.main(Boot.scala:20) 
    at xsbt.boot.Boot.main(Boot.scala) 
+0

Eğer 'about' bir çıkış içeriği ekleyebilirler komut? – lpiepiora

+0

Bu hatayı çoğaltan en az çalışma örneği sunabilir misiniz? – lpiepiora

+0

sbt 0.13.5 ile etkileşime girebilecek herhangi bir genel eklentiyi kapatmak için sbt -Dsbt.global.base =/tmp/so işlevini çalıştırabilir misiniz? Belki eklenti olarak addSbtPlugin ("net.virtual-void"% "sbt bağımlılık grafiği"% "0.7.4") 'kullanıyor musunuz? [En az bir olay bildirildi] (http: // stackoverflow.com/q/20873896/1305344) Bu sizinkilere benzer bazı sorunlara neden oldu. –

cevap

5

sorun Sonatype anlık deposuna yayıncılık ve nasıl SBT eklentileri çözülmesi ile ilgisi varmış.

Onun yerine Bintray yayınlamak için official SBT documentation önerisini izledim. Ben de sadece yayınları yayınlamıyorum (ve anlık görüntüler değil). Şimdi her şey iyi çalışıyor.

Güncelleme: Basit bir geçici çözüm sizin project/pugins.sbt yılında SBT sürümü için bir bağımlılık geçersiz kılma eklemektir:

// project/plugins.sbt 
dependencyOverrides += "org.scala-sbt" % "sbt" % "0.13.7" 

Not: Verdiğiniz sürüm project/build.properties dosyasında nedir aynı olmalıdır.

+0

güncellemesini sarmaktadır: sorun hala devam ediyor ve Markos hala geçerli olduğunu belirtiyor Marker hala geçerli – Azeli

0

build.sbt yerine yapı yapılandırmanız için project/Build.scala kullanarak sorunu giderebilirsiniz. ivy2 önbellek dosyalarının kaldırılması

gerçek mesele sbt/#1592 detaylı şekilde verilmiştir ve gatling-sbt/#29

+1

Ancak, Bintray'a eklenti yayınlamanın bu sorun için daha iyi bir düzeltme olduğunu lütfen unutmayın. ".scala" 'ya geçmeniz gerekmiyor. Eğer '.sbt' + kullanırsanız bu eklentiler, herhangi bir SBT oluşturma projesi için ek çözücülere dayanmadan kullanılabilir olacaktır. –