build.xml
author Carlos Aristu <carlos.aristu@openbravo.com>
Fri, 25 May 2018 12:59:25 +0200
changeset 34069 e58d1aeff8f8
parent 33936 140e25aff39f
child 34296 44104c330893
child 34303 3030ba96b418
permissions -rw-r--r--
fixes issue 38630: Specify the HTML version to use when building the javadoc

Starting from JDK9 it is possible to specify the HTML version to use when building the javadoc. In JDK10, if the format is not specified a warning is displayed.

Setting HTML5 as the default format starting from JDK9.
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@9072
     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@6701
    14
* The Initial Developer of the Original Code is Openbravo SLU
carlos@33710
    15
* All portions are Copyright (C) 2001-2018 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
compile.src: refer to compile.src target of src.
juanpablo@213
    31
war: refer to build.war target of src.
juanpablo@213
    32
core.lib: refer to build target of src-core.
juanpablo@213
    33
wad.lib: refer to build target of src-wad.
juanpablo@213
    34
trl.lib: refer to build target of src-trl.
juanpablo@213
    35
database.lib: refer to jar target of src-db.
juanpablo@213
    36
clean: refer to clean target of src.
juanpablo@213
    37
trl.clean: refer to trl.clean target of src.
juanpablo@213
    38
translate: refer to translate target of src.
juanpablo@213
    39
installWebService: refer to installWebService target of src.
juanpablo@213
    40
uninstallWebService: refer to uninstallWebService target of src.
juanpablo@2061
    41
deploy.context: deploy the context into Tomcat using the manager
juanpablo@213
    42
install.source: install the ERP from sources (from subversion).
juanpablo@213
    43
create.database: refer to create.database target of database.
juanpablo@213
    44
update.database: refer to update.database target of database.
juanpablo@213
    45
create.database.script: refer to create.database.script target of database.
juanpablo@213
    46
update.database.script: refer to update.database.script target of database.
juanpablo@213
    47
export.database: exports database structure and data to xml files.
fernando@202
    48
-->
asier@43
    49
<project name="openbravo" default="compile.complete" basedir=".">
martin@2871
    50
  <property environment="env" />
martin@2871
    51
  <property name="base.config" location="config" />
martin@2871
    52
  <property file="${base.config}/Openbravo.properties" />
martin@2871
    53
  <property file="${base.config}/checksums" />
juanpablo@131
    54
martin@2871
    55
  <property name="base.config" location="config" />
martin@2871
    56
  <property name="base.src" location="src" />
martin@3794
    57
  <property name="base.src.test" location="src-test" />
martin@2871
    58
  <property name="base.src.core" location="src-core" />
martin@2871
    59
  <property name="base.src.db" location="src-db" />
martin@2871
    60
  <property name="base.src.trl" location="src-trl" />
martin@2871
    61
  <property name="base.src.wad" location="src-wad" />
martin@2871
    62
  <property name="base.src.gen" location="src-gen" />
martin@2871
    63
  <property name="base.db" location="src-db/database" />
martin@2871
    64
  <property name="base.web" location="web" />
martin@2871
    65
  <property name="base.context" location="WebContent" />
martin@2871
    66
  <property name="base.design" location="${base.context}/src-loc" />
martin@2871
    67
  <property name="base.lib" location="lib" />
martin@2871
    68
  <property name="base.modules" location="modules" />
martin@2871
    69
  <property name="build" location="build/classes" />
antonio@7541
    70
  <property name="build.apply.module" location="build.apply/classes" />
martin@2871
    71
  <property name="build.AD" location="srcAD" />
martin@2871
    72
  <property name="build.sqlc" location="build/javasqlc" />
martin@2871
    73
  <property name="build.core.lib" location="src-core/lib" />
martin@2871
    74
  <property name="build.trl.lib" location="src-trl/lib" />
martin@2871
    75
  <property name="build.wad.lib" location="src-wad/lib" />
martin@2871
    76
  <property name="build.docs" location="docs/api" />
martin@2871
    77
  <property name="jakarta.home" location="${env.CATALINA_HOME}" />
martin@2871
    78
  <property name="module" value="%" />
antonio@6107
    79
  <property name="apply.on.create" value="false" />
antonio@6108
    80
  <property name="apply.on.update" value="true" />
martin@2871
    81
  <property name="obx.export.RD" value="false" />
martin@2871
    82
  <property name="obx.export.DB" value="false" />
martin@2871
    83
  <property name="obx.export.CS" value="false" />
asier@19231
    84
  <property name="obx.export.validate" value="true" />
asier@19231
    85
  <property name="obx.export.allDeps" value="false" />
martin@2871
    86
  <property name="chekPerms" value="false" />
antonio@2896
    87
  <property name="force" value="false" />
antonio@7709
    88
  <property name="strict.template.application" value="false" />
antonio@4937
    89
  <property name="rd" value="false" />
asier@3008
    90
  <property name="local" value="true" />
asier@3995
    91
  <property name="apply.modules.complete.compilation" value="false" />
martin@14869
    92
  <property name="calculate.core.revision" value="true"/>
martin@14869
    93
  <property name="stopOnWadError" value="false"/>
martin@14869
    94
  <property name="friendlyWarnings" value="false"/>
martin@14869
    95
  <property name="checkTranslationConsistency" value="true"/>
martin@14869
    96
  <property name="buildValidation" value="true"/>
antonio@29768
    97
  <property name="modules" value=""/> 
antonio@29768
    98
 
carlos@33755
    99
  <condition property="xdoclint.missing" value="" else="-Xdoclint:-missing">
carlos@33755
   100
    <equals arg1="${ant.java.version}" arg2="1.7"/>
asier@32951
   101
  </condition>
asier@32951
   102
carlos@34069
   103
  <condition property="html.version" value="-html5" else="">
carlos@34069
   104
    <not>
carlos@34069
   105
      <or>
carlos@34069
   106
        <equals arg1="${ant.java.version}" arg2="1.7"/>
carlos@34069
   107
        <equals arg1="${ant.java.version}" arg2="1.8"/>
carlos@34069
   108
      </or>
carlos@34069
   109
    </not>
carlos@34069
   110
  </condition>
carlos@34069
   111
asier@4279
   112
  <condition property="calculate.core.rev">
martin@14869
   113
   <istrue value="${calculate.core.revision}"/>
asier@4279
   114
  </condition>
martin@14869
   115
  
asier@4279
   116
  <condition property="xml.core.rev">
martin@14869
   117
     <isfalse value="${calculate.core.revision}"/>
asier@4279
   118
  </condition>
martin@14869
   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
antonio@6108
   141
  <condition property="apply.modules.on.update">
antonio@6108
   142
    <or>
antonio@6108
   143
      <equals arg1="yes" arg2="${apply.on.update}" />
antonio@6108
   144
      <equals arg1="true" arg2="${apply.on.update}" />
antonio@6108
   145
    </or>
antonio@6108
   146
  </condition>
antonio@6108
   147
martin@2871
   148
  <condition property="obx.exp.DB">
martin@2871
   149
    <or>
martin@2871
   150
      <equals arg1="yes" arg2="${obx.export.DB}" />
martin@2871
   151
      <equals arg1="true" arg2="${obx.export.DB}" />
martin@2871
   152
    </or>
martin@2871
   153
  </condition>
martin@2345
   154
martin@2871
   155
  <condition property="obx.exp.CS">
martin@2871
   156
    <or>
martin@2871
   157
      <equals arg1="yes" arg2="${obx.export.CS}" />
martin@2871
   158
      <equals arg1="true" arg2="${obx.export.CS}" />
martin@2871
   159
    </or>
martin@2871
   160
  </condition>
asier@19231
   161
  
asier@19231
   162
  <condition property="obx.exp.validate">
asier@19231
   163
    <or>
asier@19231
   164
      <equals arg1="yes" arg2="${obx.export.validate}" />
asier@19231
   165
      <equals arg1="true" arg2="${obx.export.validate}" />
asier@19231
   166
    </or>
asier@19231
   167
  </condition>
asier@43
   168
antonio@3337
   169
  <condition property="timestamp">
antonio@3337
   170
    <or>
antonio@3337
   171
      <equals arg1="no" arg2="${execute.update.build.timestamp}" />
antonio@3337
   172
      <equals arg1="false" arg2="${execute.update.build.timestamp}" />
antonio@3337
   173
    </or>
antonio@3337
   174
  </condition>
antonio@3337
   175
martin@2871
   176
  <condition property="jakarta.base" value="${env.CATALINA_BASE}" else="${jakarta.home}">
martin@2871
   177
    <and>
martin@2871
   178
      <isset property="env.CATALINA_BASE" />
martin@2871
   179
    </and>
martin@2871
   180
  </condition>
martin@2871
   181
  <property name="log.path" location="${jakarta.base}/logs" />
martin@2871
   182
  <property name="lib" location="${jakarta.home}/common" />
martin@2871
   183
  <property name="jakarta.context" location="${jakarta.base}/webapps/${context.name}" />
asier@6240
   184
juanpablo@6241
   185
  <condition property="build.maxmemory" value="1024M" else="512M">
juanpablo@6241
   186
    <or>
juanpablo@6241
   187
      <equals arg1="${os.arch}" arg2="amd64" />
juanpablo@6241
   188
      <equals arg1="${os.arch}" arg2="x86_64" />
juanpablo@6241
   189
      <equals arg1="${os.arch}" arg2="ia64" />
juanpablo@6241
   190
    </or>
asier@6240
   191
  </condition>
stefan@124
   192
juanpablo@7924
   193
  <condition property="allow.root.user" value="true" else="false">
juanpablo@7924
   194
    <or>
juanpablo@7924
   195
      <equals arg1="yes" arg2="${allow.root}" />
juanpablo@7924
   196
      <equals arg1="true" arg2="${allow.root}" />
juanpablo@7924
   197
    </or>
juanpablo@7924
   198
  </condition>
juanpablo@7924
   199
martin@2871
   200
  <condition property="no.java.home" value="true">
martin@2871
   201
    <not>
martin@2871
   202
      <isset property="env.JAVA_HOME" />
martin@2871
   203
    </not>
martin@2871
   204
  </condition>
juanpablo@1548
   205
antonio@2838
   206
  <condition property="bbdd.owner.url" value="${bbdd.url}/${bbdd.sid}" else="${bbdd.url}">
antonio@2838
   207
    <and>
martin@2871
   208
      <equals arg1="${bbdd.rdbms}" arg2="POSTGRE" />
antonio@2838
   209
    </and>
antonio@2838
   210
  </condition>
juanpablo@7924
   211
juanpablo@7924
   212
  <condition property="root.user">
juanpablo@7924
   213
    <and>
juanpablo@7924
   214
      <equals arg1="${user.name}" arg2="root" />
juanpablo@7924
   215
      <not>
juanpablo@7924
   216
        <contains string="${os.name}" substring="Windows" />
juanpablo@7924
   217
      </not>
juanpablo@7924
   218
      <equals arg1="false" arg2="${allow.root.user}" />
juanpablo@7924
   219
    </and>
juanpablo@7924
   220
  </condition>
juanpablo@7924
   221
stefan@9215
   222
  <!-- Minimal classpath used for executing Wad at compile time -->
stefan@9215
   223
  <path id="wad.class.path">
stefan@9215
   224
    <fileset dir="${base.lib}">
stefan@9215
   225
      <include name="**/*.jar" />
stefan@9215
   226
    </fileset>
stefan@9215
   227
    <fileset dir="${build.core.lib}">
stefan@9215
   228
      <include name="openbravo-core.jar" />
stefan@9215
   229
    </fileset>
stefan@9215
   230
    <fileset dir="${build.wad.lib}">
stefan@9215
   231
      <include name="openbravo-wad.jar" />
stefan@9215
   232
    </fileset>
stefan@9215
   233
  </path>
stefan@9215
   234
martin@2871
   235
  <path id="project.class.path">
antonio@7894
   236
    <dirset dir="${base.modules}">
antonio@7894
   237
      <include name="*/build/classes/" />
antonio@7894
   238
    </dirset>
antonio@10098
   239
    <pathelement path="${basedir}/src-util/modulescript/build/classes/" />
martin@2871
   240
    <pathelement path="${build}" />
martin@2871
   241
    <pathelement path="${base.src}" />
martin@2871
   242
    <fileset dir="${base.lib}">
martin@2871
   243
      <include name="**/*.jar" />
martin@2871
   244
    </fileset>
martin@2871
   245
    <fileset dir="${build.core.lib}">
martin@2871
   246
      <include name="openbravo-core.jar" />
martin@2871
   247
    </fileset>
martin@2871
   248
    <fileset dir="${build.trl.lib}">
martin@2871
   249
      <include name="openbravo-trl.jar" />
martin@2871
   250
    </fileset>
martin@2871
   251
    <fileset dir="${build.wad.lib}">
martin@2871
   252
      <include name="openbravo-wad.jar" />
martin@2871
   253
    </fileset>
martin@2871
   254
    <fileset dir="${base.lib}">
martin@2871
   255
      <include name="**/*.jar" />
asier@24247
   256
      <exclude name="**/test/*.jar" />
martin@2871
   257
    </fileset>
martin@2871
   258
    <fileset dir="${base.db}/lib/">
martin@2871
   259
      <include name="**/*.jar" />
martin@2871
   260
    </fileset>
martin@2871
   261
    <fileset dir="${base.modules}">
martin@2871
   262
      <include name="*/lib/**" />
asier@24247
   263
       <exclude name="**/test/*.jar" />
martin@2871
   264
    </fileset>
antonio@7894
   265
  </path>
antonio@7894
   266
antonio@7894
   267
  <!-- This classpath is needed only for the compile.apply.module task-->
antonio@7894
   268
  <path id="apply.module.compile.classpath">
antonio@6886
   269
    <dirset dir="${base.modules}">
antonio@6886
   270
      <include name="*/build/classes/" />
antonio@6886
   271
    </dirset>
antonio@6886
   272
    <pathelement path="${basedir}/../../src-util/modulescript/build/classes/" />
antonio@7543
   273
    <pathelement path="${build.apply.module}" />
antonio@7543
   274
    <pathelement path="${base.src}" />
antonio@7543
   275
    <fileset dir="${base.lib}">
antonio@7543
   276
      <include name="**/*.jar" />
antonio@7543
   277
    </fileset>
antonio@7543
   278
    <fileset dir="${build.core.lib}">
antonio@7543
   279
      <include name="openbravo-core.jar" />
antonio@7543
   280
    </fileset>
antonio@7543
   281
    <fileset dir="${build.trl.lib}">
antonio@7543
   282
      <include name="openbravo-trl.jar" />
antonio@7543
   283
    </fileset>
antonio@7543
   284
    <fileset dir="${build.wad.lib}">
antonio@7543
   285
      <include name="openbravo-wad.jar" />
antonio@7543
   286
    </fileset>
antonio@7543
   287
    <fileset dir="${base.lib}">
antonio@7543
   288
      <include name="**/*.jar" />
antonio@7543
   289
    </fileset>
antonio@7543
   290
    <fileset dir="${base.db}/lib/">
antonio@7543
   291
      <include name="**/*.jar" />
antonio@7543
   292
    </fileset>
antonio@7543
   293
    <fileset dir="${base.modules}">
antonio@7543
   294
      <include name="*/lib/**" />
antonio@7543
   295
    </fileset>
antonio@7894
   296
  </path>
martin@14869
   297
  
antonio@7894
   298
  <!-- This classpath is needed only for the apply.module task-->
antonio@7894
   299
  <path id="apply.module.runtime.classpath">
antonio@7543
   300
    <dirset dir="${base.modules}">
