Skip to content

small improvements in the code #667

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions build/Build.csx
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,12 @@ private void CreateChocoPackage()

private void CreateGlobalToolPackage()
{
using (var globalToolBuildFolder = new DisposableFolder())
{
Copy(solutionFolder, globalToolBuildFolder.Path);
PatchPackAsTool(globalToolBuildFolder.Path);
PatchPackageId(globalToolBuildFolder.Path, GlobalToolPackageId);
PatchContent(globalToolBuildFolder.Path);
Command.Execute("dotnet", $"pack --configuration release --output {nuGetArtifactsFolder}", Path.Combine(globalToolBuildFolder.Path, "Dotnet.Script"));
}
using var globalToolBuildFolder = new DisposableFolder();
Copy(solutionFolder, globalToolBuildFolder.Path);
PatchPackAsTool(globalToolBuildFolder.Path);
PatchPackageId(globalToolBuildFolder.Path, GlobalToolPackageId);
PatchContent(globalToolBuildFolder.Path);
Command.Execute("dotnet", $"pack --configuration release --output {nuGetArtifactsFolder}", Path.Combine(globalToolBuildFolder.Path, "Dotnet.Script"));
}

private void CreateNuGetPackages()
Expand Down
7 changes: 2 additions & 5 deletions build/Choco.csx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ public static class Choco
{
version = versionPrefix;
}
var tags = projectFile.Descendants("PackageTags").SingleOrDefault()?.Value;
var iconUrl = projectFile.Descendants("PackageIconUrl").SingleOrDefault()?.Value;
var projectUrl = projectFile.Descendants("PackageProjectUrl").SingleOrDefault()?.Value;
var repositoryUrl = projectFile.Descendants("RepositoryUrl").SingleOrDefault()?.Value;
Expand Down Expand Up @@ -80,10 +79,8 @@ public static class Choco
var srcGlobPattern = $@"{pathToBinaries}\**\*";
filesElement.Add(CreateFileElement(srcGlobPattern, packageId));

using (var fileStream = new FileStream("Chocolatey/chocolatey.nuspec", FileMode.Create))
{
new XDocument(packageElement).Save(fileStream);
}
using var fileStream = new FileStream("Chocolatey/chocolatey.nuspec", FileMode.Create);
new XDocument(packageElement).Save(fileStream);
}

private static XElement CreateFileElement(string src, string target)
Expand Down
6 changes: 2 additions & 4 deletions src/Dotnet.Script.Core/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ public static class Extensions

