sbt / sbt-pom-reader

Translates xml -> awesome. Maven-ish support for sbt.
Other
76 stars 26 forks source link

Build fails with null pointer exception #34

Closed leithaus closed 9 years ago

leithaus commented 9 years ago

// build.scala: import sbt._

object MyBuild extends com.typesafe.sbt.pom.PomBuild

// plugins.sbt addSbtPlugin("com.typesafe.sbt" % "sbt-pom-reader" % sys.props("project.version"))

pom.xml: https://github.com/leithaus/strategies/blob/master/pom.xml

sbt compile java.lang.NullPointerException at sbt.StringUtilities$.nonEmpty(StringUtilities.scala:12) at sbt.impl.GroupArtifactID.$percent(DependencyBuilders.scala:47) at $906d33664453e1b6ec2d$.$sbtdef(/Users/lgm/work/src/projex/stellar/mdp4tw/strategies/project/plugins.sbt:9) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sbt.compiler.Eval$.getValue(Eval.scala:464) at sbt.compiler.Eval$$anonfun$4.apply(Eval.scala:97) at sbt.compiler.Eval$$anonfun$4.apply(Eval.scala:97) at sbt.EvaluateConfigurations$$anonfun$evaluateDslEntry$1.apply(EvaluateConfigurations.scala:186) at sbt.EvaluateConfigurations$$anonfun$evaluateDslEntry$1.apply(EvaluateConfigurations.scala:184) at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1$$anonfun$11.apply(EvaluateConfigurations.scala:129) at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1$$anonfun$11.apply(EvaluateConfigurations.scala:129) 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.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1.apply(EvaluateConfigurations.scala:129) at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1.apply(EvaluateConfigurations.scala:123) at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:710) at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:715) at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:714) at scala.Option.getOrElse(Option.scala:120) at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:714) at sbt.Load$$anonfun$loadFiles$1$2.apply(Load.scala:721) at sbt.Load$$anonfun$loadFiles$1$2.apply(Load.scala:721) 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$.loadFiles$1(Load.scala:721) at sbt.Load$.discoverProjects(Load.scala:732) at sbt.Load$.discover$1(Load.scala:545) at sbt.Load$.loadTransitive(Load.scala:574) at sbt.Load$.loadProjects$1(Load.scala:442) at sbt.Load$.loadUnit(Load.scala:446) at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:281) at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:281) at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:91) at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:90) at sbt.BuildLoader.apply(BuildLoader.scala:140) at sbt.Load$.loadAll(Load.scala:334) at sbt.Load$.loadURI(Load.scala:289) at sbt.Load$.load(Load.scala:285) at sbt.Load$.load(Load.scala:276) at sbt.Load$.apply(Load.scala:130) at sbt.Load$.buildPluginDefinition(Load.scala:819) at sbt.Load$.buildPlugins(Load.scala:785) at sbt.Load$.plugins(Load.scala:773) at sbt.Load$.loadUnit(Load.scala:431) at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:281) at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:281) at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:91) at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:90) at sbt.BuildLoader.apply(BuildLoader.scala:140) at sbt.Load$.loadAll(Load.scala:334) at sbt.Load$.loadURI(Load.scala:289) at sbt.Load$.load(Load.scala:285) at sbt.Load$.load(Load.scala:276) at sbt.Load$.apply(Load.scala:130) at sbt.Load$.defaultLoad(Load.scala:36) at sbt.BuiltinCommands$.doLoadProject(Main.scala:481) at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:475) at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:475) at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:58) at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:58) at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60) at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60) at sbt.Command$.process(Command.scala:92) at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98) at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98) at sbt.State$$anon$1.process(State.scala:184) at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98) at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98) at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) at sbt.MainLoop$.next(MainLoop.scala:98) at sbt.MainLoop$.run(MainLoop.scala:91) at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70) at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65) at sbt.Using.apply(Using.scala:24) at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65) at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48) at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32) at sbt.MainLoop$.runLogged(MainLoop.scala:24) at sbt.StandardMain$.runManaged(Main.scala:53) at sbt.xMain.run(Main.scala:28) at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) at xsbt.boot.Launch$.withContextLoader(Launch.scala:128) at xsbt.boot.Launch$.run(Launch.scala:109) at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) at xsbt.boot.Launch$.launch(Launch.scala:117) at xsbt.boot.Launch$.apply(Launch.scala:18) at xsbt.boot.Boot$.runImpl(Boot.scala:41) at xsbt.boot.Boot$.main(Boot.scala:17) at xsbt.boot.Boot.main(Boot.scala) [error] java.lang.NullPointerException [error] Use 'last' for the full log.

metasim commented 9 years ago

@leithaus Why are you using sys.props("project.version") for the plugin version?

leithaus commented 9 years ago

Because i copied that from one of the test samples?

metasim commented 9 years ago

That fragment is for testing during plugin development via the scripted plugin.

Try addSbtPlugin("com.typesafe.sbt" % "sbt-pom-reader" % "2.0.0") per the "Usage" section of the README.md file. Adding a project/build.properties files is a good idea too.

leithaus commented 9 years ago

Making those suggested changes, results in exactly the same execution trace, namely a NullPointerException.

leithaus commented 9 years ago

Here is the project directory: https://github.com/leithaus/strategies/tree/master/project

metasim commented 9 years ago

Your addSbtPlugin should be this:

addSbtPlugin("com.typesafe.sbt" % "sbt-pom-reader" % "2.0.0")
leithaus commented 9 years ago

Cheers! i was distracted and forgot to remove the sys.props.