Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Don't treat null-safe or spread property expressions as part of the path for a `$.path` input reference.

For example, treat `$.things*.name` as `($.things)*.name`. Similarly, treat `$.thing?.name` as `($.thing)?.name`.

  1. … 1 more file in changeset.
Improved the rule descriptors used for nested DSL rules, so that they better reflect the expression used to define the rule in the build script.

  1. … 2 more files in changeset.
Enable nested DSL rules for subjects of type `ModelMap`.

This is the first step of enabling the DSL for creating and configuring items in a `ModelMap`. It is currently only supported for `name(Type) { ... }` and `name { ... }` syntax.

With this change, the closures in the syntax above are treated as rule actions, so that their input references are not treated as inputs for the outer closure but are instead treated as inputs of the nested rule. These actions are also given their own descriptor.

  1. … 3 more files in changeset.
Fix integration test

Fixed DSL rule extraction when a closure that looks like a nested DSL rule is nested inside a closure that is not.

  1. … 1 more file in changeset.
Changed the descriptor for DSL rules so that it more closely matches the expression used in the code to reference the subject.

This change also detangles the subject path from the DSL rule descriptor, so that they can be different.

  1. … 23 more files in changeset.
Changed rule DSL transformation to distinguish between those input references in the body of a rule closure, and those inside a closure that is a potential nested rule.

This is not used yet. Separating these will allow input references to appear in nested rule closures without being treated as inputs of the outer rule closure.

  1. … 5 more files in changeset.
Clean up code

- Remove todo

- Make method private

- Encapsulate property and owner in PropertyContext

- Remove node initializer check from ModelMapNodeInitializerExtractionStrategy

- Inlining a bunch of fields in DefaultNodeInitializerRegistry

- remove hasNodeInitializer method from NodeInitializerRegistry

+review REVIEW-5652

  1. … 5 more files in changeset.
Fixes multiline assertion on windows

+review REVIEW-5652

Temporarily disabling exception format assertion - fails on windows even with line separators converted

Fixing another windows line separator issue

+review REVIEW-5652

Adds more coverage for model validation - simplifies boolean check - changes validation message for non constructable top level model elements - removes some redundant params from ModelTypeInitializationException

+review REVIEW-5652

  1. … 3 more files in changeset.
Merged release branch into master.

  1. … 6 more files in changeset.
Use an interface for injecting the inputs into a transformed rules closure. Also defer registration of configure/initialize rules closures until the projections of the subject are known.

  1. … 9 more files in changeset.
Minor test rename.

Fixed int test on windows.

Added support for `$.p` expressions to reference inputs from DSL model rules.

  1. … 2 more files in changeset.
Allow `$('p')` expressions in the default values for top level rule closure parameters.

  1. … 1 more file in changeset.
Handle $('p') expressions that appear in the default value for nested closure parameters. Not handled on the top level closures yet.

  1. … 1 more file in changeset.
Remove test fixture that enables transformed model rules DSL. Not required any more.

  1. … 39 more files in changeset.
Removed speculative conversion of property references in DSL rules closures into input references. Can now only use $('p') expressions to refer to other rule elements as inputs.

  1. … 10 more files in changeset.
Changed transformed rule DSL so that rule closure can see the project and script, making transformed and non-transformed rule closures work more similarly in preparation for switching the transform on by default. Using the project/script in rule closures will later be deprecated and removed, after the syntax for input references has been simplified and replacements for some of the things on project have been added.

  1. … 4 more files in changeset.
Replaces 'node' with 'element'

  1. … 5 more files in changeset.
Treat dynamic property references at the top level of a rule closure in the DSL as an input reference.

  1. … 9 more files in changeset.
Fixed NPE when a transformed `model { }` rule take an old school polymorphic container thingy as subject.

  1. … 1 more file in changeset.
Uses a better error message for model types that cannot be constructed

+review REVIEW-5632

  1. … 8 more files in changeset.
Adds a ConstructableTypesRegistry to create types that are not strictly 'managed' - NodeInitializerExtractionStrategy's can be asked what types they support - Fails the build when NodeInitializerRegistry can not find an appropriate node initializer - Removes managed type check ModelDslBacking's

+review REVIEW-5619

  1. … 40 more files in changeset.
Tweaks to test for binding failures due to format change.

+review REVIEW-5556

Fixes binding error report format tests

+review REVIEW-5556

Improves the format of model rule bind exceptions * Adds release notes for recent model changes * Normalizes line separotors to be consistent with InProcessGradleExecuter * Removes an unused class

+review REVIEW-5556

  1. … 14 more files in changeset.