antonio@7543
   301
      <include name="*/build/classes/" />
antonio@7543
   302
    </dirset>
antonio@7543
   303
    <pathelement path="${basedir}/../../src-util/modulescript/build/classes/" />
antonio@7541
   304
    <pathelement path="${build.apply.module}" />
antonio@7543
   305
    <pathelement path="${build}" />
antonio@7541
   306
    <pathelement path="${base.src}" />
antonio@7541
   307
    <fileset dir="${base.lib}">
antonio@7541
   308
      <include name="**/*.jar" />
antonio@7541
   309
    </fileset>
antonio@7541
   310
    <fileset dir="${build.core.lib}">
antonio@7541
   311
      <include name="openbravo-core.jar" />
antonio@7541
   312
    </fileset>
antonio@7541
   313
    <fileset dir="${build.trl.lib}">
antonio@7541
   314
      <include name="openbravo-trl.jar" />
antonio@7541
   315
    </fileset>
antonio@7541
   316
    <fileset dir="${build.wad.lib}">
antonio@7541
   317
      <include name="openbravo-wad.jar" />
antonio@7541
   318
    </fileset>
antonio@7541
   319
    <fileset dir="${base.lib}">
antonio@7541
   320
      <include name="**/*.jar" />
antonio@7541
   321
    </fileset>
antonio@7541
   322
    <fileset dir="${base.db}/lib/">
antonio@7541
   323
      <include name="**/*.jar" />
antonio@7541
   324
    </fileset>
antonio@7541
   325
    <fileset dir="${base.modules}">
antonio@7541
   326
      <include name="*/lib/**" />
antonio@7541
   327
    </fileset>
antonio@7541
   328
  </path>
martin@14869
   329
  
antonio@5617
   330
  <macrodef name="updatesystemstatus">
martin@14869
   331
     <attribute name="v" default="NOT SET"/>
martin@14869
   332
     <sequential>
martin@14869
   333
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
martin@14869
   334
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
martin@14869
   335
         <transaction> UPDATE ad_system_info SET system_status='@{v}' ;
antonio@5618
   336
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@5618
   337
         </transaction>
martin@14869
   338
       </sql>
martin@14869
   339
     </sequential>
antonio@5617
   340
  </macrodef>
martin@14869
   341
  
antonio@16688
   342
  <macrodef name="updatesystemstatuswhennot">
antonio@16688
   343
    <attribute name="v" default="NOT SET"/>
antonio@16688
   344
    <attribute name="previous" default="NOT SET"/>
antonio@16688
   345
     <sequential>
antonio@16688
   346
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
antonio@16688
   347
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
antonio@16688
   348
         <transaction> UPDATE ad_system_info SET system_status='@{v}' where system_status!='@{previous}' ;
antonio@16688
   349
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@16688
   350
         </transaction>
antonio@16688
   351
       </sql>
antonio@16688
   352
     </sequential>
antonio@16688
   353
  </macrodef>
antonio@16688
   354
  
martin@2871
   355
  <taskdef resource="axis-tasks.properties" classpathref="project.class.path" />
martin@14869
   356
  
stefan@33879
   357
  <target name="init">
juanpablo@11541
   358
    <fail if="root.user" message="Don't run ant tasks with the root user" />
martin@2871
   359
    <fail if="no.java.home" message="The environment variable JAVA_HOME is not set." />
asier@33870
   360
    <fail message="Unsupported Java version ${ant.java.version}. Minimum required is 7 (1.7).">
asier@33870
   361
      <condition>
asier@33870
   362
        <equals arg1="${ant.java.version}" arg2="1.6"/>
asier@33870
   363
      </condition>
asier@33870
   364
    </fail>
asier@33922
   365
    <antversion property="min.ant.version" atleast="1.9.2" />
asier@33922
   366
    <antversion property="actual.ant.version" />
asier@33922
   367
    <fail message="Unsupported ant version ${actual.ant.version}. Minimum required is 1.9.2.">
asier@33922
   368
      <condition>
asier@33922
   369
        <not>
asier@33922
   370
          <isset property="min.ant.version"/>
asier@33922
   371
        </not>
asier@33922
   372
      </condition>
asier@33922
   373
    </fail>
martin@2871
   374
  </target>
asier@43
   375
miguel@16422
   376
  <target name="compile.complete" depends="init, core.lib, wad.lib, trl.lib">
martin@2871
   377
    <ant dir="${base.src}" target="compile.complete" inheritAll="true" inheritRefs="true" />
martin@2871
   378
  </target>
asier@2853
   379
shankar@20726
   380
  <target name="migrate.attachments" depends="init">
shankar@20765
   381
    <taskdef name="MigrateAttachments" classname="org.openbravo.erpCommon.utility.MigrateAttachments" >
shankar@20726
   382
      <classpath refid="project.class.path" />
shankar@20765
   383
    </taskdef>
shankar@20765
   384
    <MigrateAttachments/>
shankar@20726
   385
  </target>
shankar@20726
   386
asier@3013
   387
  <target name="smartbuild" depends="init">
martin@3038
   388
    <property name="smart.mode" value="true" />
antonio@2996
   389
    <property name="onlyIfModified" value="true" />
martin@3038
   390
    <antcall target="core.lib" />
martin@14869
   391
    
asier@4288
   392
    <condition property="no.local">
asier@4288
   393
      <not>
asier@4288
   394
        <istrue value="${local}" />
asier@4288
   395
      </not>
asier@4288
   396
    </condition>
asier@4288
   397
    <antcall target="update.database.if.no.local" />
martin@14869
   398
    
martin@3038
   399
    <antcall target="wad.lib" />
martin@14869
   400
    
asier@5219
   401
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@5219
   402
      <classpath refid="project.class.path" />
asier@5219
   403
    </taskdef>
martin@14869
   404
    
martin@14869
   405
    <CheckSumCondition obDir="${basedir}"
martin@14869
   406
                       type="md5.wad"
martin@14869
   407
                       property="test.md5.wad"/>
martin@3038
   408
martin@3038
   409
    <condition property="new.wad">
martin@14869
   410
        <istrue value="${test.md5.wad}"/>
martin@3038
   411
    </condition>
martin@3038
   412
martin@3038
   413
    <antcall target="trl.lib" />
martin@14869
   414
    
asier@3660
   415
    <antcall inheritall="true" inheritrefs="true" target="generate.entities.quick" />
martin@2917
   416
asier@3013
   417
    <ant dir="${base.src}" target="smartbuild" inheritAll="true" inheritRefs="true" />
martin@3038
   418
antonio@5615
   419
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
antonio@4933
   420
    <antcall target="build.deploy" />
antonio@16688
   421
    <updatesystemstatuswhennot v="RB51" previous="RB12"/>
martin@2917
   422
    <!-- only restart tomcat if the restart prop was set to true -->
martin@2917
   423
    <condition property="dorestart">
martin@2917
   424
      <istrue value="${restart}" />
martin@2917
   425
    </condition>
martin@2917
   426
    <antcall target="if.restart.tomcat" />
martin@2871
   427
  </target>
martin@3038
   428
asier@3008
   429
  <target name="update.database.if.no.local" if="no.local">
asier@3008
   430
    <antcall target="update.database" />
asier@3008
   431
  </target>
antonio@2996
   432
asier@2982
   433
  <target name="build.deploy">
martin@3038
   434
    <antcall target="build.deploy.war" />
martin@3038
   435
    <antcall target="build.deploy.class" />
asier@2982
   436
  </target>
martin@3038
   437
asier@2982
   438
  <target name="build.deploy.class" if="mode.class">
asier@2982
   439
    <ant dir="${base.src}" target="copy.files" inheritAll="true" inheritRefs="true" />
asier@2982
   440
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
martin@3038
   441
    <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8" />
asier@2982
   442
  </target>
martin@3038
   443
stefan@9978
   444
  <!-- Only needed in special cases. See issue 15709 for details.
stefan@9978
   445
       This task (if deploy.mode=class) does sync jar-files from WebContent -> deployed webapp (& delete orphan jars)
stefan@9978
   446
  -->
stefan@9978
   447
  <target name="copy.files.jarsync" depends="init" if="mode.class">
stefan@9978
   448
    <ant dir="${base.src}" target="copy.files.jarsync.do" inheritAll="true" inheritRefs="true" />
stefan@9978
   449
  </target>
stefan@9978
   450
asier@2982
   451
  <target name="build.deploy.war" if="mode.war">
martin@3038
   452
    <antcall target="war" />
asier@2982
   453
  </target>
martin@2345
   454
martin@2917
   455
  <target name="if.restart.tomcat" if="dorestart">
martin@2917
   456
    <antcall target="tomcat.restart" />
martin@2917
   457
  </target>
martin@2345
   458
miguel@16422
   459
  <target name="compile" depends="init,core.lib, wad.lib, trl.lib">
martin@2871
   460
    <ant dir="${base.src}" target="compile" inheritAll="true" inheritRefs="true" />
martin@2871
   461
  </target>
martin@2345
   462
antonio@6897
   463
  <target name="buildvalidation" depends="init, core.lib">
martin@14869
   464
    <updatesystemstatus v="RB11"/> 
antonio@7925
   465
    <condition property="buildValidation.var">
martin@14869
   466
      <istrue value="${buildValidation}"  />
antonio@7925
   467
    </condition>
antonio@6897
   468
    <ant dir="src-util/buildvalidation" target="buildvalidation" inheritAll="true" inheritRefs="true" />
antonio@6886
   469
  </target>
martin@14869
   470
  
antonio@6886
   471
  <target name="compile.buildvalidation" depends="init, core.lib">
antonio@6886
   472
    <ant dir="src-util/buildvalidation" target="compile" inheritAll="true" inheritRefs="true" />
antonio@6886
   473
  </target>
martin@14869
   474
  
antonio@6886
   475
  <target name="compile.modulescript" depends="init, core.lib">
antonio@6886
   476
    <ant dir="src-util/modulescript" target="compile" inheritAll="true" inheritRefs="true" />
antonio@6886
   477
  </target>
antonio@6886
   478
antonio@7535
   479
  <target name="compile.complete.deploy" depends="compile.complete.development, compile.complete.war">
antonio@7512
   480
asier@5216
   481
    <!-- Calculate wad checksum to enable smartbuild-->
asier@5219
   482
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@5219
   483
      <classpath refid="project.class.path" />
asier@5219
   484
    </taskdef>
martin@14869
   485
    
martin@14869
   486
    <CheckSumCondition obDir="${basedir}"
martin@14869
   487
                           type="md5.wad"
martin@14869
   488
                           property="test.md5.wad"/>
martin@2871
   489
  </target>
asier@43
   490
inigo@31982
   491
  <target name="compile.complete.development" depends="init, core.lib, wad.lib, trl.lib" unless="mode.war">
martin@14869
   492
    <updatesystemstatus v="RB43"/>
martin@2871
   493
    <ant dir="${base.src}" target="compile.complete.development" inheritAll="true" inheritRefs="true" />
martin@2871
   494
  </target>
asier@43
   495
martin@2871
   496
  <target name="compile.complete.war" depends="init" if="mode.war">
martin@14869
   497
    <updatesystemstatus v="RB43"/>
martin@2871
   498
    <antcall target="compile.complete" />
martin@2871
   499
    <antcall target="war" />
martin@2871
   500
  </target>
asier@1929
   501
stefan@5405
   502
  <target name="compile.deploy" depends="compile.war, compile.development">
martin@14869
   503
    <updatesystemstatus v="RB51"/>
martin@2871
   504
  </target>
martin@2686
   505
asier@7164
   506
  <target name="compile.development" depends="init" unless="mode.war">
martin@2871
   507
    <ant dir="${base.src}" target="compile.development" inheritAll="true" inheritRefs="true" />
martin@2871
   508
  </target>
martin@2686
   509
martin@2871
   510
  <target name="validate.database">
martin@2871
   511
    <ant dir="${base.src}" target="validate.database" inheritAll="true" inheritRefs="true" />
martin@2871
   512
  </target>
asier@1929
   513
martin@2871
   514
  <target name="validate.modules">
martin@2871
   515
    <ant dir="${base.src}" target="validate.modules" inheritAll="true" inheritRefs="true" />
martin@2871
   516
  </target>
asier@43
   517
martin@2871
   518
  <target name="compile.war" if="mode.war">
asier@7165
   519
    <antcall target="generate.entities" />
martin@2871
   520
    <antcall target="compile" />
martin@2871
   521
    <antcall target="war" />
martin@2871
   522
  </target>
ivan@1738
   523
martin@2871
   524
  <target name="compile.web" depends="init">
martin@2871
   525
    <ant dir="${base.src}" target="compile.web" inheritAll="true" inheritRefs="true" />
martin@2871
   526
  </target>
asier@43
   527
martin@2871
   528
  <target name="compile.web.development" depends="init">
martin@2871
   529
    <ant dir="${base.src}" target="compile.web.development" inheritAll="true" inheritRefs="true" />
martin@2871
   530
  </target>
martin@2245
   531
martin@2871
   532
  <target name="compile.src.gen" depends="init">
martin@2871
   533
    <ant dir="${base.src}" target="compile.src.gen" inheritAll="true" inheritRefs="true" />
martin@2871
   534
  </target>
martin@2830
   535
martin@3794
   536
  <target name="generate.java.doc">
carlos@34069
   537
    <javadoc Windowtitle="${title}" access="protected" Header="${header}" Footer="${footer}" destdir="${build.docs}" maxmemory="1024M" failonerror="yes" additionalparam="${xdoclint.missing} ${html.version}">
stefan@27905
   538
      <sourcepath>
stefan@27905
   539
        <pathelement path="${base.src}" />
stefan@27905
   540
        <pathelement path="${base.src.test}/src" />
stefan@27905
   541
        <pathelement path="${build.AD}" />
stefan@27905
   542
        <pathelement path="${base.src.core}/src" />
stefan@27905
   543
        <pathelement path="${base.src.gen}" />
stefan@27905
   544
        <pathelement path="build/javasqlc/src" />
stefan@27905
   545
        <pathelement path="build/javasqlc/srcAD" />
stefan@27905
   546
        <dirset dir="${base.modules}">
stefan@27905
   547
          <include name="*/src" />
stefan@27905
   548
          <include name="*/src-test" />
stefan@27905
   549
        </dirset>
stefan@27905
   550
      </sourcepath>
martin@14869
   551
      <excludepackage name="org.openbravo.erpWindows.*"/>
martin@3794
   552
      <classpath>
martin@14869
   553
        <path refid="project.class.path"/>
martin@3794
   554
        <pathelement path="lib/build/js.jar" />
stefan@27905
   555
        <fileset dir="${base.modules}">
stefan@27905
   556
          <include name="*/lib/test/*.jar" />
stefan@27905
   557
        </fileset>
martin@3794
   558
      </classpath>
stefan@30848
   559
      <link href="http://docs.oracle.com/javase/7/docs/api/"/>
martin@3794
   560
    </javadoc>
martin@3794
   561
  </target>
martin@3794
   562
martin@2871
   563
  <target name="generate.entities">
martin@2871
   564
    <ant dir="${base.src}" target="generate.entities" inheritAll="true" inheritRefs="true" />
martin@2871
   565
  </target>
asier@43
   566
martin@2871
   567
  <target name="generate.entities.quick">
martin@2871
   568
    <ant dir="${base.src}" target="generate.entities.quick" inheritAll="true" inheritRefs="true" />
martin@2871
   569
  </target>
juanpablo@131
   570
stefan@11851
   571
  <!-- build-internal forking helper -->
stefan@11851
   572
  <target name="generate.entities.quick.forked">
