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