Software build optimization
First Claim
1. A method, comprising:
- collecting information regarding file access patterns of a plurality of build projects of a build process, the information being collected from determining which files are accessed for read and which files are accessed for write by one or more software build tools during a software build;
injecting the collected information into a relational database;
querying of the relational database;
generating a list of interdependencies of build projects of the plurality of build projects in the build process from the querying of the relational database;
perform a timestamp check to determine which of the build projects of the plurality of build projects in the build process are to be built; and
optimizing, with a build optimizer, the software build by accelerating the software build, with a build accelerator tool in the build optimizer, based on the list of interdependencies of the build projects of the plurality of build projects in the build process and which of the build projects of the plurality of build projects in the build process are to be built.
2 Assignments
0 Petitions
Accused Products
Abstract
A method or software program that provides an analysis of a build, which can provide a developer with views of the build processes, is disclosed. Data is collected from the build. The collected data can include information regarding file access patterns from determining which files are accessed for read and which files are accessed for write by one or more software build tools and project interdependencies. The collected data can also include certain project properties, build configurations, intermediate directories such as logs, and other metadata of the build. The collected data is injected into a relational database that can be queried. The information developed in a database query can be applied to optimize the build.
-
Citations
20 Claims
-
1. A method, comprising:
-
collecting information regarding file access patterns of a plurality of build projects of a build process, the information being collected from determining which files are accessed for read and which files are accessed for write by one or more software build tools during a software build; injecting the collected information into a relational database; querying of the relational database; generating a list of interdependencies of build projects of the plurality of build projects in the build process from the querying of the relational database; perform a timestamp check to determine which of the build projects of the plurality of build projects in the build process are to be built; and optimizing, with a build optimizer, the software build by accelerating the software build, with a build accelerator tool in the build optimizer, based on the list of interdependencies of the build projects of the plurality of build projects in the build process and which of the build projects of the plurality of build projects in the build process are to be built. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable storage medium storing computer executable instructions for controlling a computing device to perform a method comprising:
-
collecting information regarding file accesses and patterns of a plurality of build projects of a build process, the information being collected from determining which files are accessed for read and which files are accessed for write by one or more software build tools during a software build; injecting the collected information into a relational database; querying of the relational database; generating a list of interdependencies of build projects of the plurality of build projects in the build process from the querying of the relational database; perform a timestamp check to determine which of the build projects of the plurality of build projects in the build process are to be built; and optimizing, with a build optimizer, the software build by accelerating the software build, with a build accelerator tool in the build optimizer, based on the list of interdependencies of the build projects of the plurality of build projects in the build process and which of the build projects of the plurality of build projects in the build process are to be built. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer readable storage medium storing a development tool including computer executable instructions for controlling a computing device, the development tool configured to perform a method comprising:
-
collecting information regarding file accesses and patterns of a plurality of build projects of a build process, the information being collected from determining which files are accessed for read and which files are accessed for write by one or more software build tools during a software build, wherein the collected information includes at least one of project properties, build configurations, intermediate directories, metadata of the build, and project-to-project relationships; injecting the collected information into a relational database, wherein the relational database supports incremental builds; querying of the relational database; detecting interdependencies of build projects of the plurality of build projects in the build process from the querying of the relational database; generating a data cluster based on the detected interdependencies of build projects of the plurality of build projects in the build process; applying the data cluster to a build optimizer configured to selectively interact with build components to determine particular opportunities to optimize the software build based on the data cluster; and optimizing, with the build optimizer, the software build by applying, with a build accelerator tool in the build optimizer, the data cluster to perform a particular optimization based on the determined particular opportunities. - View Dependent Claims (20)
-
Specification