adam brown <> in Gradle

Dogfood ImmutableFileCollection on production code (#4988)

Use ImmutableFileCollection in production code

    • -1
    • +1
  1. … 74 more files in changeset.
Fix NPE in RestartEveryNTestClassProcessor.stopNow() (#5145)

* Fix NPE in RestartEveryNTestClassProcessor.stopNow()

* Add test verifying RestartEveryNTestClassProcessor.stopNow() after stop() does nothing

Dogfood ImmutableFileCollection in tests (#4972)

Reduce the number of static factory methods from ImmutableFileCollection

Use layout.fileFor() in a smoke test

  1. … 18 more files in changeset.
Add ImmutableFileCollection (#4913)

Add `ProjectLayout.filesFor()` to obtain (immutable) `FileCollection`.

Add `ProjectLayout.mutableFilesFor()` to obtain (mutable) `ConfigurableFileCollection`.

Dogfood constructor argument passing (#4897)

Convert PegDown task to use constructor arguments

Convert Classycle to use constructor argument passing

Combine TaskDefinitionIntegrationSpec into TaskDefinitionIntegrationTest (#4864)

Use an empty Object[] const to call through from non-parameterized create() method (#4833)

Add `ServiceRegistry.find()` to query the existence of a service without throwing exceptions.

Update handling to disallow `null` constructor argument value sooner.

Add Javadoc describing behavior when receiving `null` constructor argument value.

Improve error messages when `DependencyInjectingInstantiator` fails to create an object.

Task constructor argument test cleanup (#4812)

* Move Kotlin task creation tests from GradleKotlinDslIntegrationTest to TaskDefinitionIntegrationSpec

* Remove redundant task creation tests via Java plugin

* Clean up review comments on TaskDefinitionIntegrationSpec

* Rename test methods in DefaultTaskContainerTest

* Clean up review comments on TaskDefinitionIntegrationSpec

* Fix codenarc failure

* Add task creation test for wrong constructor argument type

* Update tests from review comments

* Add test case for null constructor argument value

* Fix formatting

Update nightly wrapper (#4829)

    • -1
    • +1
Allow creation of Task with constructor arguments (#4809)

* Allow creation of Task with constructor arguments

Rough spike on exposing constructor arguments in Task creation DSL

Fixed codestyle failure

Fixed binary compatibility failure

Fixed docs checkstyle on Task.TASK_PARAMS

Fixed infinite recursion

Fixed "broken" tests


Add TaskContainer.create(String, Class<>, Object...)

Add better description to TaskContainer.create(String, Class, Object...)

Add @since & @Incubating to TaskContainer.create(String, Class, Object...)

Ignore some tests of DependencyInjectingInstantiator whose output *should* change

Fix tests in DefaultTaskContainerTest

Avoid explicit cast of DirectInstantiator.INSTANCE to DirectInstantiator

Back out addition of NamedEntityInstantiator.create(String, Class, Object...)

Fix omitting constructorArgs from previous cleanup

Revert DefaultTaskCollection.create(String, Class) to use instantiator

Revert optimize import

Fail if constructorArgs is not a List<> or Object[]

Remove handling of non-@Inject constructor with constructor args

Revert DependencyInjectingInstantiatorTest

Move TaskInternal logic from DefaultTaskContainer to TaskFactory

Make ITaskFactory extend NamedEntityInstantiator again

* Fix AnnotationProcessingTaskFactory.create(String, Class) double-processing

* Update DefaultTaskContainerTest to use ITaskFactory.createTask() for some mocks

* Reduce size of ITaskFactory interface

* Add DefaultTaskContainer.createTask() to avoid adding task multiple times

* Fix test failures related to removing ITaskFactory.createTask(Map)

* Optimize imports

* Optimize imports

* Fix test failures related to removing ITaskFactory.createTask(Map)

* Add tests for Task constructor arguments in Groovy build script

* Add tests for Task constructor arguments in Java plugin via API

* Add tests for Task constructor arguments in Kotlin build script

* Add tests that check for constructorArgs being List or Object[]

Ensure that all children TestState are completed() (#4752)

* Ensure that all children TestState are completed()

With fail fast for tests enabled, some of the `TestState`s tracked

by the `StateTrackingTestResultProcessor` may never receive the

`completed()` call. When this happens, the parent/ancester

`TestState` will not include the test count and failure information.

When combined with a `--tests` filter, this can cause an erroneous

failure message that no tests matched the filter.

This change ensures that all of the children/descendents of a `testId`

(`TestState`) are `completed` before the given `testId` is processed.

Addresses: #4718

* Use ArrayList<> instead of LinkedList<>

Fix for JUnitFailFastIntegrationTest flaky test (#4625)

* Added ObjectConnection.stopNow() to handle fail fast causing flaky, unexpected stacktrace

* Optimized imports

* Only stopNow() on ObjectConnection if non-null

* Updates from review comments

* Abort ObjectConnection if DefaultWorkerProcess has been aborted first

Added JUnitPlatformFailFastIntegrationTest (#4399)

* Added JUnitPlatformFailFastIntegrationTest

* Ensure JUnitPlatformFailFastIntegrationTest only runs with JDK 8 or later

Updated userguide and dsl for failFast (and example) (#4394)

Moved call to remoteProcessor.processTestClass() into cricital section (#4368)

Moved call to remoteProcessor.processTestClass() into cricital section (#4368)

Stop test execution after first failure (#4190)

* Rough pass at stopNow() on test failure

* Updated worker TestClassProcessor.stopNow() to throw UnsupportedOperationException

* Updated MaxNParallelTestClassProcessor to keep "raw" processors for stopNow().

Updated other daemon-side TestClassProcessors to keep track if stopNow() is called.

* Added AbstractTestTask.getFailFast()

* Added some unit tests for to TestClassProcessors

* Added unit tests for stopNow()

* Rough pass at JUnitFailFastIntegrationTest

* Refactor fail fast JVM integration test.

Moved common logic/tests from JUnitFailFastIntegrationTest into AbstractJvmFailFastIntegrationSpec.

Added TestNGFailFastIntegrationTest (which extends TestNGFailFastIntegrationTest)

* Working on forkEvery fail fast test

* Converted FailFastTestListener to FailFastTestListenerInternal

* Added BlockingHttpServer.expectMaybeAndBlock()

* TestNG parallel & fail-fast integration test

* Remove unused import

* Remove unused import

* Marked test.failFast as @Input

* Added `failFast` to java_plugin in userguide

* Javadoc & formatting changes

* Updated userguide docs based on review comments

* Moved `failFast` configuration from `AbstractTestTask` to `Test` to avoid `XCTest`

* Updates from review comments

* More updates from review comments

* Reduced Mock() usage in FailFastTestListenerInternalTest

* Backed out changes to XCTestExecuter for fail fast behavior

* Fixed typo in javadoc

* Remove --no-fail-fast `@Option` from `Test`

* Reduce mocking expectations in ForkingTestClassProcessorTest

* Moved @Internal from Test.getFailFast() to AbstractTestTask

* Formatting updates

* Updated ForkingTestClassProcessor to track state more precisely to avoid stop() & stopNow() problem

* Fixed tests (again)

* Better handling of mutual exclusion between ForkingTestClassProcessor stop() and stopNow() sections

* Improved resiliency to indeterminate generated test class execution in fail fast tests

* Optimized imports

* Updated DefaultWorkerProcess.cleanup() to stop the Stoppables before aborting the execHandle

* Changed CyclicBarrierAnyOfRequestHandler.expected back to `private`

* ForkingTestClassProcessor.stoppedNow does not need to be `volatile` as it is now protected by a lock

* Added JUnitPlatformTestClassProcessor.stopNow()

* Removed mention of --no-fail-fast from user guide

* Added info on --fail-fast to release notes

* Fixed use of `testOmitted` in AbstractJvmFailFastIntegrationSpec

* Make MaxNParallelTestClassProcessor drop any processTestClass() invocations after stopNow()

* Protected critical region in ForkingTestClassProcessor.processTestClass() causing race condition with stopNow() in tests

* Debugging cleanup

    • -0
    • +10
  1. … 27 more files in changeset.
Moved SuiteTimestampIntegrationTest from src/integTest/resources to src/integTest/groovy (#4225)

Updated plugins in smoke test suite to latest version (#4209)

Updated performance tests to minimum 4.5 (#4140)

  1. … 8 more files in changeset.
Updated performance tests to minimum 4.5 (#4140)

  1. … 9 more files in changeset.