Project

General

Profile

build_coverage.xml

Florin Eugen Rotaru, 06/19/2025 10:37 AM

Download (6.71 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="deploy.home"          value="${basedir}/deploy" />
12
    <property name="fwd.build.home"       value="${fwd.home}/p2j/build" />
13
    <property name="zfile"                value="zfile_set.txt" />
14
    <property name="p2j.home"             value="." />
15
    <property name="p2jlib.home"          value="${p2j.home}/p2j/build/lib" />
16

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

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

    
25
    <!-- create the time stamp -->
26
    <target name="init">
27
        <tstamp/>
28

    
29
        <!-- copy embedded program code -->
30
        <copy todir="${app.4gl.src}">
31
            <fileset dir="${fwd.src.home}/4gl/embedded/" includes="**" />
32
        </copy>
33
        <mkdir dir="${deploy.home}/lib"/>
34
        <!-- copy the asm jars-->
35
        <copy todir="${deploy.home}/lib">
36
            <fileset dir="${p2jlib.home}">
37
                <include name="asm-*.jar"/>
38
            </fileset>
39
        </copy> 
40
        <get src="https://repo1.maven.org/maven2/org/jacoco/org.jacoco.core/0.8.13/org.jacoco.core-0.8.13.jar" skipexisting="true"
41
             dest="${deploy.home}/lib/org.jacoco.core-0.8.13.jar" verbose="true"/>
42

    
43
        <get src="https://repo1.maven.org/maven2/org/jacoco/org.jacoco.report/0.8.13/org.jacoco.report-0.8.13.jar" skipexisting="true"
44
             dest="${deploy.home}/lib/org.jacoco.report-0.8.13.jar" verbose="true"/>
45

    
46
        <get src="https://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.13/org.jacoco.agent-0.8.13.jar" skipexisting="true"
47
             dest="${deploy.home}/lib/org.jacoco.agent-0.8.13.jar" verbose="true"/>
48
        
49
        <get src="https://repo1.maven.org/maven2/org/jacoco/org.jacoco.ant/0.8.13/org.jacoco.ant-0.8.13.jar" skipexisting="true"
50
             dest="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar" verbose="true"/>
51

    
52

    
53
        <!-- define the ant targets-->
54
        <taskdef name="jacocoagent" classname="org.jacoco.ant.AgentTask">
55
            <classpath>
56
            <pathelement location="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar"/>
57
            <pathelement location="${deploy.home}/lib/org.jacoco.core-0.8.13.jar"/>
58
            <pathelement location="${deploy.home}/lib/org.jacoco.agent-0.8.13.jar"/>
59
            </classpath>
60
        </taskdef>
61

    
62
        <taskdef name="jacocoreport" classname="org.jacoco.ant.ReportTask">
63
            <classpath>
64
            <pathelement location="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar"/>
65
            <pathelement location="${deploy.home}/lib/org.jacoco.core-0.8.13.jar"/>
66
            <pathelement location="${deploy.home}/lib/org.jacoco.report-0.8.13.jar"/>
67
            <fileset dir="${deploy.home}/lib">
68
                <include name="asm-*.jar"/>
69
            </fileset>
70
            </classpath>
71
        </taskdef>
72

    
73
    </target>
74

    
75
    <target name="check-zfile-set">
76
      <available file="${zfile}" property="zfile-set"/>
77
   </target>
78

    
79
   <target name="convert.zset"
80
           depends="init, coverage.conversion, check-zfile-set"
81
           description="Convert the 4GL source code to Java source code, using the z-file set file as input."
82
           if="zfile-set">
83
      <record name="cvt_${LOG_STAMP}.log" action="start"/>
84
      <echo message="fileset in use: ${zfile}"/>
85
      <java classname="com.goldencode.p2j.convert.ConversionDriver"
86
            fork="true"
87
            failonerror="true"
88
            dir="${basedir}">
89
         <jvmarg value="${agentvmparam.conversion}"/>
90
         <jvmarg value="-server"/>
91
         <jvmarg value="-Xmx4G"/>
92
         <jvmarg value="-XX:-OmitStackTraceInFastThrow"/>
93
         <jvmarg value="-DP2J_HOME=${fwd.home}"/>
94
         <arg value="-ZId2"/>
95
         <arg value="f2+m0+cb"/>
96
         <arg value="${zfile}"/>
97
         <classpath refid="compile.classpath"/>
98
      </java>
99
      <record name="cvt_${LOG_STAMP}.log" action="stop"/>
100
   </target>
101

    
102
        <target name="report" >
103
        <jacocoreport>
104
            <executiondata>
105
                <file file="${jacoco.exec}"/>
106
            </executiondata>
107
        <structure name="JaCoCo Report">
108
            <classfiles>
109
                <fileset dir="${fwd.build.home}/classes/com/goldencode/p2j">
110
                    <include name="**/*.class"/>
111
                </fileset>
112
            </classfiles>
113
            <sourcefiles encoding="UTF-8">
114
                <fileset dir="${fwd.src.home}">
115
                    <include name="**/*.java"/>
116
                </fileset>
117
            </sourcefiles>
118
        </structure>
119
        <html destdir="${output.dir}"/>
120
        </jacocoreport>
121
    </target>
122
    
123
    <target name="zip" depends="report">
124
        <zip destfile="${basedir}/${output.dir.name}.zip"
125
             basedir="${output.dir}"/>
126
    </target>
127

    
128
    <target name="coverage.conversion">
129
        <property name="output.dir"                 value="${basedir}/coverage_conversion" />
130
        <property name="jacoco.exec"                value="${output.dir}/jacoco.exec" />
131
         
132
        <jacocoagent property="agentvmparam.conversion" destfile="${jacoco.exec}"/>
133
    </target>
134

    
135
    <target name="coverage.preprocessor">
136
        <property name="output.dir"                 value="${basedir}/coverage_preprocessor" />
137
        <property name="jacoco.exec"                value="${output.dir}/jacoco.exec" />
138
         
139
        <jacocoagent property="agentvmparam.preprocessor" destfile="${jacoco.exec}"/>
140
     </target>
141

    
142
    <target name="preproc-tests-unix-with-tildes" >
143
      <echo message="Running preproc-tests-unix" />
144
      <java classname="com.goldencode.p2j.preproc.Preprocessor"
145
            fork="true"
146
            failonerror="false"
147
            dir="${basedir}">
148
        <jvmarg value="${agentvmparam.preprocessor}"/>
149
        <arg value="-unixescapes" />
150
        <arg value="-keeptildes" />
151
        <arg value="-out" />
152
        <arg value="cvt/tests/conversion/preprocessor/test.p" />
153
        <arg value="tests/conversion/preprocessor/support/basic.p"/>
154
        <classpath refid="compile.classpath"/>
155
      </java>
156
    </target>
157

    
158

    
159
    <target name="preproc-tests-unix" depends="preproc-tests-unix-with-tildes" />
160

    
161
    <target name="preproc-tests"      depends="init, coverage.preprocessor, preproc-tests-unix, report" />
162
    <target name="convert-tests"      depends="convert.zset, report" />
163
    
164
</project>