Settings

This section contains a comprehensive list of all configuration options for Hydra.

System properties (available across all build tools and CLI)

Name Default Description
hydra.logLevel INFO Set the log level (DEBUG,INFO,WARN,ERROR)
hydra.logFile <basedir>/.hydra/{tool}/hydra.log Path to the log file
hydra.metrics.disabled false Disables metrics collection
hydra.metrics.gcThresholdMs 5000 (5 seconds) Threshold for reporting the error about too much GC during compilation
hydra.license.store <user.home>/.triplequote/hydra.license File where Hydra can read/write license information
hydra.license.activationServerUrl https://activation.triplequote.com/algas/ The server to use for activating Hydra licenses
hydra.skipSnapshotResolver false Don't add default Hydra Snapshot resolver.
hydra.metric.gcThresholdMs 5000 Display warnings about garbage collection above this time. Set to 0 to disable

sbt

Name Default Description
hydraWorkers cores / 2 Number of workers to use for compiling
hydraSourcePartitioner auto Strategy for assigning sources to workers (auto, explicit, package, plain)
hydraPartitionFile <basedir>/ <module>/src/partition.hydra The file used by the explicit partitioner to assign sources to workers
hydraTimingsFile <basedir>/ .hydra/<tool>/timings.csv The CSV file where Hydra will log compilation times
hydraScalaVersion (Depends on the specific version of sbt-hydra) The version of Scala Hydra used to compile Scala sources
hydraIsEnabled True if the set Scala version is supported The version of Scala Hydra used to compile Scala sources
hydraMetricsDirectory ~/.triplequote/metrics The directory where logs and metrics are stored until pushed to the dahsboard
hydraMetricsServiceJvmOptions Seq("-Xmx256M") JVM options used to initialize the metrics service
hydraMetricsServiceStart N/A Starts the metrics service
hydraBaseDirectory <proj>/.hydra/sbt The location of all Hydra caches and files.
hydraInvalidateCaches N/A Delete all information cached by Hydra between builds.
hydraConfigureLocalDashboard N/A Create default docker-compose.yml file for running a local Dashboard
hydraStartLocalDashboard N/A Start a local Dashboard instance via docker-compose.
hydraDisplayInfo true Display compilation statistics on startup and when reaching certain thresholds
hydraCompilationStats N/A Display all statistics about compilation

Maven

Name Default Description
hydraCpus 4 The number of workers to use when compiling
hydraEnabled false Enable or disable hydra on this project
hydraVersion 0.9.9 Hydra version to use in this build
hydraMetricsDirectory ~/.triplequote/metrics The directory where logs and metrics are stored until pushed to the dahsboard
hydraMetricsServiceJvmOptions -Xmx256M Additional options to pass to the Java VM running the metrics service

Gradle

Name Default Description
workers 4 The number of workers to use when compiling
version (required) Hydra version to use in this build
metricsServiceVersion (required) Metrics service version to use for pushing metrics to the dashboard
metricsServiceJvmOptions -Xmx256M Additional options to pass to the Java VM running the metrics service

Compiler options (available across all build tools and CLI)

Name Default Description
-cpus cores / 2 Number of workers to use for compiling
-YsourcePartitioner auto Strategy for assigning sources to workers (auto, explicit, package, plain)
-YtimingsFile <basedir>/ .hydra/<tool>/timings.csv The CSV file where Hydra will log compilation times
-YpartitionFile <basedir>/<module>/src/partition.hydra The file used by the explicit partitioner to assign sources to workers
-YrootDirectory <basedir> The root directory used to relativize sources paths
-YhydraStore <basedir>/.hydra/<tool>/<module>/<scope> The directory where the generated files are stored
-YcreateArgsFile false Create an args file that can be used to run Hydra CLI.
-YannotationMacro "typeclass" Name of annotation macro that generate companion objects. Can be repeated.
-YsketchLate "always" Sketch-type members of source dependencies (always, no-whitebox, never)
-Yphase-disable-late "" Disable phase by name in late files
-YhydraMetricsDirectory ~/.triplequote/metrics The directory where logs and metrics are stored until pushed to the dahsboard