build.xml
author Guillermo Álvarez de Eulate <guillermo.alvarez@openbravo.com>
Tue, 24 Apr 2012 17:06:29 +0200
changeset 16194 8f215938f06a
parent 16121 9f69a26123c3
child 16460 8819a81da21b
permissions -rw-r--r--
Related to issue 20192: adding a parameter to setFieldFormProperties

Before the fix, when a field is not shown in form view but displayed in grid view, the property editorProperties.visible is changed by setFieldFormProperties function. This value in the property doesn't allow to the field to get the focus in grid view. To solve it, a second parameter has been added to the function and setted as true in the affected call. If the function is called without setting the new argument its behaviour will be the same as always.
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
priya@9085
     5
* Version  1.1  (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.
ggi@6702
    14
* The Initial Developer of the Original Code is Openbravo SLU
miguel@16121
    15
* All portions are Copyright (C) 2001-2012 Openbravo SLU
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@2061
    48
deploy.context: deploy the context into Tomcat using the manager
juanpablo@213
    49
install.source: install the ERP from sources (from subversion).
rafael@3542
    50
eclipse.install.source: install the ERP from sources for eclipse (from Mercurial).
juanpablo@213
    51
create.database: refer to create.database target of database.
juanpablo@213
    52
update.database: refer to update.database target of database.
juanpablo@213
    53
create.database.script: refer to create.database.script target of database.
juanpablo@213
    54
update.database.script: refer to update.database.script target of database.
juanpablo@213
    55
export.database: exports database structure and data to xml files.
fernando@202
    56
-->
asier@43
    57
<project name="openbravo" default="compile.complete" basedir=".">
martin@2871
    58
  <property environment="env" />
martin@2871
    59
  <property name="base.config" location="config" />
martin@2871
    60
  <property file="${base.config}/Openbravo.properties" />
martin@2871
    61
  <property file="${base.config}/checksums" />
juanpablo@131
    62
martin@2871
    63
  <property name="base.config" location="config" />
martin@2871
    64
  <property name="base.src" location="src" />
martin@3892
    65
  <property name="base.src.test" location="src-test" />
martin@2871
    66
  <property name="base.src.core" location="src-core" />
martin@2871
    67
  <property name="base.src.db" location="src-db" />
martin@2871
    68
  <property name="base.src.trl" location="src-trl" />
martin@2871
    69
  <property name="base.src.wad" location="src-wad" />
martin@2871
    70
  <property name="base.src.gen" location="src-gen" />
martin@2871
    71
  <property name="base.db" location="src-db/database" />
martin@2871
    72
  <property name="base.web" location="web" />
martin@2871
    73
  <property name="base.context" location="WebContent" />
martin@2871
    74
  <property name="base.design" location="${base.context}/src-loc" />
martin@2871
    75
  <property name="base.lib" location="lib" />
martin@2871
    76
  <property name="base.modules" location="modules" />
martin@2871
    77
  <property name="build" location="build/classes" />
antonio@7545
    78
  <property name="build.apply.module" location="build.apply/classes" />
martin@2871
    79
  <property name="build.AD" location="srcAD" />
martin@2871
    80
  <property name="build.sqlc" location="build/javasqlc" />
martin@2871
    81
  <property name="build.core.lib" location="src-core/lib" />
martin@2871
    82
  <property name="build.trl.lib" location="src-trl/lib" />
martin@2871
    83
  <property name="build.wad.lib" location="src-wad/lib" />
martin@2871
    84
  <property name="build.docs" location="docs/api" />
martin@2871
    85
  <property name="jakarta.home" location="${env.CATALINA_HOME}" />
martin@2871
    86
  <property name="module" value="%" />
antonio@6113
    87
  <property name="apply.on.create" value="false" />
antonio@6114
    88
  <property name="apply.on.update" value="true" />
martin@2871
    89
  <property name="obx.export.RD" value="false" />
martin@2871
    90
  <property name="obx.export.DB" value="false" />
martin@2871
    91
  <property name="obx.export.CS" value="false" />
martin@2871
    92
  <property name="chekPerms" value="false" />
antonio@2896
    93
  <property name="force" value="false" />
antonio@7751
    94
  <property name="strict.template.application" value="false" />
antonio@4937
    95
  <property name="rd" value="false" />
asier@3008
    96
  <property name="local" value="true" />
asier@4119
    97
  <property name="apply.modules.complete.compilation" value="false" />
martin@14874
    98
  <property name="calculate.core.revision" value="true"/>
martin@14874
    99
  <property name="stopOnWadError" value="false"/>
martin@14874
   100
  <property name="friendlyWarnings" value="false"/>
martin@14874
   101
  <property name="checkTranslationConsistency" value="true"/>
martin@14874
   102
  <property name="buildValidation" value="true"/>
martin@14875
   103
  <property name="disableCheckReferencedOrganizations" value="false"/>
asier@2057
   104
juanpablo@3965
   105
  <available file=".hg" property="is.hg" />
martin@3038
   106
asier@4279
   107
  <condition property="calculate.core.rev">
martin@14874
   108
   <istrue value="${calculate.core.revision}"/>
asier@4279
   109
  </condition>
martin@14874
   110
  
asier@4279
   111
  <condition property="xml.core.rev">
martin@14874
   112
     <isfalse value="${calculate.core.revision}"/>
asier@4279
   113
  </condition>
martin@14874
   114
  
juanpablo@2522
   115
  <condition property="deploy.mode" value="class">
juanpablo@2522
   116
    <not>
juanpablo@2522
   117
      <isset property="${deploy.mode}" />
juanpablo@2522
   118
    </not>
juanpablo@2522
   119
  </condition>
martin@2345
   120
martin@2871
   121
  <condition property="mode.war">
martin@2871
   122
    <equals arg1="war" arg2="${deploy.mode}" />
martin@2871
   123
  </condition>
martin@2345
   124
martin@2871
   125
  <condition property="mode.class">
martin@2871
   126
    <equals arg1="class" arg2="${deploy.mode}" />
martin@2871
   127
  </condition>
martin@2345
   128
martin@2871
   129
  <condition property="apply.modules.on.create">
martin@2871
   130
    <or>
martin@2871
   131
      <equals arg1="yes" arg2="${apply.on.create}" />
martin@2871
   132
      <equals arg1="true" arg2="${apply.on.create}" />
martin@2871
   133
    </or>
martin@2871
   134
  </condition>
martin@2345
   135
antonio@6114
   136
  <condition property="apply.modules.on.update">
antonio@6114
   137
    <or>
antonio@6114
   138
      <equals arg1="yes" arg2="${apply.on.update}" />
antonio@6114
   139
      <equals arg1="true" arg2="${apply.on.update}" />
antonio@6114
   140
    </or>
antonio@6114
   141
  </condition>
antonio@6114
   142
martin@2871
   143
  <condition property="obx.exp.DB">
martin@2871
   144
    <or>
martin@2871
   145
      <equals arg1="yes" arg2="${obx.export.DB}" />
martin@2871
   146
      <equals arg1="true" arg2="${obx.export.DB}" />
martin@2871
   147
    </or>
martin@2871
   148
  </condition>
martin@2345
   149
martin@2871
   150
  <condition property="obx.exp.CS">
martin@2871
   151
    <or>
martin@2871
   152
      <equals arg1="yes" arg2="${obx.export.CS}" />
martin@2871
   153
      <equals arg1="true" arg2="${obx.export.CS}" />
martin@2871
   154
    </or>
martin@2871
   155
  </condition>
asier@43
   156
antonio@3245
   157
  <condition property="timestamp">
antonio@3245
   158
    <or>
antonio@3245
   159
      <equals arg1="no" arg2="${execute.update.build.timestamp}" />
antonio@3245
   160
      <equals arg1="false" arg2="${execute.update.build.timestamp}" />
antonio@3245
   161
    </or>
antonio@3245
   162
  </condition>
antonio@3245
   163
martin@2871
   164
  <condition property="jakarta.base" value="${env.CATALINA_BASE}" else="${jakarta.home}">
martin@2871
   165
    <and>
martin@2871
   166
      <isset property="env.CATALINA_BASE" />
martin@2871
   167
    </and>
martin@2871
   168
  </condition>
martin@2871
   169
  <property name="log.path" location="${jakarta.base}/logs" />
martin@2871
   170
  <property name="lib" location="${jakarta.home}/common" />
martin@2871
   171
  <property name="jakarta.context" location="${jakarta.base}/webapps/${context.name}" />
asier@6246
   172
juanpablo@6247
   173
  <condition property="build.maxmemory" value="1024M" else="512M">
juanpablo@6247
   174
    <or>
juanpablo@6247
   175
      <equals arg1="${os.arch}" arg2="amd64" />
juanpablo@6247
   176
      <equals arg1="${os.arch}" arg2="x86_64" />
juanpablo@6247
   177
      <equals arg1="${os.arch}" arg2="ia64" />
juanpablo@6247
   178
    </or>
asier@6246
   179
  </condition>
stefan@124
   180
juanpablo@7973
   181
  <condition property="allow.root.user" value="true" else="false">
juanpablo@7973
   182
    <or>
juanpablo@7973
   183
      <equals arg1="yes" arg2="${allow.root}" />
juanpablo@7973
   184
      <equals arg1="true" arg2="${allow.root}" />
juanpablo@7973
   185
    </or>
juanpablo@7973
   186
  </condition>
juanpablo@7973
   187
martin@2871
   188
  <condition property="no.java.home" value="true">
martin@2871
   189
    <not>
martin@2871
   190
      <isset property="env.JAVA_HOME" />
martin@2871
   191
    </not>
martin@2871
   192
  </condition>
juanpablo@1548
   193
antonio@2838
   194
  <condition property="bbdd.owner.url" value="${bbdd.url}/${bbdd.sid}" else="${bbdd.url}">
antonio@2838
   195
    <and>
martin@2871
   196
      <equals arg1="${bbdd.rdbms}" arg2="POSTGRE" />
antonio@2838
   197
    </and>
antonio@2838
   198
  </condition>
juanpablo@7973
   199
juanpablo@7973
   200
  <condition property="root.user">
juanpablo@7973
   201
    <and>
juanpablo@7973
   202
      <equals arg1="${user.name}" arg2="root" />
juanpablo@7973
   203
      <not>
juanpablo@7973
   204
        <contains string="${os.name}" substring="Windows" />
juanpablo@7973
   205
      </not>
juanpablo@7973
   206
      <equals arg1="false" arg2="${allow.root.user}" />
juanpablo@7973
   207
    </and>
juanpablo@7973
   208
  </condition>
juanpablo@7973
   209
stefan@9230
   210
  <!-- Minimal classpath used for executing Wad at compile time -->
stefan@9230
   211
  <path id="wad.class.path">
stefan@9230
   212
    <fileset dir="${base.lib}">
stefan@9230
   213
      <include name="**/*.jar" />
stefan@9230
   214
    </fileset>
stefan@9230
   215
    <fileset dir="${build.core.lib}">
stefan@9230
   216
      <include name="openbravo-core.jar" />
stefan@9230
   217
    </fileset>
stefan@9230
   218
    <fileset dir="${build.wad.lib}">
stefan@9230
   219
      <include name="openbravo-wad.jar" />
stefan@9230
   220
    </fileset>
stefan@9230
   221
  </path>
stefan@9230
   222
martin@2871
   223
  <path id="project.class.path">
antonio@7933
   224
    <dirset dir="${base.modules}">
antonio@7933
   225
      <include name="*/build/classes/" />
antonio@7933
   226
    </dirset>
antonio@10098
   227
    <pathelement path="${basedir}/src-util/modulescript/build/classes/" />
martin@2871
   228
    <pathelement path="${build}" />
martin@2871
   229
    <pathelement path="${base.src}" />
martin@2871
   230
    <fileset dir="${base.lib}">
martin@2871
   231
      <include name="**/*.jar" />
martin@2871
   232
    </fileset>
martin@2871
   233
    <fileset dir="${build.core.lib}">
martin@2871
   234
      <include name="openbravo-core.jar" />
martin@2871
   235
    </fileset>
martin@2871
   236
    <fileset dir="${build.trl.lib}">
martin@2871
   237
      <include name="openbravo-trl.jar" />
martin@2871
   238
    </fileset>
martin@2871
   239
    <fileset dir="${build.wad.lib}">
martin@2871
   240
      <include name="openbravo-wad.jar" />
martin@2871
   241
    </fileset>
martin@2871
   242
    <fileset dir="${base.lib}">
martin@2871
   243
      <include name="**/*.jar" />
martin@2871
   244
    </fileset>
martin@2871
   245
    <fileset dir="${base.db}/lib/">
martin@2871
   246
      <include name="**/*.jar" />
martin@2871
   247
    </fileset>
martin@2871
   248
    <fileset dir="${base.modules}">
martin@2871
   249
      <include name="*/lib/**" />
martin@2871
   250
    </fileset>
antonio@7933
   251
  </path>
antonio@7933
   252
antonio@7933
   253
  <!-- This classpath is needed only for the compile.apply.module task-->
antonio@7933
   254
  <path id="apply.module.compile.classpath">
antonio@6907
   255
    <dirset dir="${base.modules}">
antonio@6907
   256
      <include name="*/build/classes/" />
antonio@6907
   257
    </dirset>
antonio@6907
   258
    <pathelement path="${basedir}/../../src-util/modulescript/build/classes/" />
antonio@7547
   259
    <pathelement path="${build.apply.module}" />
antonio@7547
   260
    <pathelement path="${base.src}" />
antonio@7547
   261
    <fileset dir="${base.lib}">
antonio@7547
   262
      <include name="**/*.jar" />
antonio@7547
   263
    </fileset>
antonio@7547
   264
    <fileset dir="${build.core.lib}">
antonio@7547
   265
      <include name="openbravo-core.jar" />
antonio@7547
   266
    </fileset>
antonio@7547
   267
    <fileset dir="${build.trl.lib}">
antonio@7547
   268
      <include name="openbravo-trl.jar" />
antonio@7547
   269
    </fileset>
antonio@7547
   270
    <fileset dir="${build.wad.lib}">
antonio@7547
   271
      <include name="openbravo-wad.jar" />
antonio@7547
   272
    </fileset>
antonio@7547
   273
    <fileset dir="${base.lib}">
antonio@7547
   274
      <include name="**/*.jar" />
antonio@7547
   275
    </fileset>
antonio@7547
   276
    <fileset dir="${base.db}/lib/">
antonio@7547
   277
      <include name="**/*.jar" />
antonio@7547
   278
    </fileset>
antonio@7547
   279
    <fileset dir="${base.modules}">
antonio@7547
   280
      <include name="*/lib/**" />
antonio@7547
   281
    </fileset>
antonio@7933
   282
  </path>
martin@14874
   283
  
antonio@7933
   284
  <!-- This classpath is needed only for the apply.module task-->
antonio@7933
   285
  <path id="apply.module.runtime.classpath">
antonio@7547
   286
    <dirset dir="${base.modules}">
antonio@7547
   287
      <include name="*/build/classes/" />
antonio@7547
   288
    </dirset>
antonio@7547
   289
    <pathelement path="${basedir}/../../src-util/modulescript/build/classes/" />
antonio@7545
   290
    <pathelement path="${build.apply.module}" />
antonio@7547
   291
    <pathelement path="${build}" />
antonio@7545
   292
    <pathelement path="${base.src}" />
antonio@7545
   293
    <fileset dir="${base.lib}">
antonio@7545
   294
      <include name="**/*.jar" />
antonio@7545
   295
    </fileset>
antonio@7545
   296
    <fileset dir="${build.core.lib}">
antonio@7545
   297
      <include name="openbravo-core.jar" />
antonio@7545
   298
    </fileset>
antonio@7545
   299
    <fileset dir="${build.trl.lib}">
antonio@7545
   300
      <include name="openbravo-trl.jar" />
antonio@7545
   301
    </fileset>
antonio@7545
   302
    <fileset dir="${build.wad.lib}">
antonio@7545
   303
      <include name="openbravo-wad.jar" />
antonio@7545
   304
    </fileset>
antonio@7545
   305
    <fileset dir="${base.lib}">
antonio@7545
   306
      <include name="**/*.jar" />
antonio@7545
   307
    </fileset>
antonio@7545
   308
    <fileset dir="${base.db}/lib/">
antonio@7545
   309
      <include name="**/*.jar" />
antonio@7545
   310
    </fileset>
antonio@7545
   311
    <fileset dir="${base.modules}">
antonio@7545
   312
      <include name="*/lib/**" />
antonio@7545
   313
    </fileset>
antonio@7545
   314
  </path>
martin@14874
   315
  
antonio@5620
   316
  <macrodef name="updatesystemstatus">
martin@14874
   317
     <attribute name="v" default="NOT SET"/>
martin@14874
   318
     <sequential>
martin@14874
   319
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
martin@14874
   320
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
martin@14874
   321
         <transaction> UPDATE ad_system_info SET system_status='@{v}' ;
antonio@5621
   322
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@5621
   323
         </transaction>
martin@14874
   324
       </sql>
martin@14874
   325
     </sequential>
antonio@5620
   326
  </macrodef>
martin@14874
   327
  
martin@2871
   328
  <taskdef resource="axis-tasks.properties" classpathref="project.class.path" />
martin@14874
   329
  
asier@4277
   330
  <target name="init" depends="code.rev">
juanpablo@11543
   331
    <fail if="root.user" message="Don't run ant tasks with the root user" />
martin@2871
   332
    <fail if="no.java.home" message="The environment variable JAVA_HOME is not set." />
martin@2871
   333
  </target>
stefan@124
   334
martin@2871
   335
  <target name="code.rev" depends="set.code.rev">
juanpablo@3965
   336
    <condition property="code.revision" value="${hg.id}" else="0">
juanpablo@3965
   337
      <isset property="hg.id" />
martin@2871
   338
    </condition>
martin@2871
   339
  </target>
ivan@812
   340
juanpablo@3965
   341
  <target name="set.code.rev" if="is.hg">
juanpablo@3965
   342
    <exec executable="hg" outputproperty="hg.id" failifexecutionfails="false">
martin@14874
   343
      <arg value="id"/>
martin@14874
   344
      <arg value="-i"/>
juanpablo@3965
   345
    </exec>
martin@2871
   346
  </target>
asier@43
   347
martin@2871
   348
  <target name="compile.complete" depends="init">
martin@2871
   349
    <ant dir="${base.src}" target="compile.complete" inheritAll="true" inheritRefs="true" />
martin@2871
   350
  </target>
asier@2853
   351
asier@3013
   352
  <target name="smartbuild" depends="init">
martin@3038
   353
    <property name="smart.mode" value="true" />
antonio@2996
   354
    <property name="onlyIfModified" value="true" />
martin@3038
   355
    <antcall target="core.lib" />
martin@14874
   356
    
asier@4288
   357
    <condition property="no.local">
asier@4288
   358
      <not>
asier@4288
   359
        <istrue value="${local}" />
asier@4288
   360
      </not>
asier@4288
   361
    </condition>
asier@4288
   362
    <antcall target="update.database.if.no.local" />
martin@14874
   363
    
martin@3038
   364
    <antcall target="wad.lib" />
martin@14874
   365
    
asier@5228
   366
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@5228
   367
      <classpath refid="project.class.path" />
asier@5228
   368
    </taskdef>
martin@14874
   369
    
martin@14874
   370
    <CheckSumCondition obDir="${basedir}"
martin@14874
   371
                       type="md5.wad"
martin@14874
   372
                       property="test.md5.wad"/>
martin@3038
   373
martin@3038
   374
    <condition property="new.wad">
martin@14874
   375
        <istrue value="${test.md5.wad}"/>
martin@3038
   376
    </condition>
martin@3038
   377
martin@3038
   378
    <antcall target="trl.lib" />
martin@14874
   379
    
asier@3758
   380
    <antcall inheritall="true" inheritrefs="true" target="generate.entities.quick" />
martin@2917
   381
asier@3013
   382
    <ant dir="${base.src}" target="smartbuild" inheritAll="true" inheritRefs="true" />
martin@3038
   383
antonio@7516
   384
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
antonio@5618
   385
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
antonio@4933
   386
    <antcall target="build.deploy" />
martin@14874
   387
    <updatesystemstatus v="RB51"/>
martin@2917
   388
    <!-- only restart tomcat if the restart prop was set to true -->
martin@2917
   389
    <condition property="dorestart">
martin@2917
   390
      <istrue value="${restart}" />
martin@2917
   391
    </condition>
martin@2917
   392
    <antcall target="if.restart.tomcat" />
martin@2871
   393
  </target>
martin@3038
   394
asier@3008
   395
  <target name="update.database.if.no.local" if="no.local">
asier@3008
   396
    <antcall target="update.database" />
asier@3008
   397
  </target>
antonio@2996
   398
asier@2982
   399
  <target name="build.deploy">
martin@3038
   400
    <antcall target="build.deploy.war" />
martin@3038
   401
    <antcall target="build.deploy.class" />
asier@2982
   402
  </target>
martin@3038
   403
asier@2982
   404
  <target name="build.deploy.class" if="mode.class">
asier@2982
   405
    <ant dir="${base.src}" target="copy.files" inheritAll="true" inheritRefs="true" />
asier@2982
   406
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
martin@3038
   407
    <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8" />
asier@2982
   408
  </target>
martin@3038
   409
stefan@9978
   410
  <!-- Only needed in special cases. See issue 15709 for details.
stefan@9978
   411
       This task (if deploy.mode=class) does sync jar-files from WebContent -> deployed webapp (& delete orphan jars)
stefan@9978
   412
  -->
stefan@9978
   413
  <target name="copy.files.jarsync" depends="init" if="mode.class">
stefan@9978
   414
    <ant dir="${base.src}" target="copy.files.jarsync.do" inheritAll="true" inheritRefs="true" />
stefan@9978
   415
  </target>
stefan@9978
   416
asier@2982
   417
  <target name="build.deploy.war" if="mode.war">
martin@3038
   418
    <antcall target="war" />
asier@2982
   419
  </target>
martin@2345
   420
martin@2917
   421
  <target name="if.restart.tomcat" if="dorestart">
martin@2917
   422
    <antcall target="tomcat.restart" />
martin@2917
   423
  </target>
martin@2345
   424
martin@2871
   425
  <target name="compile" depends="init">
martin@2871
   426
    <ant dir="${base.src}" target="compile" inheritAll="true" inheritRefs="true" />
martin@2871
   427
  </target>
martin@2345
   428
antonio@6918
   429
  <target name="buildvalidation" depends="init, core.lib">
martin@14874
   430
    <updatesystemstatus v="RB11"/> 
antonio@7974
   431
    <condition property="buildValidation.var">
martin@14874
   432
      <istrue value="${buildValidation}"  />
antonio@7974
   433
    </condition>
antonio@6918
   434
    <ant dir="src-util/buildvalidation" target="buildvalidation" inheritAll="true" inheritRefs="true" />
antonio@6907
   435
  </target>
martin@14874
   436
  
antonio@6907
   437
  <target name="compile.buildvalidation" depends="init, core.lib">
antonio@6907
   438
    <ant dir="src-util/buildvalidation" target="compile" inheritAll="true" inheritRefs="true" />
antonio@6907
   439
  </target>
martin@14874
   440
  
antonio@6907
   441
  <target name="compile.modulescript" depends="init, core.lib">
antonio@6907
   442
    <ant dir="src-util/modulescript" target="compile" inheritAll="true" inheritRefs="true" />
antonio@6907
   443
  </target>
antonio@6907
   444
antonio@7539
   445
  <target name="compile.complete.deploy" depends="compile.complete.development, compile.complete.war">
antonio@7516
   446
asier@5225
   447
    <!-- Calculate wad checksum to enable smartbuild-->
asier@5228
   448
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@5228
   449
      <classpath refid="project.class.path" />
asier@5228
   450
    </taskdef>
martin@14874
   451
    
martin@14874
   452
    <CheckSumCondition obDir="${basedir}"
martin@14874
   453
                           type="md5.wad"
martin@14874
   454
                           property="test.md5.wad"/>
martin@2871
   455
  </target>
asier@43
   456
asier@7208
   457
  <target name="compile.complete.development" depends="init" unless="mode.war">
martin@14874
   458
    <updatesystemstatus v="RB43"/>
martin@2871
   459
    <ant dir="${base.src}" target="compile.complete.development" inheritAll="true" inheritRefs="true" />
martin@2871
   460
  </target>
asier@43
   461
martin@2871
   462
  <target name="compile.complete.war" depends="init" if="mode.war">
martin@14874
   463
    <updatesystemstatus v="RB43"/>
martin@2871
   464
    <antcall target="compile.complete" />
martin@2871
   465
    <antcall target="war" />
martin@2871
   466
  </target>
asier@1929
   467
stefan@5405
   468
  <target name="compile.deploy" depends="compile.war, compile.development">
martin@14874
   469
    <updatesystemstatus v="RB51"/>
martin@2871
   470
  </target>
martin@2686
   471
asier@7208
   472
  <target name="compile.development" depends="init" unless="mode.war">
martin@2871
   473
    <ant dir="${base.src}" target="compile.development" inheritAll="true" inheritRefs="true" />
martin@2871
   474
  </target>
martin@2686
   475
martin@2871
   476
  <target name="validate.database">
martin@2871
   477
    <ant dir="${base.src}" target="validate.database" inheritAll="true" inheritRefs="true" />
martin@2871
   478
  </target>
asier@1929
   479
martin@2871
   480
  <target name="validate.modules">
martin@2871
   481
    <ant dir="${base.src}" target="validate.modules" inheritAll="true" inheritRefs="true" />
martin@2871
   482
  </target>
asier@43
   483
martin@2871
   484
  <target name="compile.war" if="mode.war">
asier@7209
   485
    <antcall target="generate.entities" />
martin@2871
   486
    <antcall target="compile" />
martin@2871
   487
    <antcall target="war" />
martin@2871
   488
  </target>
ivan@1738
   489
martin@2871
   490
  <target name="compile.web" depends="init">
martin@2871
   491
    <ant dir="${base.src}" target="compile.web" inheritAll="true" inheritRefs="true" />
martin@2871
   492
  </target>
asier@43
   493
martin@2871
   494
  <target name="compile.web.development" depends="init">
martin@2871
   495
    <ant dir="${base.src}" target="compile.web.development" inheritAll="true" inheritRefs="true" />
martin@2871
   496
  </target>
martin@2245
   497
martin@2871
   498
  <target name="eclipse.compile" depends="init">
ivan@6003
   499
    <fail unless="eclipse.running" message="eclipse.* tasks must be executed inside Eclipse" />
martin@2871
   500
    <ant dir="${base.src.core}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   501
    <ant dir="${base.src.trl}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   502
    <ant dir="${base.src.wad}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   503
    <ant dir="${base.src}" target="eclipse.compile" inheritAll="true" inheritRefs="true" />
ivan@6003
   504
    <echo message="Refreshing project..." level="info" />
martin@2871
   505
    <eclipse.refreshLocal resource="openbravo" depth="infinite" />
ivan@6003
   506
    <echo message="Building project..." level="info" />
martin@2871
   507
    <eclipse.incrementalBuild project="openbravo" kind="incremental" />
martin@2871
   508
  </target>
martin@2284
   509
martin@2871
   510
  <target name="eclipse.compile.complete" depends="init">
ivan@6003
   511
    <fail unless="eclipse.running" message="eclipse.* tasks must be executed inside Eclipse" />
martin@2871
   512
    <ant dir="${base.src.core}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   513
    <ant dir="${base.src.trl}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   514
    <ant dir="${base.src.wad}" target="build.jar" inheritAll="true" inheritRefs="true" />
martin@2871
   515
    <ant dir="${base.src}" target="eclipse.compile.complete" inheritAll="true" inheritRefs="true" />
ivan@6003
   516
    <echo message="Refreshing project..." level="info" />
martin@2871
   517
    <eclipse.refreshLocal resource="openbravo" depth="infinite" />
ivan@6003
   518
    <echo message="Building project..." level="info" />
martin@2871
   519
    <eclipse.incrementalBuild project="openbravo" kind="full" />
martin@2871
   520
  </target>
asier@43
   521
martin@2871
   522
  <target name="compile.src.gen" depends="init">
martin@2871
   523
    <ant dir="${base.src}" target="compile.src.gen" inheritAll="true" inheritRefs="true" />
martin@2871
   524
  </target>
martin@2830
   525
martin@3892
   526
  <target name="generate.java.doc">
martin@5205
   527
    <javadoc sourcepath="${base.src}:${base.src.test}:${build.AD}:${base.src.core}/src:${base.src.gen}:build/javasqlc/src/:build/javasqlc/srcAD" Windowtitle="${title}" access="protected" Header="${header}" Footer="${footer}" destdir="${build.docs}" linksource="no" maxmemory="1024M">
martin@14874
   528
      <excludepackage name="org.openbravo.erpWindows.*"/>
martin@3892
   529
      <classpath>
martin@14874
   530
        <path refid="project.class.path"/>
martin@3892
   531
        <pathelement path="lib/build/js.jar" />
martin@3892
   532
      </classpath>
martin@14874
   533
      <link href="http://java.sun.com/javase/6/docs/api/"/>
martin@3892
   534
    </javadoc>
martin@3892
   535
  </target>
martin@3892
   536
martin@2871
   537
  <target name="generate.entities">
martin@2871
   538
    <ant dir="${base.src}" target="generate.entities" inheritAll="true" inheritRefs="true" />
martin@2871
   539
  </target>
asier@43
   540
martin@2871
   541
  <target name="generate.entities.quick">
martin@2871
   542
    <ant dir="${base.src}" target="generate.entities.quick" inheritAll="true" inheritRefs="true" />
martin@2871
   543
  </target>
juanpablo@131
   544
stefan@11851
   545
  <!-- build-internal forking helper -->
stefan@11851
   546
  <target name="generate.entities.quick.forked">
stefan@11851
   547
    <ant dir="${base.src}" target="generate.entities.quick.forked" inheritAll="true" inheritRefs="true" />
stefan@11851
   548
  </target>
stefan@11851
   549
stefan@5683
   550
  <target name="run.tests" depends="init">
martin@3723
   551
    <ant dir="${base.src}" target="run.tests" inheritAll="true" inheritRefs="true" />
martin@3723
   552
  </target>
martin@3723
   553
stefan@5683
   554
  <target name="run.all.tests" depends="init">
martin@3754
   555
    <ant dir="${base.src}" target="run.all.tests" inheritAll="true" inheritRefs="true" />
martin@3754
   556
  </target>
martin@3754
   557
priya@6948
   558
  <target name="run.webservice.tests" depends="init">
martin@14874
   559
      <ant dir="${base.src}" target="run.webservice.tests" inheritAll="true" inheritRefs="true" />
priya@6948
   560
  </target>
priya@6948
   561
stefan@5683
   562
  <target name="run.quick.tests" depends="init">
martin@3723
   563
    <ant dir="${base.src}" target="run.quick.tests" inheritAll="true" inheritRefs="true" />
martin@3723
   564
  </target>
martin@3723
   565
stefan@3934
   566
  <target name="run.api.test.javascript">
stefan@3934
   567
    <ant dir="${base.src}" target="run.api.test.javascript" inheritAll="true" inheritRefs="true" />
ivan@3850
   568
  </target>
martin@14874
   569
  
martin@14874
   570
  <target name="run.api.test.model" 
martin@14874
   571
          description="Checks current xml db model and dictionary API for not-allowed changes. Requires stableDBdir parameter">
stefan@9386
   572
    <taskdef name="checkAPI" classname="org.openbravo.ddlutils.task.CheckAPIDistribution">
asier@3932
   573
      <classpath refid="project.class.path" />
asier@3932
   574
    </taskdef>
martin@14874
   575
    <checkAPI driver="${bbdd.driver}" 
martin@14874
   576
                  url="${bbdd.owner.url}" 
martin@14874
   577
                  user="${bbdd.user}" 
martin@14874
   578
                  password="${bbdd.password}" 
martin@14874
   579
                  stableDBdir="${stableDBdir}"
martin@14874
   580
                  testDBdir="${basedir}"
martin@14874
   581
                  verbosity="${bbdd.verbosity}"
martin@14874
   582
    />    
asier@3932
   583
  </target>
ivan@3850
   584
martin@2871
   585
  <target name="export.sample.data" depends="code.rev">
martin@2871
   586
    <ant dir="${base.src}" target="export.sample.data" inheritAll="true" inheritRefs="true" />
martin@2871
   587
  </target>
juanpablo@131
   588
martin@2871
   589
  <target name="import.sample.data" depends="code.rev">
martin@2871
   590
    <ant dir="${base.src}" target="import.sample.data" inheritAll="true" inheritRefs="true" />
martin@2871
   591
  </target>
juanpablo@131
   592
martin@2871
   593
  <target name="compile.src" depends="init">
martin@2871
   594
    <ant dir="${base.src}" target="compile.src" inheritAll="true" inheritRefs="true" />
martin@2871
   595
  </target>
juanpablo@131
   596
martin@2871
   597
  <target name="war" depends="init">
martin@2871
   598
    <ant dir="${base.src}" target="build.war" inheritAll="true" inheritRefs="true" />
martin@2871
   599
  </target>
juanpablo@131
   600
martin@2871
   601
  <target name="core.docs" depends="init">
martin@2871
   602
    <ant dir="${base.src.core}" target="doc" inheritAll="true" inheritRefs="true" />
martin@2871
   603
  </target>
juanpablo@131
   604
martin@2871
   605
  <target name="core.lib" depends="init">
martin@2871
   606
    <ant dir="${base.src.core}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   607
    <antcall target="copy.core.lib" />
martin@2871
   608
  </target>
juanpablo@131
   609
martin@2871
   610
  <target name="copy.core.lib">
asier@2994
   611
    <copy file="${base.src.core}/lib/openbravo-core.jar" todir="${base.lib}/runtime" failonerror="false" />
martin@2871
   612
  </target>
juanpablo@131
   613
martin@2871
   614
  <target name="eclipse.wad.lib" depends="init">
martin@2871
   615
    <ant dir="${base.src.wad}" target="sqlc" inheritAll="true" inheritRefs="true" />
martin@2871
   616
    <eclipse.refreshLocal resource="OpenbravoWAD" depth="infinite" />
martin@2871
   617
    <eclipse.incrementalBuild project="OpenbravoWAD" kind="full" />
martin@2871
   618
  </target>
asier@43
   619
martin@2871
   620
  <target name="wad.docs" depends="init">
martin@2871
   621
    <ant dir="${base.src.wad}" target="doc" inheritAll="true" inheritRefs="true" />
martin@2871
   622
  </target>
juanpablo@179
   623
martin@2871
   624
  <target name="wad.lib" depends="init">
martin@2871
   625
    <ant dir="${base.src.wad}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   626
  </target>
juanpablo@179
   627
martin@2871
   628
  <target name="eclipse.trl.lib" depends="init">
martin@2871
   629
    <ant dir="${base.src.trl}" target="sqlc" inheritAll="true" inheritRefs="true" />
martin@2871
   630
    <eclipse.refreshLocal resource="OpenbravoTrl" depth="infinite" />
martin@2871
   631
    <eclipse.incrementalBuild project="OpenbravoTrl" kind="full" />
martin@2871
   632
  </target>
juanpablo@179
   633
martin@2871
   634
  <target name="trl.docs" depends="init">
martin@2871
   635
    <ant dir="${base.src.trl}" target="doc" inheritAll="true" inheritRefs="true" />
martin@2871
   636
  </target>
asier@43
   637
martin@2871
   638
  <target name="trl.lib" depends="init">
martin@2871
   639
    <ant dir="${base.src.trl}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   640
  </target>
asier@43
   641
martin@2871
   642
  <target name="database.lib" depends="init">
martin@2871
   643
    <ant dir="${base.src.db}" target="jar" inheritAll="true" inheritRefs="true" />
asier@2995
   644
    <copy file="${base.src.db}/build/lib/dbmanager.jar" todir="${base.db}/lib" failonerror="false" />
martin@2871
   645
  </target>
martin@2345
   646
martin@2871
   647
  <target name="clean" depends="init">
martin@2871
   648
    <ant dir="${base.src}" target="clean" inheritAll="true" inheritRefs="true" />
martin@2871
   649
  </target>
martin@2345
   650
martin@2871
   651
  <target name="trl.clean" depends="init">
martin@2871
   652
    <ant dir="${base.src}" target="trl.clean" inheritAll="true" inheritRefs="true" />
martin@2871
   653
  </target>
martin@2345
   654
stefan@11820
   655
  <target name="trl.remove.unused" depends="init">
stefan@11820
   656
    <ant dir="${base.src}" target="trl.remove.unused" inheritAll="true" inheritRefs="true" />
stefan@11820
   657
  </target>
stefan@11820
   658
martin@2871
   659
  <target name="translate" depends="init">
martin@2871
   660
    <ant dir="${base.src}" target="translate" inheritAll="true" inheritRefs="true" />
martin@2871
   661
  </target>
martin@2686
   662
martin@2871
   663
  <target name="translate.modules" depends="init">
martin@2871
   664
    <ant dir="${base.src}" target="translate.modules" inheritAll="true" inheritRefs="true" />
martin@2871
   665
  </target>
martin@2871
   666
martin@2871
   667
  <target name="installWebService" depends="init">
martin@2871
   668
    <ant dir="${base.src}" target="installWebService" inheritAll="true" inheritRefs="true">
martin@2871
   669
      <property name="wsdd" value="1" />
martin@2871
   670
    </ant>
martin@2871
   671
  </target>
martin@2871
   672
martin@2871
   673
  <target name="uninstallWebService" depends="init">
martin@2871
   674
    <ant dir="${base.src}" target="uninstallWebService" inheritAll="true" inheritRefs="true" />
martin@2871
   675
  </target>
martin@2871
   676
miguel@16121
   677
  <target name="install.source" depends="init, cleanSubfolders, create.database, wad.lib, trl.lib, compile.complete.deploy">
martin@14874
   678
    <echo message="applying modules" />    
antonio@7539
   679
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
antonio@5618
   680
martin@2871
   681
    <antcall target="import.sample.data" />
antonio@4965
   682
    <antcall target="load.logoimages" />
martin@14874
   683
    <updatesystemstatus v="RB51"/> 
antonio@5629
   684
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
martin@2871
   685
martin@2871
   686
    <!--
martin@2686
   687
		<antcall target="validate.database" />
martin@2686
   688
		<antcall target="validate.modules" />
martin@2704
   689
		-->
martin@2871
   690
  </target>
juanpablo@131
   691
miguel@16121
   692
  <target name="eclipse.install.source" depends="init, cleanSubfolders, create.database">
ivan@6003
   693
    <fail unless="eclipse.running" message="eclipse.* tasks must be executed inside Eclipse" />
ivan@6003
   694
    <echo message="Building OpenbravoCore project..." level="info" />
martin@14874
   695
    <eclipse.incrementalBuild project="OpenbravoCore" kind="full"/>
martin@14874
   696
    <antcall target="eclipse.wad.lib"/>
martin@14874
   697
    <antcall target="eclipse.trl.lib"/>
martin@14874
   698
    <antcall target="eclipse.compile.complete"/>
martin@14874
   699
    <echo message="applying modules" />    
martin@4287
   700
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
rafael@3542
   701
    <antcall target="import.sample.data" />
martin@14874
   702
    <updatesystemstatus v="RB51"/>
antonio@6506
   703
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
martin@2871
   704
  </target>
asier@43
   705
stefan@5405
   706
  <target name="create.database" depends="init, core.lib, database.lib">
martin@2871
   707
    <ant dir="${base.db}" antfile="build-create.xml" target="create.database" inheritAll="true" inheritRefs="true" />
martin@2871
   708
    <antcall target="db.apply.modules.sampledata" />
martin@2871
   709
  </target>
antonio@1335
   710
antonio@6918
   711
  <target name="update.database" depends="init, core.lib, database.lib, buildvalidation">
martin@14874
   712
    <updatesystemstatus v="RB12"/>
antonio@4870
   713
    <ant dir="${base.db}" target="update.database.java" inheritAll="true" inheritRefs="true" />
martin@4287
   714
    <antcall target="generate.entities.quick" />
antonio@7539
   715
    <antcall target="apply.module" />
martin@2871
   716
  </target>
asier@1929
   717
antonio@6918
   718
  <target name="update.database.mod" depends="init, core.lib, database.lib, buildvalidation">
martin@14874
   719
    <updatesystemstatus v="RB12"/>
antonio@7549
   720
    <ant dir="${base.db}" target="update.database.mod.java" inheritAll="true" inheritRefs="true" />
antonio@7539
   721
    <antcall target="generate.entities.quick" />
antonio@7539
   722
    <antcall target="apply.module" />
martin@2871
   723
  </target>
asier@43
   724
stefan@5405
   725
  <target name="create.database.script" depends="init, core.lib">
martin@2871
   726
    <ant dir="${base.db}" target="create.database.script" inheritAll="true" inheritRefs="true" />
martin@2871
   727
  </target>
asier@43
   728
stefan@5405
   729
  <target name="update.database.script" depends="init, core.lib">
martin@2871
   730
    <ant dir="${base.db}" target="update.database.script" inheritAll="true" inheritRefs="true" />
martin@2871
   731
  </target>
adrian@97
   732
antonio@5420
   733
  <target name="export.database" depends="init, core.lib, database.lib, generate.entities.quick">
martin@2871
   734
    <ant dir="${base.db}" target="export.database.structure" inheritAll="true" inheritRefs="true" />
martin@2871
   735
  </target>
adrian@164
   736
stefan@5405
   737
  <target name="export.config.script" depends="init, core.lib">
martin@2871
   738
    <ant dir="${base.db}" target="export.config.script" inheritAll="true" inheritRefs="true" />
martin@2871
   739
  </target>
asier@1929
   740
antonio@6114
   741
  <target name="db.apply.modules" if="apply.modules.on.update">
antonio@6080
   742
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
antonio@6080
   743
  </target>
antonio@6080
   744
martin@2871
   745
  <target name="db.apply.modules.sampledata" if="apply.modules.on.create">
antonio@5103
   746
    <antcall target="generate.entities" />
martin@4287
   747
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
martin@2871
   748
    <antcall target="import.sample.data" />
antonio@4965
   749
    <antcall target="load.logoimages" />
martin@2871
   750
  </target>
martin@2345
   751
martin@4287
   752
antonio@8505
   753
  <target name="apply.modules">
martin@4287
   754
asier@4119
   755
    <condition property="apply.modules.complete.compilation.var">
martin@14874
   756
      <istrue value="${apply.modules.complete.compilation}"  />
asier@4119
   757
    </condition>
martin@14874
   758
    
asier@4119
   759
    <condition property="apply.modules.simple.compilation.var">
asier@4119
   760
      <isfalse value="${apply.modules.complete.compilation.var}" />
asier@4119
   761
    </condition>
antonio@7520
   762
martin@14874
   763
    <updatesystemstatus v="RB43"/>
martin@14874
   764
    <antcall target="apply.modules.compile"/>
antonio@7520
   765
antonio@5614
   766
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
antonio@7520
   767
asier@4119
   768
  </target>
martin@14874
   769
  
martin@4287
   770
  <target name="apply.module.forked">
martin@4287
   771
    <!-- 
martin@4287
   772
    Note: set reinitializeModel to false because otherwise the dal is re-initialized with classes and a model
martin@4287
   773
    which are not in sync (see issue: https://issues.openbravo.com/view.php?id=9376)
martin@4287
   774
    Note: applyModule can also be moved to a java task to fork it (to prevent this from occuring)
martin@4287
   775
    but then no output is visible for the user.
martin@4287
   776
    -->
martin@4287
   777
    <taskdef name="applyModule" classname="org.openbravo.erpCommon.modules.ApplyModuleTask">
martin@4287
   778
      <classpath refid="project.class.path" />
martin@4287
   779
    </taskdef>
antonio@15522
   780
    <applyModule userId="0" adminMode="true" forceRefData="${forceRefData}" propertiesFile="${base.config}/Openbravo.properties"/>
martin@4287
   781
  </target>
martin@14874
   782
  
antonio@7539
   783
  <target name="compile.apply.module" depends="init">
martin@14874
   784
    <updatesystemstatus v="RB31"/>
antonio@7539
   785
    <ant dir="${base.src}" target="compile.apply.module" inheritAll="true" inheritRefs="true" />
antonio@7539
   786
  </target>
martin@14874
   787
  
antonio@7545
   788
  <!--
antonio@7545
   789
  This task uses a special classpath.
antonio@7545
   790
  This classpath is equivalent to the normal project.class.path, except for the fact that that the normal build folder
antonio@7545
   791
  is replaced by the apply.module.build folder, in which the ApplyModule task related classes will be compiled.
antonio@7545
   792
  This is done to workaround the fact that the javac task needs to compile all the related classes when upgrading openbravo
antonio@7545
   793
  and if the normal build folder is included, none of them are recompiled by default unless the whole build directory is specified.
antonio@7545
   794
  -->
antonio@7539
   795
  <target name="apply.module" depends="compile.apply.module">
antonio@6533
   796
    <java classname="org.openbravo.erpCommon.modules.ApplyModuleTask" fork="true" maxmemory="${build.maxmemory}" failonerror="true">
antonio@15522
   797
      <arg line="'${base.src}' '${friendlyWarnings}' '${forceRefData}'" />
antonio@7547
   798
      <classpath refid="apply.module.runtime.classpath" />
martin@4287
   799
    </java>
martin@14874
   800
   <delete includeEmptyDirs="true"  dir="${build.apply.module}" />
martin@4287
   801
  </target>
martin@14874
   802
  
asier@6227
   803
  <target name="apply.modules.compile" depends="wad.lib">
martin@14874
   804
    <antcall target="apply.modules.compile.simple"/>
martin@14874
   805
    <antcall target="apply.modules.compile.complete"/>
asier@4119
   806
  </target>
martin@14874
   807
  
asier@4119
   808
  <target name="apply.modules.compile.simple" if="apply.modules.simple.compilation.var">
martin@2871
   809
    <antcall target="compile.deploy" />
asier@4119
   810
  </target>
martin@14874
   811
  
asier@4119
   812
  <target name="apply.modules.compile.complete" if="apply.modules.complete.compilation.var">
martin@14874
   813
     <antcall target="compile.complete.deploy" />
martin@2871
   814
  </target>
martin@14874
   815
  
martin@2871
   816
  <!-- 
martin@2345
   817
		apparently this does not overwrite the default catalina_opts, only
martin@2345
   818
		if it is not set will it be set to the value below 
martin@2345
   819
	-->
martin@2871
   820
  <property name="env.CATALINA_OPTS" value="-XX:MaxPermSize=128M" />
martin@2345
   821
martin@2871
   822
  <!-- 
martin@2345
   823
		This task is called from the Openbravo ui, it spawns a java call which again
martin@2345
   824
		calls the restart.tomcat.do task as a spawned task.
martin@2345
   825
	-->
martin@2871
   826
  <target name="tomcat.restart" description="Restart the tomcat server process">
martin@2917
   827
    <echo message="Restarting tomcat..." />
martin@2871
   828
    <java classname="org.openbravo.service.system.RestartTomcat" spawn="true" fork="true" maxmemory="${build.maxmemory}">
martin@2871
   829
      <arg line="${base.src}" />
martin@2871
   830
      <classpath refid="project.class.path" />
martin@2871
   831
    </java>
martin@2871
   832
  </target>
martin@2345
   833
martin@2871
   834
  <!--
martin@2345
   835
		Is called by the org.openbravo.service.system.RestartTomcat class.
martin@2345
   836
	-->
martin@2871
   837
  <target name="tomcat.restart.do" description="Restart the tomcat server process">
martin@2871
   838
    <echo message="Restarting Tomcat at ${env.CATALINA_HOME}" />
martin@2871
   839
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true">
martin@2871
   840
      <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar" />
martin@2871
   841
      <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}" />
martin@2871
   842
      <jvmarg value="-Dcatalina.base=${env.CATALINA_BASE}" />
martin@2871
   843
      <arg line="stop" />
martin@2871
   844
    </java>
martin@2871
   845
    <sleep description="Wait to give tomcat time to stop" seconds="20" />
stefan@9978
   846
stefan@9978
   847
    <!-- if deploy.mode=class this will sync (& delete orphan) jarfiles from WebContent -> tomcat-->
martin@14874
   848
    <antcall target="copy.files.jarsync"/>
stefan@9978
   849
stefan@9978
   850
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true" spawn="true">
martin@2871
   851
      <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar" />
martin@2871
   852
      <!-- note because CATALINA_OPTS can be multi argument the line attribute has to be used! -->
martin@2871
   853
      <jvmarg line="${env.CATALINA_OPTS}" />
martin@2871
   854
      <jvmarg value="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" />
martin@2871
   855
      <jvmarg value="-Djava.util.logging.config.file=${env.CATALINA_BASE}/conf/logging.properties" />
martin@2871
   856
      <jvmarg value="-Djava.endorsed.dirs=${env.CATALINA_HOME}/endorsed" />
martin@2871
   857
      <jvmarg value="-Dcatalina.base=${env.CATALINA_BASE}" />
martin@2871
   858
      <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}" />
