Skip to content

Commit 70749d4

Browse files
committed
Update: Added MSVC support to windows
1 parent 26e67d9 commit 70749d4

27 files changed

+904
-572
lines changed

source/app.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import redub.api;
22

33
import redub.extensions.cli;
4-
import redub.compiler_identification;
4+
import redub.tooling.compiler_identification;
55
import redub.logging;
66
import redub.buildapi;
77
import redub.parsers.automatic;
@@ -367,7 +367,7 @@ int useMain(string[] args)
367367
if(compiler.startsWith("opend"))
368368
{
369369
import redub.misc.opend_install;
370-
import redub.compiler_identification;
370+
import redub.tooling.compiler_identification;
371371
string opendCompiler = args.length > 2 ? args[2] : null;
372372
if(opendCompiler != "dmd" && opendCompiler != "ldc2")
373373
{

source/redub/api.d

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public import redub.cli.dub: ParallelType, Inference;
77
public import redub.parsers.environment;
88
public import std.system;
99
public import redub.buildapi;
10-
public import redub.compiler_identification;
10+
public import redub.tooling.compiler_identification;
1111

1212
struct ProjectDetails
1313
{
@@ -62,7 +62,7 @@ struct ProjectDetails
6262
}
6363
}
6464

65-
/**
65+
/**
6666
* CompilationDetails are required for making proper compilation.
6767
*/
6868
struct CompilationDetails
@@ -90,7 +90,7 @@ struct CompilationDetails
9090
*/
9191
bool includeEnvironmentVariables = true;
9292
}
93-
/**
93+
/**
9494
* Project in which should be parsed.
9595
*/
9696
struct ProjectToParse
@@ -165,7 +165,7 @@ class BuildException : Exception
165165
}
166166
}
167167

