Systems and methods for rule based meta-programming of actions for rule based build systems
First Claim
1. A computer-implemented method for a build system, 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A build system and method, including receiving attribute rules and new rules, wherein the attribute rules correspond to one or more predefined default actions of the build system, wherein the new rules specify new actions that are to be added to the build system. A graph is generated to include files specified as attributes in the attributes rules and the one or more predefined default actions that correspond to the attributes rules. A request to enable at least one of the new rules is received. Action listener rules are received, wherein the action listener rules indicate default actions and corresponding new rules of the one or more new rules. The graph is checked for default actions that are indicated in the action listener rules. Additional actions are added to the graph for new rules based on the default actions indicated in the action listener rules.
8 Citations
18 Claims
-
1. A computer-implemented method for a build system, 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. - View Dependent Claims (2, 3, 5, 6)
-
-
4. A computer-implemented method for a build system, 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; 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; and analyzing the graph and executing those actions in the graph that need updating; wherein a default action in an action listener rule includes a shadowing action, wherein the executing actions includes executing the additional actions by taking as input, data of a shadowing action.
-
-
7. A build system comprising:
-
one or more processors; a computer-readable medium coupled to the one or more processors having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations 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 attribute 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. - View Dependent Claims (8, 9, 11, 12)
-
-
10. A build system comprising:
-
one or more processors; a computer-readable medium coupled to the one or more processors having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations 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 attribute 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; and analyzing the graph and executing those actions in the graph that need updating; wherein a default action in an action listener rule includes a shadowing action, wherein the executing actions includes executing the additional actions by taking as input, data of a shadowing action.
-
-
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. - View Dependent Claims (14, 15, 17, 18)
-
-
16. 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; and analyzing the graph and executing those actions in the graph that need updating; wherein a default action in an action listener rule includes a shadowing action, wherein the executing actions includes executing the additional actions by taking as input, data of a shadowing action.
-
Specification