diff --git a/build/_k-standard-goals.shade b/build/_k-standard-goals.shade index 766aad601a..6c303167dd 100644 --- a/build/_k-standard-goals.shade +++ b/build/_k-standard-goals.shade @@ -60,6 +60,8 @@ default Configuration='Release' #nuget-install target='install' description='Copy NuGet packages to local repo' nuget-local-publish sourcePackagesDir='${BUILD_DIR}' +#make-roslyn-fast + ngen-roslyn #watch @{ diff --git a/build/_ngen-roslyn.shade b/build/_ngen-roslyn.shade new file mode 100644 index 0000000000..995fa3bc00 --- /dev/null +++ b/build/_ngen-roslyn.shade @@ -0,0 +1,23 @@ +var roslynPackages='${new[] { "Microsoft.CodeAnalysis.CSharp", + "Microsoft.CodeAnalysis", + "System.Collections.Immutable", + "System.Reflection.Metadata.Ecma335" }}' + +var programFilesX86='${Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)}' +var gacutil='${Path.Combine(programFilesX86, "Microsoft SDKs", "Windows", "v8.1A", "bin", "NETFX 4.5.1 Tools", "gacutil.exe")}' + +var windir='${Environment.GetFolderPath(Environment.SpecialFolder.Windows)}' +var ngen='${Path.Combine(windir, "Microsoft.NET", "Framework", "v4.0.30319", "ngen.exe")}' + +var tempRoslynPackagesDir='bin\_roslyn' +var tempRoslynDir='bin\_roslyn\all' + +exec program='${gacutil}' commandline='/u ${p}' each='var p in roslynPackages' + +nuget-install package='${p}' outputDir='${tempRoslynPackagesDir}' extra='-ExcludeVersion' each='var p in roslynPackages' +copy sourceDir='${tempRoslynPackagesDir}\${p}\lib\net45' include='*.dll' outputDir='${tempRoslynDir}' each='var p in roslynPackages' + +exec program='${ngen}' commandline='install ${tempRoslynDir}\${p}.dll' each='var p in roslynPackages' +exec program='${gacutil}' commandline='/i ${tempRoslynDir}\${p}.dll' each='var p in roslynPackages' + +directory delete='${tempRoslynPackagesDir}' \ No newline at end of file