martin@2871
   859
      <jvmarg value="-Djava.io.tmpdir=${env.CATALINA_BASE}/temp" />
martin@2871
   860
      <arg line="start" />
martin@2871
   861
    </java>
martin@2871
   862
  </target>
martin@2345
   863
martin@2871
   864
  <!-- 
martin@2345
   865
		This task is called from the Openbravo ui, it spawns a java call which again
martin@2345
   866
		calls the tomcat.reload.do task as a spawned task.
martin@2345
   867
	-->
martin@2871
   868
  <target name="tomcat.reload" description="Reload the Openbravo context">
martin@2917
   869
    <echo message="Reloading webapp..." />
martin@2871
   870
    <java classname="org.openbravo.service.system.ReloadContext" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" spawn="true" fork="true">
martin@2871
   871
      <arg line="${base.src}" />
martin@2871
   872
      <classpath refid="project.class.path" />
martin@2871
   873
    </java>
martin@2871
   874
  </target>
martin@2345
   875
martin@2871
   876
  <target name="tomcat.reload.do">
martin@2871
   877
    <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
martin@2871
   878
      <classpath refid="project.class.path" />
martin@2871
   879
    </taskdef>
martin@2871
   880
    <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" />
martin@2871
   881
  </target>
adrian@171
   882
