Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Replace 'Matchers' with 'CoreMatchers'

So we do not require 'org.hamcrest:hamcrest-library' as additional

dependency anymore. Which was only available for most of the tests

because it leaked onto the test compile classpath.

  1. … 162 more files in changeset.
Replace anonymous classes with lambdas

  1. … 710 more files in changeset.
Replace anonymous classes with lambdas

  1. … 694 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 286 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 283 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 286 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 284 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 285 more files in changeset.
Use 'implementation' dependencies everywhere

  1. … 285 more files in changeset.
Moved a bunch of dynamic object related types baseServicesGroovy to live in modelCore.

    • -119
    • +0
    ./gradle/internal/metaobject/MixInClosurePropertiesAsMethodsDynamicObjectTest.groovy
    • -199
    • +0
    ./gradle/util/ConfigureUtilTest.groovy
  1. … 58 more files in changeset.
Allow the services required by a given class to be queried prior to creating any instances of that class. Use this to allow `ArtifactTransformDependencies` to be injected into artifact transforms using any of the service injection patterns (that is, via a constructor or a getter).

    • -1
    • +1
    ./gradle/util/ConfigureUtilTest.groovy
  1. … 127 more files in changeset.
Remove direct usages of `ThreadGlobalInstantiator` from tests, replace with test fixtures.

    • -2
    • +2
    ./gradle/util/ConfigureUtilTest.groovy
  1. … 9 more files in changeset.
Only Javadoc option tests left!

  1. … 4 more files in changeset.
Fix CompositeDynamicObjectTest

Move file collection APIs out of core (#6525)

This change breaks out code that directly relates to handling `FileCollection`s and their build dependencies (called `TaskDependency` at this time) into a separate subproject (`:files`). This is so that other modules can build on just this module instead of having to depend on the oversized `:core`.

As part of the change `Provider`s have been moved to `:base-services`. In a possible followup step `:base-services` could be split into a module that captures the very basic concepts of Gradle's data model: it's all about `DomainObjectCollection`s that can be configured via `Action`s, transformed via `Transformer`s, lazyness can be provided via `Provider`s and rich mutable data types can be created via `Property` objects.

Another addition to `:base-serivces` is the directed graph traversal algorithms used in many parts of Gradle.

    • -0
    • +85
    ./gradle/api/internal/coerce/StringToEnumTransformerTest.groovy
    • -0
    • +848
    ./gradle/internal/metaobject/BeanDynamicObjectTest.groovy
    • -0
    • +47
    ./gradle/internal/metaobject/BeanWithMixInMethods.groovy
    • -0
    • +119
    ./gradle/internal/metaobject/MixInClosurePropertiesAsMethodsDynamicObjectTest.groovy
    • -0
    • +199
    ./gradle/util/ConfigureUtilTest.groovy
  1. … 435 more files in changeset.
Revert "Move type hierarchy walker to `base-services`"

This reverts commit 232e5444b7c535cba2bd0c7e82b48943413ed4bc.

  1. … 6 more files in changeset.
Move type hierarchy walker to `base-services`

We'll need it in other places, too.

+review REVIEW-5989

  1. … 6 more files in changeset.
Fix equals/hashCode methods in PatternSet and CompositeSpec

- CompositeSpec equals was broken.

- AndSpec/OrSpec equals was broken because of this

- IntersectionPatternSet equals/hashCode were missing

+review REVIEW-5971

  1. … 5 more files in changeset.
`coll.toArray(new T[coll.size()])` => `coll.toArray(new T[0])`

> Bottom line: toArray(new T[0]) seems faster, safer, and contractually cleaner, and therefore should be the default choice now. Future VM optimizations may close this performance gap for toArray(new T[size]), rendering the current "believed to be optimal" usages on par with an actually optimal one. Further improvements in toArray APIs would follow the same logic as toArray(new T[0]) — the collection itself should create the appropriate storage.

http://shipilev.net/blog/2016/arrays-wisdom-ancients/

Let's see what our performance tests say, if this is noticeable at all.

Changes made by IDEA "Structural Replace":

$coll$.toArray(new $T$[$coll$.size()])

=>

$coll$.toArray(new $T$[0])

+review REVIEW

  1. … 38 more files in changeset.
Apply abstract modifier to classes consistently

Prior to this commit, a minority of clases positioned the `abstract`

modifier before the `public` visibility modifier:

{ git grep -h '^abstract public'; git grep -h '^public abstract'; } \

| cut -d' ' -f1-3 | sort | uniq -c

25 abstract public class

232 public abstract class

This commit normalizes this usage with the following command:

git grep -l '^abstract public' \

| xargs perl -p -i -e 's/^abstract public/public abstract/'

Resulting in the following homogeny:

{ git grep -h '^abstract public'; git grep -h '^public abstract'; } \

| cut -d' ' -f1-3 | sort | uniq -c

257 public abstract class

  1. … 24 more files in changeset.
Replaced `Specs.and()`, `or()` and `not()` with `intersect()`, `union()` and `negate()`.

The new methods perform some simplification of the specs, such as removing double negation or short circuiting 'and(nothing, something)''. The specs created by these methods are used to select files in file sets, and can be invoked many, many times during a build.

New methods were required as the signatures of the old methods did not allow much simplification. The old methods have been deprecated and will be removed in Gradle 3.0.

    • -0
    • +147
    ./gradle/api/specs/SpecsTest.groovy
  1. … 17 more files in changeset.
Remove unnecessary qualified references

+review REVIEW-5380

OrSpecTest.isSatisfiedByWithAllFalse: test the right class

Move the Specs class to base services now that it no longer depends on the deprecation logger.

Also cleaned up some compiler warnings in the process.

    • -0
    • +45
    ./gradle/api/specs/SpecsTest.groovy
  1. … 3 more files in changeset.
Removed RuleAction from the public API: no replacement yet

  1. … 33 more files in changeset.
Extracted RuleAction conversion and validation to generic capabilities

+review REVIEW-5180

    • -0
    • +86
    ./gradle/api/internal/DefaultRuleActionAdapterTest.groovy
    • -0
    • +44
    ./gradle/api/internal/DefaultRuleActionValidatorTest.groovy
  1. … 9 more files in changeset.
Improving component selection rules targeting tests - Separated targeted tests from untargeted tests - Cleaned up instances of rule order assumptions - Extracted validation into RuleActionValidator +review REVIEW-5180

    • -0
    • +44
    ./gradle/api/internal/RuleActionValidatorTest.groovy
  1. … 5 more files in changeset.
Changing component selection rule targeting to use a collection of Spec/RuleAction tuples

+review REVIEW-5180

  1. … 10 more files in changeset.
Build script targets component selection rule to particular module story.

+review REVIEW-5180

    • -0
    • +52
    ./gradle/api/internal/DelegatingTargetedRuleActionTest.groovy
  1. … 9 more files in changeset.
Rename CollectionUtils#flattenToList to flattenCollections and change it to unpack collections (and arrays), not iterables.

  1. … 5 more files in changeset.