build.xml
author Asier Lostalé <asier.lostale@openbravo.com>
Tue, 07 Jul 2009 09:44:23 +0200
changeset 4288 1d9ad040a512
parent 4287 d3aa261a64fc
child 4856 526ac9cd1d93
permissions -rw-r--r--
0009774: Smartbuild does not run update.database when required by the single record pattern feature merge

smartbuild compiled wad before updating database, this failed whenever there were new database elements that affected wad.
asier@43
     1
<?xml version="1.0" encoding="UTF-8" ?>
asier@43
     2
<!--
juanpablo@1548
     3
*************************************************************************
juanpablo@1548
     4
* The contents of this file are subject to the Openbravo  Public  License
juanpablo@1548
     5
* Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
juanpablo@1548
     6
* Version 1.1  with a permitted attribution clause; you may not  use this
juanpablo@1548
     7
* file except in compliance with the License. You  may  obtain  a copy of
juanpablo@1548
     8
* the License at http://www.openbravo.com/legal/license.html
juanpablo@1548
     9
* Software distributed under the License  is  distributed  on  an "AS IS"
juanpablo@1548
    10
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
juanpablo@1548
    11
* License for the specific  language  governing  rights  and  limitations
juanpablo@1548
    12
* under the License.
juanpablo@1548
    13
* The Original Code is Openbravo ERP.
juanpablo@1548
    14
* The Initial Developer of the Original Code is Openbravo SL
asier@2826
    15
* All portions are Copyright (C) 2001-2009 Openbravo SL
juanpablo@1548
    16
* All Rights Reserved.
juanpablo@1548
    17
* Contributor(s):  ______________________________________.
juanpablo@1548
    18
************************************************************************
asier@43
    19
-->
juanpablo@213
    20
<!--
juanpablo@213
    21
List of targets:
juanpablo@213
    22
juanpablo@213
    23
init: checks if exists the JAVA_HOME var.
juanpablo@213
    24
compile.complete: refer to compile.complete target of src.
juanpablo@213
    25
compile: refer to compile target of src.
juanpablo@213
    26
compile.complete.development: refer to compile.complete.development target of src.
juanpablo@213
    27
compile.development: refer to compile.development target of src.
asier@1929
    28
compile.web: refer to compile.web: target of src.
asier@1929
    29
compile.web.development: refer to compile.web.development: target of src.
juanpablo@213
    30
eclipse.compile: refer to eclipse.compile target of src.
juanpablo@213
    31
eclipse.compile.complete: refer to eclipse.compile.complete target of src.
juanpablo@213
    32
compile.src: refer to compile.src target of src.
juanpablo@213
    33
war: refer to build.war target of src.
juanpablo@213
    34
core.docs: refer to doc target of src-core.
juanpablo@213
    35
core.lib: refer to build target of src-core.
juanpablo@213
    36
eclipse.wad.lib: refer to sqlc target of src-wad.
juanpablo@213
    37
wad.docs: refer to doc target of src-wad.
juanpablo@213
    38
wad.lib: refer to build target of src-wad.
juanpablo@213
    39
eclipse.trl.lib: refer to sqlc target of src-trl.
juanpablo@213
    40
trl.docs: refer to doc target of src-trl.
juanpablo@213
    41
trl.lib: refer to build target of src-trl.
juanpablo@213
    42
database.lib: refer to jar target of src-db.
juanpablo@213
    43
clean: refer to clean target of src.
juanpablo@213
    44
trl.clean: refer to trl.clean target of src.
juanpablo@213
    45
translate: refer to translate target of src.
juanpablo@213
    46
installWebService: refer to installWebService target of src.
juanpablo@213
    47
uninstallWebService: refer to uninstallWebService target of src.
juanpablo@213
    48
preinstall: deprecated.
juanpablo@213
    49
preinstall.complete: deprecated.
juanpablo@213
    50
install: deprecated.
juanpablo@2061
    51
deploy.context: deploy the context into Tomcat using the manager
juanpablo@213
    52
install.source: install the ERP from sources (from subversion).
rafael@3542
    53
eclipse.install.source: install the ERP from sources for eclipse (from Mercurial).
juanpablo@213
    54
create.database: refer to create.database target of database.
juanpablo@213
    55
update.database: refer to update.database target of database.
juanpablo@213
    56
create.database.structure: refer to create.database.structure target of database.
juanpablo@213
    57
update.database.structure: refer to update.database.structure target of database.
juanpablo@213
    58
create.database.script: refer to create.database.script target of database.
juanpablo@213
    59
update.database.script: refer to update.database.script target of database.
juanpablo@213
    60
export.database: exports database structure and data to xml files.
juanpablo@213
    61
export.database.structure: refer to export.database.structure target of database.
juanpablo@213
    62
export.database.data: refer to export.database.data target of database.
juanpablo@213
    63
import.database.data: refer to import.database.data target of database.
juanpablo@213
    64
save.database.model: refer to save.database.model target of database.
juanpablo@213
    65
compare.database.structure: refer to compare.database.structure target of database.
fernando@202
    66
-->
asier@43
    67
<project name="openbravo" default="compile.complete" basedir=".">
martin@2871
    68
  <property environment="env" />
martin@2871
    69
  <property name="base.config" location="config" />
martin@2871
    70
  <property file="${base.config}/Openbravo.properties" />
martin@2871
    71
  <property file="${base.config}/checksums" />
juanpablo@131
    72
martin@2871
    73
  <property name="base.config" location="config" />
martin@2871
    74
  <property name="base.src" location="src" />
martin@3892
    75
  <property name="base.src.test" location="src-test" />
martin@2871
    76
  <property name="base.src.core" location="src-core" />
martin@2871
    77
  <property name="base.src.db" location="src-db" />
martin@2871
    78
  <property name="base.src.trl" location="src-trl" />
martin@2871
    79
  <property name="base.src.wad" location="src-wad" />
martin@2871
    80
  <property name="base.src.gen" location="src-gen" />
martin@3424
    81
  <property name="base.src.test" location="src-test" />
martin@2871
    82
  <property name="base.client.src" location="srcClient" />
martin@2871
    83
  <property name="base.db" location="src-db/database" />
martin@2871
    84
  <property name="base.web" location="web" />
martin@2871
    85
  <property name="base.context" location="WebContent" />
martin@2871
    86
  <property name="base.design" location="${base.context}/src-loc" />
martin@2871
    87
  <property name="base.lib" location="lib" />
martin@2871
    88
  <property name="base.modules" location="modules" />
martin@2871
    89
  <property name="build" location="build/classes" />
martin@2871
    90
  <property name="build.AD" location="srcAD" />
martin@2871
    91
  <property name="build.sqlc" location="build/javasqlc" />
martin@2871
    92
  <property name="build.core.lib" location="src-core/lib" />
martin@2871
    93
  <property name="build.trl.lib" location="src-trl/lib" />
martin@2871
    94
  <property name="build.wad.lib" location="src-wad/lib" />
martin@2871
    95
  <property name="build.docs" location="docs/api" />
martin@2871
    96
  <property name="jakarta.home" location="${env.CATALINA_HOME}" />
martin@2871
    97
  <property name="module" value="%" />
martin@2871
    98
  <property name="apply.on.create" value="false" />
martin@2871
    99
  <property name="obx.export.RD" value="false" />
martin@2871
   100
  <property name="obx.export.DB" value="false" />
martin@2871
   101
  <property name="obx.export.CS" value="false" />
martin@2871
   102
  <property name="chekPerms" value="false" />
antonio@2896
   103
  <property name="force" value="false" />
asier@3008
   104
  <property name="local" value="true" />
asier@4119
   105
  <property name="apply.modules.complete.compilation" value="false" />
asier@4279
   106
  <property name="calculate.core.revision" value="true"/>
asier@2057
   107
asier@4119
   108
asier@4119
   109
  
juanpablo@3965
   110
  <available file=".hg" property="is.hg" />
martin@3038
   111
asier@4279
   112
  <condition property="calculate.core.rev">
asier@4279
   113
   <istrue value="${calculate.core.revision}"/>
asier@4279
   114
  </condition>
asier@4279
   115
  
asier@4279
   116
  <condition property="xml.core.rev">
asier@4279
   117
     <isfalse value="${calculate.core.revision}"/>
asier@4279
   118
  </condition>
asier@4279
   119
  
juanpablo@2522
   120
  <condition property="deploy.mode" value="class">
juanpablo@2522
   121
    <not>
juanpablo@2522
   122
      <isset property="${deploy.mode}" />
juanpablo@2522
   123
    </not>
juanpablo@2522
   124
  </condition>
martin@2345
   125
martin@2871
   126
  <condition property="mode.war">
martin@2871
   127
    <equals arg1="war" arg2="${deploy.mode}" />
martin@2871
   128
  </condition>
martin@2345
   129
martin@2871
   130
  <condition property="mode.class">
martin@2871
   131
    <equals arg1="class" arg2="${deploy.mode}" />
martin@2871
   132
  </condition>
martin@2345
   133
martin@2871
   134
  <condition property="apply.modules.on.create">
martin@2871
   135
    <or>
martin@2871
   136
      <equals arg1="yes" arg2="${apply.on.create}" />
martin@2871
   137
      <equals arg1="true" arg2="${apply.on.create}" />
martin@2871
   138
    </or>
martin@2871
   139
  </condition>
martin@2345
   140
martin@2871
   141
  <condition property="obx.exp.DB">
martin@2871
   142
    <or>
martin@2871
   143
      <equals arg1="yes" arg2="${obx.export.DB}" />
martin@2871
   144
      <equals arg1="true" arg2="${obx.export.DB}" />
martin@2871
   145
    </or>
martin@2871
   146
  </condition>
martin@2345
   147
martin@2871
   148
  <condition property="obx.exp.CS">
martin@2871
   149
    <or>
martin@2871
   150
      <equals arg1="yes" arg2="${obx.export.CS}" />
martin@2871
   151
      <equals arg1="true" arg2="${obx.export.CS}" />
martin@2871
   152
    </or>
martin@2871
   153
  </condition>
asier@43
   154
antonio@3245
   155
  <condition property="timestamp">
antonio@3245
   156
    <or>
antonio@3245
   157
      <equals arg1="no" arg2="${execute.update.build.timestamp}" />
antonio@3245
   158
      <equals arg1="false" arg2="${execute.update.build.timestamp}" />
antonio@3245
   159
    </or>
antonio@3245
   160
  </condition>
antonio@3245
   161
martin@2871
   162
  <condition property="jakarta.base" value="${env.CATALINA_BASE}" else="${jakarta.home}">
martin@2871
   163
    <and>
martin@2871
   164
      <isset property="env.CATALINA_BASE" />
martin@2871
   165
    </and>
martin@2871
   166
  </condition>
martin@2871
   167
  <property name="log.path" location="${jakarta.base}/logs" />
martin@2871
   168
  <property name="lib" location="${jakarta.home}/common" />
martin@2871
   169
  <property name="jakarta.context" location="${jakarta.base}/webapps/${context.name}" />
martin@2871
   170
  <property name="build.maxmemory" value="512M" />
stefan@124
   171
martin@2871
   172
  <condition property="no.java.home" value="true">
martin@2871
   173
    <not>
martin@2871
   174
      <isset property="env.JAVA_HOME" />
martin@2871
   175
    </not>
martin@2871
   176
  </condition>
juanpablo@1548
   177
antonio@2838
   178
  <condition property="bbdd.owner.url" value="${bbdd.url}/${bbdd.sid}" else="${bbdd.url}">
antonio@2838
   179
    <and>
martin@2871
   180
      <equals arg1="${bbdd.rdbms}" arg2="POSTGRE" />
antonio@2838
   181
    </and>
antonio@2838
   182
  </condition>
martin@2345
   183
martin@2871
   184
  <path id="project.class.path">
martin@2871
   185
    <pathelement path="${build}" />
martin@2871
   186
    <pathelement path="${base.src}" />
martin@2871
   187
    <fileset dir="${base.lib}">
martin@2871
   188
      <include name="**/*.jar" />
martin@2871
   189
    </fileset>
martin@2871
   190
    <fileset dir="${build.core.lib}">
martin@2871
   191
      <include name="openbravo-core.jar" />
martin@2871
   192
    </fileset>
martin@2871
   193
    <fileset dir="${build.trl.lib}">
martin@2871
   194
      <include name="openbravo-trl.jar" />
martin@2871
   195
    </fileset>
martin@2871
   196
    <fileset dir="${build.wad.lib}">
martin@2871
   197
      <include name="openbravo-wad.jar" />
martin@2871
   198
    </fileset>
martin@2871
   199
    <fileset dir="${base.lib}">
martin@2871
   200
      <include name="**/*.jar" />
martin@2871
   201
    </fileset>
martin@2871
   202
    <fileset dir="${base.db}/lib/">
martin@2871
   203
      <include name="**/*.jar" />
martin@2871
   204
    </fileset>
martin@2871
   205
    <fileset dir="${base.modules}">
martin@2871
   206
      <include name="*/lib/**" />
martin@2871
   207
    </fileset>
martin@2871
   208
  </path>
martin@2345
   209
martin@2871
   210
  <taskdef resource="axis-tasks.properties" classpathref="project.class.path" />
martin@2345
   211
asier@4277
   212
  <target name="init" depends="code.rev">
martin@2871
   213
    <fail if="no.java.home" message="The environment variable JAVA_HOME is not set." />
martin@2871
   214
  </target>
stefan@124
   215
martin@2871
   216
  <target name="code.rev" depends="set.code.rev">
juanpablo@3965
   217
    <condition property="code.revision" value="${hg.id}" else="0">
juanpablo@3965
   218
      <isset property="hg.id" />
martin@2871
   219
    </condition>
martin@2871
   220
  </target>
ivan@812
   221
juanpablo@3965
   222
  <target name="set.code.rev" if="is.hg">
juanpablo@3965
   223
    <exec executable="hg" outputproperty="hg.id" failifexecutionfails="false">
juanpablo@3965
   224
      <arg value="id"/>
juanpablo@3965
   225
      <arg value="-i"/>
juanpablo@3965
   226
    </exec>
martin@2871
   227
  </target>
asier@43
   228
martin@2871
   229
  <target name="compile.complete" depends="init">
martin@2871
   230
    <ant dir="${base.src}" target="compile.complete" inheritAll="true" inheritRefs="true" />
martin@2871
   231
  </target>
asier@2853
   232
asier@3013
   233
  <target name="smartbuild" depends="init">
martin@3038
   234
    <property name="smart.mode" value="true" />
antonio@2996
   235
    <property name="onlyIfModified" value="true" />
martin@3038
   236
    <antcall target="core.lib" />
asier@4288
   237
    
asier@4288
   238
    <condition property="no.local">
asier@4288
   239
      <not>
asier@4288
   240
        <istrue value="${local}" />
asier@4288
   241
      </not>
asier@4288
   242
    </condition>
asier@4288
   243
    <antcall target="update.database.if.no.local" />
asier@4288
   244
    
martin@3038
   245
    <antcall target="wad.lib" />
asier@3015
   246
martin@3038
   247
    <checksum file="${base.src.wad}/lib/openbravo-wad.jar" algorithm="MD5" property="test.md5.wad" />
martin@3038
   248
martin@3038
   249
    <condition property="new.wad">
martin@3038
   250
      <not>
martin@3038
   251
        <equals arg1="${test.md5.wad}" arg2="${md5.wad}" />
martin@3038
   252
      </not>
martin@3038
   253
    </condition>
martin@3038
   254
martin@3038
   255
    <antcall target="trl.lib" />
asier@4288
   256
    
asier@3758
   257
    <antcall inheritall="true" inheritrefs="true" target="generate.entities.quick" />
martin@2917
   258
asier@3013
   259
    <ant dir="${base.src}" target="smartbuild" inheritAll="true" inheritRefs="true" />
martin@3038
   260
martin@3038
   261
    <antcall target="build.deploy" />
martin@2917
   262
    <!-- only restart tomcat if the restart prop was set to true -->
martin@2917
   263
    <condition property="dorestart">
martin@2917
   264
      <istrue value="${restart}" />
martin@2917
   265
    </condition>
martin@2917
   266
    <antcall target="if.restart.tomcat" />
martin@2871
   267
  </target>
martin@3038
   268
asier@3008
   269
  <target name="update.database.if.no.local" if="no.local">
asier@3008
   270
    <antcall target="update.database" />
asier@3008
   271
  </target>
antonio@2996
   272
asier@2982
   273
  <target name="build.deploy">
martin@3038
   274
    <antcall target="build.deploy.war" />
martin@3038
   275
    <antcall target="build.deploy.class" />
asier@2982
   276
  </target>
martin@3038
   277
asier@2982
   278
  <target name="build.deploy.class" if="mode.class">
asier@2982
   279
    <ant dir="${base.src}" target="copy.files" inheritAll="true" inheritRefs="true" />
asier@2982
   280
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
martin@3038
   281
    <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8" />
asier@2982
   282
  </target>
martin@3038
   283
asier@2982
   284
  <target name="build.deploy.war" if="mode.war">
martin@3038
   285
    <antcall target="war" />
asier@2982
   286
  </target>
martin@2345
   287
martin@2917
   288
  <target name="if.restart.tomcat" if="dorestart">
martin@2917
   289
    <antcall target="tomcat.restart" />
martin@2917
   290
  </target>
martin@2345
   291
martin@2871
   292
  <target name="compile" depends="init">
martin@2871
   293
    <ant dir="${base.src}" target="compile" inheritAll="true" inheritRefs="true" />
martin@2871
   294
  </target>
martin@2345
   295
martin@2871
   296
  <target name="compile.complete.deploy">
martin@2871
   297
    <antcall target="compile.complete.development" />
martin@2871
   298
    <antcall target="compile.complete.war" />
martin@2871
   299
  </target>
asier@43
   300
martin@2871
   301
  <target name="compile.complete.development" depends="init" if="mode.class">
martin@2871
   302
    <ant dir="${base.src}" target="compile.complete.development" inheritAll="true" inheritRefs="true" />
martin@2871
   303
  </target>
asier@43
   304
martin@2871
   305
  <target name="compile.complete.war" depends="init" if="mode.war">
martin@2871
   306
    <antcall target="compile.complete" />
martin@2871
   307
    <antcall target="war" />
martin@2871
   308
  </target>
asier@1929
   309
martin@2871
   310
  <target name="compile.deploy">
martin@2871
   311
    <antcall target="compile.war" />
martin@2871
   312
    <antcall target="compile.development" />
martin@2871
   313
  </target>
martin@2686
   314
martin@2871
   315
  <target name="compile.development" depends="init" if="mode.class">
martin@2871
   316
    <ant dir="${base.src}" target="compile.development" inheritAll="true" inheritRefs="true" />
martin@2871
   317
  </target>
martin@2686
   318
martin@2871
   319
  <target name="validate.database">
martin@2871
   320
    <ant dir="${base.src}" target="validate.database" inheritAll="true" inheritRefs="true" />
martin@2871
   321
  </target>
asier@1929
   322
martin@2871
   323
  <target name="validate.modules">
martin@2871
   324
    <ant dir="${base.src}" target="validate.modules" inheritAll="true" inheritRefs="true" />
martin@2871
   325
  </target>
asier@43
   326
martin@2871
   327
  <target name="compile.war" if="mode.war">
martin@2871
   328
    <antcall target="compile" />
martin@2871
   329
    <antcall target="war" />
martin@2871
   330
  </target>
ivan@1738
   331
martin@2871
   332
  <target name="compile.web" depends="init">
martin@2871
   333
    <ant dir="${base.src}" target="compile.web" inheritAll="true" inheritRefs="true" />
martin@2871
   334
  </target>
asier@43
   335
martin@2871
   336
  <target name="compile.web.development" depends="init">
martin@2871
   337
    <ant dir="${base.src}" target="compile.web.development" inheritAll="true" inheritRefs="true" />
martin@2871
   338
  </target>
martin@2245
   339
martin@2871
   340
  <target name="eclipse.compile" depends="init">
martin@2871
   341
    <ant dir="${base.src.core}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   342
    <ant dir="${base.src.trl}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   343
    <ant dir="${base.src.wad}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   344
    <ant dir="${base.src}" target="eclipse.compile" inheritAll="true" inheritRefs="true" />
martin@2871
   345
    <eclipse.refreshLocal resource="openbravo" depth="infinite" />
martin@2871
   346
    <eclipse.incrementalBuild project="openbravo" kind="incremental" />
martin@2871
   347
  </target>
martin@2284
   348
martin@2871
   349
  <target name="eclipse.compile.complete" depends="init">
martin@2871
   350
    <ant dir="${base.src.core}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   351
    <ant dir="${base.src.trl}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   352
    <ant dir="${base.src.wad}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   353
    <ant dir="${base.src}" target="eclipse.compile.complete" inheritAll="true" inheritRefs="true" />
martin@2871
   354
    <eclipse.refreshLocal resource="openbravo" depth="infinite" />
martin@2871
   355
    <eclipse.incrementalBuild project="openbravo" kind="full" />
martin@2871
   356
  </target>
asier@43
   357
martin@2871
   358
  <target name="compile.src.gen" depends="init">
martin@2871
   359
    <ant dir="${base.src}" target="compile.src.gen" inheritAll="true" inheritRefs="true" />
martin@2871
   360
  </target>
martin@2830
   361
martin@3892
   362
  <target name="generate.java.doc">
martin@4089
   363
    <javadoc sourcepath="${base.src}:${base.src.test}:${build.AD}:${base.src.gen}:build/javasqlc/src/:build/javasqlc/srcAD" Windowtitle="Openbravo ERP 2.50 MP2" access="protected" Header="Openbravo ERP 2.50 MP2" Footer="Openbravo ERP 2.50 MP2" destdir="${build.docs}" linksource="no" maxmemory="1024M">
martin@4089
   364
      <excludepackage name="org.openbravo.erpWindows.*"/>
martin@3892
   365
      <classpath>
martin@3892
   366
        <path refid="project.class.path"/>
martin@3892
   367
        <pathelement path="lib/build/js.jar" />
martin@3892
   368
      </classpath>
martin@4017
   369
      <link href="http://java.sun.com/javase/6/docs/api/"/>
martin@3892
   370
    </javadoc>
martin@3892
   371
  </target>
martin@3892
   372
martin@2871
   373
  <target name="generate.entities">
martin@2871
   374
    <ant dir="${base.src}" target="generate.entities" inheritAll="true" inheritRefs="true" />
martin@2871
   375
  </target>
asier@43
   376
martin@2871
   377
  <target name="generate.entities.quick">
martin@2871
   378
    <ant dir="${base.src}" target="generate.entities.quick" inheritAll="true" inheritRefs="true" />
martin@2871
   379
  </target>
juanpablo@131
   380
martin@3723
   381
  <target name="run.tests">
martin@3723
   382
    <ant dir="${base.src}" target="run.tests" inheritAll="true" inheritRefs="true" />
martin@3723
   383
  </target>
martin@3723
   384
martin@3754
   385
  <target name="run.all.tests">
martin@3754
   386
    <ant dir="${base.src}" target="run.all.tests" inheritAll="true" inheritRefs="true" />
martin@3754
   387
  </target>
martin@3754
   388
martin@3723
   389
  <target name="run.quick.tests">
martin@3723
   390
    <ant dir="${base.src}" target="run.quick.tests" inheritAll="true" inheritRefs="true" />
martin@3723
   391
  </target>
martin@3723
   392
stefan@3934
   393
  <target name="run.api.test.javascript">
stefan@3934
   394
    <ant dir="${base.src}" target="run.api.test.javascript" inheritAll="true" inheritRefs="true" />
ivan@3850
   395
  </target>
asier@3932
   396
  
asier@3932
   397
  <target name="run.api.test.model" 
asier@3932
   398
          description="Checks current xml db model and dictionary API for not-allowed changes. Requires stableDBdir parameter">
asier@3932
   399
    <taskdef name="checkAPI" classname="org.openbravo.ddlutils.task.CheckAPI">
asier@3932
   400
      <classpath refid="project.class.path" />
asier@3932
   401
    </taskdef>
asier@3932
   402
    <checkAPI driver="${bbdd.driver}" 
asier@3932
   403
                  url="${bbdd.owner.url}" 
asier@3932
   404
                  user="${bbdd.user}" 
asier@3932
   405
                  password="${bbdd.password}" 
asier@3932
   406
                  stableDBdir="${stableDBdir}"
asier@3932
   407
                  testDBdir="${base.src.db}/database"
asier@3932
   408
                  verbosity="${bbdd.verbosity}"
asier@3932
   409
                  userId="0" 
asier@3932
   410
                  propertiesFile="${base.config}/Openbravo.properties"/>    
asier@3932
   411
  </target>
ivan@3850
   412
martin@2871
   413
  <target name="export.sample.data" depends="code.rev">
martin@2871
   414
    <ant dir="${base.src}" target="export.sample.data" inheritAll="true" inheritRefs="true" />
martin@2871
   415
  </target>
juanpablo@131
   416
martin@2871
   417
  <target name="import.sample.data" depends="code.rev">
martin@2871
   418
    <ant dir="${base.src}" target="import.sample.data" inheritAll="true" inheritRefs="true" />
martin@2871
   419
  </target>
juanpablo@131
   420
martin@2871
   421
  <target name="compile.src" depends="init">
martin@2871
   422
    <ant dir="${base.src}" target="compile.src" inheritAll="true" inheritRefs="true" />
martin@2871
   423
  </target>
juanpablo@131
   424
martin@2871
   425
  <target name="war" depends="init">
martin@2871
   426
    <ant dir="${base.src}" target="build.war" inheritAll="true" inheritRefs="true" />
martin@2871
   427
  </target>
juanpablo@131
   428
martin@2871
   429
  <target name="core.docs" depends="init">
martin@2871
   430
    <ant dir="${base.src.core}" target="doc" inheritAll="true" inheritRefs="true" />
martin@2871
   431
  </target>
juanpablo@131
   432
martin@2871
   433
  <target name="core.lib" depends="init">
martin@2871
   434
    <ant dir="${base.src.core}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   435
    <antcall target="copy.core.lib" />
martin@2871
   436
  </target>
juanpablo@131
   437
martin@2871
   438
  <target name="copy.core.lib">
asier@2994
   439
    <copy file="${base.src.core}/lib/openbravo-core.jar" todir="${base.lib}/runtime" failonerror="false" />
martin@2871
   440
  </target>
juanpablo@131
   441
martin@2871
   442
  <target name="eclipse.wad.lib" depends="init">
martin@2871
   443
    <ant dir="${base.src.wad}" target="sqlc" inheritAll="true" inheritRefs="true" />
martin@2871
   444
    <eclipse.refreshLocal resource="OpenbravoWAD" depth="infinite" />
martin@2871
   445
    <eclipse.incrementalBuild project="OpenbravoWAD" kind="full" />
martin@2871
   446
  </target>
asier@43
   447
martin@2871
   448
  <target name="wad.docs" depends="init">
martin@2871
   449
    <ant dir="${base.src.wad}" target="doc" inheritAll="true" inheritRefs="true" />
martin@2871
   450
  </target>
juanpablo@179
   451
martin@2871
   452
  <target name="wad.lib" depends="init">
martin@2871
   453
    <ant dir="${base.src.wad}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   454
  </target>
juanpablo@179
   455
martin@2871
   456
  <target name="eclipse.trl.lib" depends="init">
martin@2871
   457
    <ant dir="${base.src.trl}" target="sqlc" inheritAll="true" inheritRefs="true" />
martin@2871
   458
    <eclipse.refreshLocal resource="OpenbravoTrl" depth="infinite" />
martin@2871
   459
    <eclipse.incrementalBuild project="OpenbravoTrl" kind="full" />
martin@2871
   460
  </target>
juanpablo@179
   461
martin@2871
   462
  <target name="trl.docs" depends="init">
martin@2871
   463
    <ant dir="${base.src.trl}" target="doc" inheritAll="true" inheritRefs="true" />
martin@2871
   464
  </target>
asier@43
   465
martin@2871
   466
  <target name="trl.lib" depends="init">
martin@2871
   467
    <ant dir="${base.src.trl}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   468
  </target>
asier@43
   469
martin@2871
   470
  <target name="database.lib" depends="init">
martin@2871
   471
    <ant dir="${base.src.db}" target="jar" inheritAll="true" inheritRefs="true" />
asier@2995
   472
    <copy file="${base.src.db}/build/lib/dbmanager.jar" todir="${base.db}/lib" failonerror="false" />
martin@2871
   473
  </target>
martin@2345
   474
martin@2871
   475
  <target name="clean" depends="init">
martin@2871
   476
    <ant dir="${base.src}" target="clean" inheritAll="true" inheritRefs="true" />
martin@2871
   477
  </target>
martin@2345
   478
martin@2871
   479
  <target name="trl.clean" depends="init">
martin@2871
   480
    <ant dir="${base.src}" target="trl.clean" inheritAll="true" inheritRefs="true" />
martin@2871
   481
  </target>
martin@2345
   482
martin@2871
   483
  <target name="translate" depends="init">
martin@2871
   484
    <ant dir="${base.src}" target="translate" inheritAll="true" inheritRefs="true" />
martin@2871
   485
  </target>
martin@2686
   486
martin@2871
   487
  <target name="translate.modules" depends="init">
martin@2871
   488
    <ant dir="${base.src}" target="translate.modules" inheritAll="true" inheritRefs="true" />
martin@2871
   489
  </target>
martin@2871
   490
martin@2871
   491
  <target name="installWebService" depends="init">
martin@2871
   492
    <ant dir="${base.src}" target="installWebService" inheritAll="true" inheritRefs="true">
martin@2871
   493
      <property name="wsdd" value="1" />
martin@2871
   494
    </ant>
martin@2871
   495
  </target>
martin@2871
   496
martin@2871
   497
  <target name="uninstallWebService" depends="init">
martin@2871
   498
    <ant dir="${base.src}" target="uninstallWebService" inheritAll="true" inheritRefs="true" />
martin@2871
   499
  </target>
martin@2871
   500
martin@2871
   501
  <target name="install.source" depends="init,code.rev">
martin@2871
   502
    <antcall target="database.lib" />
antonio@3053
   503
    <antcall target="create.database" />
asier@3015
   504
    <antcall target="wad.lib" />
asier@3015
   505
    <antcall target="trl.lib" />
asier@2923
   506
martin@2871
   507
    <antcall target="compile.complete.deploy" />
martin@4287
   508
    
martin@4287
   509
    <echo message="applying modules" />    
martin@4287
   510
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
martin@2871
   511
martin@2871
   512
    <antcall target="import.sample.data" />
martin@2871
   513
martin@2871
   514
    <!--
martin@2686
   515
		<antcall target="validate.database" />
martin@2686
   516
		<antcall target="validate.modules" />
martin@2704
   517
		-->
martin@2871
   518
  </target>
juanpablo@131
   519
rafael@3542
   520
  <target name="eclipse.install.source" depends="init,code.rev">
rafael@3542
   521
    <antcall target="database.lib" />
rafael@3542
   522
    <antcall target="create.database" />
rafael@3542
   523
    <eclipse.incrementalBuild project="OpenbravoCore" kind="full"/>
rafael@3542
   524
    <antcall target="eclipse.wad.lib"/>
rafael@3542
   525
    <antcall target="eclipse.trl.lib"/>
rafael@3542
   526
    <antcall target="eclipse.compile.complete"/>
martin@4287
   527
    <echo message="applying modules" />    
martin@4287
   528
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
rafael@3542
   529
    <antcall target="import.sample.data" />
martin@2871
   530
  </target>
asier@43
   531
antonio@3053
   532
  <target name="create.database" depends="init,code.rev, core.lib">
martin@2871
   533
    <antcall target="database.lib" />
asier@3015
   534
    <antcall target="core.lib" />
martin@2871
   535
    <ant dir="${base.db}" antfile="build-create.xml" target="create.database" inheritAll="true" inheritRefs="true" />
martin@2871
   536
    <antcall target="db.apply.modules.sampledata" />
martin@2871
   537
  </target>
antonio@1335
   538
antonio@3844
   539
  <target name="update.database" depends="init,code.rev">
martin@2871
   540
    <antcall target="database.lib" />
asier@3015
   541
    <antcall target="core.lib" />
martin@2871
   542
    <ant dir="${base.db}" target="update.database" inheritAll="true" inheritRefs="true" />
martin@4287
   543
    <antcall target="generate.entities.quick" />
martin@2871
   544
    <antcall target="db.apply.modules" />
martin@2871
   545
  </target>
asier@1929
   546
martin@2871
   547
  <target name="update.database.mod" depends="init,code.rev">
martin@2871
   548
    <antcall target="database.lib" />
asier@3015
   549
    <antcall target="core.lib" />
martin@2871
   550
    <ant dir="${base.db}" target="update.database.mod" inheritAll="true" inheritRefs="true" />
martin@2871
   551
  </target>
asier@43
   552
martin@2871
   553
  <target name="update.customized.database" depends="init,code.rev">
martin@2871
   554
    <antcall target="database.lib" />
asier@3015
   555
    <antcall target="core.lib" />
martin@2871
   556
    <ant dir="${base.db}" target="update.customized.database" inheritAll="true" inheritRefs="true" />
martin@2871
   557
  </target>
antonio@1335
   558
martin@2871
   559
  <target name="create.database.structure" depends="init">
asier@3015
   560
    <antcall target="core.lib" />
martin@2871
   561
    <ant dir="${base.db}" target="create.database.structure" inheritAll="true" inheritRefs="true" />
martin@2871
   562
  </target>
asier@43
   563
martin@2871
   564
  <target name="update.database.structure" depends="init">
asier@3015
   565
    <antcall target="core.lib" />
martin@2871
   566
    <ant dir="${base.db}" target="update.database.structure" inheritAll="true" inheritRefs="true" />
martin@2871
   567
  </target>
asier@43
   568
martin@2871
   569
  <target name="create.database.script" depends="init">
asier@3015
   570
    <antcall target="core.lib" />
martin@2871
   571
    <ant dir="${base.db}" target="create.database.script" inheritAll="true" inheritRefs="true" />
martin@2871
   572
  </target>
asier@43
   573
martin@2871
   574
  <target name="update.database.script" depends="init">
asier@3015
   575
    <antcall target="core.lib" />
martin@2871
   576
    <ant dir="${base.db}" target="update.database.script" inheritAll="true" inheritRefs="true" />
martin@2871
   577
  </target>
adrian@97
   578
martin@2871
   579
  <target name="export.database" depends="init,code.rev">
martin@2871
   580
    <antcall target="database.lib" />
asier@3015
   581
    <antcall target="core.lib" />
martin@2871
   582
    <ant dir="${base.db}" target="export.database.structure" inheritAll="true" inheritRefs="true" />
martin@2871
   583
  </target>
adrian@164
   584
martin@2871
   585
  <target name="export.database.structure" depends="init,code.rev">
asier@3015
   586
    <antcall target="core.lib" />
martin@2871
   587
    <ant dir="${base.db}" target="export.database.structure" inheritAll="true" inheritRefs="true" />
martin@2871
   588
  </target>
asier@43
   589
martin@2871
   590
  <target name="export.config.script" depends="init,code.rev">
asier@3015
   591
    <antcall target="core.lib" />
martin@2871
   592
    <ant dir="${base.db}" target="export.config.script" inheritAll="true" inheritRefs="true" />
martin@2871
   593
  </target>
asier@1929
   594
martin@2871
   595
  <target name="export.database.data" depends="init,code.rev">
asier@3015
   596
    <antcall target="core.lib" />
martin@2871
   597
    <ant dir="${base.db}" target="export.database.data" inheritAll="true" inheritRefs="true" />
martin@2871
   598
  </target>
asier@43
   599
martin@2871
   600
  <target name="import.database.data" depends="init,code.rev">
asier@3015
   601
    <antcall target="core.lib" />
martin@2871
   602
    <ant dir="${base.db}" target="import.database.data" inheritAll="true" inheritRefs="true" />
martin@2871
   603
  </target>
asier@43
   604
martin@2871
   605
  <target name="db.apply.modules" if="apply.modules.on.create">
martin@4287
   606
    <echo message="applying modules" />    
martin@4287
   607
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
martin@2871
   608
  </target>
martin@2345
   609
martin@2871
   610
  <target name="db.apply.modules.sampledata" if="apply.modules.on.create">
martin@4287
   611
    <echo message="applying modules" />    
martin@4287
   612
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
martin@2871
   613
    <antcall target="import.sample.data" />
martin@2871
   614
  </target>
martin@2345
   615
martin@4287
   616
martin@2871
   617
  <target name="apply.modules">
martin@2871
   618
    <echo>Applying ${module} modules...</echo>
martin@2871
   619
    <antcall target="update.database.mod" />
asier@4119
   620
    
martin@4287
   621
    <antcall target="generate.entities" />
martin@4287
   622
    
martin@4287
   623
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
martin@4287
   624
asier@4119
   625
    <condition property="apply.modules.complete.compilation.var">
asier@4119
   626
      <istrue value="${apply.modules.complete.compilation}"  />
asier@4119
   627
    </condition>
asier@4119
   628
    
asier@4119
   629
    <condition property="apply.modules.simple.compilation.var">
asier@4119
   630
      <isfalse value="${apply.modules.complete.compilation.var}" />
asier@4119
   631
    </condition>
asier@4119
   632
    
asier@4119
   633
    <antcall target="apply.modules.compile"/>
asier@4119
   634
  </target>
asier@4119
   635
  
martin@4287
   636
  <target name="apply.module.forked">
martin@4287
   637
    <!-- 
martin@4287
   638
    Note: set reinitializeModel to false because otherwise the dal is re-initialized with classes and a model
martin@4287
   639
    which are not in sync (see issue: https://issues.openbravo.com/view.php?id=9376)
martin@4287
   640
    Note: applyModule can also be moved to a java task to fork it (to prevent this from occuring)
martin@4287
   641
    but then no output is visible for the user.
martin@4287
   642
    -->
martin@4287
   643
    <taskdef name="applyModule" classname="org.openbravo.erpCommon.modules.ApplyModuleTask">
martin@4287
   644
      <classpath refid="project.class.path" />
martin@4287
   645
    </taskdef>
martin@4287
   646
    <applyModule userId="0" propertiesFile="${base.config}/Openbravo.properties"/>
martin@4287
   647
  </target>
martin@4287
   648
martin@4287
   649
  <target name="apply.module">
martin@4287
   650
    <java classname="org.openbravo.erpCommon.modules.ApplyModuleTask" fork="true" maxmemory="${build.maxmemory}">
martin@4287
   651
      <arg line="${base.src}" />
martin@4287
   652
      <classpath refid="project.class.path" />
martin@4287
   653
    </java>
martin@4287
   654
  </target>
asier@4119
   655
  
asier@4119
   656
  <target name="apply.modules.compile">
asier@4119
   657
    <antcall target="apply.modules.compile.simple"/>
asier@4119
   658
    <antcall target="apply.modules.compile.complete"/>
asier@4119
   659
  </target>
asier@4119
   660
  
asier@4119
   661
  <target name="apply.modules.compile.simple" if="apply.modules.simple.compilation.var">
martin@2871
   662
    <antcall target="compile.deploy" />
asier@4119
   663
  </target>
asier@4119
   664
  
asier@4119
   665
  <target name="apply.modules.compile.complete" if="apply.modules.complete.compilation.var">
asier@4119
   666
     <antcall target="compile.complete.deploy" />
martin@2871
   667
  </target>
martin@4106
   668
  
martin@2871
   669
  <!-- 
martin@2345
   670
		apparently this does not overwrite the default catalina_opts, only
martin@2345
   671
		if it is not set will it be set to the value below 
martin@2345
   672
	-->
martin@2871
   673
  <property name="env.CATALINA_OPTS" value="-XX:MaxPermSize=128M" />
martin@2345
   674
martin@2871
   675
  <!-- 
martin@2345
   676
		This task is called from the Openbravo ui, it spawns a java call which again
martin@2345
   677
		calls the restart.tomcat.do task as a spawned task.
martin@2345
   678
	-->
martin@2871
   679
  <target name="tomcat.restart" description="Restart the tomcat server process">
martin@2917
   680
    <echo message="Restarting tomcat..." />
martin@2871
   681
    <java classname="org.openbravo.service.system.RestartTomcat" spawn="true" fork="true" maxmemory="${build.maxmemory}">
martin@2871
   682
      <arg line="${base.src}" />
martin@2871
   683
      <classpath refid="project.class.path" />
martin@2871
   684
    </java>
martin@2871
   685
  </target>
martin@2345
   686
martin@2871
   687
  <!--
martin@2345
   688
		Is called by the org.openbravo.service.system.RestartTomcat class.
martin@2345
   689
	-->
martin@2871
   690
  <target name="tomcat.restart.do" description="Restart the tomcat server process">
martin@2871
   691
    <echo message="Restarting Tomcat at ${env.CATALINA_HOME}" />
martin@2871
   692
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true">
martin@2871
   693
      <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar" />
martin@2871
   694
      <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}" />