martin@2871
   883
  <target name="tomcat.list">
martin@2871
   884
    <taskdef name="list" classname="org.apache.catalina.ant.ListTask">
martin@2871
   885
      <classpath refid="project.class.path" />
martin@2871
   886
    </taskdef>
martin@2871
   887
    <list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" />
martin@2871
   888
  </target>
martin@2345
   889
martin@2871
   890
  <target name="deploy.context">
martin@2871
   891
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
martin@2871
   892
      <classpath refid="project.class.path" />
martin@2871
   893
    </taskdef>
martin@2871
   894
    <taskdef name="deploy.tomcat" classname="org.apache.catalina.ant.DeployTask">
martin@2871
   895
      <classpath refid="project.class.path" />
martin@2871
   896
    </taskdef>
martin@2871
   897
    <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
martin@2871
   898
      <classpath refid="project.class.path" />
martin@2871
   899
    </taskdef>
martin@2345
   900
martin@2871
   901
    <undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" failonerror="false" />
martin@2871
   902
    <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
   903
    <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" />
martin@2871
   904
  </target>
martin@2345
   905
martin@2871
   906
  <target name="generate-wsdd">
martin@2871
   907
    <ant dir="${base.src}" target="generate-wsdd" inheritAll="true" inheritRefs="true" />
