在开发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。有什么建议吗?
答案 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