stefan@11851
   573
    <ant dir="${base.src}" target="generate.entities.quick.forked" inheritAll="true" inheritRefs="true" />
stefan@11851
   574
  </target>
stefan@11851
   575
asier@24247
   576
  <target name="compile.test" depends="init">
asier@24247
   577
    <ant dir="${base.src.test}" target="compile.test" inheritAll="true" inheritRefs="true" />
asier@24247
   578
  </target>
asier@24247
   579
  
stefan@5674
   580
  <target name="run.tests" depends="init">
asier@24247
   581
    <ant dir="${base.src.test}" target="run.tests" inheritAll="true" inheritRefs="true" />
martin@3625
   582
  </target>
martin@3625
   583
stefan@5674
   584
  <target name="run.all.tests" depends="init">
asier@24247
   585
    <ant dir="${base.src.test}" target="run.all.tests" inheritAll="true" inheritRefs="true" />
martin@3656
   586
  </target>
martin@3656
   587
priya@6927
   588
  <target name="run.webservice.tests" depends="init">
asier@24247
   589
      <ant dir="${base.src.test}" target="run.webservice.tests" inheritAll="true" inheritRefs="true" />
priya@6927
   590
  </target>
priya@6927
   591
stefan@5674
   592
  <target name="run.quick.tests" depends="init">
asier@24247
   593
    <ant dir="${base.src.test}" target="run.quick.tests" inheritAll="true" inheritRefs="true" />
martin@3625
   594
  </target>
martin@3625
   595
asier@32457
   596
  <target name="run.test" depends="init">
asier@32457
   597
    <ant dir="${base.src.test}" target="run.test" inheritAll="true" inheritRefs="true" />
ivan@3752
   598
  </target>
martin@14869
   599
  
martin@14869
   600
  <target name="run.api.test.model" 
martin@14869
   601
          description="Checks current xml db model and dictionary API for not-allowed changes. Requires stableDBdir parameter">
stefan@9371
   602
    <taskdef name="checkAPI" classname="org.openbravo.ddlutils.task.CheckAPIDistribution">
asier@3808
   603
      <classpath refid="project.class.path" />
asier@3808
   604
    </taskdef>
martin@14869
   605
    <checkAPI driver="${bbdd.driver}" 
martin@14869
   606
                  url="${bbdd.owner.url}" 
martin@14869
   607
                  user="${bbdd.user}" 
martin@14869
   608
                  password="${bbdd.password}" 
martin@14869
   609
                  stableDBdir="${stableDBdir}"
martin@14869
   610
                  testDBdir="${basedir}"
martin@14869
   611
                  verbosity="${bbdd.verbosity}"
antonio@29768
   612
                  modules="${modules}"
martin@14869
   613
    />    
asier@3808
   614
  </target>
antonio@29768
   615
  
martin@2871
   616
  <target name="compile.src" depends="init">
martin@2871
   617
    <ant dir="${base.src}" target="compile.src" inheritAll="true" inheritRefs="true" />
martin@2871
   618
  </target>
juanpablo@131
   619
martin@2871
   620
  <target name="war" depends="init">
martin@2871
   621
    <ant dir="${base.src}" target="build.war" inheritAll="true" inheritRefs="true" />
martin@2871
   622
  </target>
juanpablo@131
   623
martin@2871
   624
  <target name="core.lib" depends="init">
martin@2871
   625
    <ant dir="${base.src.core}" target="build" inheritAll="true" inheritRefs="true" />
asier@2994
   626
    <copy file="${base.src.core}/lib/openbravo-core.jar" todir="${base.lib}/runtime" failonerror="false" />
martin@2871
   627
  </target>
juanpablo@131
   628
martin@2871
   629
  <target name="wad.lib" depends="init">
martin@2871
   630
    <ant dir="${base.src.wad}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   631
  </target>
juanpablo@179
   632
martin@2871
   633
  <target name="trl.lib" depends="init">
martin@2871
   634
    <ant dir="${base.src.trl}" target="build" inheritAll="true" inheritRefs="true" />
martin@2871
   635
  </target>
asier@43
   636
martin@2871
   637
  <target name="database.lib" depends="init">
martin@2871
   638
    <ant dir="${base.src.db}" target="jar" inheritAll="true" inheritRefs="true" />
asier@2995
   639
    <copy file="${base.src.db}/build/lib/dbmanager.jar" todir="${base.db}/lib" failonerror="false" />
martin@2871
   640
  </target>
martin@2345
   641
martin@2871
   642
  <target name="clean" depends="init">
martin@2871
   643
    <ant dir="${base.src}" target="clean" inheritAll="true" inheritRefs="true" />
martin@2871
   644
  </target>
martin@2345
   645
martin@2871
   646
  <target name="trl.clean" depends="init">
martin@2871
   647
    <ant dir="${base.src}" target="trl.clean" inheritAll="true" inheritRefs="true" />
martin@2871
   648
  </target>
martin@2345
   649
stefan@11820
   650
  <target name="trl.remove.unused" depends="init">
stefan@11820
   651
    <ant dir="${base.src}" target="trl.remove.unused" inheritAll="true" inheritRefs="true" />
stefan@11820
   652
  </target>
stefan@11820
   653
martin@2871
   654
  <target name="translate" depends="init">
martin@2871
   655
    <ant dir="${base.src}" target="translate" inheritAll="true" inheritRefs="true" />
martin@2871
   656
  </target>
martin@2686
   657
martin@2871
   658
  <target name="installWebService" depends="init">
martin@2871
   659
    <ant dir="${base.src}" target="installWebService" inheritAll="true" inheritRefs="true">
martin@2871
   660
      <property name="wsdd" value="1" />
martin@2871
   661
    </ant>
martin@2871
   662
  </target>
martin@2871
   663
martin@2871
   664
  <target name="uninstallWebService" depends="init">
martin@2871
   665
    <ant dir="${base.src}" target="uninstallWebService" inheritAll="true" inheritRefs="true" />
martin@2871
   666
  </target>
martin@2871
   667
miguel@16113
   668
  <target name="install.source" depends="init, cleanSubfolders, create.database, wad.lib, trl.lib, compile.complete.deploy">
martin@14869
   669
    <echo message="applying modules" />    
antonio@7535
   670
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
antonio@5615
   671
augusto@28711
   672
    <antcall inheritall="true" target="import.sample.data" />
martin@14869
   673
    <updatesystemstatus v="RB51"/> 
antonio@5626
   674
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
martin@2871
   675
martin@2871
   676
    <!--
martin@2686
   677
		<antcall target="validate.database" />
martin@2686
   678
		<antcall target="validate.modules" />
martin@2704
   679
		-->
martin@2871
   680
  </target>
juanpablo@131
   681
stefan@5405
   682
  <target name="create.database" depends="init, core.lib, database.lib">
martin@2871
   683
    <ant dir="${base.db}" antfile="build-create.xml" target="create.database" inheritAll="true" inheritRefs="true" />
martin@2871
   684
    <antcall target="db.apply.modules.sampledata" />
martin@2871
   685
  </target>
antonio@1335
   686
antonio@6897
   687
  <target name="update.database" depends="init, core.lib, database.lib, buildvalidation">
martin@14869
   688
    <updatesystemstatus v="RB12"/>
antonio@4870
   689
    <ant dir="${base.db}" target="update.database.java" inheritAll="true" inheritRefs="true" />
martin@4287
   690
    <antcall target="generate.entities.quick" />
antonio@7535
   691
    <antcall target="apply.module" />
martin@2871
   692
  </target>
asier@1929
   693
stefan@5405
   694
  <target name="create.database.script" depends="init, core.lib">
martin@2871
   695
    <ant dir="${base.db}" target="create.database.script" inheritAll="true" inheritRefs="true" />
martin@2871
   696
  </target>
asier@43
   697
stefan@5405
   698
  <target name="update.database.script" depends="init, core.lib">
martin@2871
   699
    <ant dir="${base.db}" target="update.database.script" inheritAll="true" inheritRefs="true" />
