aboutsummaryrefslogtreecommitdiff
path: root/build.xml
blob: 4179d3a77a56512ee188a4026c7b83204aa10176 (plain)
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
<project name="lombok" default="dist">
	<property name="build.compiler" value="javac1.6" />
	<path id="lombok.deps.path">
		<fileset dir="deps/lombok">
			<include name="**/*.jar" />
		</fileset>
	</path>
	<path id="lombok.libs.path">
		<fileset dir="lib/lombok">
			<include name="**/*.jar" />
		</fileset>
	</path>

	<path id="eclipse.agent.deps.path">
		<fileset dir="deps/eclipse.agent">
			<include name="**/*.jar" />
		</fileset>
	</path>
	<path id="eclipse.agent.libs.path">
		<fileset dir="lib/eclipse.agent">
			<include name="**/*.jar" />
		</fileset>
	</path>
	
	<target name="clean">
		<delete dir="build" quiet="true" />
		<delete dir="dist" quiet="true" />
	</target>
	
	<target name="compile">
		<mkdir dir="build/lombok" />
		<javac srcdir="src" debug="on" destdir="build/lombok">
			<classpath refid="lombok.deps.path" />
			<classpath refid="lombok.libs.path" />
		</javac>
		<mkdir dir="build/lombok/META-INF" />
		<mkdir dir="build/lombok/META-INF/services" />
		<echo file="build/lombok/META-INF/services/javax.annotation.processing.Processor">lombok.javac.apt.Processor</echo>
		
		<mkdir dir="build/eclipse.agent" />
		<javac srcdir="src_eclipseagent" debug="on" destdir="build/eclipse.agent">
			<classpath refid="eclipse.agent.deps.path" />
			<classpath refid="eclipse.agent.libs.path" />
		</javac>
	</target>
	
	<target name="unpackLibs">
		<unjar dest="build/lombok">
			<path refid="lombok.libs.path" />
		</unjar>
		<unjar dest="build/eclipse.agent">
			<path refid="eclipse.agent.libs.path" />
		</unjar>
	</target>
	
	<target name="getVersion" depends="compile">
		<java
			classname="lombok.core.Version"
			classpath="build/lombok"
			failonerror="true"
			output="build/version.txt" />
		<loadresource property="lombok.version">
			<file file="build/version.txt" />
			<filterchain>
				<striplinebreaks />
			</filterchain>
		</loadresource>
		<delete file="build/version.txt" quiet="true" />
		<echo level="info">Lombok version: ${lombok.version}</echo>
	</target>
	
	<target name="dist" depends="clean, compile, getVersion, unpackLibs">
		<mkdir dir="dist" />
		<jar basedir="build/lombok" destfile="dist/lombok-${lombok.version}.jar">
			<manifest>
				<attribute name="Main-Class" value="lombok.core.ShowUserHelp" />
			</manifest>
		</jar>
		<jar basedir="build/eclipse.agent" destfile="dist/lombok.eclipse.agent-${lombok.version}.jar">
			<manifest>
				<attribute name="Premain-Class" value="lombok.eclipse.agent.EclipsePatcher" />
				<attribute name="Can-Redefine-Classes" value="true" />
			</manifest>
		</jar>
		<copy file="dist/lombok-${lombok.version}.jar" tofile="dist/lombok.jar" />
		<copy file="dist/lombok.eclipse.agent-${lombok.version}.jar" tofile="dist/lombok.eclipse.agent.jar" />
	</target>
</project>