martin@2871
   908
  </target>
martin@2345
   909
martin@2871
   910
  <target name="obx.export.database" if="obx.exp.DB">
martin@2871
   911
    <antcall target="export.database" />
martin@2871
   912
  </target>
martin@2345
   913
martin@2871
   914
  <target name="obx.export.config.script" if="obx.exp.CS">
martin@2871
   915
    <antcall target="export.config.script" />
martin@2871
   916
  </target>
martin@2345
   917
martin@2871
   918
  <target name="package.module">
martin@2871
   919
    <taskdef name="extractModule" classname="org.openbravo.erpCommon.modules.ExtractModuleTask">
martin@2871
   920
      <classpath refid="project.class.path" />
martin@2871
   921
    </taskdef>
martin@2345
   922
martin@3038
   923
    <taskdef name="validateModules" classname="org.openbravo.service.system.SystemValidationTask">
martin@3038
   924
      <classpath refid="project.class.path" />
martin@3038
   925
    </taskdef>
martin@14874
   926
    
asier@5560
   927
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5533
   928
      <classpath refid="project.class.path" />
asier@5533
   929
    </taskdef>
martin@14874
   930
            
asier@5533
   931
    <echo message="Validating Module..." />
martin@14874
   932
    
martin@14874
   933
    <WADValidation propertiesFile="${base.config}/Openbravo.properties"
