package com.smartcodeltd.jenkinsci.plugin.assetbundler; import com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS; import com.smartcodeltd.jenkinsci.plugins.buildmonitor.facade.StaticJenkinsAPIs; import hudson.Extension; import hudson.Plugin; import hudson.util.PluginServletFilter; import java.io.File; import java.net.URISyntaxException; import java.net.URL; /* * Based on: * * https://github.com/jenkinsci/uithemes-plugin/blob/master/src/main/java/org/jenkinsci/plugins/uithemes/ * * https://github.com/kiy0taka/filter_sample/ * * and the conversation at * * https://groups.google.com/forum/#!searchin/jenkinsci-dev/less/jenkinsci-dev/3AU7OcUxRFk/YNpFl2NS47QJ */ @Extension public class Dispatcher extends Plugin { @Override public void postInitialize() throws Exception { super.postInitialize(); PluginServletFilter.addFilter(new LessCSS("/build-monitor-plugin/style.css", pathTo("less/index.less"), new StaticJenkinsAPIs())); } private URL baseResourceURL() { return getWrapper().parent.getPlugin("build-monitor-plugin").baseResourceURL; } private File pathTo(String asset) throws URISyntaxException { return new PathToAsset(baseResourceURL(), asset).toFile(); } }