Gradle Pass Configuration on Command Line: Difference between revisions
Line 8: | Line 8: | ||
It is sometimes necessary to pass environment-specific configuration to the build. An example is the URL of a container registry, which may different values relative to the environment the build is executed. The best place for such configuration is not build.gradle, as we would like to avoid editing it for each environment the build is supposed to execute in. One option, which works well for build containers, is to [[Passing Configuration to a Gradle Build via Custom Environment Variables|use custom environment variables]]. Another option is to use command line-specified system properties, as shown below: | It is sometimes necessary to pass environment-specific configuration to the build. An example is the URL of a container registry, which may different values relative to the environment the build is executed. The best place for such configuration is not build.gradle, as we would like to avoid editing it for each environment the build is supposed to execute in. One option, which works well for build containers, is to [[Passing Configuration to a Gradle Build via Custom Environment Variables|use custom environment variables]]. Another option is to use command line-specified system properties, as shown below: | ||
gradle - | gradle -D=my.environment.dependent.config=blue build | ||
Note the extra "=" between -D and the property name. | |||
If not provided on command line, those configuration elements can always fall back to build.gradle hardcoded values. | If not provided on command line, those configuration elements can always fall back to build.gradle hardcoded values. |
Revision as of 20:26, 20 March 2019
Internal
Overview
It is sometimes necessary to pass environment-specific configuration to the build. An example is the URL of a container registry, which may different values relative to the environment the build is executed. The best place for such configuration is not build.gradle, as we would like to avoid editing it for each environment the build is supposed to execute in. One option, which works well for build containers, is to use custom environment variables. Another option is to use command line-specified system properties, as shown below:
gradle -D=my.environment.dependent.config=blue build
Note the extra "=" between -D and the property name.
If not provided on command line, those configuration elements can always fall back to build.gradle hardcoded values.
Playground
{{External|}
Implementation
We assign the value of the system property to a project extra property, for convenient handling.