From b2d5f82512d0118a0668ce02f1a0730c3dcd50b8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 28 Apr 2018 16:41:02 +0200 Subject: Implement auto-synchronization via build system hook --- bdep/sync.cli | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'bdep/sync.cli') diff --git a/bdep/sync.cli b/bdep/sync.cli index 4fd5cb8..61d15cb 100644 --- a/bdep/sync.cli +++ b/bdep/sync.cli @@ -198,5 +198,28 @@ namespace bdep { "Don't prompt for confirmation when up/down-grading dependencies." } + + bool --implicit + { + "Perform implicit synchronization. This mode is normally used by other + tools (for example, a build system hook) to ensure packages and + configurations are synchronized. To improve performance, especially for + the \"everything is already synchronized\" case, \cb{sync} executed in + this mode assumes that no configuration flags (see \l{bdep-config(1)}) + have changed since the last explicit synchronization. + + To avoid recursive re-synchronization, the \cb{sync} command maintains + the \cb{BDEP_SYNCED_CONFIGS} environment variable. It contains a + space-separated, \cb{\"}-quoted list of configuration paths that have + been or are being synchronized by the current \cb{bdep} invocation + chain. The \cb{sync} command in the implicit mode also examines this + variable and silently ignores synchronization requests that have been + or are already being performed." + } + + // The build system hook protocol version. Internal, undocumented, and + // implies --implicit. + // + uint16_t --hook = 0; }; } -- cgit v1.1