public static SourceText ToSourceText(this string absoluteFilePath)
{
using (var filestream = File.OpenRead(absoluteFilePath))
{
return SourceText.From(filestream);
}
using var filestream = File.OpenRead(absoluteFilePath);
return SourceText.From(filestream);
}
}
}
46 changes: 20 additions & 26 deletions src/Dotnet.Script.Core/ScriptDownloader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,31 @@ public class ScriptDownloader
{
public async Task<string> Download(string uri)
{
using (HttpClient client = new HttpClient(new HttpClientHandler
using HttpClient client = new HttpClient(new HttpClientHandler
{
// Avoid Deflate due to bugs. For more info, see:
// https://github.com/weblinq/WebLinq/issues/132
AutomaticDecompression = DecompressionMethods.GZip
}))
{
using (HttpResponseMessage response = await client.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead))
{
response.EnsureSuccessStatusCode();
});
using HttpResponseMessage response = await client.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();

using (HttpContent content = response.Content)
{
var mediaType = content.Headers.ContentType?.MediaType?.ToLowerInvariant().Trim();
switch (mediaType)
{
case null:
case "":
case "text/plain":
return await content.ReadAsStringAsync();
case "application/gzip":
case "application/x-gzip":
using (var stream = await content.ReadAsStreamAsync())
using (var gzip = new GZipStream(stream, CompressionMode.Decompress))
using (var reader = new StreamReader(gzip))
return await reader.ReadToEndAsync();
default:
throw new NotSupportedException($"The media type '{mediaType}' is not supported when executing a script over http/https");
}
}
}
using HttpContent content = response.Content;
var mediaType = content.Headers.ContentType?.MediaType?.ToLowerInvariant().Trim();
switch (mediaType)
{
case null:
case "":
case "text/plain":
return await content.ReadAsStringAsync();
case "application/gzip":
case "application/x-gzip":
using (var stream = await content.ReadAsStreamAsync())
using (var gzip = new GZipStream(stream, CompressionMode.Decompress))
using (var reader = new StreamReader(gzip))
return await reader.ReadToEndAsync();
default:
throw new NotSupportedException($"The media type '{mediaType}' is not supported when executing a script over http/https");
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/Dotnet.Script.Core/ScriptPublisher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public void CreateExecutable<TReturn, THost>(ScriptContext context, LogFactory l
throw new ArgumentNullException(nameof(runtimeIdentifier));
}

executableFileName = executableFileName ?? Path.GetFileNameWithoutExtension(context.FilePath);
executableFileName ??= Path.GetFileNameWithoutExtension(context.FilePath);
const string AssemblyName = "scriptAssembly";

var tempProjectPath = ScriptProjectProvider.GetPathToProjectFile(Path.GetDirectoryName(context.FilePath), _scriptEnvironment.TargetFramework);
Expand Down
6 changes: 2 additions & 4 deletions src/Dotnet.Script.Core/Templates/TemplateLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ public static class TemplateLoader
public static string ReadTemplate(string name)
{
var resourceStream = typeof(TemplateLoader).GetTypeInfo().Assembly.GetManifestResourceStream($"Dotnet.Script.Core.Templates.{name}");
using (var streamReader = new StreamReader(resourceStream))
{
return streamReader.ReadToEnd();
}
using var streamReader = new StreamReader(resourceStream);
return streamReader.ReadToEnd();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ private string[] GetScriptPaths(FallbackPackagePathResolver packagePathResolver,

private string[] GetNativeAssetPaths(FallbackPackagePathResolver packagePathResolver, LockFileTargetLibrary targetLibrary)
{
List<string> nativeAssetPaths = new List<string>();
var nativeAssetPaths = new List<string>();
foreach (var runtimeTarget in targetLibrary.NativeLibraries.Where(lfi => !lfi.Path.EndsWith("_._")))
{
var fullPath = ResolveFullPath(packagePathResolver, targetLibrary.Name, targetLibrary.Version.ToString(), runtimeTarget.Path);
Expand All @@ -150,7 +150,7 @@ private string[] GetNativeAssetPaths(FallbackPackagePathResolver packagePathReso

private static string[] GetRuntimeDependencyPaths(FallbackPackagePathResolver packagePathResolver, LockFileTargetLibrary targetLibrary)
{
List<string> runtimeDependencyPaths = new List<string>();
var runtimeDependencyPaths = new List<string>();

foreach (var lockFileItem in targetLibrary.RuntimeAssemblies.Where(lfi => !lfi.Path.EndsWith("_._")))
{
Expand Down
12 changes: 4 additions & 8 deletions src/Dotnet.Script.DependencyModel/ProjectSystem/ProjectFile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,19 +83,15 @@ public void Save(string pathToProjectFile)
var targetFrameworkElement = projectFileDocument.Descendants("TargetFramework").Single();
targetFrameworkElement.Value = TargetFramework;

using (var fileStream = new FileStream(pathToProjectFile, FileMode.Create, FileAccess.Write))
{
projectFileDocument.Save(fileStream);
}
using var fileStream = new FileStream(pathToProjectFile, FileMode.Create, FileAccess.Write);
projectFileDocument.Save(fileStream);
}

private static string ReadTemplate(string name)
{
var resourceStream = typeof(ProjectFile).GetTypeInfo().Assembly.GetManifestResourceStream($"Dotnet.Script.DependencyModel.ProjectSystem.{name}");
using (var streamReader = new StreamReader(resourceStream))
{
return streamReader.ReadToEnd();
}
using var streamReader = new StreamReader(resourceStream);
return streamReader.ReadToEnd();
}

/// <inheritdoc/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,17 @@ public class ScriptProjectProvider
private readonly ScriptParser _scriptParser;
private readonly ScriptFilesResolver _scriptFilesResolver;
private readonly ScriptEnvironment _scriptEnvironment;
private readonly CommandRunner _commandRunner;
private readonly Logger _logger;

private ScriptProjectProvider(ScriptParser scriptParser, ScriptFilesResolver scriptFilesResolver, LogFactory logFactory, ScriptEnvironment scriptEnvironment, CommandRunner commandRunner)
private ScriptProjectProvider(ScriptParser scriptParser, ScriptFilesResolver scriptFilesResolver, LogFactory logFactory, ScriptEnvironment scriptEnvironment)
{
_logger = logFactory.CreateLogger<ScriptProjectProvider>();
_scriptParser = scriptParser;
_scriptFilesResolver = scriptFilesResolver;
_scriptEnvironment = scriptEnvironment;
_commandRunner = commandRunner;
}

public ScriptProjectProvider(LogFactory logFactory) : this(new ScriptParser(logFactory), new ScriptFilesResolver(), logFactory, ScriptEnvironment.Default, new CommandRunner(logFactory))
public ScriptProjectProvider(LogFactory logFactory) : this(new ScriptParser(logFactory), new ScriptFilesResolver(), logFactory, ScriptEnvironment.Default)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,9 @@ private static IDictionary<string, List<string>> GetScriptFilesPerTargetFramewor
if (match.Success)
{
var targetFramework = match.Groups[1].Value;
if (!result.TryGetValue(targetFramework, out var files))
if (!result.TryGetValue(targetFramework, out _))
{
files = new List<string>();
var files = new List<string>();
result.Add(targetFramework, files);
}
result[targetFramework].Add(match.Groups[0].Value);
Expand Down
6 changes: 3 additions & 3 deletions src/Dotnet.Script.Shared.Tests/TestPathUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ public static string GetPathToTestFixture(string fixture)

public static string GetPathToGlobalPackagesFolder()
{
var result = ProcessHelper.RunAndCaptureOutput("dotnet", "nuget locals global-packages --list");
var match = Regex.Match(result.output, @"^.*global-packages:\s*(.*)$");
var (output, _) = ProcessHelper.RunAndCaptureOutput("dotnet", "nuget locals global-packages --list");
var match = Regex.Match(output, @"^.*global-packages:\s*(.*)$");
return match.Groups[1].Value;
}

public static void RemovePackageFromGlobalNugetCache(string packageName)
{
var pathToGlobalPackagesFolder = TestPathUtils.GetPathToGlobalPackagesFolder();
var pathToGlobalPackagesFolder = GetPathToGlobalPackagesFolder();
var pathToPackage = Directory.GetDirectories(pathToGlobalPackagesFolder).SingleOrDefault(d => d.Contains(packageName, StringComparison.OrdinalIgnoreCase));
if (pathToPackage != null)
{
Expand Down
Loading