From 5cc29d00bb8aa1801afb0b77efbd011efc26d378 Mon Sep 17 00:00:00 2001 From: Simon Brown <1009874+simonbrowndotje@users.noreply.github.com> Date: Sat, 23 Nov 2024 10:01:53 +0000 Subject: [PATCH] structurizr-dsl: `!elements` and `!relationships` now work inside deployment environment blocks. --- changelog.md | 1 + .../main/java/com/structurizr/dsl/StructurizrDslParser.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/changelog.md b/changelog.md index 3ac74faf..03139f0a 100644 --- a/changelog.md +++ b/changelog.md @@ -3,6 +3,7 @@ ## 3.2.0 (unreleased) - structurizr-dsl: Adds support for `element!=` expressions. +- structurizr-dsl: `!elements` and `!relationships` now work inside deployment environment blocks. ## 3.1.0 (4th November 2024) diff --git a/structurizr-dsl/src/main/java/com/structurizr/dsl/StructurizrDslParser.java b/structurizr-dsl/src/main/java/com/structurizr/dsl/StructurizrDslParser.java index 9581c6d5..9f6d4af2 100644 --- a/structurizr-dsl/src/main/java/com/structurizr/dsl/StructurizrDslParser.java +++ b/structurizr-dsl/src/main/java/com/structurizr/dsl/StructurizrDslParser.java @@ -383,14 +383,14 @@ void parse(List lines, File dslFile, boolean fragment, boolean includeIn } } - } else if (FIND_ELEMENTS_TOKEN.equalsIgnoreCase(firstToken) && (inContext(ModelDslContext.class) || inContext(ElementDslContext.class))) { + } else if (FIND_ELEMENTS_TOKEN.equalsIgnoreCase(firstToken) && (inContext(ModelDslContext.class) || inContext(DeploymentEnvironmentDslContext.class) || inContext(ElementDslContext.class))) { Set elements = new FindElementsParser().parse(getContext(), tokens.withoutContextStartToken()); if (shouldStartContext(tokens)) { startContext(new ElementsDslContext(getContext(), elements)); } - } else if (FIND_RELATIONSHIPS_TOKEN.equalsIgnoreCase(firstToken) && (inContext(ModelDslContext.class) || inContext(ElementDslContext.class))) { + } else if (FIND_RELATIONSHIPS_TOKEN.equalsIgnoreCase(firstToken) && (inContext(ModelDslContext.class) || inContext(DeploymentEnvironmentDslContext.class) || inContext(ElementDslContext.class))) { Set relationships = new FindRelationshipsParser().parse(getContext(), tokens.withoutContextStartToken()); if (shouldStartContext(tokens)) {