[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reviving the effort to package SBT



Hi Emmanuel,

On Wed, 2016-10-26 at 00:07 +0200, Emmanuel Bourg wrote:
> You'll also need debian/control, debian/changelog and debian/compat.
> debian/copyright is probably necessary to document that we are allowed
> to distribute the binaries.

I started working on this.

1) I changed the RFP to an ITP:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639910#109

2) My work-in-progress repository is here at the moment (it's not a
functional Debian source package at the moment):

https://gitlab.com/mdimjasevic/sbt-non-free

This is how I'm attacking the beast. I figured out that sbt.jar contains
the Main class, i.e. the entry point to SBT. Therefore, I worked my way
from there in the following iterative fashion:

$ scala -cp <things under sbt/>:<things under probably-existing/>
sbt/sbt.jar

This would result in a java.lang.ClassNotFoundException. Then I'd search
a cache directory created by sbt-launch.jar (which downloads
dependencies from online) for the missing class, add a Jar file
containing the class to the class path and repeat the process.

Eventually I ran into this error:

java.lang.RuntimeException: Couldn't install component compiler:
scala-compiler.jar not found on resource path.
        at scala.sys.package$.error(package.scala:27)
        at sbt.StaticAppProvider$$anonfun$installFromResources
$1.apply(Main.scala:179)
        at sbt.StaticAppProvider$$anonfun$installFromResources
$1.apply(Main.scala:164)
        at sbt.IO$.withTemporaryDirectory(IO.scala:344)
        at sbt.StaticAppProvider.installFromResources(Main.scala:164)
        at sbt.StaticAppProvider.<init>(Main.scala:130)
        at sbt.StaticAppConfiguration.<init>(Main.scala:186)
        at sbt.Main$.main(Main.scala:11)
        at sbt.Main.main(Main.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at scala.reflect.internal.util.ScalaClassLoader$$anonfun$run
$1.apply(ScalaClassLoader.scala:70)
        at scala.reflect.internal.util.ScalaClassLoader
$class.asContext(ScalaClassLoader.scala:31)
        at scala.reflect.internal.util.ScalaClassLoader
$URLClassLoader.asContext(ScalaClassLoader.scala:101)
        at scala.reflect.internal.util.ScalaClassLoader
$class.run(ScalaClassLoader.scala:70)
        at scala.reflect.internal.util.ScalaClassLoader
$URLClassLoader.run(ScalaClassLoader.scala:101)
        at scala.tools.nsc.CommonRunner$class.run(ObjectRunner.scala:22)
        at scala.tools.nsc.JarRunner$.run(MainGenericRunner.scala:13)
        at scala.tools.nsc.CommonRunner
$class.runAndCatch(ObjectRunner.scala:29)
        at scala.tools.nsc.JarRunner$.runJar(MainGenericRunner.scala:25)
        at scala.tools.nsc.MainGenericRunner.runTarget
$1(MainGenericRunner.scala:69)
        at scala.tools.nsc.MainGenericRunner.run
$1(MainGenericRunner.scala:87)
        at
scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:98)
        at scala.tools.nsc.MainGenericRunner
$.main(MainGenericRunner.scala:103)
        at
scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)


This one is a puzzle for me as I do have the Scala 2.11.8 package
installed, which includes /usr/share/java/scala-compiler.jar (a symbolic
link to /usr/share/java/scala-compiler-2.11.8.jar). I tried adding the
scala-compiler.jar file to the class path, but that didn't help. I also
tried with the following version:

https://repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.10.6/scala-compiler-2.10.6.jar

which is downloaded by sbt-launch.jar, but that didn't resolve the
problem either.

My hunch is I should specify the path to the compiler with something
else, and not the class path, likely with a resource path, but I don't
know what it is and how to provide it.

Any suggestion how to resolve this?


-- 
Regards,
Marko Dimjašević <marko@dimjasevic.net>
https://dimjasevic.net/marko          PGP key ID: 1503F0AA
Learn email self-defense! https://emailselfdefense.fsf.org

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: