blob: b5c085c7690377327e1d80ee827b313359b8b466 [file] [log] [blame]
Ken Gilmer2c29a972011-10-13 05:01:42 +00001<?xml version="1.0"?>
2<project name="org.apache.felix.http.lightweight" default="jar">
Ken Gilmer1c4856a2011-10-27 07:28:18 +00003 <property name="src.dir" location="${basedir}/src" />
Ken Gilmer2c29a972011-10-13 05:01:42 +00004 <property name="project.description" value="Lightweight HTTP Service for Apache Felix" />
Ken Gilmer1c4856a2011-10-27 07:28:18 +00005 <property name="project.version" value="0.1.0" />
Ken Gilmer2c29a972011-10-13 05:01:42 +00006 <property name="external.dir" location="external" />
7 <property name="doc.dir" location="${basedir}/docs" />
8 <property name="build.dir" location="${basedir}/classes" />
9
10 <property name="wget.bin" location="/usr/bin/wget" />
11 <property name="svn.bin" location="/usr/bin/svn" />
12 <property name="git.bin" location="/usr/bin/git" />
13 <property name="rm.bin" location="/bin/rm" />
14
15 <property name="framework.fqpn" value="org.apache.felix.framework" />
16 <property name="compendium.fqpn" value="org.osgi.compendium" />
17
18 <tstamp>
19 <format property="TS_NOW" pattern="yyyy-MM-dd HH:mm:ss" />
20 </tstamp>
21
22 <target name="clean-external" unless="${skip.fetch}">
23 <delete dir="${external.dir}" />
24 </target>
25
26 <target name="clean" depends="clean-external" description="remove intermediate files">
27 <delete dir="${build.dir}" />
28 <delete dir="${build.dir}-debug" />
29 <delete dir="${doc.dir}" />
30 <delete dir="org/apache" />
31 <delete dir="org/osgi" />
32 <delete dir="bin" />
33 <delete file="${ant.project.name}-min.jar" />
34 <delete file="${ant.project.name}-all.jar" />
35 </target>
36
37 <target name="fetch" depends="clean" unless="${skip.fetch}">
38 <mkdir dir="${external.dir}" />
Ken Gilmer1c4856a2011-10-27 07:28:18 +000039 <exec executable="${wget.bin}">
40 <arg line="-P ${external.dir}" />
41 <arg line="--no-check-certificate" />
42 <arg line="-nc" />
43 <arg line="http://www.osgi.org/download/r4v42/osgi.core.jar" />
Ken Gilmer2c29a972011-10-13 05:01:42 +000044 </exec>
45
46 <exec executable="${svn.bin}">
47 <arg value="export" />
48 <arg value="http://svn.apache.org/repos/asf/felix/releases/org.osgi.compendium-1.4.0" />
49 <arg value="${external.dir}/org.osgi.compendium" />
50 </exec>
51
52 <exec executable="${svn.bin}">
53 <arg value="export" />
54 <arg value="http://svn.apache.org/repos/asf/tomcat/archive/servletapi/branches/other/servlet2.4-jsp2.0-tc5.x/ASF/jsr154" />
55 <arg value="${external.dir}/servletapi" />
56 </exec>
57 </target>
58
59 <target name="stage-dependencies" depends="fetch">
60 <copy toDir="${src.dir}">
61 <fileset dir="${external.dir}/org.osgi.compendium/src" includes="main/java/org/osgi/service/http/**/*.java" />
62 </copy>
63
64 <copy toDir="${src.dir}">
65 <fileset dir="${external.dir}/servletapi/src" />
66 </copy>
67 <copy toDir="${src.dir}/share/javax/servlet/http">
68 <fileset dir="${external.dir}/servletapi/examples/WEB-INF/classes" includes="*.properties" />
69 </copy>
70 <copy toDir="${src.dir}/share/javax/servlet/resources">
71 <fileset dir="${src.dir}/share/dtd" />
72 </copy>
73
74 <delete dir="${src.dir}/etc" />
75 <delete dir="examples" />
76 </target>
77
78 <target name="compile" depends="stage-dependencies" description="compile the Java source code to class files">
79 <mkdir dir="${build.dir}" />
80 <mkdir dir="${build.dir}-debug" />
81
82 <javac destdir="${build.dir}" source="1.4" target="1.4" encoding="utf-8" fork="true" includeantruntime="false" debug="false">
83 <src path="${src.dir}/main/java" />
84 <src path="${src.dir}/share" />
Ken Gilmer1c4856a2011-10-27 07:28:18 +000085 <classpath path="${external.dir}/osgi.core.jar" />
Ken Gilmer2c29a972011-10-13 05:01:42 +000086 </javac>
87 <javac destdir="${build.dir}-debug" source="1.4" target="1.4" encoding="utf-8" fork="true" includeantruntime="false" debug="true" debuglevel="lines,vars,source">
88 <src path="${src.dir}/main/java" />
89 <src path="${src.dir}/share" />
Ken Gilmer1c4856a2011-10-27 07:28:18 +000090 <classpath path="${external.dir}/osgi.core.jar" />
Ken Gilmer2c29a972011-10-13 05:01:42 +000091 </javac>
92 </target>
93
Ken Gilmer1c4856a2011-10-27 07:28:18 +000094 <target name="jar" depends="compile" description="create a Jar file for the application">
95 <mkdir dir="${build.dir}/META-INF-MIN" />
96 <mkdir dir="${build.dir}/META-INF-ALL" />
Ken Gilmer2c29a972011-10-13 05:01:42 +000097
Ken Gilmer1c4856a2011-10-27 07:28:18 +000098 <manifest file="${build.dir}/META-INF-ALL/MANIFEST.MF">
Ken Gilmer2c29a972011-10-13 05:01:42 +000099 <attribute name="Import-Package" value="org.osgi.framework" />
100 <attribute name="Export-Package" value='org.osgi.service.http;version="1.2.1", javax.servlet;version="2.4",javax.servlet.http;version="2.4",javax.servlet.resources;version="2.4"' />
101 <attribute name="Built-By" value="${user.name}" />
102 <attribute name="Built-Date" value="${TS_NOW}" />
Ken Gilmer1c4856a2011-10-27 07:28:18 +0000103 <attribute name="Bundle-Name" value="${project.description} (Complete bundle)"/>
104 <attribute name="Bundle-SymbolicName" value="${ant.project.name}"/>
105 <attribute name="Bundle-Version" value="${project.version}" />
Ken Gilmer2c29a972011-10-13 05:01:42 +0000106 </manifest>
107
Ken Gilmer1c4856a2011-10-27 07:28:18 +0000108 <manifest file="${build.dir}/META-INF-MIN/MANIFEST.MF">
Ken Gilmer2c29a972011-10-13 05:01:42 +0000109 <attribute name="Import-Package" value="org.osgi.framework,org.osgi.service.http,javax.servlet,javax.servlet.http,javax.servlet.resources" />
110 <attribute name="Export-Package" value="" />
111 <attribute name="Built-By" value="${user.name}" />
112 <attribute name="Built-Date" value="${TS_NOW}" />
Ken Gilmer1c4856a2011-10-27 07:28:18 +0000113 <attribute name="Bundle-Name" value="${project.description} (Minimum bundle)"/>
114 <attribute name="Bundle-SymbolicName" value="${ant.project.name}"/>
115 <attribute name="Bundle-Version" value="${project.version}" />
Ken Gilmer2c29a972011-10-13 05:01:42 +0000116 </manifest>
117
118 <jar destfile="${ant.project.name}-debug-all.jar" manifest="${build.dir}/META-INF-ALL/MANIFEST.MF">
119 <fileset dir="${build.dir}-debug" includes="**/*.class,**/*.properties,**/*.dtd,**/*.xsd" />
120 <fileset dir="${src.dir}/share" includes="javax/servlet/**/*.properties,javax/servlet/**/*.dtd,javax/servlet/**/*.xsd" />
121 <fileset dir="." includes="LICENSE-2.0.txt" />
122 </jar>
123
124 <jar destfile="${ant.project.name}-all.jar" manifest="${build.dir}/META-INF-ALL/MANIFEST.MF">
125 <fileset dir="${build.dir}" includes="**/*.class,**/*.properties,**/*.dtd,**/*.xsd" />
126 <fileset dir="${src.dir}/share" includes="javax/servlet/**/*.properties,javax/servlet/**/*.dtd,javax/servlet/**/*.xsd" />
127 <fileset dir="." includes="LICENSE-2.0.txt" />
128 </jar>
129
130 <jar destfile="${ant.project.name}-min.jar" manifest="${build.dir}/META-INF-MIN/MANIFEST.MF">
Ken Gilmer1c4856a2011-10-27 07:28:18 +0000131 <fileset dir="${build.dir}" includes="org/apache/felix/httplite/**/*.class" />
Ken Gilmer2c29a972011-10-13 05:01:42 +0000132 <fileset dir="." includes="LICENSE-2.0.txt" />
133 </jar>
134 </target>
135
136 <target name="javadoc" depends="jar">
137 <javadoc sourcepath="${src.dir}/main/java" defaultexcludes="no" destdir="${doc.dir}" version="true" use="true" windowtitle="${project.description}">
138 <classpath path="${external.dir}/org.apache.felix.framework-3.2.2.jar" />
139 <classpath path="${external.dir}/osgi.cmpn.jar" />
140 </javadoc>
141 </target>
142</project>