-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.xml
119 lines (97 loc) · 3.83 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
119
<?xml version="1.0" encoding="UTF-8"?>
<project default="clean" basedir="." name="ArrayFunctions-extension">
<description>
Array functions 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">
<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="build-for-tests" depends="get-dependencies,clean" />
<target name="get-dependencies">
<get src="http://central.maven.org/maven2/org/lucee/lucee/${lucee.version}/lucee-${lucee.version}.jar" dest="source/java/libs/lucee.jar" />
<get src="http://central.maven.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar" dest="source/java/libs/javax.servlet.jar" />
<get src="http://central.maven.org/maven2/javax/servlet/jsp/jsp-api/2.2/jsp-api-2.2.jar" dest="source/java/libs/jsp-api.jar" />
</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}/functions.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/array-functions.fld" />
<copy todir="${dist}/extension/jars">
<fileset dir="${lib}">
<exclude name="**/*.jar" />
</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>