fsprojects / FAKE

FAKE - F# Make
https://fake.build
Other
1.28k stars 582 forks source link

Use of multiple items in DefineConstants is escaped #2755

Open raghur opened 11 months ago

raghur commented 11 months ago

Description

Setting multiple items in DefineConstants is getting mangled. None of the following work:

// semi colon
("DefineConstants", "ENABLE_SAMPLE_SVC;PREPRODUCTION_ENV") :: defaultProps

// value
("DefineConstants", "ENABLE_SAMPLE_SVC=;PREPRODUCTION_ENV=;") :: defaultProps

// space as separator as mentioned in #1385 
("DefineConstants", "ENABLE_SAMPLE_SVC PREPRODUCTION_ENV") :: defaultProps

Repro steps

Try to define multiple compiler constants

Expected behavior

Both compiler constants must be defined

Actual behavior

  1. in first 2 cases, the value is escaped and hence not considered.
  2. In 3rd case, space is not escaped but not treated as a separator either

Known workarounds

NA

Related information

Runtime Environment: OS Name: manjaro OS Version: OS Platform: Linux RID: arch-x64 Base Path: /usr/share/dotnet/sdk/6.0.120/

Host: Version: 7.0.9 Architecture: x64 Commit: 8e9a17b221

.NET SDKs installed: 6.0.120 [/usr/share/dotnet/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 6.0.20 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.20 [/usr/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 7.0.9 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found: None

Environment variables: DOTNET_ROOT [/usr/share/dotnet]

global.json file: /home/raghu/code/ra/Lemans-Common-Services/global.json

Learn more: https://aka.ms/dotnet/info

Download .NET: https://aka.ms/dotnet/download

github-actions[bot] commented 11 months ago

Welcome to the FAKE community! Thank you so much for creating your first issue and therefore improving the project!