Search code examples
javagradleassertassertion

How to enable assertions in the Gradle run task


By default, Java disables assertions. (The test I'm using here is assert false; as the first line in main().)

I'd like to have them enabled while running my program with gradle run. What's the trick for doing this?


Solution

  • There is a specific flag enableAssertions that you can set to enable assertions. Such flags are often more readable than working with the jvm args directly. It comes down to personal preferences I think.

    Instead of working with applicationDefaultJvmArgs you can add the following to your build.gradle file:

    run {
        enableAssertions = true
    }
    

    This configures the run task to enable assertions.

    The run task is of type JavaExec, have a look at the documentation if you are interested in other parameters that you can set (e.g., workingDir or heapMaxSize).