configuration

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix for starting a single-use daemon when client has low memory

The previous logic was testing whether the daemon parameters had

a memory setting, but not whether that setting was the default or

whether it actually came from the user. The default settings are

ignored for the purpose of forking a single-use daemon, so they

also need to be ignored in the decision whether the current VM

has enough memory.

  1. … 2 more files in changeset.
Remove duplicate 'm' from default Daemon VM args

Fork a single-use daemon of client VM has too little memory

We lowered the client VMs memory to 64m by default, which is plenty

for displaying log output, but not enough to run the vast majority

of builds. Users who really want to run their build inside the client

process should set a higher memory requirement via GRADLE_OPTS.

For all others we now automatically fork a single-use daemon, so their

build doesn't fail in environments that automatically append the "--no-daemon" flag.

These environments unfortunately include popular ones like Travis and TeamCity.

  1. … 1 more file in changeset.
Limit metaspace used by the Gradle daemon

Our integration tests still need too much metaspace because

we never clean up buildSrc/script classloaders. This is a problem

in our tests since we create hundreds of projects, all with different

directories. For our end users this is probably not as bad, but we

should still fix it soon.

  1. … 8 more files in changeset.
Merge pull request #7403 from gradle/oehme/daemon/priority

Allow starting daemon with lower priority

  1. … 2 more files in changeset.
Merge pull request #7343 from gradle/oehme/memory-limits

Lower default memory limits for Gradle processes

  1. … 1 more file in changeset.
Allow starting daemon with lower priority

    • -1
    • +7
    ./DefaultDaemonServerConfiguration.java
  1. … 19 more files in changeset.
Remove metaspace limits for now

We used to test Gradle with a permgen limit of 320Mb.

However, trying to enforce the same limit for metaspace

on Java8+ consistently leads to OutOfMemoryErrors.

Even raising it significantly to 1G does not seem to solve

all these issues. The only explanation I currently have is

that we introduced a leak between now and the point when we

stopped testing for Java 7.

  1. … 7 more files in changeset.
Revert "Revert "Merge pull request #7296 from gradle/oehme/java9/suppress-groovy-warnings""

This reverts commit 44f9cc7346b1dfbc4fdeff8421da368660749fd4.

  1. … 9 more files in changeset.
Revert "Merge pull request #7296 from gradle/oehme/java9/suppress-groovy-warnings"

This reverts commit 166f63359900f1ef7115113cdf4a0699e425f645, reversing

changes made to cc54813e66af95f14764a40abbf4a72f200c60f2.

  1. … 9 more files in changeset.
Lower memory for the Gradle daemon by default

We have made lots of memory usage improvements to Gradle,

so 512m will be enough for small-medium sized projects.

The assumption here is that power users with large projects

are much more likely to tweak these settings than peole just

getting started.

Also this change limits the metaspace on Java8+, so that memory

leaks in plugins don't go unnoticed.

De-incubate pre 4.0 things in userguide

and for command line arguments

  1. … 17 more files in changeset.
Prevent Groovy illegal access warnings

Start all processes that are likely to use Groovy with the

necessary --add-opens arguments to avoid noisy warnings that

our users can't do anything about.

  1. … 9 more files in changeset.
Avoid using deprecated JVM methods

  1. … 4 more files in changeset.
Move the 'interactive' flag that is passed from the client to daemon so that it lives in only one place. The flag is still on `StartParameter` but is unused and should later be deprecated and removed.

  1. … 19 more files in changeset.
Make environment variable mutation work on Java9+

Mutating the environment requires reflection on the

java.util package, so we need to open that package

up to Gradle. Since Gradle is not modularized, this

means opening it up to the whole classpath. This is

less than desirable, but the only way to restore the

behavior we had on Java 8 and below.

We should start limiting access to environment variables

going forward so users don't depend on arbitrary values.

However, this change allows us to unblock users who are

currently either not using Java 9 or running Gradle in

no-daemon mode, both of which are terrible solutions.

  1. … 11 more files in changeset.
Switch to GradleSystem.getenv()

This commit replaces all System.getenv() with GradleSystem.getenv() in Gradle code base.

  1. … 23 more files in changeset.
Limit memory of daemons used in tests

By default they were taking 1/4th of the machine's memory

which is excessive. 2GB for a shared daemon and 512MB for a

test-specific daemon should be more than enough.

  1. … 4 more files in changeset.
A disabled build option should provide a proper description (#3237)

  1. … 17 more files in changeset.
Don't ask for user input on non-interactive console (#3106)

  1. … 13 more files in changeset.
Create build options only once

They are effectively immutable constants, so no need to

create them again and again in sevaral different places.

    • -0
    • +203
    ./DaemonBuildOptions.java
  1. … 28 more files in changeset.
Address review feedback

- use DaemonServerConfiguration to pass information further down

- remove BuildAndStop command

- change naming to use singleUse

+review REVIEW-6567

    • -1
    • +8
    ./DefaultDaemonServerConfiguration.java
  1. … 12 more files in changeset.
Unify error messages for Gradle build options (#2934)

Unify error messages for Gradle build options #2917

  1. … 19 more files in changeset.
Polishing of Gradle build options (#2890)

  1. … 31 more files in changeset.
Represent Gradle properties and corresponding command line option as data structure (#2784)

    • -0
    • +198
    ./DaemonBuildOptionFactory.java
  1. … 46 more files in changeset.
Move HeapProportionalCacheSizer to org.gradle.cache.internal

+review REVIEW-6562

  1. … 9 more files in changeset.
Merge pull request #2316 from gradle/jj/nodaemon/fix-vm-comparison

Fix build VM comparison

Rename local variable to for consistency

Restore previous behavior: user can set daemon jvm args to empty

If the jvm args are explicitly defined (i.e. org.gradle.jvmargs="")

no defaults are applied.

  1. … 1 more file in changeset.
Replace usages of org.gradle.api.Nullable

With javax.annotation.Nullable.

  1. … 460 more files in changeset.