public override bool Execute() { var task = Task.Run(async() => { try { SassConfig config = null; var configFilePath = ConfigPath ?? SASS_CONFIG_FILENAME; if (configFilePath != null) { configFilePath = Path.GetFullPath(configFilePath); if (File.Exists(configFilePath)) { var sassConfigLoader = new SassConfigLoader(); using (Stream stream = File.OpenRead(configFilePath)) { config = await sassConfigLoader.LoadAsync(stream); } } else { Log.LogError($"Config file \"{configFilePath}\" does not exist."); return(false); } } else { // Default config config = new SassConfig(); } SassCommandArgumentBuilder commandArgumentBuilder = new SassCommandArgumentBuilder(config, Environment.CurrentDirectory); var commandArguments = commandArgumentBuilder.BuildArgs(); Log.LogMessage(commandArguments); ExecuteSassCommand(commandArguments); Log.LogMessage($"Sass files were successfully compiled."); return(true); } catch (Exception e) { Log.LogErrorFromException(e); return(false); } }); return(task.GetAwaiter().GetResult()); }
public async Task Test1() { var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes( @" { } ")); memoryStream.Seek(0, SeekOrigin.Begin); var loader = new SassConfigLoader(); var config = await loader.LoadAsync(memoryStream); SassCommandArgumentBuilder commandArgumentBuilder = new SassCommandArgumentBuilder(config, Environment.CurrentDirectory); var commandArguments = commandArgumentBuilder.BuildArgs(); }
public async Task Test2() { var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes( @" { ""compilerOptions"": { ""style"": ""expanded"", ""sourceMap"": true, ""outDir"": ""wwwroot/css"" }, ""files"": [ ""test.scss"" ] } ")); memoryStream.Seek(0, SeekOrigin.Begin); var loader = new SassConfigLoader(); var config = await loader.LoadAsync(memoryStream); SassCommandArgumentBuilder commandArgumentBuilder = new SassCommandArgumentBuilder(config, Environment.CurrentDirectory); var commandArguments = commandArgumentBuilder.BuildArgs(); }