Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: d8f012ecd5bd204f9f25800988540186e8021a9a (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
<?xml version="1.0"?>
<project name="project">
	
	<target name="getMajorMinorVersion">
	    <script language="javascript">
	        <![CDATA[

	                // getting the value
	                buildnumber = project.getProperty("unqualifiedVersion");
	                index = buildnumber.lastIndexOf(".");
	                counter = buildnumber.substring(0, index);
	    			project.setProperty("majorMinorVersion",counter);

	            ]]>
	    </script>
	</target>

	<target name="test_getMajorMinor" depends="getMajorMinorVersion">
		<echo message="majorMinorVersion: ${majorMinorVersion}"/>
	</target>

	<!--
		site.label			The name/title/label of the created composite site
		unqualifiedVersion 	The version without any qualifier replacement
		buildQualifier		The build qualifier
	-->
	<target name="compute.child.repository.data" depends="getMajorMinorVersion">
		<property name="full.version" value="${unqualifiedVersion}.${buildQualifier}" />

		<property name="software.download.area" location="${user.home}/p2.repositories" />
		<property name="updates.dir" value="updates" />

		<property name="site.composite.name" value="${site.label} ${majorMinorVersion}" />
		<property name="main.site.composite.name" value="${site.label} All Versions" />

		<property name="main.composite.repository.directory" location="${software.download.area}/${updates.dir}" />

		<property name="composite.repository.directory" value="${main.composite.repository.directory}/${majorMinorVersion}" />
		<property name="child.repository" value="${full.version}" />
		<property name="child.repository.directory" value="${composite.repository.directory}/${child.repository}/" />
	</target>

	<target name="p2.composite.add" depends="compute.child.repository.data">
		<property name="source.repository" location="${project.build.directory}/repository"/>

		<echo message=" " />

		<echo message="Source repository path: ${source.repository}" />

		<echo message="Copying to ${child.repository.directory}..." />

		<mkdir dir="${child.repository.directory}"/>
		<copy todir="${child.repository.directory}" overwrite="true">
			<fileset dir="${source.repository}" />
		</copy>

		<add.composite.repository.internal
			composite.repository.location="${composite.repository.directory}"
			composite.repository.name="${site.composite.name}"
			composite.repository.child="${child.repository}"
		/>
		
		<add.composite.repository.internal
			composite.repository.location="${main.composite.repository.directory}"
			composite.repository.name="${main.site.composite.name}"
			composite.repository.child="${majorMinorVersion}"
		/>

	</target>
	
	<!-- = = = = = = = = = = = = = = = = =
          macrodef: add.composite.repository.internal          
         = = = = = = = = = = = = = = = = = -->
    <macrodef name="add.composite.repository.internal">
        <attribute name="composite.repository.location" />
    	<attribute name="composite.repository.name" />
    	<attribute name="composite.repository.child" />
        <sequential>

    		<echo message=" " />
    		<echo message="Composite repository       : @{composite.repository.location}" />
    		<echo message="Composite name             : @{composite.repository.name}" />
    		<echo message="Adding child repository    : @{composite.repository.child}" />

    		<p2.composite.repository>
    			<repository
    				compressed="false"
    				location="@{composite.repository.location}" 
    				name="@{composite.repository.name}" />
    			<add>
    				<repository location="@{composite.repository.child}" />
    			</add>
    		</p2.composite.repository>

		<echo file="@{composite.repository.location}/p2.index">version=1
metadata.repository.factory.order=compositeContent.xml,\!
artifact.repository.factory.order=compositeArtifacts.xml,\!
</echo>
            
        </sequential>
    </macrodef>


</project>

Back to the top