src/Pure/Tools/scala_project.scala
changeset 74429 fedc0b659881
parent 74104 fa92c5f8af86
child 74656 0659536b150b
equal deleted inserted replaced
74428:dd1f5a00115f 74429:fedc0b659881
    20         case _ => c.toString
    20         case _ => c.toString
    21       }).mkString("'", "", "'")
    21       }).mkString("'", "", "'")
    22   }
    22   }
    23 
    23 
    24 
    24 
       
    25   /* plugins: modules with dynamic build */
       
    26 
       
    27   class Plugin(dir: Path) extends Isabelle_System.Service
       
    28   {
       
    29     def context(): Scala_Build.Context = Scala_Build.context(dir)
       
    30   }
       
    31 
       
    32   lazy val plugins: List[Plugin] = Isabelle_System.make_services(classOf[Plugin])
       
    33 
       
    34 
    25   /* file and directories */
    35   /* file and directories */
    26 
    36 
    27   def plugin_contexts(): List[Scala_Build.Context] =
       
    28     for (plugin <- List("jedit_base", "jedit_main"))
       
    29     yield Scala_Build.context(Path.explode("$ISABELLE_HOME/src/Tools/jEdit") + Path.basic(plugin))
       
    30 
       
    31   lazy val isabelle_files: (List[Path], List[Path]) =
    37   lazy val isabelle_files: (List[Path], List[Path]) =
    32   {
    38   {
    33     val contexts = Scala_Build.component_contexts() ::: plugin_contexts()
    39     val contexts = Scala_Build.component_contexts() ::: plugins.map(_.context())
    34 
    40 
    35     val jars1 = Path.split(Isabelle_System.getenv("ISABELLE_CLASSPATH"))
    41     val jars1 = Path.split(Isabelle_System.getenv("ISABELLE_CLASSPATH"))
    36     val jars2 = contexts.flatMap(_.requirements)
    42     val jars2 = contexts.flatMap(_.requirements)
    37 
    43 
    38     val jars =
    44     val jars =