目前,每次构建ant项目中的源代码时,都会生成一个带有版本号的静态final变量的java文件。版本号被格式化为yyyyMMdd
,因此它总是递增。我的问题是我目前正在将生成的构建jar签入到源代码控制中(我认为这是一个失败,因为我不相信我应该签入从构建过程中创建的二进制文件)。
我想知道是否有一种简单的方法来生成和编写一个基于日期的版本号到gradle编译前的java文件,也如果有一种方法,以某种方式只再生这个版本号,当我在开发中构建,而不是当别人要从源代码重建相同的版本。这是一个困难的任务分离,但我希望有人有一些经验,在这之前。
说到不将二进制文件包含到源代码控制中,你是对的——当然是某些类型的二进制文件——我指的是编译的输出。
基本上通过构建工具修改源代码不是一个好的实践,它可能会导致许多问题。相反,我建议添加一个普通的旧属性文件,该文件将在构建期间进行过滤,其中的一个条目将被当前日期替换。该文件将包含在编译的二进制输出中(即jar文件),但可以在源代码控制中忽略,因为它无关紧要。
你问什么可以在gradle中完成,但是这不是一个好主意(正如我提到的)。