Use of build status indicators in connection with building of complex computer programs from source code parts
AssigneeInternational Business Machines Corporation
InventorDouglas J. Mortson
Life of this patent
Estimating the term…
Abstract
A method and system for dynamically scheduling the building of computer programs from source code pads which may have dependencies which require that some pads be compiled before others. A list of source code pads and dependencies is dynamically created as compilation of the pads is attempted. The build status for each pad is tracked. The list is repeatedly processed until none of the build status fields changes during an entire pass through the list. The source code pads which cannot be compiled and integrated in the build for reasons such as circular compilation dependencies or references to non-existing, prerequisite source code pads will be identified by this process.
Claims11
In a computer, a method for building complex computer programs from source code parts, said source code parts comprising objects obtained from a program library, said method comprising the steps of:
- i) listing in a first listing source code parts required for building a complex computer program;
- ii) marking each source code part in said first listing with a build status indicator indicative of a status of compilation;
- iii) repetitively traversing said first listing,
- iv) attempting to compile each said source code part according to said build status indicator as said first listing is traversed, and if said attempted compilation of said source code part is successful, replacing said build status indicator for said source code part with a successful compilation indicator;
- and
- v) stopping said traversing of said first listing when a traverse of said first listing creates a specific state of the build status indicators.
A system for building complex computer programs from source code parts, said source code parts comprising objects obtained from a program library, said system comprising:
- a processor;
- a controller to control said processor, comprising:
- means for enabling said processor to list in a first listing source code parts required for building a complex computer program,
- means for enabling said processor to mark each source code part in said first listing with a build status indicator indicative of a status of compilation,
- means for enabling said processor to repetitively traverse said first listing,
- means for enabling said processor to attempt to compile each said source code part according to said build status indicator as said first listing is traversed, and if said attempted compilation of said source code part is successful, replacing said build status indicator for said source code part with a successful compilation indicator, and
- means for enabling said processor to stop said traversing of said first listing when a traverse of said first listing creates a specific state of said build status indicators.
A controller for enabling a processor to build complex computer programs from source code parts, said source code parts comprising objects obtained from a program library, said controller comprising:
- means for enabling said processor to list in a first listing source code parts required for building a complex computer program,
- means for enabling said processor to mark each source code part in said first listing with a build status indicator indicative of a status of compilation,
- means for enabling said processor to repetitively traverse said first listing,
- means for enabling said processor to attempt to compile each said source code part according to said build status indicator as said first listing is traversed, and if said attempted compilation of said source code part is successful, replacing said build status indicator for said source code part with a successful compilation indicator, and
- means for enabling said processor to stop said traversing of said first listing when a traverse of said first listing creates a specific state of said build status indicators.
A computer program product comprising a computer readable medium having computer program logic recorded thereon for enabling a processor in a computer system to build complex computer programs from source code parts, said source code parts comprising objects obtained from a program library, said computer program product comprising:
- means for enabling said processor to list in a first listing source code parts required for building a complex computer program,
- means for enabling said processor to mark each source code part in said first listing with a build status indicator indicative of a status of compilation,
- means for enabling said processor to repetitively traverse said first listing,
- means for enabling said processor to attempt to compile each said source code part according to said build status indicator as said first listing is traversed, and if said attempted compilation of said source code part is successful, replacing said build status indicator for said source code part with a successful compilation indicator, and
- means for enabling said processor to stop said traversing of said first listing when a traverse of said first listing creates a specific state of said build status indicators.
Dependencies are inferred from the claim text.