【问题标题】:Custom wro4j plugin for Scala's Simple Build ToolScala 简单构建工具的自定义 wro4j 插件
【发布时间】:2013-08-04 17:22:21
【问题描述】:

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

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

问题 #1 是我们是否可以在不失去缓存支持的情况下避免这种 Mockito 巫术。
问题 #2:什么负责在 wro4j 中创建文件?我可以覆盖它吗?

【问题讨论】:

    标签: scala plugins sbt wro4j


    【解决方案1】:

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

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

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

    【讨论】:

    • 啊,这确实有道理。不过,wro4j 的文档应该对此更清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多