martin@2871
   700
  </target>
adrian@97
   701
antonio@5420
   702
  <target name="export.database" depends="init, core.lib, database.lib, generate.entities.quick">
martin@2871
   703
    <ant dir="${base.db}" target="export.database.structure" inheritAll="true" inheritRefs="true" />
martin@2871
   704
  </target>
adrian@164
   705
stefan@5405
   706
  <target name="export.config.script" depends="init, core.lib">
martin@2871
   707
    <ant dir="${base.db}" target="export.config.script" inheritAll="true" inheritRefs="true" />
martin@2871
   708
  </target>
asier@1929
   709
stefan@20707
   710
  <target name="export.sample.data" depends="init, core.lib">
stefan@20707
   711
    <ant dir="${base.db}" target="export.sample.data" inheritAll="true" inheritRefs="true" />
stefan@20707
   712
  </target>
stefan@20707
   713
stefan@20707
   714
  <target name="import.sample.data" depends="init, core.lib">
stefan@20707
   715
    <ant dir="${base.db}" target="import.sample.data" inheritAll="true" inheritRefs="true" />
stefan@20707
   716
  </target>
stefan@20707
   717
antonio@6108
   718
  <target name="db.apply.modules" if="apply.modules.on.update">
antonio@6074
   719
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
antonio@6074
   720
  </target>
antonio@6074
   721
martin@2871
   722
  <target name="db.apply.modules.sampledata" if="apply.modules.on.create">
antonio@5077
   723
    <antcall target="generate.entities" />
martin@4287
   724
    <antcall inheritall="true" inheritrefs="true" target="apply.module" />
martin@2871
   725
    <antcall target="import.sample.data" />
martin@2871
   726
  </target>
martin@2345
   727
martin@4287
   728
antonio@8501
   729
  <target name="apply.modules">
martin@4287
   730
asier@3995
   731
    <condition property="apply.modules.complete.compilation.var">
martin@14869
   732
      <istrue value="${apply.modules.complete.compilation}"  />
asier@3995
   733
    </condition>
martin@14869
   734
    
asier@3995
   735
    <condition property="apply.modules.simple.compilation.var">
asier@3995
   736
      <isfalse value="${apply.modules.complete.compilation.var}" />
asier@3995
   737
    </condition>
antonio@7516
   738
martin@14869
   739
    <updatesystemstatus v="RB43"/>
martin@14869
   740
    <antcall target="apply.modules.compile"/>
antonio@7516
   741
antonio@5611
   742
    <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" />
antonio@7516
   743
asier@3995
   744
  </target>
martin@14869
   745
  
martin@4287
   746
  <target name="apply.module.forked">
martin@4287
   747
    <!-- 
martin@4287
   748
    Note: set reinitializeModel to false because otherwise the dal is re-initialized with classes and a model
martin@4287
   749
    which are not in sync (see issue: https://issues.openbravo.com/view.php?id=9376)
martin@4287
   750
    Note: applyModule can also be moved to a java task to fork it (to prevent this from occuring)
martin@4287
   751
    but then no output is visible for the user.
martin@4287
   752
    -->
martin@4287
   753
    <taskdef name="applyModule" classname="org.openbravo.erpCommon.modules.ApplyModuleTask">
martin@4287
   754
      <classpath refid="project.class.path" />
martin@4287
   755
    </taskdef>
antonio@15503
   756
    <applyModule userId="0" adminMode="true" forceRefData="${forceRefData}" propertiesFile="${base.config}/Openbravo.properties"/>
martin@4287
   757
  </target>
martin@14869
   758
  
antonio@7535
   759
  <target name="compile.apply.module" depends="init">
martin@14869
   760
    <updatesystemstatus v="RB31"/>
antonio@7535
   761
    <ant dir="${base.src}" target="compile.apply.module" inheritAll="true" inheritRefs="true" />
antonio@7535
   762
  </target>
martin@14869
   763
  
antonio@7541
   764
  <!--
antonio@7541
   765
  This task uses a special classpath.
antonio@7541
   766
  This classpath is equivalent to the normal project.class.path, except for the fact that that the normal build folder
antonio@7541
   767
  is replaced by the apply.module.build folder, in which the ApplyModule task related classes will be compiled.
antonio@7541
   768
  This is done to workaround the fact that the javac task needs to compile all the related classes when upgrading openbravo
antonio@7541
   769
  and if the normal build folder is included, none of them are recompiled by default unless the whole build directory is specified.
antonio@7541
   770
  -->
antonio@7535
   771
  <target name="apply.module" depends="compile.apply.module">
antonio@6492
   772
    <java classname="org.openbravo.erpCommon.modules.ApplyModuleTask" fork="true" maxmemory="${build.maxmemory}" failonerror="true">
antonio@15503
   773
      <arg line="'${base.src}' '${friendlyWarnings}' '${forceRefData}'" />
antonio@7543
   774
      <classpath refid="apply.module.runtime.classpath" />
martin@4287
   775
    </java>
martin@14869
   776
   <delete includeEmptyDirs="true"  dir="${build.apply.module}" />
martin@4287
   777
  </target>
martin@14869
   778
  
asier@6221
   779
  <target name="apply.modules.compile" depends="wad.lib">
martin@14869
   780
    <antcall target="apply.modules.compile.simple"/>
martin@14869
   781
    <antcall target="apply.modules.compile.complete"/>
asier@3995
   782
  </target>
martin@14869
   783
  
asier@3995
   784
  <target name="apply.modules.compile.simple" if="apply.modules.simple.compilation.var">
martin@2871
   785
    <antcall target="compile.deploy" />
asier@3995
   786
  </target>
martin@14869
   787
  
asier@3995
   788
  <target name="apply.modules.compile.complete" if="apply.modules.complete.compilation.var">
martin@14869
   789
     <antcall target="compile.complete.deploy" />
martin@2871
   790
  </target>
martin@14869
   791
  
martin@2871
   792
  <!-- 
martin@2345
   793
		apparently this does not overwrite the default catalina_opts, only
martin@2345
   794
		if it is not set will it be set to the value below 
martin@2345
   795
	-->
martin@2871
   796
  <property name="env.CATALINA_OPTS" value="-XX:MaxPermSize=128M" />
martin@2345
   797
martin@2871
   798
  <!-- 
martin@2345
   799
		This task is called from the Openbravo ui, it spawns a java call which again
martin@2345
   800
		calls the restart.tomcat.do task as a spawned task.
martin@2345
   801
	-->
martin@2871
   802
  <target name="tomcat.restart" description="Restart the tomcat server process">
martin@2917
   803
    <echo message="Restarting tomcat..." />
martin@2871
   804
    <java classname="org.openbravo.service.system.RestartTomcat" spawn="true" fork="true" maxmemory="${build.maxmemory}">
martin@2871
   805
      <arg line="${base.src}" />
martin@2871
   806
      <classpath refid="project.class.path" />
martin@2871
   807
    </java>
martin@2871
   808
  </target>
martin@2345
   809
martin@2871
   810
  <!--
martin@2345
   811
		Is called by the org.openbravo.service.system.RestartTomcat class.
martin@2345
   812
	-->
martin@2871
   813
  <target name="tomcat.restart.do" description="Restart the tomcat server process">
martin@2871
   814
    <echo message="Restarting Tomcat at ${env.CATALINA_HOME}" />
martin@2871
   815
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true">
asier@25200
   816
      <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar:${env.CATALINA_HOME}/bin/tomcat-juli.jar" />
martin@2871
   817
      <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}" />
martin@2871
   818
      <jvmarg value="-Dcatalina.base=${env.CATALINA_BASE}" />
martin@2871
   819
      <arg line="stop" />
martin@2871
   820
    </java>
martin@2871
   821
    <sleep description="Wait to give tomcat time to stop" seconds="20" />
stefan@9978
   822
stefan@9978
   823
    <!-- if deploy.mode=class this will sync (& delete orphan) jarfiles from WebContent -> tomcat-->
