项目交付的工具?

项目交付的工具?

这是一系列项目目录组织我的问题。我正在尝试构建一个遵循最佳实践的项目目录组织结构。我希望以一种易于交付给其他人并让他们执行的方式设置该结构。调整结构,我的项目结构的一部分如下所示:

common-data/
LocalTexTree/
projects/myproject/
projects/myproject/myproject.exe
projects/myproject/code/r/main.r
projects/myproject/data/myproject-data.dat
projects/myproject/report/main.tex

问:假设我想使用 将我的整个项目交付给某人执行myproject.exe。最好的方法是什么?

我担心的是,它common-data/LocalTexTree很大,并且会有很多与“myproject”无关的文件。通过阅读,我怀疑解决方案是在压缩整个项目的 Makefile(?) 中跟踪相关文件。这似乎是一个太笨重的解决方案,而且很容易崩溃。一定有更好的方法,对吧?

再说一遍,我不是程序员。这些东西对我来说根本不明显。欢迎任何评论!

答案1

这不是解决方案,但有一些关于 Make 的话:Make 在管理分散在多个目录中的文件(即依赖项)方面表现不佳,除非您使用单个 Makefile 而不是每个目录一个 Makefile。Google 搜索递归 Make 被认为是有害的讨论这个问题。你可能会说,你确实在许多开源项目中看到了这些多个 Makefile。为了解决问题,这些 Makefile 通常是自动生成的。而且问题往往仍然存在,而不是为了清理使全部但在某些目录中的文件发生更改后,会进行部分构建。

不过,如果您只需要 Make 来压缩一些文件,这可能不会对您造成影响。使用单个 shell 脚本来发送代码可能会更容易,该脚本可以完成所有需要的操作,而无需 Make 提供的依赖性检查,从而节省编译时间。

相关内容