问题标签 [build-dependencies]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debian - pbuilder 存储依赖项
我只构建有限数量的包,它们在每个构建上都具有相同的依赖项。不幸的是,例如,pbuilder 尝试在每次重建时安装依赖项,而不是存储准备好的图像并每次重用它。
有没有办法启用这样的功能?如果后续构建之间没有更改,我可以以某种方式跳过安装构建依赖项的漫长步骤吗?
c++ - 源代码依赖
假设我有一堆 C++ 文件:A.cc、B.cc、C.cc 以及它们相关的头文件。A.cc 使用 B.cc 中的类等等。
现在说我要构建源文件。在预处理阶段之后,理论上我可以同时编译(而不是链接)所有文件吗?(A.cc -> A.obj, ...)
我只是想知道是否有一段时间我必须等到我完成 A.cc 编译后再编译 B.cc。
c++ - MSVCR80.DLL 丢失。在 c++ 项目配置中我应该安装什么或者我应该欺骗什么
我有一个旧版 msvs2005 c++ 项目库 (dll)。我在安装了 msvs2008 并且代码编译良好的 WindowsXP 工作站上打开了项目。但是当我尝试将它与可执行模块一起使用时,我观察到“未找到 my-library.dll 或其中一个依赖项”。
Dependency Walker 告诉我缺少 MSVCP80.DLL、MSVCR80.DLL、MSVCR90D.DLL。MSJAVA.DLL 也错过了。我安装了 2008 Visual C++ 可再发行包,但问题仍然存在。所需的库未放入 System32 文件夹。
我应该在工作站上安装什么或者我应该在项目配置中使用什么技巧来避免这个问题?
先感谢您!
java - Hudson 下游项目未列出上游依赖项
我有一个上游项目(dao)和一个下游消费者(scb)。我想对其进行配置,以便在构建 scb 时,构建摘要页面(单击内部版本号后)将显示“上游构建:dao #blah”。
我该怎么做呢?看着这个问题,我已经将 scb 配置为:
- 构建 SNAPSHOT 依赖项时构建
- 在构建其他项目之后构建 (dao)
我也将 dao 项目配置为通过“构建其他项目”进行构建,但理想情况下,我不想触发构建;我只想让 scb 向我展示它用作上游项目的 dao 版本。
如果有帮助,这些都是 Spring/Hibernate Java 项目,每个项目都构建一个 JAR 文件;dao 项目是一组常见的 DAO 类。
为了清楚我在说什么,Hudson 有一个项目关系链接。该链接用于显示某些 dao 版本和某些 scb 版本之间的联系。(我希望它对所有新版本都这样做,但它停止了。)我希望填充这些数据。(我认为这与在构建版本屏幕中显示上游/下游相同。)
xcode - 我应该如何管理 Xcode 工作区中项目之间的依赖关系?
我正在开发一个 iOS 应用程序项目,并将 json-framework 项目添加到工作区。左侧的项目导航器显示了两个项目,构建方案选择器也显示了两个项目的方案。现在我想将 json-framework 项目中的 libjson.a 目标添加为对另一个项目中 iOS 应用程序目标的依赖项。预期的结果是,每当构建应用程序目标时,它都会构建(如有必要)库目标并将应用程序目标链接到它。以下是我尝试执行此操作的方法:
将两者构建为同一方案的一部分。我尝试这样做的方法是编辑我的应用程序的方案,将“libjson.a”添加到方案的“构建”部分,并顺便检查“查找隐式依赖项”。然后我转到我的应用程序目标的目标编辑器,并在“构建阶段”->“将二进制文件与库链接”中,从工作区库列表中选择“libjson.a”。当我随后尝试构建该方案时,我看到它构建了库目标,但构建应用程序目标失败,并出现链接器错误“未找到 -ljson 的库”——这表明它实际上并未发现已构建库。实际上,在项目导航器中,该库的应用程序项目下的条目仍然是红色的,表示该文件不存在。
将 json 目标添加为显式依赖项。为了尝试这个,我不修改构建方案,而是转到我的应用程序目标的目标编辑器,然后单击“目标依赖项”下的添加按钮。工作区中没有来自其他项目的目标显示,所以这是一个非首发。
将 JSON 项目拖到另一个项目中,然后将目标添加为依赖项。这就是我在 Xcode 3 中所做的。在项目导航器中,我抓取库项目并将其拖到应用程序项目上。这会打开通常的“添加文件”窗格,我只需单击“完成”即可将其关闭。现在项目导航器中的库项目有两个条目:一个在顶层,一个在 app 项目下。我现在可以使用目标编辑器将库目标添加为应用程序目标的依赖项,并且可以在链接库阶段链接它而不会出错。但它看起来很糟糕:导航器中有同一个项目的多个条目。有不同的方法可以做到这一点吗?
在同一工作区的不同项目中连接这些目标的“Xcode 4-ish”方式应该被认为是什么?如果同一工作区中的多个项目实际上不能相互交互,这似乎是缺乏的。谢谢,格雷厄姆。
msbuild - msbuild 参考解析
我最近一直在做一些工作,分析源代码控制中各个项目之间的关系。到目前为止,我一直通过 Select-Xml cmdlet 使用 PowerShell 和 XPath 来处理我们的 csproj 文件,但这依赖于我对 MSBuild 如何使用项目文件中的 ProjectReference 和 Reference 元素的薄弱知识。我突然意识到,如果我可以使用 MSBuild 本身来解析引用,然后以某种方式检查引用解析过程的结果,那会好得多。
MSBuild 专家:这看起来可能吗?这是否需要编写自定义目标文件或其他内容?由于 csproj 文件也导入 Microsoft.CSharp.targets,我是否也会被迫构建项目?
任何见解都会很好。谢谢!
xcode4 - Xcode 4:如何将静态库目标依赖添加到项目中
我知道,这已被问过几次,但主要是针对 Xcode 3.x。对于 iPad,我有两个项目都生活在一个公共工作区中
- Foo,一个基于视图的应用程序和
- Foolib,一个静态的 Cocoa-Touch 库
前者取决于后者。我似乎无法弄清楚如何添加该依赖项。文档中没有很好地解释,所以我尝试了以下方法:
- 点击左侧导航区的Foo项目,
- 在顶部选择 Build Phases 并展开 Target Dependencies 部分
- 单击加号按钮,但结果列表为空。
我还尝试将 .a 文件拖放到该部分,但收效甚微。此外,文档指出
如果工作区中一个项目的构建产品依赖于工作区中另一个项目的构建产品(例如,如果一个项目构建了另一个项目使用的库),Xcode 会发现这种隐式依赖关系并以正确的顺序构建.
我想知道 Xcode 是如何发现这些依赖关系的。Apple 是不是说我根本不需要添加这个目标依赖项?但是 Xcode 怎么会发现其中一个正在使用另一个呢?
最后但并非最不重要的一点是,我需要以某种方式将 .h 文件从 Foolib 传递到 Foo。推荐的方法是什么?显然,我不想只是复制它们。框架包含头文件,但是人们在使用他们自己并行开发的静态库时通常会做什么。
朝正确方向轻推将不胜感激。谢谢你。
continuous-integration - Bamboo 的 3.1.1 手动依赖管理/依赖阻止功能无法按预期工作?
我们使用 Bamboo 作为我们的 CI 环境,并且有几个构建依赖项(使用手动依赖项管理和依赖项阻止功能)。我们使用 SVN 轮询作为我们的构建策略,所有项目都具有相同的轮询频率。
假设我们有以下构建计划结构:
- 项目 A 的父构建计划 PA,
- 项目 B 的子构建计划 CB 依赖于 PA,已选择“如果父计划有未构建的更改则阻止构建”作为依赖项阻止策略
我们的目标是建立一个依赖树,以便:
- 如果项目B应该建,首先检查A是否有变化,如果有,先建PA并阻塞CB,PA完成后立即恢复CB
- 对手动和自动构建执行此操作(由于 SVN 轮询而触发的构建)
上面描述的目标似乎正是依赖阻止功能(参见http://confluence.atlassian.com/display/BAMBOO/Setting+up+Build+Dependencies)的全部意义所在。但是,我要么有配置错误,要么没有正确理解此功能。
为了测试,我构建了以下案例:
- 在 A 中创建一个类 DummyClassA
- 在 B 中创建一个引用 DummyClassA 的类 DummyClassB 以便首先为项目 B 构建项目 A 以编译 *手动调用 CB
本来以为CB通过上面的配置,意识到父项目有变化,需要阻塞CB,建PA,恢复CB。但是,发生的事情是尝试构建 CB 并且明显失败(编译错误),因为项目 B 尚不知道 DummyClassA。当手动 CB 时,似乎没有对父项目 A 的 SVN 进行主动检查触发,正确吗?
我在这里想念什么?我很确定必须有一个简单的解决方案,因为几乎每个严肃的软件项目都会出现这种情况,所以我希望 Bamboo 能够开箱即用地正确处理这个问题。任何人都可以对此有所了解吗?
最好的,克里斯
visual-studio - 确定如何找到 Visual Studio 项目中缺少的引用的最佳方法是什么?
我正在使用 Visual Studio 2008,并且正在尝试获取一个我没有创建的项目来构建。
在该项目的references 文件夹中,有四个带有感叹号图标的DLL,其Path 属性为空。.csproj 文件中的 指向一个输出目录,我认为它不是这些 DLL 的初始位置。
我相信我拥有相关 DLL 的最新副本(它们用于多个相关项目)。我可以将它们放在这个项目的目录中,但我想确定它们的原始位置,这样我就不必修改项目和解决方案文件(由其他远程位置的其他开发人员使用)。
我会问原始开发人员,但他们位于凌晨 1 点的时区,所以我认为这里有人可以帮助我。
提前致谢。