用于Scala';s的简单构建工具

用于Scala';s的简单构建工具,scala,plugins,sbt,wro4j,Scala,Plugins,Sbt,Wro4j,我正在为SBT创建我自己的wro4j插件,因为我的项目有一些特殊要求,不能直接使用xsbt-wro4j-plugin实现 我查看了xsbt-wro4j-plugin()的源代码和wro4japi文档,以了解文件创建过程,但我在这里有点困惑。据我所知,该插件使用Mockito以某种方式生成必要的资源,但我不知道它如何与wro4j本身合作。如果我是对的,这整个Mockito的东西是一个黑客,所以我们可以使用SBT的缓存机制 问题#1是我们是否可以避免这种Mockito voodoo而不丢失缓存支持。

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

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

问题#1是我们是否可以避免这种Mockito voodoo而不丢失缓存支持。

问题#2:什么负责wro4j中的文件创建?我可以忽略它吗?

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

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


我对长期方法的看法是:使wro4j、ServletAPI不可知,并允许构建时解决方案(如maven插件或xsbt插件)不需要使用这种变通方法。不幸的是,为了做到这一点,wro4j的内部应该改变,这将需要一个主要的版本(与以前的版本不兼容)。考虑到这样做所需的工作量,这很可能会被延迟。

这不一定是对所有问题的回答,而是对xsbt wro4j插件(和wro4j maven插件)使用mockito的原因的解释

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


我对长期方法的看法是:使wro4j、ServletAPI不可知,并允许构建时解决方案(如maven插件或xsbt插件)不需要使用这种变通方法。不幸的是,为了做到这一点,wro4j的内部应该改变,这将需要一个主要的版本(与以前的版本不兼容)。考虑到这项工作所需的工作量,很可能会延迟。

啊,这是有道理的。不过,wro4j的文档应该更清楚这一点。啊,这是有道理的。不过,wro4j的文档应该更清楚地说明这一点。