IntelliJ IDEA - 我可以自动增加构建(版本)编号吗?

Vit*_*tik 12 java version intellij-idea

我可以设置一些IntelliJ构建过程来预处理Java源代码并给我增加内部版本号吗?就像是:

int myBuildNumber = INTELLI_J_IDEA_MAGIC_WHICH_WILL_INCREMENT_EVERY_BUILD;
Run Code Online (Sandbox Code Playgroud)

Vit*_*tik 8

好吧,从AtomHeartFather提示我得到了它.

首先,我们需要编写一个ant xml文件.此文件将创建文件,其中将存储和增加内部版本号,然后它将查看源代码文件${src}/com/yourPath/Main.java 中的变量public static final String BUILD_NUMBER = ".*";并将其替换为当前内部版本号

xml文件如下所示:

<project name="MyProject" default="init" basedir=".">
    <description>
        simple example increment build variable
    </description>
  <!-- set global properties for this build -->
  <property name="src" location="../src"/>

  <target name="init">
    <echo file="myAntOut.txt">My first ant ${src} ${line.separator}</echo>

    <buildnumber/>
    <replaceregexp file="${src}/com/yourPath/Main.java"
               match="public\s+static\s+final\s+String\s+BUILD_NUMBER\s+=\s+&quot;.*&quot;;"
               replace="public static final String BUILD_NUMBER = &quot;${build.number}&quot;;"
               byline="true"
    />

  </target>
</project>
Run Code Online (Sandbox Code Playgroud)

然后在你的intelliJ(我正在使用14.0.3)中你点击View->Tool Windows->Ant Build.然后+浏览到您的xml文件(请注意,xml使用的当前路径将是该xml文件本身的路径 - 而不是inteliJ项目 - 因此您可能需要location="../src"根据存储xml的位置更正部件).您将看到我们的目标,init您可以选择它并单击play按钮.如果它工作,您将看到BUILD_NUMBER源代码文件中增加Main.java.现在重要的技巧是如何自动制作:只需右键单击init并选择Execute on->Before Compilation.完成:)