Skip to content

Commit 1416675

Browse files
committed
Fixed: Now using 2-steps parsing for environment
1 parent f078342 commit 1416675

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

source/redub/buildapi.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import redub.package_searching.api;
88

99

1010
///vX.X.X
11-
enum RedubVersionOnly = "v1.23.3";
11+
enum RedubVersionOnly = "v1.23.4";
1212
///Redub vX.X.X
1313
enum RedubVersionShort = "Redub "~RedubVersionOnly;
1414
///Redub vX.X.X - Description

source/redub/parsers/automatic.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,13 @@ BuildRequirements parseProject(
8282
*/
8383
BuildRequirements postProcessBuildRequirements(BuildRequirements req, BuildConfiguration pending, CompilationInfo cInfo, bool isRoot, bool useExistingObj)
8484
{
85-
redub.parsers.environment.setupEnvironmentVariablesForPackage(req.cfg);
8685
req.cfg.arch = cInfo.arch;
8786
req.extra.isRoot = isRoot;
8887
if(isRoot && useExistingObj)
8988
req.cfg.flags|= BuildConfigurationFlags.outputsDeps;
9089

9190
partiallyFinishBuildRequirements(req, pending); ///Merge need to happen after partial finish, since other configuration will be merged
91+
req.cfg = redub.parsers.environment.parseEnvironment(req.cfg);
9292
return req;
9393
}
9494

source/redub/parsers/environment.d

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ unittest
349349
*/
350350
BuildConfiguration parseEnvironment(BuildConfiguration cfg)
351351
{
352+
redub.parsers.environment.setupEnvironmentVariablesForPackage(cfg);
352353
with(cfg)
353354
{
354355
importDirectories = arrParseEnv(importDirectories);
@@ -378,10 +379,18 @@ string[] arrParseEnv(const string[] input)
378379
{
379380
if(input.length == 0)
380381
return null;
381-
string[] ret = new string[](input.length);
382+
string[] ret;
382383
foreach(i, str; input)
383-
ret[i] = parseStringWithEnvironment(str);
384-
return ret;
384+
{
385+
string temp = parseStringWithEnvironment(str);
386+
if(temp != str)
387+
{
388+
if(ret is null)
389+
ret = input.dup;
390+
ret[i] = temp;
391+
}
392+
}
393+
return ret is null ? cast(string[])input : ret;
385394
}
386395

387396
/**

0 commit comments

Comments
 (0)