From 90185ff2b950bc0d727372e77a76148406582dea Mon Sep 17 00:00:00 2001 From: Adrien Date: Wed, 15 Jan 2020 10:15:57 +0100 Subject: [PATCH 1/2] Fixes a few issues with code --- README.adoc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.adoc b/README.adoc index 8d54ed8..5365593 100644 --- a/README.adoc +++ b/README.adoc @@ -1497,9 +1497,9 @@ class MyRepositoryConan(ConanFile): } # Code dependencies - requires = "upstreamone/1.0@one/stable", + requires = ("upstreamone/1.0@one/stable", "upstreamtwo/[>1.0]@two/stable", - "upstreamthree/[~=3.2.5]@three/stable" + "upstreamthree/[~=3.2.5]@three/stable") # Build dependencies # CMake will not need to be installed to build the project @@ -1678,8 +1678,8 @@ and introducing an additional CMake script to glue them together: .conan/customconan.cmake [source, cmake] ---- -# Made a function to avoid leaking the variables defined within conanbuildinfo.cmake -function(conan_handle_compiler_settings) +# Cannot be a function: some invoked macro modify global variables +macro(conan_handle_compiler_settings) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) if(CONAN_EXPORTED) @@ -1694,7 +1694,7 @@ function(conan_handle_compiler_settings) conan_set_std() conan_set_libcxx() conan_set_vs_runtime() -endfunction() +endmacro() include(${CMAKE_BINARY_DIR}/conan_paths.cmake) conan_handle_compiler_settings() @@ -1828,6 +1828,8 @@ class MyRepositoryTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "cmake_paths", "cmake" + build_requires = "cmake_installer/3.15.4@conan/stable" + def build(self): cmake = CMake(self) cmake.definitions["CMAKE_PROJECT_PackageTest_INCLUDE"] = "../customconan.cmake" From 4e988bbdb40e0ae631d19b1f051ca1cf2cdafdd1 Mon Sep 17 00:00:00 2001 From: Adrien Date: Wed, 15 Jan 2020 10:17:30 +0100 Subject: [PATCH 2/2] Minor rewording after external introduction review --- README.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.adoc b/README.adoc index 5365593..f624b53 100644 --- a/README.adoc +++ b/README.adoc @@ -73,9 +73,10 @@ it becomes the responsibility of the component itself to take extra measures and This might contrast with a traditional approach where the burden was on downstream(s) to adapt to the libraries it uses, which often lead the organisations adhering to this isolation mental model to stay away from external dependencies as much as possible. -==== The best process in the world +==== The best process in the world? > \... actually does not sound anything like this doc. +> -- Tenacious C Yet the Platonic ideal sets the cap. @@ -196,10 +197,10 @@ The idea of manually having to clone and separately build a handful of independe for even medium-sized applications should trigger the maintainability alarm. Different approaches and tools exist to manage multi-repos. Git link:https://github.blog/2016-02-01-working-with-submodules[`submodule`] is an easily accessible tool, since it is integrated with core Git installations. Yet, a recurrent criticism is submodules do not scale well as they are unpractical to use. -In particular, the less orthogonal the submodules/module, the more this can become a problem. +In particular, the more correlated the submodules/module, the more this can become a problem. [NOTE] -.Orthogonality measure +.Correlation measure ==== Likeliness that changes in entity B would coherently happen alongside changes in entity A. ====