final case class SandboxedJvmGenerator(name: String, artifact: Artifact, generatorClass: String, suggestedDependencies: Seq[Artifact]) extends Generator with Product with Serializable
Represents a JvmGenerator that needs to be dynamically loaded from an artifact. This allows to run each JvmGenerator in its own classloader and thus avoid dependency conflicts between plugins or between plugins and the container (such as sbt).
The primary problem triggering this is that SBT ships with an old version of protobuf-java that is not binary compatible with recent versions. In addition, SBT depends on ScalaPB's runtime, so ScalaPB plugins can't use ScalaPB itself without running a risk of conflict.
artifact: Artifact containing the generator class. generatorClass: A scala object that implements ProtocCodeGenerator
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- SandboxedJvmGenerator
- Serializable
- Product
- Equals
- Generator
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val artifact: Artifact
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val generatorClass: String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val name: String
- Definition Classes
- SandboxedJvmGenerator → Generator
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val suggestedDependencies: Seq[Artifact]
- Definition Classes
- SandboxedJvmGenerator → Generator
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()