martin@14874
   934
                   modules="${module}"
martin@14874
   935
                   stoponerror="true"/>
martin@3038
   936
asier@11064
   937
    <validateModules moduleJavaPackage="${module}" failOnError="true" userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="module" />
martin@3038
   938
martin@2871
   939
    <antcall target="obx.export.database" />
martin@2871
   940
    <antcall target="obx.export.config.script" />
juanpablo@2691
   941
martin@5458
   942
    <extractModule moduleName="${module}" userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" exportRD="${obx.export.RD}" />
martin@2871
   943
  </target>
juanpablo@2691
   944
martin@2871
   945
  <target name="diagnostic">
antonio@6907
   946
    <ant dir="src-util/diagnostic" antfile="build-create.xml" target="build" />
antonio@6907
   947
    <ant dir="src-util/diagnostic" target="check.all" />
martin@2871
   948
  </target>
juanpablo@2691
   949
martin@3038
   950
  <target name="setup.check.os">
martin@2871
   951
    <condition property="osname" value="linux">
martin@2871
   952
      <equals arg1="${os.name}" arg2="Linux" />
martin@2871
   953
    </condition>
juanpablo@3949
   954
    <condition property="osname" value="freebsd6">
martin@2871
   955
      <equals arg1="${os.name}" arg2="FreeBSD" />
