是否可以从BuildConfig.groovy文件中知道正在执行哪个命令,以便根据命令更改构建配置?例如,如果'schema-export'那么不包括'Foo'库等等? 我正在使用Eclipse,我正在从eclipse运行rails cmd。
编辑:在尝试Shashank解决方案后,我添加了有关我使用Eclipse的详细信息。通过打印'sun.java.command'属性,我认为我的Eclipse安装(Indigo Service Release 2 + Grails IDE 3.5插件)正在重写启动的命令
org.codehaus.groovy.grails.cli.support.GrailsStarter --main org.grails.ide.eclipse.longrunning.process.GrailsProcess --conf Y:\grails-2.4.4\/conf/groovy-starter.conf --classpath /C:/Program Files/eclipse/configuration/org.eclipse.osgi/bundles/1764/1/.cp/;/C:/Program Files/eclipse/configuration/org.eclipse.osgi/bundles/1766/1/.cp/ --is14
答案 0 :(得分:0)
我看了它,是的,这绝对是可能的。
在BuildConfig的任何地方,你可以这样写:
String command = System.getProperty("sun.java.command")
if (command.contains("run-app")) {
compile (":hibernate:3.6.10.18") // example to install hibernate while running the app
} else if (command.contains("test-app")) {
compile (":hibernate:3.6.10.14") // some other version for test cases
}
或者你的例子:
compile (":some-plugin:2.3") {
if (command.contains("export-schema")) {
excludes "foo"
}
}
该属性将为您提供如下输出:
org.codehaus.groovy.grails.cli.support.GrailsStarter --main org.codehaus.groovy.grails.cli.GrailsScriptRunner --conf /home/user/.gvm/grails/current/conf/groovy-starter.conf --classpath --offline run-app