在混合语言项目中,我经常提到配置文件,头文件甚至Makefile。我通常使用当前文件中的相对路径。在使用外部Python脚本解析的YAML配置文件的情况下,这可能会令人困惑。我应该使用配置文件或用于解析配置文件的工具的相对路径吗?此外,如果我决定移动我的文件,我也必须调整所有相对路径。
要解决这个问题,我想使用项目的绝对根路径的相对路径。
是否存在定义项目路径的约定,例如:
other_file: "$PROJECT_ROOT/src/foo/bar.xml"
一种可能的其他解决方案是始终引用Git,或为其定义环境变量:
other_file: "$(git rev-parse --show-toplevel)/src/foo/bar.xml"
$ export PROJECT_ROOT=`git rev-parse --show-toplevel`