Project

General

Profile

build_coverage.xml

Florin Eugen Rotaru, 06/13/2025 04:44 AM

Download (4.15 KB)

 
1
<project name="hotel" default="zip" basedir=".">
2
    
3
    <description>Measure Conversion Code Coverage</description>
4
    
5
    <property name="fwd.home"             value="." />
6
    <property name="app.4gl.src"          value="./abl/" />
7
    <property name="fwd.src.home"         value="${fwd.home}/p2j/src" />
8
    <property name="app.4gl.src"          value="./abl/" />
9
    <property name="app.4gl.pattern"      value="*.[pPwW]" />
10
    <property name="fwd.lib.home"         value="${fwd.home}/p2j/build/lib" />
11
    <property name="jacoco.exec"          value="${basedir}/coverage/jacoco.exec"/>
12
    <property name="deploy.home"          value="${basedir}/deploy" />
13
    <property name="fwd.build.home"       value="${fwd.home}/p2j/build" />
14
    <property name="output.dir.name"           value="coverage" />
15
    <property name="output.dir"           value="${basedir}/${output.dir.name}" />
16
    <property name="zfile"                value="zfile_set.txt" />
17

    
18
    <tstamp>
19
      <format property="LOG_STAMP" pattern="yyyyMMdd_HHmmss" />
20
    </tstamp>
21

    
22
    <path id="compile.classpath">
23
        <fileset dir="${fwd.lib.home}"    includes="*.jar"/>
24
    </path>
25

    
26
    <taskdef name="jacocoagent" classname="org.jacoco.ant.AgentTask">
27
        <classpath>
28
        <pathelement location="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar"/>
29
        <pathelement location="${deploy.home}/lib/org.jacoco.core-0.8.13.jar"/>
30
        <pathelement location="${deploy.home}/lib/org.jacoco.agent-0.8.13.jar"/>
31
        </classpath>
32
    </taskdef>
33

    
34
    <taskdef name="jacocoreport" classname="org.jacoco.ant.ReportTask">
35
        <classpath>
36
        <pathelement location="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar"/>
37
        <pathelement location="${deploy.home}/lib/org.jacoco.core-0.8.13.jar"/>
38
        <pathelement location="${deploy.home}/lib/org.jacoco.report-0.8.13.jar"/>
39
        <fileset dir="${deploy.home}/lib">
40
            <include name="asm*9.8.jar"/>
41
        </fileset>
42
        </classpath>
43
    </taskdef>
44

    
45
    <jacocoagent property="agentvmparam" destfile="${jacoco.exec}"/>
46

    
47

    
48
    <!-- create the time stamp -->
49
    <target name="init">
50
        <tstamp/>
51

    
52
        <!-- copy embedded program code -->
53
        <copy todir="${app.4gl.src}">
54
            <fileset dir="${fwd.src.home}/4gl/embedded/" includes="**" />
55
        </copy>
56
    </target>
57

    
58
    <target name="check-zfile-set">
59
      <available file="${zfile}" property="zfile-set"/>
60
   </target>
61

    
62
   <target name="convert.zset"
63
           depends="init, check-zfile-set"
64
           description="Convert the 4GL source code to Java source code, using the z-file set file as input."
65
           if="zfile-set">
66
      <record name="cvt_${LOG_STAMP}.log" action="start"/>
67
      <echo message="fileset in use: ${zfile}"/>
68
      <java classname="com.goldencode.p2j.convert.ConversionDriver"
69
            fork="true"
70
            failonerror="true"
71
            dir="${basedir}">
72
         <jvmarg value="${agentvmparam}"/>
73
         <jvmarg value="-server"/>
74
         <jvmarg value="-Xmx4G"/>
75
         <jvmarg value="-XX:-OmitStackTraceInFastThrow"/>
76
         <jvmarg value="-DP2J_HOME=${fwd.home}"/>
77
         <arg value="-ZId2"/>
78
         <arg value="f2+m0+cb"/>
79
         <arg value="${zfile}"/>
80
         <classpath refid="compile.classpath"/>
81
      </java>
82
      <record name="cvt_${LOG_STAMP}.log" action="stop"/>
83
   </target>
84

    
85
    <target name="report" depends="convert.zset">
86
        <jacocoreport>
87
            <executiondata>
88
                <file file="${jacoco.exec}"/>
89
            </executiondata>
90
        <structure name="JaCoCo Report">
91
            <classfiles>
92
                <fileset dir="${fwd.build.home}/classes/com/goldencode/p2j">
93
                    <include name="**/*.class"/>
94
                </fileset>
95
            </classfiles>
96
            <sourcefiles encoding="UTF-8">
97
                <fileset dir="${fwd.src.home}">
98
                    <include name="**/*.java"/>
99
                </fileset>
100
            </sourcefiles>
101
        </structure>
102
        <html destdir="${output.dir}"/>
103
        </jacocoreport>
104
    </target>
105
    
106
    <target name="zip" depends="report">
107
        <zip destfile="${basedir}/${output.dir.name}.zip"
108
             basedir="${output.dir}"/>
109
    </target>
110

    
111
</project>