Ejemplo n.º 1
0
        private static IEnumerable <string> CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            engine = new FixImportPathDecorator(engine);
            var currentDir = Directory.GetCurrentDirectory();

            try
            {
                Console.WriteLine("{0} -> {1}", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var fileReader    = new dotless.Core.Input.FileReader();
                var source        = fileReader.GetFileContents(inputFilePath);
                Directory.SetCurrentDirectory(directoryPath);
                var css = engine.TransformToCss(source, inputFilePath);

                File.WriteAllText(outputFilePath, css);

                if (!engine.LastTransformationSuccessful)
                {
                    returnCode = -5;
                    Console.WriteLine();
                    Console.WriteLine("[Done - Failed]");
                }
                else
                {
                    Console.WriteLine("[Done]");
                }

                var files = new List <string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                {
                    files.Add(Path.Combine(directoryPath, Path.GetExtension(file)));
                }
                engine.ResetImports();
                return(files);
            }
            catch (IOException ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                returnCode = -2;
                return(null);
            }
            catch (Exception ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                returnCode = -3;
                return(null);
            }
            finally
            {
                Directory.SetCurrentDirectory(currentDir);
            }
        }
Ejemplo n.º 2
0
        private static Parser GetEmbeddedParser(bool isUrlRewritingDisabled, bool importAllFilesAsLess, bool importCssInline)
        {
            var fileReader = new dotless.Core.Input.FileReader(new EmbeddedPathResolver());

            return(new Parser
            {
                Importer = new Importer(fileReader)
                {
                    IsUrlRewritingDisabled = isUrlRewritingDisabled,
                    ImportAllFilesAsLess = importAllFilesAsLess,
                    InlineCssFiles = importCssInline
                }
            });
        }
