13. A non-transitory computer-readable medium having embodied thereon instructions that, when executed by one or more processors, cause the one or more processors to perform computer-implemented method for a build system, the method comprising: receiving one or more attribute rules and one or more extra action rules, wherein the one or more attribute rules correspond to one or more predefined default actions of the build system, wherein the extra action rules specify additional actions that are to be added to the build system; generating a graph that represents a relationship between files specified as attributes in the attributes rules and said one or more predefined default actions that correspond to the attribute rules; receiving a request to enable at least one of the extra action rules; receiving action listener rules, wherein the action listener rules indicate one or more default actions and corresponding one or more extra action rules; checking the graph to determine whether said graph includes a particular one of the default actions indicated in the action listener rules; and in response to a determination that the graph includes said particular one of the default actions, adding additional actions to the graph for one or more of the extra action rules corresponding to the particular one of the default actions.
14. The medium of claim 13 , the method further comprising analyzing the graph and executing those actions in the graph that need updating.