martin@2871
   956
    </condition>
martin@2871
   957
    <condition property="osname" value="windows">
martin@2871
   958
      <contains string="${os.name}" substring="Windows" />
martin@2871
   959
    </condition>
martin@2871
   960
    <condition property="osname" value="osx">
martin@2871
   961
      <contains string="${os.name}" substring="OS X" />
martin@2871
   962
    </condition>
juanpablo@4100
   963
    <condition property="osname" value="solaris">
martin@2871
   964
      <or>
martin@2871
   965
        <contains string="${os.name}" substring="Solaris" />
martin@2871
   966
        <contains string="${os.name}" substring="SunOS" />
martin@2871
   967
      </or>
martin@2871
   968
    </condition>
martin@2871
   969
    <condition property="osname" value="openbsd">
martin@2871
   970
      <equals arg1="${os.name}" arg2="OpenBSD" />
martin@2871
   971
    </condition>
martin@2871
   972
    <condition property="osname" value="aix">
martin@2871
   973
      <equals arg1="${os.name}" arg2="AIX" />
martin@2871
   974
    </condition>
martin@2871
   975
    <condition property="osname" value="hpux">
martin@2871
   976
      <equals arg1="${os.name}" arg2="HPUX" />
martin@2871
   977
    </condition>
martin@2871
   978
  </target>
