Browse Prior Art Database

Validation of disk use to ensure accuracy of incremental builds Disclosure Number: IPCOM000239144D
Publication Date: 2014-Oct-16
Document File: 2 page(s) / 42K

Publishing Venue

The Prior Art Database


Disclosed is a method to validate disk use to ensure accuracy of incremental builds. The novel idea is to validate at build time that only known locations are used when building, and if any unexpected files are used, then take appropriate action.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 2

Validation of disk use to ensure accuracy of incremental builds

In build tooling, the ability to build incrementally (reusing unchanged content) is a valuable performance optimization. In order to accurately detect changes, the build tool needs to be aware of any changes that could affect the results of the build , such as changes to source code, dependencies, and build environment. The build tool typically tracks changes to build settings and is often able to track changes to dependencies as well. Source changes are typically detected by either querying Source Code Management (SCM) tooling for modification information or by comparing a hash of source directory contents , but knowledge of

which directories contain a relevant source must either be specified or follow a known convention.

This works well, except when conventions are not followed, in which case a source from an unexpected location may be used. It is difficult to detect when this occurs and may result in a situation in which new code deliveries are not built. When non-conventional source (or dependency) locations are used, the normal approach is to explicitly tell the build tool about the additional locations to be checked. This approach requires domain knowledge in both the source being built and the build tool . In addition, it is error prone and users cannot confirm that the settings are sufficient to always invoke a necessary build .

An existing build utility does make it possible to perform incremental builds based on whether any source or dependency has changed, but it requires that all aspects of the build and all relevant artifacts and tools be included in source control . Keeping everything in the utility is difficult as builds scale up and it does not keep track of elements outside of SCM .

The novel idea is to validate at build time that only known locations are used when building. When invoking the build process, the build tool will also enable a disk monitoring service that tracks all of the disk usage of the build process. Each accessed file is checked to determine whether it is contained in an expected location. Assuming that files are in the expected location, then the rest of the build process as well as incremental builds can continue per normal processes . If a file from an unexpected location is used, then possible actions include failing the build or disabling incremental builds.

The novel m...