168-
/**
168+
/**
169169
* Unchanged Files can't deal with directories at that moment.
170170
* Params:
171171
* root = The root of the project
@@ -190,7 +190,7 @@ string[] getChangedBuildFiles(ProjectNode root, CompilingSession s)
190190
import d_depedencies;
191191

192192
//TODO: Improve that
193-
ModuleParsing moduleParse = parseDependencies(std.file.readText(depsPath),
193+
ModuleParsing moduleParse = parseDependencies(std.file.readText(depsPath),
194194
buildNormalizedPath("/Library/D/dmd")
195195
);
196196

@@ -231,14 +231,14 @@ int createNewProject(string projectType, string targetDirectory)
231231
string gitIgnore = "*.exe\n*.pdb\n*.o\n*.obj\n*.lst\n*.lnk\n.history\n.dub\ndocs.json\n__dummy.html\ndocs/\nbuild/\n/"~projectName;
232232
foreach(ext; [".so", ".dylib", ".dll", ".a", ".lib", "-test-*"])
233233
gitIgnore~= "\n" ~ projectName ~ ext;
234-
234+
235235
string gitIgnorePath = buildNormalizedPath(path, ".gitignore");
236-
236+
237237

238238
if(!projectType.length)
239239
{
240240
std.file.mkdirRecurse(buildNormalizedPath(path, "source"));
241-
std.file.write(buildNormalizedPath(path, "source", "app.d"),
241+
std.file.write(buildNormalizedPath(path, "source", "app.d"),
242242
`import std.stdio;
243243
244244
void main()
@@ -261,7 +261,7 @@ void main()
261261
dependencies~= `{"path": "`~ pkg.path ~ `"}`;
262262

263263
dependencies~= "\n\t\t},";
264-
264+
265265
d = buildProject(d);
266266
if(d.error)
267267
return d.getReturnCode;
@@ -271,7 +271,7 @@ void main()
271271
return returnCode;
272272
}
273273

274-
auto jsonTemplate =
274+
auto jsonTemplate =
275275
i`{
276276
"authors": [
277277
"$(userName)"
@@ -289,7 +289,7 @@ i`{
289289
infos("Success", " created empty project in ", path);
290290
if(projectType)
291291
info("Created project using ", projectType, ":init-exec");
292-
292+
293293
return returnCode;
294294
}
295295

@@ -389,7 +389,7 @@ ProjectDetails buildProject(ProjectDetails d)
389389
return buildProjectParallelSimple(tree, session, &sharedFormula);
390390
case ParallelType.no:
391391
return buildProjectSingleThread(tree, session, &sharedFormula);
392-
default:
392+
default:
393393
throw new RedubException(`Unsupported parallel type in this step.`);
394394
}
395395
});
@@ -446,7 +446,7 @@ ProjectDetails[] buildProjectUniversal(ArgsDetails args)
446446
auto res = executeShell(lipoRun);
447447
if(res.status)
448448
throw new BuildException(res.output);
449-
449+
450450
foreach(d; ret)
451451
{
452452
vvlog("Removing ", d.getOutputFile);
@@ -487,7 +487,7 @@ bool cleanProject(ProjectDetails d, bool showMessages)
487487
std.file.rmdirRecurse(filePath);
488488
}
489489
}
490-
490+
491491
auto res = timed(()
492492
{
493493
import std.typecons;
@@ -530,10 +530,10 @@ bool cleanProject(ProjectDetails d, bool showMessages)
530530
removeFile(outFile, showMessages);
531531
}
532532
}
533-
533+
534534

535535
import redub.building.cache;
536-
536+
537537
string hash = hashFrom(d.tree.requirements, CompilingSession(d.compiler, osFromArch(d.cDetails.arch), isaFromArch(d.cDetails.arch)));
538538
string cacheOutput = redub.misc.path.buildNormalizedPath(getCacheFolder, hash);
539539
string cacheFile = getCacheFilePath(hash);
@@ -592,7 +592,7 @@ ArgsDetails resolveArguments(string[] args, bool isDescribeOnly = false)
592592
recipe = cArgs.getRecipe(workingDir);
593593

594594
string localPackageName = getLocalPackageName(workingDir, recipe);
595-
595+
596596
if(shouldFetchPackage(localPackageName, targetPackage, subPackage))
597597
{
598598
import redub.package_searching.cache;
@@ -606,7 +606,7 @@ ArgsDetails resolveArguments(string[] args, bool isDescribeOnly = false)
606606

607607

608608
if(bArgs.arch && !bArgs.compiler) bArgs.compiler = "ldc2";
609-
609+
610610

611611
if(bArgs.build.breadth)
612612
{
@@ -651,7 +651,7 @@ ArgsDetails resolveArguments(string[] args, bool isDescribeOnly = false)
651651
}
652652

653653

654-
/**
654+
/**
655655
* Use this function to get a project information.
656656
* Params:
657657
* invalidateCache = Should invalidate cache or should auto check
@@ -772,8 +772,8 @@ ProjectDetails resolveDependencies(
772772
return ret;
773773
}
774774

775-
/**
776-
*
775+
/**
776+
*
777777
* Params:
778778
* projectWorkingDir = The project working dir to get the recipe
779779
* recipe = The actual recipe. May be null for finding in the folder
@@ -785,7 +785,7 @@ string getLocalPackageName(string projectWorkingDir, string recipe = null)
785785
return getPackageName(projectWorkingDir, recipe);
786786
}
787787

788-
/**
788+
/**
789789
* If the target package has the same name as local, do not fetch
790790
* If the target package is empty, but the target sub package is not, assume local
791791
* Params:
@@ -800,12 +800,12 @@ bool shouldFetchPackage(string localPackageName, string targetPackage, string ta
800800
}
801801

802802

803-
/**
804-
*
803+
/**
804+
*
805805
* Params:
806806
* incremental = If auto, it will disable incremental when having more than 3 compilation units
807-
* tree = The tree to find compilation units
808-
* Returns:
807+
* tree = The tree to find compilation units
808+
* Returns:
809809
*/
810810
bool isIncremental(Inference incremental, ProjectNode tree)
811811
{
@@ -926,7 +926,7 @@ update
926926
repository. After updating the source, it will also optimally rebuild redub and replace the current one with the new build.
927927
build-universal
928928
Usage: redub build-universal
929-
Description:
929+
Description:
930930
Builds a package in non OSX (uses the main package in the current working directory by default)
931931
On OSX, generates a single binary using arm64 and x86_64 architectures
932932
watch

0 commit comments

Comments
 (0)