Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: b6061163cb55f6b62e4a393d00aab462a64397b7 (plain) (blame)
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
120
121
122
<?xml version="1.0" encoding="UTF-8"?>
<project name="build-web-container" xmlns:ivy="antlib:org.apache.ivy.ant">

	<path id="unit.test.bundles">
		<pathelement location="../org.eclipse.gemini.web.core"/>
		<pathelement location="../org.eclipse.gemini.web.tomcat"/>
		<pathelement location="../org.eclipse.gemini.web.extender"/>
	</path>
	
	<path id="bundles">
		<path refid="unit.test.bundles"/>
		<pathelement location="../org.eclipse.gemini.web"/>
		<pathelement location="../org.eclipse.gemini.web.test"/>
	</path>

	<property file="${basedir}/../build.properties"/>
	<property file="${basedir}/../build.versions"/>
	
	<import file="${basedir}/../virgo-build/multi-bundle/default.xml"/>

	<property name="collect.output.dir" value="${target.dir}/bundles"/>

	<target name="precommit" depends="clean, clean-integration, test, findbugs"/>

	<path id="test.apps.bundles">
		<pathelement location="../test-bundles/simple-manifest-only"/>
		<pathelement location="../test-bundles/simple-war"/>
		<pathelement location="../test-bundles/war-with-another-servlet"/>
		<pathelement location="../test-bundles/war-with-jsp"/>
		<pathelement location="../test-bundles/war-with-servlet"/>
		<pathelement location="../test-bundles/war-with-tld"/>
		<pathelement location="../test-bundles/fragment-provides-web-xml"/>
		<pathelement location="../test-bundles/war-with-web-xml-from-fragment"/>
		<pathelement location="../test-bundles/war-with-context-xml-custom-classloader"/>
		<pathelement location="../test-bundles/war-with-context-xml-cross-context"/>
	</path>

	<path id="doc.bundles">
		<pathelement location="../org.eclipse.gemini.web.documentation/user-guide"/>
		<pathelement location="../org.eclipse.gemini.web.documentation/programmer-guide"/>
	</path>

	<target name="test" depends="build-test-apps, quality-multi-bundle.test" description="Rebuild all the test apps before running the test suites">
	</target>

	<target name="build-test-apps" description="Build all of the test applications">
		<all-bundles target="clean" buildpathRef="test.apps.bundles"></all-bundles>
		<all-bundles target="jar" buildpathRef="test.apps.bundles"></all-bundles>
	</target>

	<target name="collect" depends="ivy.init">
		<mkdir dir="${collect.output.dir}"/>		
		<ivy:retrieve organisation="org.eclipse.gemini.web" module="org.eclipse.gemini.web" inline="true" type="jar" pattern="${collect.output.dir}/[artifact]-[revision].[ext]"/>
	</target>
	
	<target name="package" depends="ivy.init">
		<delete dir="${package.output.dir}" quiet="true"/>
		<mkdir dir="${package.output.dir}"/>
		
		<ivy:resolve resolveId="copy.path" file="${basedir}/package-ivy.xml" transitive="false"/>
		<ivy:retrieve resolveId="copy.path" pattern="${package.output.dir}/[artifact]-[revision].[ext]" conf="package" type="jar"/>
		
		<ivy:resolve resolveId="copy.path" file="${basedir}/dependencies-ivy.xml" transitive="false"/>
		<ivy:retrieve resolveId="copy.path" pattern="${package.output.dir}/dep/[artifact]-[revision].[ext]" conf="dep" type="jar"/>

		<copy todir="${package.output.dir}" failonerror="false">
			<fileset dir="${basedir}/resources"/>
		</copy>

		<all-bundles target="package" buildpathRef="doc.bundles">
			<property name="package.output.dir" value="${package.output.dir}"/>
		</all-bundles>

		<mkdir dir="${artifacts.dir}"/>
		<zip destfile="${package.output.file}">
			<zipfileset dir="${package.dir}"/>
		</zip>
	</target>

	<target name="doc">
		<all-bundles target="doc" buildpathRef="doc.bundles"/>
	</target>

	<target name="doc-html">
		<all-bundles target="doc-html" buildpathRef="doc.bundles"/>
	</target>

	<!--P2 publishing properties-->

	<target name="p2.publish" depends="package, fetch-unzipped-virgo-build-tools"
			description="Publishes bundles, features and product">
		<copy todir="${basedir}/target/features" failonerror="false">
			<fileset dir="${basedir}/features"/>
		</copy>

		<xslt in="${basedir}/dependencies-ivy.xml" out="${basedir}/target/features/feature.xml"
			  style="${basedir}/create-feature-xml.xsl">
			<param name="GW.VERSION" expression="${bundle.version}"/>
		</xslt>
        
        <antcall target="p2.publish-bundles-features-alt">
            <param name="repository" value="${p2.repository.dir}"/>
            <param name="bundles" value="${package.output.dir},${package.output.dir}/dep"/>
            <param name="features" value="${target.dir}/features"/>
        </antcall>

		<!--sshexec host="build.eclipse.org" 
				username="${eclipse.buildId}" 
				keyfile="${key.file}" 
				passphrase="${passphrase}"
				trust="true"
				command="mkdir -pv /opt/public/rt/gemini/web/update-site/${release.type}/${build.stamp}"/>

		<scp todir="${eclipse.buildId}@build.eclipse.org:/opt/public/rt/gemini/web/update-site/${release.type}/${build.stamp}/" 
				keyfile="${key.file}"
				passphrase="${passphrase}">
			<fileset dir="${publishing.dir}"/>
		</scp-->
		<delete dir="${p2.publishing.dir}" excludes="p2agent.tar.gz" includeemptydirs="true" quiet="true"/>
	</target>

</project>

Back to the top