Statistics
| Revision:

root / org.gvsig.gpe / library / tags / 2.1.0 / prepare-workspace.xml @ 2013

History | View | Annotate | Download (6.46 KB)

1 243 cordinyana
<project name="org.gvsig.initial.build" default="prepare-workspace">
2 261 cordinyana
3
        <dirname property="org.gvsig.initial.build.basedir" file="${ant.file.org.gvsig.initial.build}" />
4
5
        <property name="workspace.basedir" value="${org.gvsig.initial.build.basedir}/.." />
6
        <property name="build.basedir" value="${workspace.basedir}/org.gvsig.maven.base.build" description="Eclipse workspace location" />
7
        <property name="build.jar.version" value="1.0.8-SNAPSHOT" />
8
        <property name="build.jar.file" value="org.gvsig.maven.base.build-${build.jar.version}.jar" />
9
10
        <property name="ant.libs.dir" location="${build.basedir}" description="Additional ant tasks libs folder" />
11
12
        <target name="check-maven-base-build-available">
13
                <available file="${user.home}/.m2/repository/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}" property="maven-base-build-available" />
14
        </target>
15
16
        <target name="get-maven-base-build-local" depends="check-maven-base-build-available" if="maven-base-build-available">
17
                <!-- Unzip de build jar file from the maven repository into the workspace root folder -->
18
                <copy todir="${workspace.basedir}" preservelastmodified="false" filtering="false">
19
                        <zipfileset src="${user.home}/.m2/repository/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}">
20
                                <patternset>
21
                                        <exclude name="META-INF/**" />
22
                                </patternset>
23
                        </zipfileset>
24
                </copy>
25
        </target>
26
27
        <target name="get-maven-base-build-remote" depends="check-maven-base-build-available" unless="maven-base-build-available">
28
                <mkdir dir="target" />
29
30
                <!-- Download the build jar file -->
31 269 cordinyana
                <get src="http://devel.gvsig.org/m2repo/j2se/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}" dest="target/${build.jar.file}" verbose="true" />
32 261 cordinyana
33
                <!-- Unzip de build jar file into the workspace root folder -->
34
                <copy todir="${workspace.basedir}" preservelastmodified="false" filtering="false">
35
                        <zipfileset src="target/${build.jar.file}">
36
                                <patternset>
37
                                        <exclude name="META-INF/**" />
38
                                </patternset>
39
                        </zipfileset>
40
                </copy>
41
42
        </target>
43 243 cordinyana
44 261 cordinyana
        <target name="find.depends.natives.file">
45
            <condition property="depends.natives.file.exists">
46
            <available file="${org.gvsig.initial.build.basedir}/DEPENDS_ON_NATIVE_LIBRARIES"/>
47
            </condition>
48
        </target>
49 243 cordinyana
50 261 cordinyana
        <target name="find.gvsig.platform.properties.file"
51
                        depends="find.depends.natives.file"
52
                        if="depends.natives.file.exists">
53
            <condition property="gvsig.platform.exists">
54
            <available file="${user.home}/.gvsig.platform.properties"/>
55
            </condition>
56
        </target>
57 243 cordinyana
58 261 cordinyana
        <target name="check.gvsig.platform.properties"
59
                        depends="find.gvsig.platform.properties.file">
60
                <fail if="depends.natives.file.exists" unless="gvsig.platform.exists">
61
ERROR!!
62 243 cordinyana
63 261 cordinyana
You have to define your gvSIG platform properties,
64
by creating the file: ${user.home}/.gvsig.platform.properties
65
with the following content:
66
67
native_platform=linux
68
native_distribution=all
69
native_compiler=gcc4
70
native_arch=i386
71
native_libraryType=dynamic
72
export native_classifier=${native_platform}-${native_distribution}-${native_compiler}-${native_arch}-${native_libraryType}
73
74
Replace the fifth initial variables values with the ones appropiate
75
to your platform.
76
77
If you use maven in the command line, you can use the previous file also
78
to define the MAVEN_OPTS environment variable, by adding to your
79
.bash_rc file something like this:
80
81
if [ -f "${HOME}/.gvsig.platform.properties" ]
82
then
83
    . ${HOME}/.gvsig.platform.properties
