src/Doc/System/Scala.thy
changeset 71378 820cf124dced
parent 63680 6e1e8b5abbfa
child 71389 21995f5e8126
equal deleted inserted replaced
71377:e40f287c25c4 71378:820cf124dced
    91   \secref{sec:isabelle-tool}. Alternatively, the full
    91   \secref{sec:isabelle-tool}. Alternatively, the full
    92   \<^file>\<open>$ISABELLE_HOME/bin/isabelle_scala_script\<close> may be specified in expanded
    92   \<^file>\<open>$ISABELLE_HOME/bin/isabelle_scala_script\<close> may be specified in expanded
    93   form.
    93   form.
    94 \<close>
    94 \<close>
    95 
    95 
       
    96 
       
    97 section \<open>Project setup for common Scala IDEs\<close>
       
    98 
       
    99 text \<open>
       
   100   The @{tool_def scala_project} tool creates a Gradle project configuration
       
   101   for Isabelle/Scala/jEdit:
       
   102   @{verbatim [display]
       
   103 \<open>Usage: isabelle scala_project [OPTIONS] PROJECT_DIR
       
   104 
       
   105   Options are:
       
   106     -l           make symlinks to original scala files
       
   107 
       
   108   Setup Gradle project for Isabelle/Scala/jEdit --- to support Scala IDEs
       
   109   such as IntelliJ IDEA.\<close>}
       
   110 
       
   111   The generated project configuration is for Gradle\<^footnote>\<open>\<^url>\<open>https://gradle.org\<close>\<close>,
       
   112   but the main purpose is to import it into common Scala IDEs, such as
       
   113   IntelliJ IDEA\<^footnote>\<open>\<^url>\<open>https://www.jetbrains.com/idea\<close>\<close>. This allows to explore
       
   114   the sources with static analysis and other hints in real-time.
       
   115 
       
   116   The specified project directory must not exist yet. The generated files
       
   117   refer to physical file locations, using the path notation of the underlying
       
   118   OS platform. Thus the project needs to be recreated whenever the Isabelle
       
   119   installation is changed or moved.
       
   120 
       
   121   \<^medskip> By default, Scala sources are \<^emph>\<open>copied\<close> from the Isabelle distribution and
       
   122   editing them within the IDE has no permanent effect.
       
   123 
       
   124   Alternatively, option \<^verbatim>\<open>-l\<close> may be used to produce symlinks to the original
       
   125   files: this allows to develop Isabelle/Scala/jEdit within an external Scala
       
   126   IDE. Note that building the result always requires \<^verbatim>\<open>isabelle jedit -b\<close> on
       
   127   the command-line.
       
   128 \<close>
       
   129 
    96 end
   130 end