I am new to bigtop architecture, I would like to know
how does bigtop know the real build command to launch for this specific package
after ./gradlew {package}-rpm
, I assume there must be some kind of configs define the real build command. (The package
is a maven based project)
Thank you.
I'm not familiar with Bigtop, but I am familiar with Gradle. See here for the Gradle task definition that you're referring to: https://github.com/apache/bigtop/blob/2d6f3dd7b7241aa2191c9ebc5a502a1415932464/packages.gradle#L460
The command that the task will execute is given under the exec
directive: rpmbuild <command>
. command
is an array of arguments defined just above that directive. Most of its arguments are derived from the config
object, which is basically a nested map (like a JSON object) produced by Groovy's ConfigSlurper, which reads the input BOM file as if it were a Groovy file.
So:
config
objectconfig
configuration, produce a set of tasks (${package}-rpm
and others)${package}-rpm
task, use the BOM configuration to derive the command arguments using the logic provided within the task closurerpmbuild
with the aforementioned command arguments