84
    export MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=64m -Dnative-classifier=${native_classifier}"
85
else
86
    export MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=64m"
87
fi
88
89
It will work if you use the bash shell. In any other case or platform, you'll
90
have to define your MAVEN_OPTS environment variable and set the
91
"native-classifier" parameter directly.
92
                </fail>
93
94
        </target>
95
96
        <target name="prepare-workspace" depends="get-maven-base-build-local,get-maven-base-build-remote,check.gvsig.platform.properties">
97
98
                <mkdir dir="target" />
99
100
                <chmod dir="${build.basedir}/maven/bin" perm="u+x" includes="m2,mvn,mvnDebug" />
101
102 243 cordinyana
                <!-- Copy the maven launchers to the workspace metadata folder -->
103
                <copy todir="${workspace.basedir}/.metadata">
104 261 cordinyana
                        <fileset dir="${build.basedir}/eclipse-launchers">
105
                                <exclude name="**/org.eclipse.jdt.core.prefs" />
106
                                <exclude name="**/org.eclipse.core.variables.prefs" />
107
                        </fileset>
108 243 cordinyana
                </copy>
109 261 cordinyana
110
                <concat destfile="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs" append="true">
111
                        <filelist dir="${build.basedir}/eclipse-launchers/.plugins/org.eclipse.core.runtime/.settings" files="org.eclipse.jdt.core.prefs" />
112
                </concat>
113
                <concat destfile="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.variables.prefs" append="true">
114
                        <filelist dir="${build.basedir}/eclipse-launchers/.plugins/org.eclipse.core.runtime/.settings" files="org.eclipse.core.variables.prefs" />
115
                </concat>
116
117 243 cordinyana
                <!-- Configure the eclipse workspace -->
118 261 cordinyana
                <ant antfile="${build.basedir}/maven-goals.xml" target="mvn-configure-eclipse-workspace" />
119 243 cordinyana
120
                <!-- Configure the gvSIG profile -->
121 261 cordinyana
                <ant antfile="${build.basedir}/check-gvsig-profile.xml" />
122 243 cordinyana
123 261 cordinyana
                <property name="user-settings-file-location" value="${user.home}/.m2/settings.xml" />
124
125
                <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask">
126
                        <classpath>
127
                                <pathelement location="${ant.libs.dir}/com.oopsconsultancy.xmltask-1.16.1.jar" />
128
                        </classpath>
129
                </taskdef>
130
131
                <xmltask source="${user-settings-file-location}" dest="${user-settings-file-location}">
132
                        <copy path="//:settings/:profiles/:profile[:id/text() = 'gvsig-install']/:properties/:gvsig.install.dir/text()" property="current-gvsig-location" />
133
                </xmltask>
134
135
                <replace file="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs" token="@GVSIG_HOME@" value="${current-gvsig-location}" />
136
                <replace file="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.variables.prefs" token="@GVSIG_HOME@" value="${current-gvsig-location}" />
137
138 243 cordinyana
                <!-- Compile, install and generate eclipse projects -->
139 261 cordinyana
                <ant antfile="${build.basedir}/maven-goals.xml" target="mvn-install-and-eclipse-eclipse" />
140
141 243 cordinyana
                <echo>INFORMATION!!!</echo>
142
                <echo>Restart eclipse and then proceed to import the subprojects contained into the main project</echo>
143 261 cordinyana
144 243 cordinyana
                <!-- TODO: copiar al proyecto de configuración general -->
145
        </target>
146 261 cordinyana
147 243 cordinyana
        <target name="clean">
148 261 cordinyana
                <delete dir="target" />
149 243 cordinyana
        </target>
150 261 cordinyana
151
</project>