Patent ID: 8627286

Claim:
A microprocessor-implemented method of fully declarative building of software components for build optimization, said method comprising: controlling a set of input files used to build a plurality of executable modules of a software program, said input files including a plurality of source code files for building said plurality of executable modules; a plurality of test files for testing said plurality of executable modules, and a plurality of site files for generating documentation for said plurality of executable modules; determining that one or more modifications have been made to at least one of the set of input files; reading a dependencies file that specifies a set of dependencies among each of the inputs and analyzing all cascading dependencies; selecting, based on the dependencies file, a subset of the inputs that are associated with said one or more modifications; processing only the selected subset of inputs, wherein if the selected subset of inputs includes only one or more of said plurality of site files, said processing consists essentially of performing only a site phase of the build for generating documentation, wherein if the selected subset of inputs includes a source code file, performing build, test and site phases for each input with the modifications, and for any input which depends directly or indirectly on an input containing the modifications, as determined by parsing the dependencies file, and wherein if the selected subset of inputs includes only one or more of said plurality of test files, said processing consists essentially of testing said one or more of said plurality of executable modules using only said test files to which said one or more modifications have been made, without rebuilding any of said plurality of executable modules.