root / branches / v2_0_0_prep / extensions / org.gvsig.mkmvnproject / src / main / resources / scripts / mkmvnproject.xml @ 38075
History | View | Annotate | Download (11.5 KB)
1 | 32787 | cordinyana | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|---|---|---|
2 | 32378 | jbadia | <project name="gvSIG-make-maven-project" default="mkproject" basedir="."> |
3 | |||
4 | 35356 | jjdelcerro | <!-- Get current file location folder -->
|
5 | <dirname property="gvSIG-make-maven-project.basedir" file="${ant.file.gvSIG-make-maven-project}" /> |
||
6 | 32378 | jbadia | |
7 | 35356 | jjdelcerro | <!-- Libraries folder in the gvSIG extension -->
|
8 | <property name="lib.folder" location="${gvSIG-make-maven-project.basedir}/../lib" /> |
||
9 | <!-- Templates folder in the gvSIG extension -->
|
||
10 | <property name="templates.folder" location="${gvSIG-make-maven-project.basedir}/../templates" /> |
||
11 | 32787 | cordinyana | |
12 | 35356 | jjdelcerro | <property name="gvsiglogo" location="${basedir}/../gvSIG.png" /> |
13 | 32378 | jbadia | |
14 | 35356 | jjdelcerro | <!-- Load some ant external utility tasks -->
|
15 | <property name="antform.lib" location="${lib.folder}/antform-2.0.jar" /> |
||
16 | <property name="antcontrib.lib" location="${lib.folder}/ant-contrib-1.0b3.jar" /> |
||
17 | <property name="antelope.lib" location="${lib.folder}/antelopetasks-3.2.10.jar" /> |
||
18 | 32745 | cordinyana | |
19 | 35356 | jjdelcerro | <property name="form.width" value="700" /> |
20 | <property name="form.height" value="550" /> |
||
21 | <property name="form.columns" value="40" /> |
||
22 | 32745 | cordinyana | |
23 | |||
24 | 35356 | jjdelcerro | <taskdef resource="net/sf/antcontrib/antlib.xml"> |
25 | <classpath>
|
||
26 | <pathelement location="${antcontrib.lib}" /> |
||
27 | </classpath>
|
||
28 | </taskdef>
|
||
29 | 32745 | cordinyana | |
30 | 35356 | jjdelcerro | <taskdef name="antform" classname="com.sardak.antform.AntForm" classpath="${antform.lib}" /> |
31 | 32745 | cordinyana | |
32 | 35356 | jjdelcerro | <taskdef name="antmenu" classname="com.sardak.antform.AntMenu" classpath="${antform.lib}" /> |
33 | 32787 | cordinyana | |
34 | 35356 | jjdelcerro | <taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask" classpath="${antelope.lib}" /> |
35 | 32787 | cordinyana | |
36 | 32745 | cordinyana | |
37 | 35356 | jjdelcerro | <!--
|
38 | ================ begin specific code of templates =================
|
||
39 | -->
|
||
40 | 38075 | cordinyana | <property name="template.fortunecookies-basic.option" value="1 - General project based on Fortune cookies basic example project" /> |
41 | <property name="template.fortunecookies-basic.description1" value="Create a general pourpose project with the multimodule" /> |
||
42 | <property name="template.fortunecookies-basic.description2" value="structure. It has no GEO logic and is based on a basic" /> |
||
43 | <property name="template.fortunecookies-basic.description3" value="API/implementation separation" /> |
||
44 | 32745 | cordinyana | |
45 | 38075 | cordinyana | <property name="template.fortunecookies-provider.option" value="2 - General project based on Fortune cookies example project" /> |
46 | <property name="template.fortunecookies-provider.description1" value="Create a general pourpose project with the multimodule" /> |
||
47 | <property name="template.fortunecookies-provider.description2" value="structure. It has no GEO logic and is based on" /> |
||
48 | <property name="template.fortunecookies-provider.description3" value="API/SPI/implementation separation and providers" /> |
||
49 | |||
50 | <property name="template.landregistryviewer.option" value="3 - Basic plugin with spatial support" /> |
||
51 | 35356 | jjdelcerro | <property name="template.landregistryviewer.description1" value="Create a project based in the LandRegistryViewer example." /> |
52 | <property name="template.landregistryviewer.description2" value="Uses access to View, MapControl and datasources." /> |
||
53 | <property name="template.landregistryviewer.description3" value="" /> |
||
54 | 32745 | cordinyana | |
55 | 38075 | cordinyana | <property name="templates" value="fortunecookies-basic,fortunecookies-provider,landregistryviewer" /> |
56 | 35356 | jjdelcerro | <!--
|
57 | ================ End specific code of templates =================
|
||
58 | -->
|
||
59 | 32745 | cordinyana | |
60 | 35356 | jjdelcerro | <target name="mkproject" depends="mkproject-prompt-basic-data"> |
61 | <description>Creates a new gvSIG project</description> |
||
62 | </target>
|
||
63 | 32745 | cordinyana | |
64 | 35356 | jjdelcerro | <target name="mkproject-prompt-basic-data"> |
65 | 32745 | cordinyana | |
66 | 35356 | jjdelcerro | <property name="project.group.id" value="org.gvsig" /> |
67 | 32745 | cordinyana | |
68 | 35356 | jjdelcerro | <antform title="Create project" width="${form.width}" image="${gvsiglogo}"> |
69 | <textProperty label="" editable="false" columns="${form.columns}" property="form.title" /> |
||
70 | <textProperty label="Name : " property="project.name" required="true" /> |
||
71 | <label> For the project name, use the java class naming rules.
|
||
72 | Ex: FortuneCookie or LandRegistryViewer</label>
|
||
73 | <textProperty label="Group Id : " property="project.group.id" required="true" /> |
||
74 | 32787 | cordinyana | |
75 | 35356 | jjdelcerro | <fileSelectionProperty label="Create project in : " property="project.folder" directoryChooser="true" editable="false" required="true" /> |
76 | <separator /> |
||
77 | <label>Select the template to use:</label> |
||
78 | 32745 | cordinyana | |
79 | 35356 | jjdelcerro | <!--
|
80 | ================ begin specific code of templates =================
|
||
81 | -->
|
||
82 | <checkSelectionProperty property="template.landregistryviewer.check" values="${template.landregistryviewer.option}" label="" /> |
||
83 | <label> ${template.landregistryviewer.description1}
|
||
84 | ${template.landregistryviewer.description2} |
||
85 | ${template.landregistryviewer.description3}</label>
|
||
86 | 32787 | cordinyana | |
87 | 38075 | cordinyana | <checkSelectionProperty property="template.fortunecookies-basic.check" values="${template.fortunecookies-basic.option}" label="" /> |
88 | <label> ${template.fortunecookies-basic.description1}
|
||
89 | ${template.fortunecookies-basic.description2} |
||
90 | ${template.fortunecookies-basic.description3}</label>
|
||
91 | <checkSelectionProperty property="template.fortunecookies-provider.check" values="${template.fortunecookies-provider.option}" label="" /> |
||
92 | <label> ${template.fortunecookies-provider.description1}
|
||
93 | ${template.fortunecookies-provider.description2} |
||
94 | ${template.fortunecookies-provider.description3}</label>
|
||
95 | 35356 | jjdelcerro | <!--
|
96 | ================ End specific code of templates =================
|
||
97 | -->
|
||
98 | <separator /> |
||
99 | <controlbar>
|
||
100 | <button type="cancel" label=" Cancel " target="mkproject-build-cancelled" /> |
||
101 | <button type="ok" label=" Next " target="mkproject-fixnames" /> |
||
102 | </controlbar>
|
||
103 | </antform>
|
||
104 | </target>
|
||
105 | 32378 | jbadia | |
106 | 35356 | jjdelcerro | <target name="mkproject-fixnames"> |
107 | 32787 | cordinyana | |
108 | 35356 | jjdelcerro | <!-- Trim project name and group id -->
|
109 | <stringutil string="${project.name}" property="project.name"> |
||
110 | <trim /> |
||
111 | </stringutil>
|
||
112 | <stringutil string="${project.group.id}" property="project.group.id"> |
||
113 | <trim /> |
||
114 | </stringutil>
|
||
115 | 32378 | jbadia | |
116 | 35356 | jjdelcerro | <!-- Lower case project name -->
|
117 | <stringutil string="${project.name}" property="project.name.lowercase"> |
||
118 | <lowercase /> |
||
119 | </stringutil>
|
||
120 | 32378 | jbadia | |
121 | 35356 | jjdelcerro | <!-- Capitalize project name, just in case -->
|
122 | <stringutil string="${project.name}" property="project.name.capitalized.end"> |
||
123 | <substring beginindex="1" /> |
||
124 | </stringutil>
|
||
125 | <stringutil string="${project.name}" property="project.name.capitalized.beginning"> |
||
126 | <substring endindex="1" /> |
||
127 | <uppercase /> |
||
128 | </stringutil>
|
||
129 | <property name="project.name.capitalized" value="${project.name.capitalized.beginning}${project.name.capitalized.end}" /> |
||
130 | 32378 | jbadia | |
131 | 35356 | jjdelcerro | <!-- Create artifactID with project.group.id + . + project.name.lowercase -->
|
132 | <property name="project.artifact.id" value="${project.group.id}.${project.name.lowercase}" /> |
||
133 | 32745 | cordinyana | |
134 | 35356 | jjdelcerro | <for list="${templates}" param="template"> |
135 | <sequential>
|
||
136 | <var name="template.name" value="@{template}" /> |
||
137 | <var name="check.name" value="template.${template.name}.check" /> |
||
138 | <propertycopy override="true" name="arg1" from="${check.name}" /> |
||
139 | <propertycopy override="true" name="arg2" from="template.${template.name}.option" /> |
||
140 | <if>
|
||
141 | <and>
|
||
142 | <isset property="selected.template" /> |
||
143 | <equals arg1="${arg1}" arg2="${arg2}" /> |
||
144 | </and>
|
||
145 | <then>
|
||
146 | <antcall target="fail"> |
||
147 | <param name="message" value="Only one template can be selected" /> |
||
148 | </antcall>
|
||
149 | </then>
|
||
150 | </if>
|
||
151 | <if>
|
||
152 | <equals arg1="${arg1}" arg2="${arg2}" /> |
||
153 | <then>
|
||
154 | <echo>selected.template = "${template.name}"</echo> |
||
155 | <property name="selected.template" value="${template.name}" /> |
||
156 | </then>
|
||
157 | </if>
|
||
158 | </sequential>
|
||
159 | </for>
|
||
160 | <antcall target="mkproject-confirm" inheritall="true" /> |
||
161 | </target>
|
||
162 | 32745 | cordinyana | |
163 | 35356 | jjdelcerro | <target name="mkproject-confirm"> |
164 | <antform title="Confirm the creation" width="${form.width}" image="${gvsiglogo}"> |
||
165 | <textProperty label="" editable="false" columns="${form.columns}" property="form.title" /> |
||
166 | <label>The data used for the creation of project are:</label> |
||
167 | <textProperty label="Project" editable="false" property="project.name" /> |
||
168 | <textProperty label="Project name capitalized" editable="false" property="project.name.capitalized" /> |
||
169 | <textProperty label="Project name lowercase" editable="false" property="project.name.lowercase" /> |
||
170 | <textProperty label="Group Id" editable="false" property="project.group.id" /> |
||
171 | <textProperty label="Artifact Id" editable="false" property="project.artifact.id" /> |
||
172 | <textProperty label="Folder" editable="false" property="project.folder" /> |
||
173 | <textProperty label="Template" editable="false" property="selected.template" /> |
||
174 | <label>Continue ?</label> |
||
175 | <separator /> |
||
176 | <controlbar>
|
||
177 | <button type="cancel" label=" Cancel " target="mkproject-build-cancelled" /> |
||
178 | <button type="ok" label=" Previous " target="mkproject-prompt-basic-data" /> |
||
179 | <button type="ok" label=" Next " target="mkproject-build" /> |
||
180 | </controlbar>
|
||
181 | </antform>
|
||
182 | </target>
|
||
183 | 32745 | cordinyana | |
184 | 35356 | jjdelcerro | <target name="mkproject-build"> |
185 | <echo>
|
||
186 | Project name: "${project.name}" |
||
187 | Project name capitalized: "${project.name.capitalized}" |
||
188 | Project name lowercase: ${project.name.lowercase}" |
||
189 | Group id: "${project.group.id}" |
||
190 | ArtifactId: "${project.artifact.id}" |
||
191 | Project folder: "${project.folder}" |
||
192 | Selected template: "${selected.template}" |
||
193 | </echo>
|
||
194 | <!-- call specific code of the selected template -->
|
||
195 | <ant antfile="${selected.template}.xml" inheritall="false"> |
||
196 | <property name="project.name" value="${project.name}" /> |
||
197 | <property name="project.name.capitalized" value="${project.name.capitalized}" /> |
||
198 | <property name="project.name.lowercase" value="${project.name.lowercase}" /> |
||
199 | <property name="project.group.id" value="${project.group.id}" /> |
||
200 | <property name="project.artifact.id" value="${project.artifact.id}" /> |
||
201 | <property name="project.folder" value="${project.folder}" /> |
||
202 | <property name="form.width" value="${form.width}" /> |
||
203 | <property name="form.height" value="${form.height}" /> |
||
204 | <property name="form.columns" value="${form.columns}" /> |
||
205 | </ant>
|
||
206 | <if>
|
||
207 | <resourceexists>
|
||
208 | <file file="${project.folder}/${project.artifact.id}" /> |
||
209 | </resourceexists>
|
||
210 | <then>
|
||
211 | <antcall target="mkproject-prepare-workspace" inheritall="true" /> |
||
212 | <antcall target="mkproject-build-succesfully" inheritall="true" /> |
||
213 | </then>
|
||
214 | <else>
|
||
215 | <antcall target="mkproject-build-cancelled" inheritall="true" /> |
||
216 | </else>
|
||
217 | </if>
|
||
218 | </target>
|
||
219 | 32745 | cordinyana | |
220 | 35356 | jjdelcerro | <target name="mkproject-prepare-workspace"> |
221 | <ant dir="${project.folder}/${project.artifact.id}" antfile="prepare-workspace.xml" target="prepare-workspace" /> |
||
222 | <if>
|
||
223 | <resourceexists>
|
||
224 | <file file="${project.folder}/${project.artifact.id}.app" /> |
||
225 | </resourceexists>
|
||
226 | <then>
|
||
227 | <ant dir="${project.folder}/${project.artifact.id}.app" antfile="../org.gvsig.maven.base.build/maven-goals.xml" target="mvn-install-and-eclipse-eclipse" /> |
||
228 | </then>
|
||
229 | </if>
|
||
230 | </target>
|
||
231 | 32745 | cordinyana | |
232 | 35356 | jjdelcerro | <target name="mkproject-build-succesfully"> |
233 | <antform title="Project creation" width="${form.width}" image="${gvsiglogo}"> |
||
234 | <textProperty label="" editable="false" columns="${form.columns}" property="form.title" /> |
||
235 | <label>Project ${project.name} was created succesfully</label> |
||
236 | <controlbar>
|
||
237 | 35748 | cordinyana | <button type="ok" label=" Close " /> |
238 | 35356 | jjdelcerro | </controlbar>
|
239 | </antform>
|
||
240 | </target>
|
||
241 | 32745 | cordinyana | |
242 | 35356 | jjdelcerro | <target name="mkproject-build-cancelled"> |
243 | <antform title="Project creation cancelled" width="${form.width}" image="${gvsiglogo}"> |
||
244 | <textProperty label="" editable="false" columns="40" property="form.title" /> |
||
245 | <label>Creation cancelled.</label> |
||
246 | <separator /> |
||
247 | <controlbar>
|
||
248 | <button type="cancel" label=" Close " /> |
||
249 | </controlbar>
|
||
250 | </antform>
|
||
251 | </target>
|
||
252 | |||
253 | <target name="fail"> |
||
254 | <echo>${message}</echo> |
||
255 | <fail message="${message}" /> |
||
256 | </target>
|
||
257 | |||
258 | </project> |