juanpablo@2706
   979
martin@2871
   980
  <target name="setup.check.arch">
martin@2871
   981
    <condition property="osarch" value="">
martin@2871
   982
      <or>
martin@2871
   983
        <equals arg1="${os.arch}" arg2="x86" />
martin@2871
   984
        <equals arg1="${os.arch}" arg2="i386" />
juanpablo@7950
   985
        <contains string="${os.name}" substring="Windows" />
juanpablo@8004
   986
        <contains string="${os.name}" substring="OS X" />
martin@2871
   987
      </or>
martin@2871
   988
    </condition>
martin@2871
   989
    <condition property="osarch" value="-x64">
martin@2871
   990
      <or>
martin@2871
   991
        <equals arg1="${os.arch}" arg2="amd64" />
martin@2871
   992
        <equals arg1="${os.arch}" arg2="x86_64" />
juanpablo@7950
   993
        <not>
juanpablo@7950
   994
          <contains string="${os.name}" substring="Windows" />
juanpablo@7950
   995
        </not>
juanpablo@8004
   996
        <not>
juanpablo@8004
   997
          <contains string="${os.name}" substring="OS X" />
juanpablo@8004
   998
        </not>
martin@2871
   999
      </or>
martin@2871
  1000
    </condition>
martin@2871
  1001
    <condition property="osarch" value="-ia64">
martin@2871
  1002
      <equals arg1="${os.arch}" arg2="ia64" />
martin@2871
  1003
    </condition>
martin@2871
  1004
    <condition property="osarch" value="-sparc">
martin@2871
  1005
      <equals arg1="${os.arch}" arg2="sparc" />
martin@2871
  1006
    </condition>
martin@2871
  1007
    <condition property="osarch" value="-ppc">
martin@2871
  1008
      <equals arg1="${os.arch}" arg2="ppc" />
martin@2871
  1009
    </condition>
martin@2871
  1010
  </target>
martin@2871
  1011
martin@2871
  1012
  <target name="setup.exists.test">
juanpablo@8004
  1013
    <condition property="bin.ext" value="exe">
martin@2871
  1014
      <os family="windows" />
martin@2871
  1015
    </condition>
martin@2871
  1016
juanpablo@8004
  1017
    <condition property="bin.ext" value="app.tar.gz">
juanpablo@8004
  1018
      <os family="mac" />
juanpablo@8004
  1019
    </condition>
juanpablo@8004
  1020
juanpablo@8004
  1021
    <condition property="bin.ext" value="bin">
juanpablo@8004
  1022
      <not>
juanpablo@8004
  1023
        <isset property="${bin.ext}" />
juanpablo@8004
  1024
      </not>
juanpablo@8004
  1025
    </condition>
juanpablo@8004
  1026
martin@2871
  1027
    <available file="config/setup-properties-${osname}${osarch}.${bin.ext}" property="setup.exists" value="true" />
martin@2871
  1028
  </target>
martin@2871
  1029
martin@2871
  1030
  <target name="setup" depends="setup.check.os, setup.check.arch, setup.exists.test" unless="setup.exists">
martin@2871
  1031
    <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
  1032
martin@2871
  1033
    <chmod file="config/setup-properties-${osname}${osarch}.${bin.ext}" perm="+x" />
martin@2871
  1034
  </target>
juanpablo@2691
  1035
asier@4280
  1036
  <target name="package.core" depends="init, set.version.number">
martin@14874
  1037
	<property name="tmpdir" value="${java.io.tmpdir}/ob.core${core.rev}" />
martin@14874
  1038
   
martin@14874
  1039
  	<exec executable="hg" >
martin@14874
  1040
  		<arg value="archive"/>
martin@14874
  1041
  		<arg value="${tmpdir}"/>
martin@14874
  1042
  	</exec>
martin@14874
  1043
  	
martin@14874
  1044
  	<replaceregexp file="${tmpdir}/src-db/database/sourcedata/AD_MODULE.xml"
martin@14874
  1045
                   match="(VERSION.*\[CDATA\[).*\..*\.(.*)(\]\])"
martin@14874
  1046
                   replace="\1${core.rev}\3"
martin@14874
  1047
                   byline="true"/>
martin@14874
  1048
    
martin@14874
  1049
    <echo message="${hg.id}" file="${tmpdir}/config/instance.revision"/>
martin@14874
  1050
	
martin@14874
  1051
    <delete includeEmptyDirs="true">
martin@14874
  1052
      <fileset dir="${tmpdir}/modules" includes="**/*" defaultexcludes="no"/>
martin@14874
  1053
    </delete>
martin@14874
  1054
    
martin@14874
  1055
    <zip destfile="${basedir}/core-${core.rev}.obx" basedir="${tmpdir}"/>
martin@14874
  1056
    
martin@14874
  1057
    <delete dir="${tmpdir}"/>
martin@14873
  1058
martin@14874
  1059
   </target>
martin@14874
  1060
 
martin@14874
  1061
  <target name="set.version.number" depends="set.version.from.file, set.version.calculated"/>
martin@14874
  1062
  
asier@4279
  1063
  <target name="set.version.calculated" if="calculate.core.rev">
martin@14874
  1064
    <echo message="calculating core revision..."/>
asier@4279
  1065
    <exec executable="hg" outputproperty="hg.idno" failifexecutionfails="false">
martin@14874
  1066
      <arg value="id"/>
martin@14874
  1067
      <arg value="-n"/>
asier@4279
  1068
    </exec>
guillermo@15728
  1069
        <propertyfile file="currentRevision.tmp">
guillermo@15728
  1070
          <entry key="core.rev" value="3.0.${hg.idno}"/>
guillermo@15728
  1071
        </propertyfile>
guillermo@15728
  1072
        <replaceregexp file="currentRevision.tmp"
guillermo@15728
  1073
                       match="\+"
guillermo@15728
  1074
                       replace=""
guillermo@15728
  1075
                       byline="true"
guillermo@15728
  1076
        />
guillermo@15728
  1077
        <loadproperties> 
guillermo@15728
  1078
          <file file="currentRevision.tmp"/> 
guillermo@15728
  1079
        </loadproperties>
guillermo@15728
  1080
        <delete file="currentRevision.tmp"/>
asier@4279
  1081
  </target>
martin@14874
  1082
  
asier@4279
  1083
  <target name="set.version.from.file" if="xml.core.rev">
martin@14874
  1084
    <echo message="reading core revision from xml file..."/>
asier@4279
  1085
    <loadfile property="core.rev" srcfile="${basedir}/src-db/database/sourcedata/AD_MODULE.xml">
asier@4279
  1086
      <filterchain>
asier@4279
  1087
        <linecontains>
martin@14874
  1088
          <contains value="VERSION>"/>
asier@4279
  1089
        </linecontains>
asier@4279
  1090
        <tokenfilter>
martin@14874
  1091
            <replaceregex pattern="(.*VERSION.*\[CDATA\[)(.*\..*\..*)(\]\].*)" replace="\2"/>
asier@4279
  1092
        </tokenfilter>
martin@14874
  1093
        <striplinebreaks/>
asier@4279
  1094
      </filterchain>
asier@4279
  1095
    </loadfile>
asier@4279
  1096
  </target>
martin@14874
  1097
  
martin@14874
  1098
  
antonio@4965
  1099
  <target name="load.logoimages">
antonio@4965
  1100
    <ant dir="${base.src}" target="load.logoimages" inheritAll="true" inheritRefs="true" />
antonio@4917
  1101
  </target>
martin@14874
  1102
  
asier@5536
  1103
  <target name="validate.wad">
asier@5536
  1104
    <ant dir="${base.src}" target="wadvalidation" inheritAll="true" inheritRefs="true" />
asier@5536
  1105
  </target>
martin@14874
  1106
  
antonio@7480
  1107
  <target name="UIrebuild" depends="core.lib">
antonio@7480
  1108
    <java classname="org.openbravo.base.BuildTask" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
antonio@7480
  1109
      <arg line="'${base.config}/Openbravo.properties' ${logFileName}" />
antonio@7480
  1110
      <classpath>
antonio@7480
  1111
        <pathelement path="${build.core.lib}/openbravo-core.jar" />
stefan@11940
  1112
        <pathelement path="${base.lib}/runtime/log4j-1.2.16.jar" />
stefan@11940
  1113
        <pathelement path="${base.lib}/runtime/commons-pool-1.5.6.jar" />
stefan@11940
  1114
        <pathelement path="${base.lib}/runtime/commons-dbcp-1.4.jar" />
stefan@11940
  1115
        <pathelement path="${base.lib}/runtime/postgresql-9.0-801.jdbc4.jar" />
antonio@7480
  1116
        <pathelement path="${base.lib}/runtime/ojdbc6.jar" />
stefan@11940
  1117
        <pathelement path="${base.lib}/runtime/commons-collectionsi-3.2.1.jar" />
antonio@7480
  1118
        <pathelement path="${base.lib}/runtime/ant-1.7.1.jar" />
antonio@7480
  1119
        <pathelement path="${base.lib}/runtime/ant-launcher.jar" />
antonio@7480
  1120
        <pathelement path="${base.lib}/runtime/ant-apache-log4j.jar" />
antonio@7480
  1121
        <pathelement path="${base.lib}/runtime/ant-nodeps.jar" />
antonio@7480
  1122
      </classpath>
antonio@7480
  1123
    </java>
antonio@7480
  1124
  </target>
martin@14874
  1125
  
asier@8883
  1126
  <target name="check.module.consistency">
asier@8883
  1127
    <taskdef name="checkConsistency" classname="org.openbravo.erpCommon.modules.CheckLocalConsistency">
asier@8883
  1128
      <classpath refid="project.class.path" />
asier@8883
  1129
    </taskdef>
martin@14874
  1130
    <checkConsistency userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties"/>
asier@8883
  1131
  </target>
martin@14874
  1132
  
antonio@11118
  1133
  <target name="check.window.compatibility">
antonio@11118
  1134
    <taskdef name="showclassicwindows" classname="org.openbravo.client.application.WindowsInClassicModeTask">
antonio@11118
  1135
      <classpath refid="project.class.path" />
antonio@11118
  1136
    </taskdef>
martin@14874
  1137
    <showclassicwindows userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties"/>
antonio@11118
  1138
  </target>
miguel@16121
  1139
  
miguel@16121
  1140
  <target name="cleanSubfolders" depends="init">
miguel@16121
  1141
      <ant dir="${base.src.core}" target="clean" inheritAll="true" inheritRefs="true" />
miguel@16121
  1142
      <ant dir="${base.src.trl}" target="clean" inheritAll="true" inheritRefs="true" />
miguel@16121
  1143
      <ant dir="${base.src.wad}" target="clean" inheritAll="true" inheritRefs="true" />
miguel@16121
  1144
    </target>
miguel@16121
  1145
  
asier@43
  1146
</project>