an自动获取时间(未验证)

转载

原文地址:https://www.cnblogs.com/teamobaby/p/4220888.html

.关键代码,获取时间

1
2
3
<tstamp>
    <format property="touch.time" pattern="yyyy/MM/dd hh:mm" />
</tstamp>

2.获取本地svn版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<target name="version"  depends="init" >
  <typedef resource="com/googlecode/svntask/svntask.xml">
    <classpath>
         <fileset dir="${lib}">
        <include name="svnkit.jar"/>
        <include name="svntask.jar"/>
         </fileset>
    </classpath>
   </typedef>
   <svn>
    <info path="E:\worksapce2\ACService2" revisionProperty="revisionVersion" />
   </svn>
   <property name="version" value="${revisionVersion}" /><br>   <echo message="version: ${version}" />
</target><br><br>

3. 项目示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<project name="build_pub" default="jar" basedir=".">
 
    <property name="class.dir" value="WEB-INF/classes"/>
    <property name="src.dir" value="src" />
    <property name="build.dir" value="targetJar" />
    <property name="jar.name" value="ac-api.jar" />
    <property name="lib" value="WEB-INF/lib" />
 
    <path id="classpath">
        <fileset  dir="${lib}" includes="**/*.jar"/>
    </path>
 
    <target name="init">
        <echo message="+--- init start ---+" />
        <tstamp />
        <delete file="${build.dir}/${jar.name}" />
        <echo message="+--- init end ---+" />
    </target>
    <target name="version"  depends="init" >
        <typedef resource="com/googlecode/svntask/svntask.xml">
            <classpath>
                <fileset dir="${lib}">
                    <include name="svnkit.jar"/>
                    <include name="svntask.jar"/>
                </fileset>
            </classpath>
        </typedef>
        <svn>
            <info path="E:\worksapce2\ACService2" revisionProperty="revisionVersion" />
        </svn>
        <property name="version" value="${revisionVersion}" />
        <echo message="version: ${version}" />
    </target>
    <target name="jar" depends="version" >
        <echo message="+--- jar *.class files start ---+" />
        <tstamp>
            <format property="touch.time" pattern="yyyy/MM/dd hh:mm" />
        </tstamp>
        <pathconvert property="mf.classpath" pathsep="lib/">
 
            <path refid="classpath" />
 
            <flattenmapper />
 
        </pathconvert>
        <jar destfile="${build.dir}/${jar.name}" update="true">
            <fileset dir="${class.dir}" includes="com/inspur/api/ac/**,com/inspur/api/common/**">
            </fileset>
            <manifest>
                <attribute name="user-name" value="liyx"/>
                <attribute name="svn-version" value="${version}"/>
                <attribute name="package-time" value="${touch.time}"/>
            </manifest>
        </jar>
        <echo message="+--- jar *.class files end ---+" />
    </target>
</project>

  4.注意事项

  注意target直接的依赖关系,另外获取本地svn号需要依赖本地jar包,分别是svntask.jar和svnkit.jar,我分享的下载地址分别为:

    http://mobile.qzone.qq.com/l?g=1357&sharekey=7ab0de0e131e16e9d859dff5bc1c5ea9

  http://mobile.qzone.qq.com/l?g=1357&sharekey=cdbeb37e11b4395fd3dad86edc02e197

 

posted @ 2019-03-17 16:03  远洪  阅读(218)  评论(0)    收藏  举报