diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets
index e7c1bc0c..305e736c 100644
--- a/.paket/Paket.Restore.targets
+++ b/.paket/Paket.Restore.targets
@@ -43,23 +43,26 @@
true
- $(NoWarn);NU1603
+ $(NoWarn);NU1603;NU1604;NU1605;NU1608
- /usr/bin/shasum $(PaketRestoreCacheFile) | /usr/bin/awk '{ print $1 }'
- /usr/bin/shasum $(PaketLockFilePath) | /usr/bin/awk '{ print $1 }'
+ /usr/bin/shasum "$(PaketRestoreCacheFile)" | /usr/bin/awk '{ print $1 }'
+ /usr/bin/shasum "$(PaketLockFilePath)" | /usr/bin/awk '{ print $1 }'
-
+
-
+
+
+
+
$([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)'))
@@ -69,11 +72,22 @@
true
+
+ true
+
+
+
+
+
+
+
+
+
$(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).paket.references.cached
@@ -82,7 +96,9 @@
$(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references
$(MSBuildProjectDirectory)\paket.references
- $(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).$(TargetFramework).paket.resolved
+
+ false
+ true
true
references-file-or-cache-not-found
@@ -101,32 +117,40 @@
-
+
true
- target-framework '$(TargetFramework)'
+ target-framework '$(TargetFramework)' or '$(TargetFrameworks)' files @(PaketResolvedFilePaths)
-
+
+
-
+
+ false
+ true
+
+
-
+
-
+
$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])
$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])
$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])
+ $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])
%(PaketReferencesFileLinesInfo.PackageVersion)
- All
+ All
+ runtime
+ true
@@ -183,8 +207,8 @@
-
-
+
+
+
+ latest
+
+
\ No newline at end of file
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 00000000..eb7be3ec
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ScriptCs.sln b/ScriptCs.sln
index 774a8420..756ee82f 100644
--- a/ScriptCs.sln
+++ b/ScriptCs.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2003
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29709.97
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScriptCs", "src\ScriptCs\ScriptCs.csproj", "{25080671-1A80-4041-B9C7-260578FF4849}"
EndProject
@@ -30,6 +30,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScriptCs.Engine.Roslyn", "s
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScriptCs.Tests.Acceptance", "test\ScriptCs.Tests.Acceptance\ScriptCs.Tests.Acceptance.csproj", "{10684649-2922-41F5-AB9B-20B127CBF92C}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8C5ABCEF-82F9-4850-B2B8-1D7B73D9C5C3}"
+ ProjectSection(SolutionItems) = preProject
+ Directory.Build.props = Directory.Build.props
+ Directory.Build.targets = Directory.Build.targets
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
diff --git a/paket.lock b/paket.lock
index 4dec7ed1..a878f015 100644
--- a/paket.lock
+++ b/paket.lock
@@ -1,4 +1,4 @@
NUGET
remote: https://www.nuget.org/api/v2
- FAKE (4.64.6)
- xunit.runner.console (2.3.1)
+ FAKE (4.64.13)
+ xunit.runner.console (2.4.1)
diff --git a/src/ScriptCs.Contracts/ScriptCs.Contracts.csproj b/src/ScriptCs.Contracts/ScriptCs.Contracts.csproj
index 84505793..8d7c12e5 100644
--- a/src/ScriptCs.Contracts/ScriptCs.Contracts.csproj
+++ b/src/ScriptCs.Contracts/ScriptCs.Contracts.csproj
@@ -16,8 +16,8 @@
-
-
+
+
diff --git a/src/ScriptCs.Engine.Roslyn/ScriptCs.Engine.Roslyn.csproj b/src/ScriptCs.Engine.Roslyn/ScriptCs.Engine.Roslyn.csproj
index c1db68ec..e88e280a 100644
--- a/src/ScriptCs.Engine.Roslyn/ScriptCs.Engine.Roslyn.csproj
+++ b/src/ScriptCs.Engine.Roslyn/ScriptCs.Engine.Roslyn.csproj
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/src/ScriptCs.Hosting/RuntimeServices.cs b/src/ScriptCs.Hosting/RuntimeServices.cs
index 199338d5..9a07390c 100644
--- a/src/ScriptCs.Hosting/RuntimeServices.cs
+++ b/src/ScriptCs.Hosting/RuntimeServices.cs
@@ -55,9 +55,8 @@ protected override IContainer CreateContainer()
builder.RegisterInstance(this.LogProvider).Exported(x => x.As());
builder.RegisterType(_scriptEngineType).As().SingleInstance();
builder.RegisterType(_scriptExecutorType).As().SingleInstance();
- builder.RegisterType(_replType).As().SingleInstance();
+ builder.RegisterType(_replType ?? typeof(Repl)).As().SingleInstance();
builder.RegisterType().SingleInstance();
- builder.RegisterType().As().SingleInstance();
builder.RegisterType().SingleInstance();
RegisterLineProcessors(builder);
diff --git a/src/ScriptCs.Hosting/ScriptCs.Hosting.csproj b/src/ScriptCs.Hosting/ScriptCs.Hosting.csproj
index d671f1ee..3a164047 100644
--- a/src/ScriptCs.Hosting/ScriptCs.Hosting.csproj
+++ b/src/ScriptCs.Hosting/ScriptCs.Hosting.csproj
@@ -15,11 +15,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/ScriptCs/Program.cs b/src/ScriptCs/Program.cs
index 661fe343..789353ee 100644
--- a/src/ScriptCs/Program.cs
+++ b/src/ScriptCs/Program.cs
@@ -52,18 +52,19 @@ private static int Main(string[] args)
c.OnExecute(() =>
{
- var configMask = new ConfigMask();
- configMask.Repl = false;
- configMask.Global = global.HasValue() ? true : (bool?)null;
- configMask.Install = package.Value ?? string.Empty; // needed to trigger install of all packages!
- configMask.PackageVersion = packageVersion.Value();
- configMask.AllowPreRelease = allowPrerelease.HasValue() ? true : (bool?)null;
- configMask.Save = save.HasValue() ? true : (bool?)null;
- configMask.Global = global.HasValue() ? true : (bool?)null;
- configMask.Clean = clean.HasValue() ? true : (bool?)null;
- configMask.Output = output.Value();
- configMask.Debug = debug.HasValue() ? true : (bool?)null;
- configMask.LogLevel = logLevel.ParsedValue;
+ var configMask = new ConfigMask
+ {
+ Repl = false,
+ Global = global.HasValue() ? true : (bool?)null,
+ Install = package.Value ?? string.Empty, // needed to trigger install of all packages!
+ PackageVersion = packageVersion.Value(),
+ AllowPreRelease = allowPrerelease.HasValue() ? true : (bool?)null,
+ Save = save.HasValue() ? true : (bool?)null,
+ Clean = clean.HasValue() ? true : (bool?)null,
+ Output = output.Value(),
+ Debug = debug.HasValue() ? true : (bool?)null,
+ LogLevel = logLevel.ParsedValue
+ };
return Application.Run(Config.Create(configFile.Value(), configMask), scriptArgs);
});
@@ -83,16 +84,18 @@ private static int Main(string[] args)
return 0;
}
- var configMask = new ConfigMask();
- configMask.Repl = repl.HasValue() ? true : (bool?)null;
- configMask.ScriptName = scriptNameFallback.HasValue() ? scriptNameFallback.Value() : script.Value;
- configMask.Debug = debug.HasValue() ? true : (bool?)null;
- configMask.Eval = eval.Value();
- configMask.Cache = cache.HasValue() ? true : (bool?)null;
- configMask.Watch = watch.HasValue() ? true : (bool?)null;
- configMask.LogLevel = logLevel.ParsedValue;
- configMask.Modules = modules.Value();
- configMask.Output = output.Value();
+ var configMask = new ConfigMask
+ {
+ Repl = repl.HasValue() ? true : (bool?)null,
+ ScriptName = scriptNameFallback.HasValue() ? scriptNameFallback.Value() : script.Value,
+ Debug = debug.HasValue() ? true : (bool?)null,
+ Eval = eval.Value(),
+ Cache = cache.HasValue() ? true : (bool?)null,
+ Watch = watch.HasValue() ? true : (bool?)null,
+ LogLevel = logLevel.ParsedValue,
+ Modules = modules.Value(),
+ Output = output.Value()
+ };
return Application.Run(Config.Create(configFile.Value(), configMask), scriptArgs);
});
@@ -101,7 +104,7 @@ private static int Main(string[] args)
{
return app.Execute(nonScriptArgs);
}
- catch (CommandParsingException e)
+ catch (CommandParsingException)
{
app.ShowHelp();
return 1;
diff --git a/src/ScriptCs/ScriptCs.csproj b/src/ScriptCs/ScriptCs.csproj
index 102ba74e..20e9f2dc 100644
--- a/src/ScriptCs/ScriptCs.csproj
+++ b/src/ScriptCs/ScriptCs.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/test/ScriptCs.Core.Tests/ScriptCs.Core.Tests.csproj b/test/ScriptCs.Core.Tests/ScriptCs.Core.Tests.csproj
index 47d3c5dd..322ee903 100644
--- a/test/ScriptCs.Core.Tests/ScriptCs.Core.Tests.csproj
+++ b/test/ScriptCs.Core.Tests/ScriptCs.Core.Tests.csproj
@@ -15,13 +15,13 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/ScriptCs.Engine.Roslyn.Tests/ScriptCs.Engine.Roslyn.Tests.csproj b/test/ScriptCs.Engine.Roslyn.Tests/ScriptCs.Engine.Roslyn.Tests.csproj
index 32f7b033..bb8f8ea1 100644
--- a/test/ScriptCs.Engine.Roslyn.Tests/ScriptCs.Engine.Roslyn.Tests.csproj
+++ b/test/ScriptCs.Engine.Roslyn.Tests/ScriptCs.Engine.Roslyn.Tests.csproj
@@ -9,15 +9,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/test/ScriptCs.Hosting.Tests/RuntimeServicesTests.cs b/test/ScriptCs.Hosting.Tests/RuntimeServicesTests.cs
index 5a80b7af..b5b888c3 100644
--- a/test/ScriptCs.Hosting.Tests/RuntimeServicesTests.cs
+++ b/test/ScriptCs.Hosting.Tests/RuntimeServicesTests.cs
@@ -271,6 +271,14 @@ public void ShouldRegisterTheOverriddenVisualStudioSolutionWriter()
_runtimeServices.Container.Resolve().ShouldBeType(typeof(MockVisualStudioSolutionWriter));
}
+ [Fact]
+ public void ShouldRegisterTheOverriddenRepl()
+ {
+ var mock = new Mock();
+ _overrides[ typeof( IRepl ) ] = mock.Object.GetType();
+ _runtimeServices.Container.Resolve().ShouldBeType( mock.Object.GetType() );
+ }
+
[Fact]
public void ShouldLogOnDebugAnAssemblyLoadFailure()
{
diff --git a/test/ScriptCs.Hosting.Tests/ScriptCs.Hosting.Tests.csproj b/test/ScriptCs.Hosting.Tests/ScriptCs.Hosting.Tests.csproj
index 984cb0ff..cb5cc998 100644
--- a/test/ScriptCs.Hosting.Tests/ScriptCs.Hosting.Tests.csproj
+++ b/test/ScriptCs.Hosting.Tests/ScriptCs.Hosting.Tests.csproj
@@ -8,13 +8,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/test/ScriptCs.Tests.Acceptance/ScriptCs.Tests.Acceptance.csproj b/test/ScriptCs.Tests.Acceptance/ScriptCs.Tests.Acceptance.csproj
index 4f3eafc4..765fdba3 100644
--- a/test/ScriptCs.Tests.Acceptance/ScriptCs.Tests.Acceptance.csproj
+++ b/test/ScriptCs.Tests.Acceptance/ScriptCs.Tests.Acceptance.csproj
@@ -6,10 +6,10 @@
-
-
-
-
+
+
+
+
@@ -36,5 +36,8 @@
Always
+
+ Always
+
\ No newline at end of file
diff --git a/test/ScriptCs.Tests/ScriptCs.Tests.csproj b/test/ScriptCs.Tests/ScriptCs.Tests.csproj
index bcc1409f..25bde541 100644
--- a/test/ScriptCs.Tests/ScriptCs.Tests.csproj
+++ b/test/ScriptCs.Tests/ScriptCs.Tests.csproj
@@ -8,12 +8,12 @@
-
-
-
-
-
-
+
+
+
+
+
+