@Override protected void sendResource(URL resourceUrl, RouteContext routeContext) throws IOException { try { // compile less to css log.trace("Send css for '{}'", resourceUrl); LessSource.URLSource source = new LessSource.URLSource(resourceUrl); String content = source.getContent(); String result = sourceMap.get(content); if (result == null) { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); LessCompiler.Configuration configuration = new LessCompiler.Configuration(); configuration.setCompressing(minify); LessCompiler.CompilationResult compilationResult = compiler.compile(resourceUrl, configuration); for (LessCompiler.Problem warning : compilationResult.getWarnings()) { log.warn("Line: {}, Character: {}, Message: {} ", warning.getLine(), warning.getCharacter(), warning.getMessage()); } result = compilationResult.getCss(); if (routeContext.getApplication().getPippoSettings().isProd()) { sourceMap.put(content, result); } } // send css routeContext.getResponse().contentType("text/css"); routeContext.getResponse().ok().send(result); } catch (Exception e) { throw new PippoRuntimeException(e); } }
@Override public CompilationResult compile(String lessContent) throws Less4jException { return compile(new LessSource.StringSource(lessContent), null); }
@Override public CompilationResult compile(String lessContent, Configuration options) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(lessContent, options); }
@Override public CompilationResult compile(File lessFile) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(lessFile); }
@Override public CompilationResult compile(URL lessURL, Configuration options) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(lessURL, options); }
@Override public CompilationResult compile(File lessFile) throws Less4jException { LessSource.FileSource lessSource = new LessSource.FileSource(lessFile); return compile(lessSource, null); }
@Override public CompilationResult compile(File lessFile, Configuration options) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(lessFile, options); }
@Override public CompilationResult compile(LessSource source, Configuration options) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(source, options); }
@Override public CompilationResult compile(String lessContent) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(lessContent); }
@Override public CompilationResult compile(URL lessURL) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(lessURL); }
@Override public CompilationResult compile(URL lessURL) throws Less4jException { return compile(new LessSource.URLSource(lessURL)); }
@Override public CompilationResult compile(URL lessURL, Configuration options) throws Less4jException { return compile(new LessSource.URLSource(lessURL), options); }
@Override public CompilationResult compile(LessSource source) throws Less4jException { return compile(source, new Configuration()); }
public CompilationResult compile(LessSource source) throws Less4jException { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); return compiler.compile(source); }
@Override public CompilationResult compile(String lessContent, Configuration options) throws Less4jException { return compile(new LessSource.StringSource(lessContent), options); }
@Override public CompilationResult compile(File lessFile, Configuration options) throws Less4jException { return compile(new LessSource.FileSource(lessFile, "utf-8"), options); }
public CompilationResult call() { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); try { return compiler.compile(iSource, iOption); } catch (Less4jException ex) { throw new Less4jRuntimeException(ex); } } };
@Override protected byte[] compile(final ICombinedLessResource lessFile) { final long start = System.currentTimeMillis(); ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); try { return compiler.compile(lessFile.asText()).getCss().getBytes(getCharset()); } catch (Less4jException e) { LOG.error("can't compile {}: {}", lessFile.getName(), new ErrorLogger(lessFile.getName(), e)); throw new WicketRuntimeException("can't compile " + lessFile.getName(), e); } finally { LOG.debug("duration of collect imports for {}: {} ms", lessFile.getName(), System.currentTimeMillis() - start); } } };
@Override public String compile(SourceFile sourceFile) { try { Configuration configuration = new Configuration(); configureSourceMap(configuration); return new ThreadUnsafeLessCompiler().compile(new PathSource(resources, sourceFile), configuration).getCss(); } catch (Less4jException e) { String message = cleanMessage(sourceFile, e.getMessage()); throw new CompilerException(message); } }
@Override protected void sendResource(URL resourceUrl, RouteContext routeContext) throws IOException { try { // compile less to css log.trace("Send css for '{}'", resourceUrl); LessSource.URLSource source = new LessSource.URLSource(resourceUrl); String content = source.getContent(); String result = sourceMap.get(content); if (result == null) { ThreadUnsafeLessCompiler compiler = new ThreadUnsafeLessCompiler(); LessCompiler.Configuration configuration = new LessCompiler.Configuration(); configuration.setCompressing(minify); LessCompiler.CompilationResult compilationResult = compiler.compile(resourceUrl, configuration); for (LessCompiler.Problem warning : compilationResult.getWarnings()) { log.warn("Line: {}, Character: {}, Message: {} ", warning.getLine(), warning.getCharacter(), warning.getMessage()); } result = compilationResult.getCss(); if (routeContext.getApplication().getPippoSettings().isProd()) { sourceMap.put(content, result); } } // send css routeContext.getResponse().contentType("text/css"); routeContext.getResponse().ok().send(result); } catch (Exception e) { throw new PippoRuntimeException(e); } }