我能以某种方式设置IntelliJ构建过程来预处理Java源代码并给我增加内部版本号吗?类似的东西:
int myBuildNumber = INTELLI_J_IDEA_MAGIC_WHICH_WILL_INCREMENT_EVERY_BUILD;
答案 0 :(得分: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+".*";"
replace="public static final String BUILD_NUMBER = "${build.number}";"
byline="true"
/>
</target>
</project>
然后在您的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
即可。完成:))