Skip to content

Feature/alt syntax#7

Merged
OlegZee merged 5 commits into
devfrom
feature/alt-syntax
Mar 11, 2026
Merged

Feature/alt syntax#7
OlegZee merged 5 commits into
devfrom
feature/alt-syntax

Conversation

@OlegZee

@OlegZee OlegZee commented Mar 11, 2026

Copy link
Copy Markdown
Owner

This PR implements yet another syntax for defining rules and introduces command which has builtin "always run" behavior i.e. is executed on every call

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces an experimental computation-expression based rule definition syntax (notably command) and adds coverage to validate “always run” command behavior across engine/script invocations and concurrent demands.

Changes:

  • Added Xake.Experimental.RuleBuilder providing command/target/targets builders, with command injecting AlwaysRerun.
  • Refactored sequential dependency building into a needSequentially helper and reused it in the <<< operator.
  • Added CommandTests and wired it into the test project to cover command rerun/dedup/serialization behaviors.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/tests/tests.fsproj Includes new CommandTests.fs in the test project build.
src/tests/CommandTests.fs Adds NUnit tests for command “always run” semantics and concurrency behaviors.
src/core/Xake.fsproj Includes new core source file RuleBuilder.fs.
src/core/ScriptFuncs.fs Adds needSequentially helper and updates <<< to call it.
src/core/RuleBuilder.fs Adds experimental CE builders for command/target/targets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/core/ScriptFuncs.fs Outdated
Comment thread src/core/RuleBuilder.fs
Comment thread src/core/RuleBuilder.fs Outdated
Comment thread src/core/RuleBuilder.fs

Copilot AI commented Mar 11, 2026

Copy link
Copy Markdown

@OlegZee I've opened a new pull request, #8, to work on those changes. Once the pull request is ready, I'll request review from you.

OlegZee and others added 3 commits March 11, 2026 11:24
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tially` (#8)

* Initial plan

* Fix XML doc comment placement: move needSequentially above the &lt;== doc block

Co-authored-by: OlegZee <513301+OlegZee@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: OlegZee <513301+OlegZee@users.noreply.github.com>
@OlegZee
OlegZee merged commit ff8021d into dev Mar 11, 2026
1 check passed
@OlegZee
OlegZee deleted the feature/alt-syntax branch March 11, 2026 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants