Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / org.gvsig.mkmvnproject / prepare-workspace.xml @ 38548

History | View | Annotate | Download (6.46 KB)

1 32378 jbadia
<project name="org.gvsig.initial.build" default="prepare-workspace">
2 37560 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
                <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
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 32378 jbadia
44 37560 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 32378 jbadia
50 37560 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 32378 jbadia
58 37560 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 32378 jbadia
63 37560 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 32378 jbadia
                <!-- Copy the maven launchers to the workspace metadata folder -->
103
                <copy todir="${workspace.basedir}/.metadata">
104 37560 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 32378 jbadia
                </copy>
109 37560 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 32378 jbadia
                <!-- Configure the eclipse workspace -->
118 37560 cordinyana
                <ant antfile="${build.basedir}/maven-goals.xml" target="mvn-configure-eclipse-workspace" />
119 32378 jbadia
120
                <!-- Configure the gvSIG profile -->
121 37560 cordinyana
                <ant antfile="${build.basedir}/check-gvsig-profile.xml" />
122 32378 jbadia
123 37560 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 32378 jbadia
                <!-- Compile, install and generate eclipse projects -->
139 37560 cordinyana
                <ant antfile="${build.basedir}/maven-goals.xml" target="mvn-install-and-eclipse-eclipse" />
140
141 32378 jbadia
                <echo>INFORMATION!!!</echo>
142
                <echo>Restart eclipse and then proceed to import the subprojects contained into the main project</echo>
143 37560 cordinyana
144 32378 jbadia
                <!-- TODO: copiar al proyecto de configuraciĆ³n general -->
145
        </target>
146 37560 cordinyana
147 32378 jbadia
        <target name="clean">
148 37560 cordinyana
                <delete dir="target" />
149 32378 jbadia
        </target>
150 37560 cordinyana
151
</project>