从CRX Maven插件构建中排除并包含一个文件

时间:2012-10-12 06:45:58

标签: maven google-chrome-extension

在开发Google Chrome扩展程序时,我希望能够为环境构建不同版本。

我正在使用The CRX Maven Plugin来构建我的扩展程序。

默认情况下,我希望src / main / chrome下的文件是我的开发文件,因为我使用Chrome的“加载解压扩展...”来进行本地测试。该扩展还进行远程调用,因此每个环境都有一个相应的远程服务器。我在conf.js文件中将其外化。我想从maven构建中排除src / main / chrome / conf.js文件,并使用以下配置包含/ src / main / chrome之外的另一个conf.js:

...
<configuration>
...
    <packagingExcludes>js/conf.js</packagingExcludes>
...
</configuration>

我看不到临时构建目录,我可以使用一些额外的脚本删除conf.js。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

CRX Maven Plugin现在支持文件过滤。

您可以将特定于环境的设置的名称/值对放入名为conf_XXX.properties的Java .properties文件中,而不是为每个环境设置不同的conf.js,其中XXX是您要用于识别的名称构建的目标环境。

插件可以配置如下:

<plugin>
    <groupId>com.btmatthews.maven.plugins</groupId>
    <artifactId>crx-maven-plugin</artifactId>
    <version>1.2.0</version>
    <configuration>
        ...
        <filtering>true</filtering>
        <filters>
            <filter>etc/conf_${targetEnv}.properties</filter>
        </filters>
        ...
   </configuration>

您可以使用-D选项在构建时设置目标环境。

mvn -DtargetEnv=XXX