CI/CD at developers fingertips
In some cases you may have hint tipi at where the actual sources reside in a project or at things to explicitely ignore.
This example explicitly includes /tests/ but excludes /examples and include/jwt/test from the build of the dependency on arun11299's cpp-jwt library:
{
"arun11299/cpp-jwt" : {
"@" : "master",
"x" : ["examples/", "include/jwt/test"],
"s" : [ "/tests/" ]
<...things omitted...>
}
}
If a repository contains multiple sources directories with uncommon name they can be added to the list of includes or files to link with by using the source dir disambiguation attribute s in your .tipi/deps or the -s switch of the tipi command line.
This disables most of the smart inclusion detection and lists the paths in the build process.
As for
@selective inclusion by platform can be specified by adding a target platform suffix:Adding
"s:vs-16-2019-win64-cxx17" : ["src/visual-c"]will compile with thesrc/visual-con vs-16-2016 target.
Directories or files can be explicitely excluded from source scanning by listing them using the gitignore syntax in the x attribute in your .tipi/deps or the -x switch of the tipi command line.
Directories starting with a . (dot) are ignored by default
You can suffix the key it with the target platform to selectively include implementation dir by platform
Specifying
"x:wasm-cxx17" : ["src/native-code"]will compile the project without the sources found in thesrc/native-codedirectory for the WebAssembly target.