-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.xml
118 lines (98 loc) · 3.66 KB
/
build.xml
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?xml version="1.0" encoding="UTF-8"?>
<project default="clean" basedir="." name="CSVToQuery-extension">
<description>
CSVToQuery extension
</description>
<property file="build.properties" />
<property name="lib" location="source/java/libs" />
<property name="src" location="source/java/src" />
<property name="temp" location="temp"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<property name="fld" location="source/fld"/>
<buildnumber file="build.number"/>
<scriptdef name="replace" language="javascript">
<attribute name="haystack" />
<attribute name="needle" />
<attribute name="repl" />
<attribute name="property" />
<![CDATA[
var text = attributes.get("haystack");
var needle = attributes.get("needle");
var repl = attributes.get("repl");
text=text.trim();
var regex = new RegExp(needle,'g');
text=text.replace(regex,repl);
project.setProperty(attributes.get("property"), text);
]]>
</scriptdef>
<path id="classpath">
<dirset dir="${compiledCoreTargetDir}">
<include name="classes" />
</dirset>
<fileset dir="${lib}">
<include name="**/*.jar" />
</fileset>
</path>
<target name="init">
<tstamp />
<delete dir="${temp}"/>
<delete dir="${dist}"/>
<mkdir dir="${temp}"/>
<mkdir dir="${build}"/>
<mkdir dir="${dist}/"/>
</target>
<target name="copy" depends="init" description="copy source file to temp">
<copy todir="${temp}">
<fileset dir="${src}">
<include name="**/*.java"/>
<exclude name="**/Test.java"/>
</fileset>
</copy>
<tstamp>
<format property="NOW" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<echo file="${dist}/extension/META-INF/MANIFEST.MF">Manifest-Version: 1.0
Built-Date: ${NOW}
version: "${bundleversion}${build.number}${appendix}"
id: "${id}"
name: "${label}"
description: "${description}"
start-bundles: true
</echo>
</target>
<target name="compile" depends="copy" description="compile the source">
<javac srcdir="${temp}" target="1.8" destdir="${build}" debug="true" debuglevel="lines,vars,source" includeantruntime="false">
<classpath refid="classpath" />
</javac>
</target>
<target name="dist" depends="compile" description="generate the distribution">
<jar jarfile="${dist}/extension/jars/${filename}-${bundleversion}${build.number}${appendix}.jar" basedir="${build}" manifest="${src}/META-INF/MANIFEST.MF">
<manifest>
<attribute name="Bundle-Version" value="${bundleversion}${build.number}${appendix}"/>
<attribute name="Built-Date" value="${NOW}"/>
<attribute name="Bundle-SymbolicName" value="${bundlename}"/>
</manifest>
</jar>
<loadfile property="c1" srcFile="${fld}/function.fld" />
<replace haystack="${c1}" needle="{bundle-name}" repl="${bundlename}" property="c2"/>
<replace haystack="${c2}" needle="{bundle-version}" repl="${bundleversion}${build.number}${appendix}" property="c3"/>
<echo message="${c3}" file="${dist}/extension/flds/csv-functions.fld"/>
<copy todir="${dist}/extension/jars">
<fileset dir="${lib}">
<include name="**/*.jar"/>
<exclude name="**/javax.*"/>
<exclude name="**/jsp-*"/>
<exclude name="**/lucee.jar"/>
<exclude name="**/org.apache.felix.framework-*"/>
</fileset>
</copy>
<zip destfile="${dist}/${filename}-${bundleversion}${build.number}${appendix}.lex">
<zipfileset dir="${dist}/extension"/>
</zip>
</target>
<target name="clean" depends="dist" description="clean up" >
<delete dir="${build}"/>
<delete dir="${temp}"/>
</target>
</project>