Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Move tests

    • -329
    • +0
    ./api/internal/ApiClassExtractorAnnotationsTest.groovy
    • -172
    • +0
    ./api/internal/ApiClassExtractorInnerClassTest.groovy
    • -201
    • +0
    ./api/internal/ApiClassExtractorTestSupport.groovy
    • -76
    • +0
    ./api/internal/ApiClassExtractorTestSupportTest.groovy
  1. … 6 more files in changeset.
Make API nicer

    • -1
    • +1
    ./api/internal/ApiClassExtractorInnerClassTest.groovy
  1. … 4 more files in changeset.
Move code over

  1. … 42 more files in changeset.
Clean up some test constraints

  1. … 2 more files in changeset.
Clean up some test constraints

  1. … 2 more files in changeset.
Fix some more Java6 target compatibility instances

Fix some more Java6 target compatibility instances

Remove deprecated Class.newInstance() (#6496)

`Class.newInstance()` was deprecated in Java 9.

    • -2
    • +5
    ./api/internal/ApiClassExtractorInnerClassTest.groovy
    • -1
    • +2
    ./api/internal/ApiClassExtractorTestSupportTest.groovy
  1. … 32 more files in changeset.
Update to ASM7 mode for Java 11 compatibility

  1. … 16 more files in changeset.
Remove usage of Task.execute from tests

  1. … 29 more files in changeset.
Update to ASM6 alpha

This commit bumps the ASM library used in Gradle from 5.1 to 6.0_ALPHA. While being an alpha version, this ASM version is the only

one compatible with the Java 9 class format. This allows us to remove the `Java9ClassReader`, and also makes it possible to re-enable

some tests which were failing due to mocking bugs under JDK 9.

  1. … 25 more files in changeset.
Changed classpath ABI calculation to ignore all changes to private inner classes, anonymous classes and local classes.

Also added a bunch of test coverage for `@CompileClasspath`.

    • -6
    • +28
    ./api/internal/ApiClassExtractorInnerClassTest.groovy
  1. … 9 more files in changeset.
jar: coverage for Action<?> overloads

Use directory walker for reproducible archives

Instead of sorting the files after reading them from disk we

use `ReproducibleDirectoryWalker` to directly read them from disk in

a reproducible way independent of the file system.

This has the advantage that we do not add some special handling for

zipTree and tarTree. It probably has some performance impact when

having walking the file system but the impact should actually be

less than sorting afterwards since we sort smaller lists and we do

not need to keep all the file names in an archive in memory.

  1. … 28 more files in changeset.
Make MANIFEST.MF the first file in the jar

  1. … 2 more files in changeset.
Spike compile avoidance using compile classpath aware hashing strategy

  1. … 54 more files in changeset.
Make some small corrections in the test case, to make them slightly more realistic.

Fix issue #819

  1. … 1 more file in changeset.
Address review feedback for SortingAnnotationVisitor

- Add integration test reproducing the issue

- Add Unit test reproducing the issue

GRADLE-3483

+review REVIEW-6034

    • -0
    • +43
    ./api/internal/ApiClassExtractorAnnotationsTest.groovy
  1. … 2 more files in changeset.
Removed TestPrecondition.JDK7_OR_LATER

  1. … 39 more files in changeset.
Removed TestPrecondition.JDK6_OR_LATER

    • -4
    • +0
    ./api/internal/ApiClassExtractorAnnotationsTest.groovy
    • -3
    • +0
    ./api/internal/ApiClassExtractorInnerClassTest.groovy
    • -3
    • +0
    ./api/internal/ApiClassExtractorTestSupportTest.groovy
  1. … 2 more files in changeset.
AbstractTaskTest isa AbstractProjectBuilderSpec

- This change converts the entire class hierarchy under AbstractTaskTest

to extend from AbstractProjectBuilderSpec.

- This should ensure that fewer files are left behind by tests, and the

temporary directory names actually match their testclass/method names.

  1. … 33 more files in changeset.
Polish `ApiJar`

- Improve code flow with static imports

- Remove `JarEntry` writing logic duplication

- Decouple jar generation from file collection

- Make temporal coupling explicit by turning `sortedFiles` field into `collectedFiles` parameter

- Normalise usage of whitespace

+review REVIEW-5733

    • -1
    • +0
    ./api/internal/ApiClassExtractorAnnotationsTest.groovy
  1. … 3 more files in changeset.
Introduce o.g.jvm.tasks.api.internal package

This commit introduces an "internal" subpackage for the

o.g.jvm.tasks.api package and moves into it all of the supporting types

for the recently-introduced (public and @Incubating) `ApiJar` task.

Note that the only type that technically needs to be given public

visibility in this new internal package is `ApiClassExtractor` (because

it is the only one directly referenced from `ApiJar`). However, all

types have been given public visibility in order to conform with current

conventions in the larger Gradle codebase.

    • -291
    • +0
    ./api/ApiClassExtractorAnnotationsTest.groovy
    • -150
    • +0
    ./api/ApiClassExtractorInnerClassTest.groovy
    • -493
    • +0
    ./api/ApiClassExtractorTest.groovy
    • -200
    • +0
    ./api/ApiClassExtractorTestSupport.groovy
    • -78
    • +0
    ./api/ApiClassExtractorTestSupportTest.groovy
    • -0
    • +291
    ./api/internal/ApiClassExtractorAnnotationsTest.groovy
    • -0
    • +150
    ./api/internal/ApiClassExtractorInnerClassTest.groovy
    • -0
    • +493
    ./api/internal/ApiClassExtractorTest.groovy
    • -0
    • +200
    ./api/internal/ApiClassExtractorTestSupport.groovy
    • -0
    • +78
    ./api/internal/ApiClassExtractorTestSupportTest.groovy
  1. … 39 more files in changeset.
Format test sources for readability

    • -101
    • +115
    ./api/ApiClassExtractorAnnotationsTest.groovy
    • -26
    • +30
    ./api/ApiClassExtractorInnerClassTest.groovy
    • -80
    • +120
    ./api/ApiClassExtractorTest.groovy
    • -3
    • +5
    ./api/ApiClassExtractorTestSupport.groovy
    • -22
    • +23
    ./api/ApiClassExtractorTestSupportTest.groovy
Overhaul naming and introduce Member hierarchy

- Roll back poorly thought-out "compilation unit" naming in favor of

simple and accurate "API class" naming.

- Rename ApiClassExtractor => ApiMemberSelector to reflect the fact

that this is really just a ClassVisitor that chooses (selects) which

members should be included in the API.

- Refactor *Sig types into new Member hierarchy

- Improve and consolidate comparison logic

- Favor private fields in all Member types

- Refactor use of collections throughout the package

- Use normal JavaBeans add* method semantics

- Return immutable copies of collections from getters

- Use SortedSets from the start, not after the fact

- Remove unnecessary final modifiers

- Refactor SortingAnnotationVisitor

    • -0
    • +277
    ./api/ApiClassExtractorAnnotationsTest.groovy
    • -0
    • +146
    ./api/ApiClassExtractorInnerClassTest.groovy
    • -0
    • +453
    ./api/ApiClassExtractorTest.groovy
    • -0
    • +198
    ./api/ApiClassExtractorTestSupport.groovy
    • -0
    • +77
    ./api/ApiClassExtractorTestSupportTest.groovy
    • -277
    • +0
    ./api/ApiUnitExtractorAnnotationsTest.groovy
    • -146
    • +0
    ./api/ApiUnitExtractorInnerClassTest.groovy
    • -453
    • +0
    ./api/ApiUnitExtractorTest.groovy
    • -198
    • +0
    ./api/ApiUnitExtractorTestSupport.groovy
    • -77
    • +0
    ./api/ApiUnitExtractorTestSupportTest.groovy
  1. … 29 more files in changeset.
Remove API validation support

    • -9
    • +3
    ./api/ApiUnitExtractorTestSupport.groovy
    • -544
    • +0
    ./api/ApiUnitExtractorValidationTest.groovy
  1. … 6 more files in changeset.
Favor referring to API "extraction" over "stubbing"

- Focus on the high-level idea of "extracting API members" vs. focusing

on the low-level detail of stubbing the method bodies of those

extracted members.

- Introduce language focused on the compilation unit vs. the class

Note from the future: The compilation unit stuff was a bad idea and gets

rolled back in a subsequent commit in favor of talking about things in

terms of "API classes" and "original classes". There is of course no

such thing as a "compilation unit" when dealing with already-compiled

class files :P

    • -277
    • +0
    ./api/ApiStubGeneratorAnnotationsTest.groovy
    • -146
    • +0
    ./api/ApiStubGeneratorInnerClassTest.groovy
    • -453
    • +0
    ./api/ApiStubGeneratorTest.groovy
    • -203
    • +0
    ./api/ApiStubGeneratorTestSupport.groovy
    • -77
    • +0
    ./api/ApiStubGeneratorTestSupportTest.groovy
    • -544
    • +0
    ./api/ApiStubGeneratorValidationTest.groovy
    • -0
    • +277
    ./api/ApiUnitExtractorAnnotationsTest.groovy
    • -0
    • +146
    ./api/ApiUnitExtractorInnerClassTest.groovy
    • -0
    • +453
    ./api/ApiUnitExtractorTest.groovy
    • -0
    • +204
    ./api/ApiUnitExtractorTestSupport.groovy
    • -0
    • +77
    ./api/ApiUnitExtractorTestSupportTest.groovy
    • -0
    • +544
    ./api/ApiUnitExtractorValidationTest.groovy
  1. … 3 more files in changeset.
Capitalize API consistently in identifiers

Prior to this commit, a mix of capitalization styles were used when

embedding the acronymn API in identifiers. Now the approach is

consistent, never using the fully-capitalized version, favoring

lowercase 'api' and capitalizing in typical camel-case style where

appropriate.

    • -1
    • +1
    ./api/ApiStubGeneratorTestSupport.groovy
    • -14
    • +14
    ./api/ApiStubGeneratorValidationTest.groovy
  1. … 5 more files in changeset.
Handle exported packages consistently

- Use "exported packages" terminology vs. a mix of "exported",

"allowed" and "authorized"

- Model exported packages as a Set<String> consistently, vs. a mix of

Set, List, and Collection

- Remove duplicate defensive copies of exported packages. An

ImmutableSet of exported packages is originally returned by

DefaultJvmLibrarySpec#getExportedPackages; additional immutable

copies of that set need not be made.

    • -4
    • +4
    ./api/ApiStubGeneratorTestSupport.groovy
  1. … 4 more files in changeset.