ProjectFactoryTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Try again to correct the classloader structure for projects

  1. … 6 more files in changeset.
Refactor HTTP deprecation logic to use HttpRedirectVerifier

  1. … 60 more files in changeset.
Revert "Revert "Merge remote-tracking branch 'origin/sg/merges/pr-9419'""

This reverts commit 0625bc7420e55e87730673231af6ad45dd04f47a.

  1. … 90 more files in changeset.
Revert "Revert "Merge remote-tracking branch 'origin/sg/merges/pr-9419'""

This reverts commit 0625bc7420e55e87730673231af6ad45dd04f47a.

  1. … 90 more files in changeset.
Revert "Merge remote-tracking branch 'origin/sg/merges/pr-9419'"

This reverts commit 2f79026f5e127a8175e25844522237615b19ed52 because of a performance regression,

reversing changes made to 7f1e66079ce629ecde3e09e549e9796ab85761dc.

  1. … 90 more files in changeset.
Fix unit tests

  1. … 2 more files in changeset.
Retain a reference to `buildFile` in `DefaultProject`

Each `DefaultProject` instance already retains a reference to the `buildFile`

via it's `ScriptHandler`. However, accessing `buildFile` in this way is

relatively expensive: this was exposed by a new build operation that is emitted

containing this information. By retaining a direct reference to the `buildFile`

this overhead is avoided.

  1. … 7 more files in changeset.
Introduce TextResourceLoader service

- Can create a TextResource for File or URI

- Used when loading files for `apply from:`

  1. … 24 more files in changeset.
Use EmptyFileTextResource directly in place of NonExistentFileScriptSource

  1. … 7 more files in changeset.
Inject ProjectAccessListener into AbstractProject using getter injection instead of passing it through several layers to inject it via constructor.

+review REVIEW-5445

  1. … 7 more files in changeset.
Task container should be self closed for projects of which any tasks are being executed. Self close task containers of respective projects when resolving dependencies of buildNeeded and buildDependents tasks.

+review REVIEW-5445

  1. … 18 more files in changeset.
Fixes for class loader caching.

We weren't distinguishing between runtime loaders for the different passes of a build script. This meant that if a script contained a `buildscript {}` block, then we'd cache the loader for the first pass. We'd then run the second path with the same loader id, and a different effective loader. This would evict the first pass loader, which would then be evicted on the next build etc. The build script class loader ids now indicate the phase, allowing both loaders to be cached.

We weren't releasing loaders when scripts disappeared. We now explicitly “remove” runtime script loaders if the script is empty. This also required giving empty and missing scripts) identity, in terms of the file that should have contained the script.

Reworking the testing infrastructure raised these issues, and some other bad assumptions that the tests were incorrectly attempting to assert.

+review REVIEW-5411

  1. … 31 more files in changeset.
Simplify ClassLoaderScope.

- Allow attaching of arbitrary classloaders (supports graphs instead of just trees)

- Remove “base” concept

  1. … 47 more files in changeset.
Introduce ClassLoaderScope.

Attempts to model the class loader relationships more explicitly, and encapsulate class loader creation. It also allows lazy classloader creation (in a more obvious way than before) which allows short circuiting in the classloader hierarchy.

  1. … 80 more files in changeset.
Changed ProjectFactory so that it registers each project directly with a ProjectRegistry, instead of via the GradleInternal instance.

  1. … 8 more files in changeset.
Detangled ServiceRegistryFactory from ServiceRegistry.

    • -0
    • +94
    ./ProjectFactoryTest.groovy
  1. … 27 more files in changeset.