docs/03-special-guides/groovy_setup_guide_for_serena.md
The Groovy support in Serena is incomplete and requires the user to provide a functioning, JVM-based Groovy language server as a jar. This intermediate state allows the contributors of Groovy support to use Serena internally and hopefully to accelerate their open-source release of a Groovy language server in the future.
If you happen to have a Groovy language server JAR file, you can configure Serena to use it by following the instructions below.
Configure Groovy Language Server by adding settings to your ~/.serena/serena_config.yml:
ls_specific_settings:
groovy:
ls_jar_path: '/path/to/groovy-language-server.jar'
ls_jar_options: '-Xmx2G -Xms512m'
If you have specific Java installations:
ls_specific_settings:
groovy:
ls_jar_path: '/path/to/groovy-language-server.jar'
ls_java_home_path: '/usr/lib/jvm/java-21-openjdk' # Custom JAVA_HOME directory
ls_jar_options: '-Xmx2G -Xms512m' # Optional JVM options
ls_jar_path: Absolute path to your Groovy Language Server JAR file (required)ls_java_home_path: Custom JAVA_HOME directory for Java installation (optional)
{ls_java_home_path}/bin/java.exe{ls_java_home_path}/bin/javals_jar_options: JVM options for language server (optional)
-Xmx<size>: Maximum heap size (e.g., -Xmx2G for 2GB)-Xms<size>: Initial heap size (e.g., -Xms512m for 512MB)For optimal Groovy Language Server performance, ensure your project follows standard Groovy/Gradle structure:
project-root/
├── src/
│ ├── main/
│ │ ├── groovy/
│ │ └── resources/
│ └── test/
│ ├── groovy/
│ └── resources/
├── build.gradle or build.gradle.kts
├── settings.gradle or settings.gradle.kts
└── gradle/
└── wrapper/
*.groovy, *.gvy) and will start a Groovy Language Server JAR process per project when needed.