build-automation相关内容

如何确定以目录为根的最新 SVN 修订号?

我想开始用最新的 SVN 修订号标记我部署的二进制文件. 但是,因为 SVN 是基于文件的,而不是基于目录/项目的,所以我需要扫描所有目录和子目录的文件以确定最高修订号. 在根目录上使用 svn info 不起作用(它只报告该目录的版本,而不是子目录中的文件): 我想知道是否有使用 svn 命令来执行此操作的快捷方式.否则,任何人都可以建议一个简单的脚本来提高网络效率(如果它根本 ..
发布时间:2021-12-24 12:46:19 其他开发

SVN结帐忽略文件夹

我可以忽略 svn checkout 上的文件夹吗?我需要在构建服务器上结账时忽略 DOCs 文件夹. 编辑:忽略外部不是一个选项.我有一些我需要的外部组件. 解决方案 您不能在结帐时直接忽略文件夹,但您可以在 svn 1.5 中使用稀疏结帐.例如: $ svn co http://subversion/project/trunk my_checkout --depth 立即数 ..
发布时间:2021-12-24 12:42:25 其他开发

自动删除 Subversion 未版本控制的文件

有人知道递归删除工作副本中不受版本控制的所有文件的方法吗?(我需要这个来在我的自动构建 VMware 中获得更可靠的结果.) 解决方案 编辑: Subversion 1.9.0 引入了一个选项来执行此操作: svn cleanup --remove-unversioned 在此之前,我使用这个 python 脚本来做到这一点: import os进口重新def removeal ..
发布时间:2021-12-24 12:38:12 其他开发

如何在 Java/Groovy 中进行系统命令调用?

我想做的是从 groovy 脚本中调用 maven.有问题的 groovy 脚本用作 maven 包装器,通过下载标记并在下载的内容上调用 maven 来构建 J2EE 项目.我应该如何完成调用 maven 来构建/打包 EAR(groovy 脚本已经能够从 SCM 下载标签). 解决方案 在 Groovy 中调用外部进程的最简单方法是对字符串使用 execute() 命令.例如,要从 g ..
发布时间:2021-12-23 16:37:36 其他开发

如何强制 cmake 包含“-pthread"?编译期间的选项?

我知道有类似于 find_package(Threads) 的东西,但它似乎没有什么区别(至少就其本身而言).现在我正在使用 SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-pthread"),但它对我来说似乎不是一个正确的解决方案. 解决方案 find_package( Threads ) 调用 CMake 模块,该模块首先在文件系统中搜索适合该平台的线程包,然 ..
发布时间:2021-12-18 23:12:29 其他开发

如何清除我的 Jenkins/Hudson 构建历史?

我最近更新了我的 hudson 构建之一的配置.构建历史不同步.有没有办法清除我的构建历史记录? 请和谢谢 解决方案 如果您单击 Manage Hudson/Reload Configuration From Disk,Hudson 将重新加载所有构建历史数据. 如果磁盘上的数据搞砸了,您需要转到您的 %HUDSON_HOME%\jobs\ 目录并恢复 ..

“应用程序错误"是否可以解决?对话框被禁用?

我使用 Hudson 作为持续集成服务器来测试 C/C++ 代码.不幸的是,我在某处有一个导致内存损坏的错误,因此在某些 Windows 机器上,我有时会收到一个“应用程序错误"对话框,说明一条指令引用了无法读取的内存.弹出这个对话框,基本挂了试运行,因为需要人工干预. 有没有办法阻止这个对话框出现,这样测试运行就会失败并在 Hudson 中报告这样的结果? 是否可以自动生成小型转储而 ..
发布时间:2021-12-14 08:38:01 C/C++开发

Delphi MSBuild 从命令行构建配置

Delphi 2009 使用构建配置.创建新项目时,您有两个默认构建配置“调试"和“发布". 现在我问自己如何使用 MSBuild(自 2007 版以来由 Delphi 支持)自动构建. 您可以在某些 Delphi 项目目录的“RAD Studio 命令提示符"中启动“msbuild"命令,它将构建默认构建配置(Delphi IDE 中最后激活的构建配置). 现在,我想通过命令行 ..
发布时间:2021-12-13 23:32:37 其他开发

Perl 构建、单元测试、代码覆盖:一个完整​​的工作示例

我发现的大多数关于 Perl 构建过程和单元测试以及代码覆盖率的 Stackoverflow 答案只是将我指向 CPAN 那里的文档.指向 CPAN 模块绝对没有错,因为它应该是完整文档所在的位置.不过,在很多情况下,我都很难找到完整的工作代码示例. 我一直在 Internet 上搜索可以下载或粘贴到我的 IDE 中的实际工作代码示例,例如您的典型教程“Hello World"示例源代码,但 ..

在基于 Maven POM 的自动化构建系统中验证依赖的真实性

我刚刚看到了一篇非常有趣的文章(存档)关于一个安全问题叫做交叉构建注入 (XBI).基本上,它是走私不良代码的奇特名称在构建时通过自动构建系统(例如 ant、maven 或 ivy)导入应用程序. 这个问题可以通过引入加密签名验证来缓解,因为它目前适用于许多用于下载软件包的操作系统. 要明确:我不是谈论简单地为工件提供 md5 或 sha1 哈希值.这已经完成了,但是这些哈希值与工件存 ..
发布时间:2021-12-09 15:54:01 其他开发

如何让 CMake 找到我的替代 Boost 安装?

我已经在 /usr/local 中安装了最新版本的 Boost(包含在 /usr/local/include/boost 和库在 /usr/local/lib/boost),我现在正尝试从源代码安装 Wt,但 CMake(2.6 版)似乎找不到 Boost 安装.它试图提供有关设置 BOOST_DIR 和 Boost_LIBRARYDIR 的有用建议,但我无法通过调整这些变量来使其工作. 我 ..
发布时间:2021-12-03 13:40:03 服务器开发

控制 jar 工件的 Maven 最终名称

我正在尝试在我们的超级 pom 中定义一个属性,该属性将被所有子项目用作生成工件的目的地. 为此,我正在考虑使用 project/build/finalName 但这似乎不起作用,即使对于简单的 poms: 命令 mvn archetype:create \-DarchetypeGroupId=org.apache.maven.archetypes \-DgroupId=com.m ..
发布时间:2021-11-25 14:56:43 Java开发

Android Studio 中的 Gradle 是什么?

Gradle 对我来说有点困惑,对任何新的 Android 开发者也是如此.谁能解释一下 Android Studio 中的 Gradle 是什么以及它的目的是什么?为什么它包含在 Android Studio 中? 解决方案 简答 Gradle 是一个构建系统. 长答案 在 Android Studio 之前,您使用 Eclipse 进行开发,并且,很有可能,您不知道如 ..

在 Java 程序中使用 Apache Ant API 以编程方式构建源文件

我正在寻找能够帮助我有效使用 Ant API 的优质实用资源.项目网站只提供了 API 的文档,根本没有用.似乎很少有网站提供有关该主题的简短教程. 是不是我错过了一些资源?如何将 Ant API 用于简单的任务,而无需花费数小时浏览它们并查看源代码? 谢谢. (对之前提出的问题的回答没有帮助 - 我如何使用 Apache ANT以编程方式 ) 解决方案 事实证明,缺乏使 ..
发布时间:2021-11-15 02:45:08 Java开发

Ant不创建tar文件

我有一个小蚂蚁脚本,它应该创建 3 个 tar 文件. 目标不能包含空格 您可能没有指定目标.因此,我简单地添加了一个default 目标“create_all_tars",并使用 来调用所需的目标. ..
发布时间:2021-11-11 03:16:57 其他开发