martin@2871
   695
      <jvmarg value="-Dcatalina.base=${env.CATALINA_BASE}" />
martin@2871
   696
      <arg line="stop" />
martin@2871
   697
    </java>
martin@2871
   698
    <sleep description="Wait to give tomcat time to stop" seconds="20" />
martin@2871
   699
    <java classname="org.apache.catalina.startup.Bootstrap" failonerror="true" fork="true">
martin@2871
   700
      <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar" />
martin@2871
   701
      <!-- note because CATALINA_OPTS can be multi argument the line attribute has to be used! -->
martin@2871
   702
      <jvmarg line="${env.CATALINA_OPTS}" />
martin@2871
   703
      <jvmarg value="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" />
martin@2871
   704
      <jvmarg value="-Djava.util.logging.config.file=${env.CATALINA_BASE}/conf/logging.properties" />
martin@2871
   705
      <jvmarg value="-Djava.endorsed.dirs=${env.CATALINA_HOME}/endorsed" />
martin@2871
   706
      <jvmarg value="-Dcatalina.base=${env.CATALINA_BASE}" />
martin@2871
   707
      <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}" />
martin@2871
   708
      <jvmarg value="-Djava.io.tmpdir=${env.CATALINA_BASE}/temp" />
martin@2871
   709
      <arg line="start" />
martin@2871
   710
    </java>
martin@2871
   711
  </target>
martin@2345
   712
martin@2871
   713
  <!-- 
martin@2345
   714
		This task is called from the Openbravo ui, it spawns a java call which again
martin@2345
   715
		calls the tomcat.reload.do task as a spawned task.
martin@2345
   716
	-->
martin@2871
   717
  <target name="tomcat.reload" description="Reload the Openbravo context">
martin@2917
   718
    <echo message="Reloading webapp..." />
martin@2871
   719
    <java classname="org.openbravo.service.system.ReloadContext" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" spawn="true" fork="true">
martin@2871
   720
      <arg line="${base.src}" />
martin@2871
   721
      <classpath refid="project.class.path" />
martin@2871
   722
    </java>
martin@2871
   723
  </target>
martin@2345
   724
martin@2871
   725
  <target name="tomcat.reload.do">
martin@2871
   726
    <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
martin@2871
   727
      <classpath refid="project.class.path" />
martin@2871
   728
    </taskdef>
martin@2871
   729
    <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" />
martin@2871
   730
  </target>
adrian@171
   731
martin@2871
   732
  <target name="tomcat.list">
martin@2871
   733
    <taskdef name="list" classname="org.apache.catalina.ant.ListTask">
martin@2871
   734
      <classpath refid="project.class.path" />
martin@2871
   735
    </taskdef>
martin@2871
   736
    <list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" />
martin@2871
   737
  </target>
martin@2345
   738
martin@2871
   739
  <target name="deploy.context">
martin@2871
   740
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
martin@2871
   741
      <classpath refid="project.class.path" />
martin@2871
   742
    </taskdef>
martin@2871
   743
    <taskdef name="deploy.tomcat" classname="org.apache.catalina.ant.DeployTask">
martin@2871
   744
      <classpath refid="project.class.path" />
martin@2871
   745
    </taskdef>
martin@2871
   746
    <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
martin@2871
   747
      <classpath refid="project.class.path" />
martin@2871
   748
    </taskdef>
martin@2345
   749
martin@2871
   750
    <undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" failonerror="false" />
martin@2871
   751
    <deploy.tomcat url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" war="file:${base.lib}/${context.name}.war" />
martin@2871
   752
    <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" />
martin@2871
   753
  </target>
martin@2345
   754
martin@2871
   755
  <target name="generate-wsdd">
martin@2871
   756
    <ant dir="${base.src}" target="generate-wsdd" inheritAll="true" inheritRefs="true" />
martin@2871
   757
  </target>
martin@2345
   758
martin@2871
   759
  <target name="obx.export.database" if="obx.exp.DB">
martin@2871
   760
    <antcall target="export.database" />
martin@2871
   761
  </target>
martin@2345
   762
martin@2871
   763
  <target name="obx.export.config.script" if="obx.exp.CS">
martin@2871
   764
    <antcall target="export.config.script" />
martin@2871
   765
  </target>
martin@2345
   766
martin@2871
   767
  <target name="package.module">
martin@2871
   768
    <taskdef name="extractModule" classname="org.openbravo.erpCommon.modules.ExtractModuleTask">
martin@2871
   769
      <classpath refid="project.class.path" />
martin@2871
   770
    </taskdef>
martin@2345
   771
martin@3038
   772
    <taskdef name="validateModules" classname="org.openbravo.service.system.SystemValidationTask">
martin@3038
   773
      <classpath refid="project.class.path" />
martin@3038
   774
    </taskdef>
martin@3038
   775
martin@3038
   776
    <echo message="Validating Module..." />
martin@3038
   777
    <validateModules moduleJavaPackage="${module}" failOnError="false" userId="0" propertiesFile="${base.config}/Openbravo.properties" type="module" />
martin@3038
   778
martin@2871
   779
    <antcall target="obx.export.database" />
martin@2871
   780
    <antcall target="obx.export.config.script" />
juanpablo@2691
   781
martin@2871
   782
    <extractModule moduleName="${module}" userId="0" propertiesFile="${base.config}/Openbravo.properties" exportRD="${obx.export.RD}" />
martin@2871
   783
  </target>
juanpablo@2691
   784
martin@2871
   785
  <target name="diagnostic">
martin@2871
   786
    <ant dir="src-diagnostics" antfile="build-create.xml" target="build" />
martin@2871
   787
    <ant dir="src-diagnostics" target="check.all" />
martin@2871
   788
  </target>
juanpablo@2691
   789
martin@3038
   790
  <target name="setup.check.os">
martin@2871
   791
    <condition property="osname" value="linux">
martin@2871
   792
      <equals arg1="${os.name}" arg2="Linux" />
martin@2871
   793
    </condition>
juanpablo@3949
   794
    <condition property="osname" value="freebsd6">
martin@2871
   795
      <equals arg1="${os.name}" arg2="FreeBSD" />