Ejemplo n.º 3
0
        private static Parser GetEmbeddedParser(bool isUrlRewritingDisabled, bool importAllFilesAsLess, bool importCssInline)
        {
            var fileReader = new dotless.Core.Input.FileReader(new EmbeddedPathResolver());

            return new Parser
            {
                Importer = new Importer(fileReader)
                {
                    IsUrlRewritingDisabled = isUrlRewritingDisabled,
                    ImportAllFilesAsLess = importAllFilesAsLess,
                    InlineCssFiles = importCssInline
                }
            };
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Attempts to compile a less file into css.
        /// </summary>
        /// <param name="engine">The dotless engine.</param>
        /// <param name="inputFilePath">The input less file.</param>
        /// <param name="outputFilePath">The output css file.</param>
        /// <returns>The return code. 0 is success; otherwise, value is failure.</returns>
        private int CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            engine = new FixImportPathDecorator(engine);
            var currentDir = Directory.GetCurrentDirectory();

            try
            {
                Log.LogMessage("Compiling less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var fileReader    = new dotless.Core.Input.FileReader();
                var source        = fileReader.GetFileContents(inputFilePath);
                Directory.SetCurrentDirectory(directoryPath);
                var css = engine.TransformToCss(source, inputFilePath);

                File.WriteAllText(outputFilePath, css);

                if (!engine.LastTransformationSuccessful)
                {
                    Log.LogError("Failed: Compiling less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                    return(-5);
                }
                else
                {
                    Log.LogMessage("Success: Compiled less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                }

                var files = new List <string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                {
                    files.Add(Path.Combine(directoryPath, Path.ChangeExtension(file, "less")));
                }
                engine.ResetImports();
                return(0);
            }
            catch (Exception ex)
            {
                Log.LogError("Failed: Compiling less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                Log.LogError("Compilation failed: {0}", ex.ToString());
                return(-3);
            }
            finally
            {
                Directory.SetCurrentDirectory(currentDir);
            }
        }
Ejemplo n.º 5
0
        private static IEnumerable <string> CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            var currentDir = Directory.GetCurrentDirectory();

            try
            {
                Console.WriteLine("{0} -> {1}", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var source        = new dotless.Core.Input.FileReader().GetFileContents(inputFilePath);
                Directory.SetCurrentDirectory(directoryPath);
                var css = engine.TransformToCss(source, inputFilePath);
                File.WriteAllText(outputFilePath, css);
                Console.WriteLine("[Done]");

                var files = new List <string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                {
                    files.Add(Path.Combine(directoryPath, Path.ChangeExtension(file, "less")));
                }
                engine.ResetImports();
                return(files);
            }
            catch (IOException)
            {
                throw;
            }
            catch (Exception ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                return(null);
            }
            finally
            {
                Directory.SetCurrentDirectory(currentDir);
            }
        }
Ejemplo n.º 6
0
        private static IEnumerable<string> CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            engine = new FixImportPathDecorator(engine);
            try
            {
                Console.WriteLine("{0} -> {1}", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var fileReader = new dotless.Core.Input.FileReader();
                var source = fileReader.GetFileContents(inputFilePath);
                engine.CurrentDirectory = directoryPath;

                var watch = new Stopwatch();
                watch.Start();
                var css = engine.TransformToCss(source, inputFilePath);
                watch.Stop();

                File.WriteAllText(outputFilePath, css);

                if (!engine.LastTransformationSuccessful)
                {
                    returnCode = -5;
                    Console.WriteLine();
                    Console.WriteLine("[Done - Failed]");
                }
                else
                {
                    Console.WriteLine("[Done in {0}]", watch.Elapsed);
                }

                var files = new List<string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
					files.Add(Path.Combine(directoryPath, Path.GetExtension(file)));
                engine.ResetImports();
                return files;
            }
            catch (IOException ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                returnCode = -2;
                return null;
            }
            catch (Exception ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                returnCode = -3;
                return null;
            }
        }
Ejemplo n.º 7
0
        private static IEnumerable<string> CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            engine = new FixImportPathDecorator(engine);
            var currentDir = Directory.GetCurrentDirectory();
            try
            {
                Console.WriteLine("{0} -> {1}", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var source = new dotless.Core.Input.FileReader().GetFileContents(inputFilePath);
                Directory.SetCurrentDirectory(directoryPath);
                var css = engine.TransformToCss(source, inputFilePath);

                File.WriteAllText(outputFilePath, css);
                Console.WriteLine("[Done]");

                var files = new List<string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                    files.Add(Path.Combine(directoryPath, Path.ChangeExtension(file, "less")));
                engine.ResetImports();
                return files;
            }
            catch (IOException)
            {
                throw;
            }
            catch (Exception ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                return null;
            }
            finally
            {
                Directory.SetCurrentDirectory(currentDir);
            }
        }
Ejemplo n.º 8
0
        private static IEnumerable<string> CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            engine = new FixImportPathDecorator(engine);
            var currentDir = Directory.GetCurrentDirectory();
            try
            {
                Console.WriteLine("{0} -> {1}", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var fileReader = new dotless.Core.Input.FileReader();
                var source = fileReader.GetFileContents(inputFilePath);
                Directory.SetCurrentDirectory(directoryPath);
                var css = engine.TransformToCss(source, inputFilePath);

                File.WriteAllText(outputFilePath, css);

                if (!engine.LastTransformationSuccessful)
                {
                    returnCode = -5;
                    Console.WriteLine();
                    Console.WriteLine("[Done - Failed]");
                }
                else
                {
                    Console.WriteLine("[Done]");
                }

                var files = new List<string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                    files.Add(Path.Combine(directoryPath, Path.ChangeExtension(file, "less")));
                engine.ResetImports();
                return files;
            }
            <<<<<<< HEAD
            //catch (IOException)
            //{
            //    throw;
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine("[FAILED]");
            //    Console.WriteLine("Compilation failed: {0}", ex.Message);
            //    Console.WriteLine(ex.StackTrace);
            //    return null;
            //}
            =======
            catch (IOException)
            {
                returnCode = -2;
                throw;
            }
            catch (Exception ex)
            {
                Console.WriteLine("[FAILED]");
                Console.WriteLine("Compilation failed: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
                returnCode = -3;
                return null;
            }
            >>>>>>> 57986d4e1b45102058e055468254b85e34a41e98
            finally
            {
                Directory.SetCurrentDirectory(currentDir);
            }
        }
Ejemplo n.º 9
0
        private static IEnumerable<string> CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath, StringBuilder sb, bool silent)
        {
            try
            {
                if (!silent)
                {
                    sb.AppendFormat("{0} -> {1}\n", inputFilePath, outputFilePath);
                }

                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var source = new dotless.Core.Input.FileReader(directoryPath).GetFileContents(inputFilePath);
                var css = engine.TransformToCss(source, inputFilePath);
                File.WriteAllText(outputFilePath, css);

                if (!silent)
                {
                    sb.AppendLine("[Done]");
                }

                var files = new List<string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                {
                    files.Add(Path.Combine(directoryPath, Path.ChangeExtension(file, "less")));
                }
                engine.ResetImports();
                return files;
            }
            catch (IOException)
            {
                throw;
            }
            catch (Exception ex)
            {
                if (silent)
                {
                    // Need to know the file now
                    sb.AppendFormat("{0} -> {1}\n", inputFilePath, outputFilePath);
                }

                sb.AppendLine("[FAILED]");
                sb.AppendFormat("Compilation failed: {0}\n", ex.Message);
                sb.AppendLine(ex.StackTrace);
                return null;
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Attempts to compile a less file into css.
        /// </summary>
        /// <param name="engine">The dotless engine.</param>
        /// <param name="inputFilePath">The input less file.</param>
        /// <param name="outputFilePath">The output css file.</param>
        /// <returns>The return code. 0 is success; otherwise, value is failure.</returns>
        private int CompileImpl(ILessEngine engine, string inputFilePath, string outputFilePath)
        {
            engine = new FixImportPathDecorator(engine);
            var currentDir = Directory.GetCurrentDirectory();
            try
            {
                Log.LogMessage("Compiling less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                var directoryPath = Path.GetDirectoryName(inputFilePath);
                var fileReader = new dotless.Core.Input.FileReader();
                var source = fileReader.GetFileContents(inputFilePath);
                Directory.SetCurrentDirectory(directoryPath);
                var css = engine.TransformToCss(source, inputFilePath);

                File.WriteAllText(outputFilePath, css);

                if (!engine.LastTransformationSuccessful)
                {
                    Log.LogError("Failed: Compiling less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                    return -5;
                }
                else
                {
                    Log.LogMessage("Success: Compiled less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                }

                var files = new List<string>();
                files.Add(inputFilePath);
                foreach (var file in engine.GetImports())
                    files.Add(Path.Combine(directoryPath, Path.ChangeExtension(file, "less")));
                engine.ResetImports();
                return 0;
            }
            catch (Exception ex)
            {
                Log.LogError("Failed: Compiling less from \"{0}\" to \"{1}\".", inputFilePath, outputFilePath);
                Log.LogError("Compilation failed: {0}", ex.ToString());
                return -3;
            }
            finally
            {
                Directory.SetCurrentDirectory(currentDir);
            }
        }