用于Scala简单构建工具的自定义wro4j插件

时间:2013-08-03 14:25:09

标签: scala plugins sbt wro4j

我正在为SBT创建自己的wro4j插件,因为我的项目有一些特殊要求,直接用xsbt-wro4j-plugin无法实现。

我检查了xsbt-wro4j-plugin(here)的源代码以及wro4j API文档以获得对文件创建过程的一些了解但我在这里有点困惑。据我所知,该插件使用Mockito以某种方式产生必要的资源,但我不知道它如何与wro4j本身合作。如果我是对的,整个Mockito的东西都是黑客,所以我们可以使用SBT的缓存机制。

问题1是我们是否可以在不失去缓存支持的情况下避开这个Mockito伏都教 问题2:wro4j中负责文件创建的内容是什么?我可以覆盖它吗?

1 个答案:

答案 0 :(得分:1)

这不一定是你所有问题的答案,但解释xsbt wro4j插件(和wro4j-maven-plugin)使用mockito的原因。

wro4j最初只是作为运行时解决方案创建的(使用HttpServletFilter)来动态地最小化静态资源。因此,内部API基于servlet-api(更具体地说是HttpServletRequest& HttpServletResponse对象)。稍后,当需要构建时解决方案时,不是更改框架的内部,而是应用合适的解决方法:使用在非servlet环境中构建servlet-api的机制(构建时)。

我看待长期方法的方法是:使wro4j,servlet-api不可知并允许构建时解决方案(如maven插件或xsbt插件)不需要使用此解决方法。不幸的是,为了做到这一点,应该更改wro4j的内部,这将需要一个主要版本(与以前的版本不兼容)。鉴于完成这项工作所需的工作量,很可能会延迟。