22 Commits

Author SHA1 Message Date
m 21aff8518f program_wrapper: Make capabilities available to child classes 2021-10-14 16:50:16 +02:00
m 6216e0e5ab program_wrapper: Use the exe_path_t object instead of args[0] 2021-02-12 10:13:02 +01:00
m b07fb3d1ca cache: Implement direct mode cache logic 2021-01-18 07:16:05 +01:00
m c1946616fe program_wrapper: Add a "direct_mode" capability flag 2021-01-15 16:21:29 +01:00
m ba3b37e5da program_wrapper: Document create_target_dirs 2021-01-15 10:35:06 +01:00
m 40c685e2c9 program_wrapper: Change order of hashing and wrapper calls
This breaks backwards compatibility of cache hashes, which means that
old cache entries will not give cache hits.

The reason for the change is to make it easier to re-use the same
hashing order for Direct Mode and Preprocessor Mode caching.
2021-01-15 10:35:00 +01:00
m 3c2803e40f program_wrapper: Cache results from get_program_id() 2020-09-13 11:34:35 +02:00
m 471ec23f0f get_build_files: Add support for optional build files
Optional build files are files that may or may not be produced by the
build command, and we will only cache/restore files that are actually
produced. It is still an error if a required file is not produced by
the wrapped command.
2020-03-06 08:37:28 +01:00
m 923e006cd0 program_wrapper: Add the method run_for_miss() 2020-03-06 08:37:28 +01:00
m 7f5e84f420 clang-format fixes 2019-02-12 12:39:01 +01:00
m a995b720a8 Move the cache logic to a new class cache_t 2019-02-12 11:26:03 +01:00
m f3e568a2f0 Only store file ID:s in the cache entry
This bumps the cache entry serialization format version to 3, but we
are still backwards compatible with version 1 & 2.

This fixes #21
2019-02-11 16:50:21 +01:00
m adc5b97587 Turn cache_t::entry_t into a cache_entry_t class 2019-02-11 15:45:18 +01:00
m 70c49339d6 Move the local cache logic to local_cache_t 2019-02-11 12:59:15 +01:00
m e43fd1f2ba Remove the get_temp_file method from cache_t 2019-02-11 12:36:39 +01:00
m 1055b4f26e Move the cache code into a new cache lib 2019-02-11 10:42:12 +01:00
m 610a48d3fd Introduce a remote cache 2019-02-08 15:12:22 +01:00
m cb1cdaa7fe program_wrapper: Refactor local cache lookup and addition 2019-02-08 09:50:48 +01:00
m 76050c9344 cache: Compress stdout, stderr & files 2018-12-18 17:06:38 +01:00
m d5ecba53d1 Add a CMake target for generating Doxygen documentation 2018-09-12 16:13:28 +02:00
m 59f573620c Make hard links a per wrapper opt-in capability
Wrappers can now declare whether or not they support hard links via
the get_capabilities() wrapper method.
2018-09-12 14:00:34 +02:00
m 09a57f7ca7 Restructure C++ source files into folders
The main objective is to clarify dependencies and minimize the risk of
circular dependencies. As a side effect it should be easier to navigate
the source code.
2018-09-12 12:41:00 +02:00