'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 1:[1]

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).

Solution 2:[2]

tasks.withType(JavaExec) {
     enableAssertions = true
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Marcus Vinícius Voltolim