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-c
on 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-code
directory for the WebAssembly target.