-
Couldn't load subscription status.
- Fork 43
Description
As a consequence of #95, its possible to create an infinite recursive loop which means that sbt never ends up fully starting.
To reproduce this, simply change https://github.com/sbt/sbt-osgi/blob/main/src/main/scala/com/typesafe/sbt/osgi/SbtOsgi.scala#L47 to (fullClasspath in Compile).value.map(_.data) and then navigate into src/sbt-test/sbt-osgi/test-05-exportJars/ to run the test (i.e. run sbt osgiBundle).
You will notice that sbt stalls forever, failing to start. My suspicion is that there is an interdependency between
bundle := Osgi.bundleTask(fullClasspath in Compile).value.map(_.data)Compile / sbt.Keys.packageBin := bundle.value
Which causes the sbt task graph to not complete when evaluated. Apparently the intention of #95 was to prevent asynchronicity issues (see #79 (comment)) by forcefully evaluating Compile / sbt.Keys.packageBin.
@romainreuillon Maybe there is a better way to solve this otherwise I think I would have to revert the change since you can easily prevent sbt from even starting.