Skip to content

Commit 5762e9c

Browse files
committed
Fixed: Setting importPaths won't break cache anymore since importPaths now directly depends on sourcePaths and it is being handled in a single place
1 parent 6f594e0 commit 5762e9c

File tree

3 files changed

+3
-11
lines changed

3 files changed

+3
-11
lines changed

source/redub/buildapi.d

Lines changed: 1 addition & 5 deletions
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.25.0";
11+
enum RedubVersionOnly = "v1.25.1";
1212
///Redub vX.X.X
1313
enum RedubVersionShort = "Redub "~RedubVersionOnly;
1414
///Redub vX.X.X - Description
@@ -253,10 +253,7 @@ struct BuildConfiguration
253253

254254
ret.language = l;
255255
if(initialSource)
256-
{
257256
ret.sourcePaths = [initialSource];
258-
ret.importDirectories = [initialSource];
259-
}
260257
if(initialStringImport) ret.stringImportPaths = [initialStringImport];
261258
ret.targetType = TargetType.autodetect;
262259
ret.outputDirectory = ".";
@@ -1041,7 +1038,6 @@ class ProjectNode
10411038
static void finishMerging(ProjectNode target, ProjectNode input, ref bool[ProjectNode] linkPropagated)
10421039
{
10431040
import redub.misc.path;
1044-
vvlog("Merging ", input.name, " into ", target.name);
10451041
target.requirements.cfg = target.requirements.cfg.mergeImport(input.requirements.cfg);
10461042
target.requirements.cfg = target.requirements.cfg.mergeExcludedSourceFiles(input.requirements.cfg);
10471043
target.requirements.cfg = target.requirements.cfg.mergeStringImport(input.requirements.cfg);

source/redub/parsers/automatic.d

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ private void partiallyFinishBuildRequirements(ref BuildRequirements req, BuildCo
187187
import std.algorithm.iteration;
188188
auto libraries = req.cfg.sourceFiles.filter!((name) => name.extension.isLibraryExtension);
189189
req.cfg.libraries.exclusiveMergePaths(libraries);
190+
req.cfg.importDirectories.exclusiveMergePaths(req.cfg.sourcePaths); //importPaths is always a mix of custom imports + sourcePaths
190191

191192
///Remove libraries from the sourceFiles.
192193
req.cfg.sourceFiles = inPlaceFilter(req.cfg.sourceFiles, (string file) => !file.extension.isLibraryExtension);

source/redub/parsers/base.d

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,7 @@ void setName(ref BuildRequirements req, string name, ParseConfig c)
6464
void setTargetName(ref BuildRequirements req, string name, ParseConfig c){req.cfg.targetName = name;}
6565
void setTargetPath(ref BuildRequirements req, string path, ParseConfig c){req.cfg.outputDirectory = path;}
6666
void setTargetType(ref BuildRequirements req, string targetType, ParseConfig c){req.cfg.targetType = targetFrom(targetType);}
67-
void addImportPaths(ref BuildRequirements req, JSONStringArray paths, ParseConfig c)
68-
{
69-
import std.array;
70-
if(c.firstRun) req.cfg.importDirectories = cast(string[])paths.array;
71-
else req.cfg.importDirectories.exclusiveMerge(paths);
72-
}
67+
void addImportPaths(ref BuildRequirements req, JSONStringArray paths, ParseConfig c){req.cfg.importDirectories.exclusiveMerge(paths);}
7368
void addStringImportPaths(ref BuildRequirements req, JSONStringArray paths, ParseConfig c){req.cfg.stringImportPaths.exclusiveMergePaths(paths);}
7469
void addExtraDependencyFiles(ref BuildRequirements req, JSONStringArray files, ParseConfig c){req.cfg.extraDependencyFiles.exclusiveMerge(files);}
7570
void addFilesToCopy(ref BuildRequirements req, JSONStringArray files, ParseConfig c){req.cfg.filesToCopy = req.cfg.filesToCopy.append(files);}

0 commit comments

Comments
 (0)