martin@14869
   824
    <antcall target="copy.files.jarsync"/>
stefan@9978
   825
stefan@9978
   826
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true" spawn="true">
asier@25200
   827
      <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar:${env.CATALINA_HOME}/bin/tomcat-juli.jar" />
martin@2871
   828
      <!-- note because CATALINA_OPTS can be multi argument the line attribute has to be used! -->
martin@2871
   829
      <jvmarg line="${env.CATALINA_OPTS}" />
martin@2871
   830
      <jvmarg value="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" />
martin@2871
   831
      <jvmarg value="-Djava.util.logging.config.file=${env.CATALINA_BASE}/conf/logging.properties" />
martin@2871
   832
      <jvmarg value="-Dcatalina.base=${env.CATALINA_BASE}" />
martin@2871
   833
      <jvmarg value="-Dcatalina.home=${env.CATALINA_HOME}" />
martin@2871
   834
      <jvmarg value="-Djava.io.tmpdir=${env.CATALINA_BASE}/temp" />
martin@2871
   835
      <arg line="start" />
martin@2871
   836
    </java>
martin@2871
   837
  </target>
martin@2345
   838
martin@2871
   839
  <!-- 
martin@2345
   840
		This task is called from the Openbravo ui, it spawns a java call which again
martin@2345
   841
		calls the tomcat.reload.do task as a spawned task.
martin@2345
   842
	-->
martin@2871
   843
  <target name="tomcat.reload" description="Reload the Openbravo context">
martin@2917
   844
    <echo message="Reloading webapp..." />
martin@2871
   845
    <java classname="org.openbravo.service.system.ReloadContext" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" spawn="true" fork="true">
martin@2871
   846
      <arg line="${base.src}" />
martin@2871
   847
      <classpath refid="project.class.path" />
martin@2871
   848
    </java>
martin@2871
   849
  </target>
martin@2345
   850
martin@2871
   851
  <target name="tomcat.reload.do">
martin@2871
   852
    <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
martin@2871
   853
      <classpath refid="project.class.path" />
martin@2871
   854
    </taskdef>
martin@2871
   855
    <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" />
martin@2871
   856
  </target>
adrian@171
   857
martin@2871
   858
  <target name="tomcat.list">
martin@2871
   859
    <taskdef name="list" classname="org.apache.catalina.ant.ListTask">
martin@2871
   860
      <classpath refid="project.class.path" />
martin@2871
   861
    </taskdef>
martin@2871
   862
    <list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" />
martin@2871
   863
  </target>
martin@2345
   864
martin@2871
   865
  <target name="deploy.context">
martin@2871
   866
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
martin@2871
   867
      <classpath refid="project.class.path" />
martin@2871
   868
    </taskdef>
martin@2871
   869
    <taskdef name="deploy.tomcat" classname="org.apache.catalina.ant.DeployTask">
martin@2871
   870
      <classpath refid="project.class.path" />
martin@2871
   871
    </taskdef>
martin@2871
   872
    <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
martin@2871
   873
      <classpath refid="project.class.path" />
martin@2871
   874
    </taskdef>
martin@2345
   875
martin@2871
   876
    <undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" failonerror="false" />
martin@2871
   877
    <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
   878
    <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" />
martin@2871
   879
  </target>
martin@2345
   880
martin@2871
   881
  <target name="generate-wsdd">
martin@2871
   882
    <ant dir="${base.src}" target="generate-wsdd" inheritAll="true" inheritRefs="true" />
martin@2871
   883
  </target>
martin@2345
   884
martin@2871
   885
  <target name="obx.export.database" if="obx.exp.DB">
martin@2871
   886
    <antcall target="export.database" />
martin@2871
   887
  </target>
martin@2345
   888
martin@2871
   889
  <target name="obx.export.config.script" if="obx.exp.CS">
martin@2871
   890
    <antcall target="export.config.script" />
martin@2871
   891
  </target>
martin@2345
   892
asier@19231
   893
  <target name="obx.export.validateModules" if="obx.exp.validate">
asier@19231
   894
    <taskdef name="validateModules" classname="org.openbravo.service.system.SystemValidationTask">
martin@2871
   895
      <classpath refid="project.class.path" />
martin@2871
   896
    </taskdef>
martin@2345
   897
asier@5560
   898
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5533
   899
      <classpath refid="project.class.path" />
asier@5533
   900
    </taskdef>
asier@19231
   901
asier@5533
   902
    <echo message="Validating Module..." />
asier@19231
   903
martin@14869
   904
    <WADValidation propertiesFile="${base.config}/Openbravo.properties"
martin@14869
   905
                   modules="${module}"
martin@14869
   906
                   stoponerror="true"/>
martin@3038
   907
asier@11044
   908
    <validateModules moduleJavaPackage="${module}" failOnError="true" userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="module" />
asier@19231
   909
  </target>
asier@19231
   910
  
asier@19231
   911
  <target name="package.module">
asier@19231
   912
    <taskdef name="extractModule" classname="org.openbravo.erpCommon.modules.ExtractModuleTask">
asier@19231
   913
      <classpath refid="project.class.path" />
asier@19231
   914
    </taskdef>
asier@19231
   915
    
asier@19231
   916
    <antcall target="obx.export.validateModules" />
martin@2871
   917
    <antcall target="obx.export.database" />
martin@2871
   918
    <antcall target="obx.export.config.script" />
juanpablo@2691
   919
asier@19231
   920
    <extractModule moduleName="${module}" 
asier@19231
   921
                   userId="0" 
asier@19231
   922
                   adminMode="true" 
asier@19231
   923
                   propertiesFile="${base.config}/Openbravo.properties" 
asier@19231
   924
                   exportRD="${obx.export.RD}" 
asier@19231
   925
                   addAllDependencies="${obx.export.allDeps}"/>
martin@2871
   926
  </target>
juanpablo@2691
   927
martin@2871
   928
  <target name="diagnostic">
antonio@6886
   929
    <ant dir="src-util/diagnostic" antfile="build-create.xml" target="build" />
antonio@6886
   930
    <ant dir="src-util/diagnostic" target="check.all" />
martin@2871
   931
  </target>
inigo@25249
   932
  
inigo@25249
   933
  <target name="setup.compile">
inigo@25519
   934
	<mkdir dir="build/classes" />
inigo@25525
   935
    <javac srcdir="src/org/openbravo/configuration" destdir="build/classes" fork="true" deprecation="off" encoding="UTF-8" debug="true" debuglevel="lines,vars,source" includeantruntime="false">
inigo@25519
   936
      <classpath refid="project.class.path"/>  
inigo@25519
   937
    </javac>
martin@2871
   938
  </target>
juanpablo@2706
   939
inigo@25525
   940
  <target name="setup" depends="init, setup.compile">
inigo@25519
   941
    <echo message="Launching configuration application..."/>
inigo@25519
   942
    <taskdef name="configurationApp" classname="org.openbravo.configuration.ConfigurationApp">
inigo@25519
   943
      <classpath refid="project.class.path" />
inigo@25519
   944
    </taskdef>
inigo@25519
   945
    <configurationApp/>
inigo@25249
   946
    </target>
inigo@25249
   947
  
asier@4280
   948
  <target name="package.core" depends="init, set.version.number">
martin@14869
   949
	<property name="tmpdir" value="${java.io.tmpdir}/ob.core${core.rev}" />
martin@14869
   950
   
martin@14869
   951
  	<exec executable="hg" >
martin@14869
   952
  		<arg value="archive"/>
martin@14869
   953
  		<arg value="${tmpdir}"/>
martin@14869
   954
  	</exec>
martin@14869
   955
  	
martin@14869
   956
  	<replaceregexp file="${tmpdir}/src-db/database/sourcedata/AD_MODULE.xml"
martin@14869
   957
                   match="(VERSION.*\[CDATA\[).*\..*\.(.*)(\]\])"
martin@14869
   958
                   replace="\1${core.rev}\3"
martin@14869
   959
                   byline="true"/>
martin@14869
   960
    
martin@14869
   961
    <delete includeEmptyDirs="true">
martin@14869
   962
      <fileset dir="${tmpdir}/modules" includes="**/*" defaultexcludes="no"/>
martin@14869
   963
    </delete>
martin@14869
   964
    
martin@14869
   965
    <zip destfile="${basedir}/core-${core.rev}.obx" basedir="${tmpdir}"/>
martin@14869
   966
    
martin@14869
   967
    <delete dir="${tmpdir}"/>
martin@14868
   968
martin@14869
   969
   </target>
martin@14869
   970
 
martin@14869
   971
  <target name="set.version.number" depends="set.version.from.file, set.version.calculated"/>
martin@14869
   972
  
asier@4279
   973
  <target name="set.version.calculated" if="calculate.core.rev">
martin@14869
   974
    <echo message="calculating core revision..."/>
asier@4279
   975
    <exec executable="hg" outputproperty="hg.idno" failifexecutionfails="false">
martin@14869
   976
      <arg value="id"/>
martin@14869
   977
      <arg value="-n"/>
asier@4279
   978
    </exec>
guillermo@15690
   979
        <propertyfile file="currentRevision.tmp">
guillermo@15690
   980
          <entry key="core.rev" value="3.0.${hg.idno}"/>
guillermo@15690
   981
        </propertyfile>
guillermo@15690
   982
        <replaceregexp file="currentRevision.tmp"
guillermo@15690
   983
                       match="\+"
guillermo@15690
   984
                       replace=""
guillermo@15690
   985
                       byline="true"
guillermo@15690
   986
        />
guillermo@15690
   987
        <loadproperties> 
guillermo@15690
   988
          <file file="currentRevision.tmp"/> 
guillermo@15690
   989
        </loadproperties>
guillermo@15690
   990
        <delete file="currentRevision.tmp"/>
asier@4279
   991
  </target>
martin@14869
   992
  
asier@4279
   993
  <target name="set.version.from.file" if="xml.core.rev">
martin@14869
   994
    <echo message="reading core revision from xml file..."/>
asier@4279
   995
    <loadfile property="core.rev" srcfile="${basedir}/src-db/database/sourcedata/AD_MODULE.xml">
asier@4279
   996
      <filterchain>
asier@4279
   997
        <linecontains>
martin@14869
   998
          <contains value="VERSION>"/>
asier@4279
   999
        </linecontains>
asier@4279
  1000
        <tokenfilter>
martin@14869
  1001
            <replaceregex pattern="(.*VERSION.*\[CDATA\[)(.*\..*\..*)(\]\].*)" replace="\2"/>
asier@4279
  1002
        </tokenfilter>
martin@14869
  1003
        <striplinebreaks/>
asier@4279
  1004
      </filterchain>
asier@4279
  1005
    </loadfile>
asier@4279
  1006
  </target>
martin@14869
  1007
  
asier@5536
  1008
  <target name="validate.wad">
asier@5536
  1009
    <ant dir="${base.src}" target="wadvalidation" inheritAll="true" inheritRefs="true" />
asier@5536
  1010
  </target>
martin@14869
  1011
  
antonio@7476
  1012
  <target name="UIrebuild" depends="core.lib">
antonio@7476
  1013
    <java classname="org.openbravo.base.BuildTask" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
antonio@7476
  1014
      <arg line="'${base.config}/Openbravo.properties' ${logFileName}" />
antonio@7476
  1015
      <classpath>
antonio@7476
  1016
        <pathelement path="${build.core.lib}/openbravo-core.jar" />
stefan@11940
  1017
        <pathelement path="${base.lib}/runtime/log4j-1.2.16.jar" />
stefan@11940
  1018
        <pathelement path="${base.lib}/runtime/commons-pool-1.5.6.jar" />
stefan@11940
  1019
        <pathelement path="${base.lib}/runtime/commons-dbcp-1.4.jar" />
asier@33773
  1020
        <pathelement path="${base.lib}/runtime/postgresql-42.2.2.jre7.jar" />
antonio@7476
  1021
        <pathelement path="${base.lib}/runtime/ojdbc6.jar" />
stefan@11940
  1022
        <pathelement path="${base.lib}/runtime/commons-collectionsi-3.2.1.jar" />
augusto@24383
  1023
        <pathelement path="${base.lib}/runtime/ant-1.9.2.jar" />
augusto@24383
  1024
        <pathelement path="${base.lib}/runtime/ant-launcher-1.9.2.jar" />
augusto@24383
  1025
        <pathelement path="${base.lib}/runtime/ant-apache-log4j-1.9.2.jar" />
antonio@7476
  1026
        <pathelement path="${base.lib}/runtime/ant-nodeps.jar" />
antonio@7476
  1027
      </classpath>
antonio@7476
  1028
    </java>
antonio@7476
  1029
  </target>
martin@14869
  1030
  
asier@8876
  1031
  <target name="check.module.consistency">
asier@8876
  1032
    <taskdef name="checkConsistency" classname="org.openbravo.erpCommon.modules.CheckLocalConsistency">
asier@8876
  1033
      <classpath refid="project.class.path" />
asier@8876
  1034
    </taskdef>
martin@14869
  1035
    <checkConsistency userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties"/>
asier@8876
  1036
  </target>
martin@14869
  1037
  
miguel@16113
  1038
  <target name="cleanSubfolders" depends="init">
miguel@16113
  1039
      <ant dir="${base.src.core}" target="clean" inheritAll="true" inheritRefs="true" />
miguel@16113
  1040
      <ant dir="${base.src.trl}" target="clean" inheritAll="true" inheritRefs="true" />
miguel@16113
  1041
      <ant dir="${base.src.wad}" target="clean" inheritAll="true" inheritRefs="true" />
asier@16641
  1042
  </target>
asier@16641
  1043
  
asier@16641
  1044
  <target name="activate.instance" depends="init"
asier@16641
  1045
          description="Activates the instance with the provided public key">
asier@16641
  1046
   <taskdef name="activateInstace" classname="org.openbravo.erpCommon.obps.ActivationTask">
asier@16641
  1047
     <classpath refid="project.class.path" />
asier@16641
  1048
   </taskdef>
asier@16641
  1049
   <property name="purpose" value="" />
asier@16641
  1050
   <property name="publicKey" value="" />
asier@16641
  1051
   <property name="publicKeyFile" value="" />
asier@16641
  1052
    
asier@16641
  1053
   <activateInstace purpose="${purpose}"
asier@16641
  1054
                    publicKey="${publicKey}"
asier@16641
  1055
                    publicKeyFile="${publicKeyFile}"
asier@16641
  1056
                    userId="0" 
asier@16641
  1057
                    adminMode="true" 
asier@16641
  1058
                    propertiesFile="${base.config}/Openbravo.properties"/>
asier@16641
  1059
  </target>
miguel@16113
  1060
  
asier@25752
  1061
  <target name="host.name"
asier@25752
  1062
          description="Prints this machine's name. This name can be used to overwrite common Openbravo.properties by machine.name.Openbravo properties file">
asier@25753
  1063
    <mkdir dir="build/classes"/>
asier@25752
  1064
    <javac srcdir="src/org/openbravo/base/session" includes="HostNameTask.java" destdir="build/classes" fork="true" deprecation="off" encoding="UTF-8" debug="true" debuglevel="lines,vars,source" includeantruntime="false">
asier@25752
  1065
      <classpath refid="project.class.path"/>
asier@25752
  1066
    </javac>
asier@25752
  1067
    <taskdef name="hostName" classname="org.openbravo.base.session.HostNameTask">
asier@25752
  1068
      <classpath refid="project.class.path"/>
asier@25752
  1069
    </taskdef>
asier@25752
  1070
    <hostName/>
asier@25752
  1071
  </target>
asier@43
  1072
</project>