martin@2871
   796
    </condition>
martin@2871
   797
    <condition property="osname" value="windows">
martin@2871
   798
      <contains string="${os.name}" substring="Windows" />
martin@2871
   799
    </condition>
martin@2871
   800
    <condition property="osname" value="osx">
martin@2871
   801
      <contains string="${os.name}" substring="OS X" />
martin@2871
   802
    </condition>
juanpablo@4100
   803
    <condition property="osname" value="solaris">
martin@2871
   804
      <or>
martin@2871
   805
        <contains string="${os.name}" substring="Solaris" />
martin@2871
   806
        <contains string="${os.name}" substring="SunOS" />
martin@2871
   807
      </or>
martin@2871
   808
    </condition>
martin@2871
   809
    <condition property="osname" value="openbsd">
martin@2871
   810
      <equals arg1="${os.name}" arg2="OpenBSD" />
martin@2871
   811
    </condition>
martin@2871
   812
    <condition property="osname" value="aix">
martin@2871
   813
      <equals arg1="${os.name}" arg2="AIX" />
martin@2871
   814
    </condition>
martin@2871
   815
    <condition property="osname" value="hpux">
martin@2871
   816
      <equals arg1="${os.name}" arg2="HPUX" />
martin@2871
   817
    </condition>
martin@2871
   818
  </target>
juanpablo@2706
   819
martin@2871
   820
  <target name="setup.check.arch">
martin@2871
   821
    <condition property="osarch" value="">
martin@2871
   822
      <or>
martin@2871
   823
        <equals arg1="${os.arch}" arg2="x86" />
martin@2871
   824
        <equals arg1="${os.arch}" arg2="i386" />
martin@2871
   825
      </or>
martin@2871
   826
    </condition>
martin@2871
   827
    <condition property="osarch" value="-x64">
martin@2871
   828
      <or>
martin@2871
   829
        <equals arg1="${os.arch}" arg2="amd64" />
martin@2871
   830
        <equals arg1="${os.arch}" arg2="x86_64" />
martin@2871
   831
      </or>
martin@2871
   832
    </condition>
martin@2871
   833
    <condition property="osarch" value="-ia64">
martin@2871
   834
      <equals arg1="${os.arch}" arg2="ia64" />
martin@2871
   835
    </condition>
martin@2871
   836
    <condition property="osarch" value="-sparc">
martin@2871
   837
      <equals arg1="${os.arch}" arg2="sparc" />
martin@2871
   838
    </condition>
martin@2871
   839
    <condition property="osarch" value="-ppc">
martin@2871
   840
      <equals arg1="${os.arch}" arg2="ppc" />
martin@2871
   841
    </condition>
martin@2871
   842
  </target>
martin@2871
   843
martin@2871
   844
  <target name="setup.exists.test">
martin@2871
   845
    <condition property="bin.ext" value="exe" else="bin">
martin@2871
   846
      <os family="windows" />
martin@2871
   847
    </condition>
martin@2871
   848
martin@2871
   849
    <available file="config/setup-properties-${osname}${osarch}.${bin.ext}" property="setup.exists" value="true" />
martin@2871
   850
  </target>
martin@2871
   851
martin@2871
   852
  <target name="setup" depends="setup.check.os, setup.check.arch, setup.exists.test" unless="setup.exists">
martin@2871
   853
    <get src="https://dev.openbravo.com/svn/packaging/setup/output/setup-properties-${osname}${osarch}.${bin.ext}" dest="config/setup-properties-${osname}${osarch}.${bin.ext}" verbose="true" />
martin@2871
   854
martin@2871
   855
    <chmod file="config/setup-properties-${osname}${osarch}.${bin.ext}" perm="+x" />
martin@2871
   856
  </target>
juanpablo@2691
   857
asier@4280
   858
  <target name="package.core" depends="init, set.version.number">
asier@4278
   859
	<property name="tmpdir" value="${java.io.tmpdir}/ob.core${core.rev}" />
asier@4278
   860
   
asier@4278
   861
  	<exec executable="hg" >
asier@4278
   862
  		<arg value="archive"/>
asier@4278
   863
  		<arg value="${tmpdir}"/>
asier@4278
   864
  	</exec>
asier@4278
   865
  	
asier@4278
   866
  	<replaceregexp file="${tmpdir}/src-db/database/sourcedata/AD_MODULE.xml"
asier@4279
   867
                   match="(VERSION.*\[CDATA\[).*\..*\.(.*)(\]\])"
asier@4278
   868
                   replace="\1${core.rev}\3"
asier@4278
   869
                   byline="true"/>
asier@4278
   870
    
asier@4280
   871
    <echo message="${hg.id}" file="${tmpdir}/config/instance.revision"/>
asier@4280
   872
    
asier@4279
   873
    <zip destfile="${basedir}/core-${core.rev}.obx" basedir="${tmpdir}"/>
asier@4278
   874
    
asier@4278
   875
    <delete dir="${tmpdir}"/>
asier@4278
   876
asier@4278
   877
   </target>
asier@4279
   878
 
asier@4279
   879
  <target name="set.version.number" depends="set.version.from.file, set.version.calculated"/>
asier@4279
   880
  
asier@4279
   881
  <target name="set.version.calculated" if="calculate.core.rev">
asier@4279
   882
    <echo message="calculating core revision..."/>
asier@4279
   883
    <exec executable="hg" outputproperty="hg.idno" failifexecutionfails="false">
asier@4279
   884
      <arg value="id"/>
asier@4279
   885
      <arg value="-n"/>
asier@4279
   886
    </exec>
asier@4279
   887
    <taskdef name="CoreRevision" classname="org.openbravo.erpCommon.utility.CalculateCoreRevision">
asier@4279
   888
            <classpath refid="project.class.path" />
asier@4279
   889
          </taskdef>
asier@4279
   890
asier@4279
   891
    <CoreRevision hgRevNo="${hg.idno}" revision="core.rev"/>
asier@4279
   892
  </target>
asier@4279
   893
  
asier@4279
   894
  <target name="set.version.from.file" if="xml.core.rev">
asier@4279
   895
    <echo message="reading core revision from xml file..."/>
asier@4279
   896
    <loadfile property="core.rev" srcfile="${basedir}/src-db/database/sourcedata/AD_MODULE.xml">
asier@4279
   897
      <filterchain>
asier@4279
   898
        <linecontains>
asier@4279
   899
          <contains value="VERSION>"/>
asier@4279
   900
        </linecontains>
asier@4279
   901
        <tokenfilter>
asier@4279
   902
            <replaceregex pattern="(.*VERSION.*\[CDATA\[)(.*\..*\..*)(\]\].*)" replace="\2"/>
asier@4279
   903
        </tokenfilter>
asier@4279
   904
      </filterchain>
asier@4279
   905
    </loadfile>
asier@4279
   906
  </target>
asier@43
   907
</project>