IncrementalNativeCompilerTest.groovy

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

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 1 more file in changeset.
Fix unit test

    • -0
    • +2
    ./IncrementalNativeCompilerTest.groovy
Merged the C/C++ `Depend` task implementation into `AbstractNativeCompileTask`. This means that there are fewer tasks to create, configure and execute, and that the header dependency analysis happens once per binary instead of twice.

    • -72
    • +5
    ./IncrementalNativeCompilerTest.groovy
  1. … 27 more files in changeset.
Separated the types to represent 'object-like' macros and 'function-like' macros in parsed native source.

    • -1
    • +1
    ./IncrementalNativeCompilerTest.groovy
  1. … 19 more files in changeset.
Moved parsing of C/C++ source files behind a build scoped service that takes care of caching in memory and on the file system. This change means that each source or header file is parsed once only, rather than once per depend and compile task.

    • -2
    • +4
    ./IncrementalNativeCompilerTest.groovy
  1. … 11 more files in changeset.
Allow passing a collection of discovered inputs

    • -5
    • +4
    ./IncrementalNativeCompilerTest.groovy
  1. … 10 more files in changeset.
Don't pass a boolean to IncrementalNativeCompiler

    • -4
    • +6
    ./IncrementalNativeCompilerTest.groovy
  1. … 5 more files in changeset.
Address some review feedback

    • -1
    • +1
    ./IncrementalNativeCompilerTest.groovy
  1. … 9 more files in changeset.
Fix more integration tests

    • -11
    • +1
    ./IncrementalNativeCompilerTest.groovy
  1. … 7 more files in changeset.
First shot at input discovery

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 14 more files in changeset.
Use constant WorkResult objects (#2781)

Instead of creating new ones all the time. This is take two, as #2776 failed due to SimpleWorkResult being used in third-party plugins.

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 27 more files in changeset.
Revert "Use static WorkResult objects (#2776)"

This reverts commit c4d529671a4d26a46a4e0cbfa41db96ec90d0671.

    • -1
    • +1
    ./IncrementalNativeCompilerTest.groovy
  1. … 24 more files in changeset.
Use static WorkResult objects (#2776)

There's no need to create new ones all the time.

    • -1
    • +1
    ./IncrementalNativeCompilerTest.groovy
  1. … 24 more files in changeset.
Cleanup directories when sources become empty (#2611)

Cleanup directories when sources become empty and not only files.

- Improved performance for SkipEmptySourceFilesTaskExecuter

It is not necessary to resolve a FileCollection when checking if the

previous execution had output files.

Moreover, we now record the empty output files after we deleted them,

so the task has to do less work next time.

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 13 more files in changeset.
Fixes for test broken on java 9.

    • -2
    • +4
    ./IncrementalNativeCompilerTest.groovy
Changed `IncrementalNativeCompiler` to use an immutable object to represent the cached compilation state. Removed calls to `useCache()` as this no longer provides any synchronization.

    • -6
    • +7
    ./IncrementalNativeCompilerTest.groovy
  1. … 15 more files in changeset.
Replaced a few usages of `DirectoryFileTree` constructor with a call to `DirectoryFileTreeFactory.create()`.

    • -2
    • +5
    ./IncrementalNativeCompilerTest.groovy
  1. … 8 more files in changeset.
Revert "Expose per-property previous task output files"

This reverts commit 49d7688ffcff55bcbb915f615449b8f47c43d043.

+review REVIEW-6141

    • -3
    • +4
    ./IncrementalNativeCompilerTest.groovy
  1. … 28 more files in changeset.
Expose per-property previous task output files

Output files from the previous execution were accessible as a single file collection previously. Now it is possible to query per-property instead. This simplifies the logic somewhat (no need to filter files belonging to other properties). This is also a step towards a more optimal implementation for output directory snapshots, where we can reconstruct the absolute paths of files from the directory path and relative paths of files (instead of storing the full absolute path).

+review REVIEW-6141

    • -4
    • +3
    ./IncrementalNativeCompilerTest.groovy
  1. … 27 more files in changeset.
Clarify and document internal code

+review REVIEW-6141

    • -1
    • +1
    ./IncrementalNativeCompilerTest.groovy
  1. … 5 more files in changeset.
Extracted a separate interface for recording discovered inputs

+review REVIEW-5687

    • -3
    • +3
    ./IncrementalNativeCompilerTest.groovy
  1. … 7 more files in changeset.
Refactored for clarity: resolving headers for C sources

- Use a buildable result rather than passing around collections

- Use the term 'discoveredInputs' in place of 'candidates'

+review REVIEW-5687

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 8 more files in changeset.
Return a "source includes resolution result" instead of accumulating include file candidates

+review REVIEW-5687

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 8 more files in changeset.
Add tests for fallback behavior when we cannot determine the set of #include headers

+review REVIEW-5687

    • -1
    • +53
    ./IncrementalNativeCompilerTest.groovy
  1. … 1 more file in changeset.
Extract creation of compilation state cache from IncrementalNativeCompiler to a gradle scoped factory service to avoid multiple creations of the cache which resulted in a file handle leak.

+review REVIEW-5440

    • -2
    • +2
    ./IncrementalNativeCompilerTest.groovy
  1. … 29 more files in changeset.
Renamed org.gradle.language.nativebase -> org.gradle.language.nativeplatform

    • -0
    • +105
    ./IncrementalNativeCompilerTest.groovy
  1. … 90 more files in changeset.