src/build.xml
author Atul Gaware <atul.gaware@openbravo.com>
Thu, 04 Oct 2018 01:14:57 +0530
changeset 35324 f56c59c75e26
parent 35023 858db3323487
child 35461 804ed224407c
permissions -rw-r--r--
Fixes Issue 39386: Goods Shipment IsCompletelyInvoiced
flag is not properly updated when voiding Sales Invoice

IsCompletelyInvoiced flag is set to No for the shipments
that have shipment line linked with the invoice lines of
the invoice that is being voided.
carlos@0
     1
<?xml version="1.0" encoding="UTF-8" ?>
carlos@0
     2
<!--
carlos@0
     3
 *************************************************************************
carlos@0
     4
 * The contents of this file are subject to the Openbravo Public License 
carlos@0
     5
 * Version 1.1 (the "License"), being the Mozilla Public License 
carlos@0
     6
 * version 1.1  with a permitted attribution clause ; you may not use 
carlos@0
     7
 * this file except in compliance with the License. 
carlos@0
     8
 * You may obtain a copy of the License at  
carlos@0
     9
 * http://www.openbravo.com/legal/license.txt 
carlos@0
    10
 * Software distributed under the License is distributed on an 
carlos@0
    11
 * "AS IS" basis, WITHOUT WARRANTY OF  ANY KIND, either express or 
carlos@0
    12
 * implied. See the License for the specific language governing rights 
carlos@0
    13
 * and  limitations under the License. 
carlos@0
    14
 * The Original Code is Openbravo ERP. 
ggi@6701
    15
 * The Initial Developer of the Original Code is Openbravo SLU 
carlos@33710
    16
 * All portions are Copyright (C) 2005-2018 Openbravo SLU 
carlos@0
    17
 * All Rights Reserved. 
ggi@6701
    18
 * Contributor(s): Openbravo S.L.U.
carlos@0
    19
 ************************************************************************
carlos@0
    20
-->
juanpablo@213
    21
juanpablo@213
    22
<!--
ivan@1738
    23
List of methods infside:
juanpablo@213
    24
juanpablo@213
    25
init: creates all the folders.
juanpablo@213
    26
trl.clean: clean the AD_TEXTINTERFACES table
juanpablo@213
    27
clean: delete all folders.
juanpablo@213
    28
sqlc: generates the java from the xsql files.
juanpablo@213
    29
compileSqlc: compiles all the java generated from the xsqls.
juanpablo@213
    30
wad: generates all the files from the mda.
juanpablo@213
    31
postwad: copies the generated files to the base design folder.
juanpablo@213
    32
postsrc: copies the src files to the base design folder and the 
juanpablo@213
    33
         xml and jasper files to the translated designs folders
asier@1929
    34
postsrc.modules: it does the same as postsrc but for module files
juanpablo@213
    35
build.local.context: copies all files to the eclipse base context 
juanpablo@213
    36
                     (WebContent...).
juanpablo@213
    37
compile.src: comiles only the src files.
juanpablo@213
    38
compile: compiles specified WAD window and src and also translates.
juanpablo@213
    39
compile.complete: compiles all WAD windows and src and also translates.
juanpablo@213
    40
translate: Translate the modified files.
juanpablo@213
    41
installWebService: install the web services configuration file.
juanpablo@213
    42
uninstallWebService: uninstall the web services configuration file.
juanpablo@213
    43
copy.files: copy the local files to the context.
juanpablo@213
    44
compile.development: like compile, but also copies the files to the context.
juanpablo@213
    45
compile.complete.development: like compile.complete, but also copies the files 
juanpablo@213
    46
                              to the context.
asier@1929
    47
compile.web: re-builds the web folder.
asier@1929
    48
compile.web.development: like compile.web, but also copies the files to the context.
juanpablo@213
    49
build.war: build a war file in the lib directory.
juanpablo@213
    50
-->
juanpablo@213
    51
carlos@0
    52
<project name="openbravo sources" default="compile" basedir=".">
stefan@2143
    53
martin@2868
    54
  <taskdef name="yuicompress" classname="com.yahoo.platform.yui.compressor.YUICompressTask">
ivan@6256
    55
    <classpath>
ivan@6256
    56
      <pathelement location="${base.lib}/build/yuicompressor-2.4.2.jar" />
ivan@6256
    57
      <pathelement location="${base.lib}/build/ob-rhino-1.6R7.jar" />
ivan@6256
    58
      <pathelement location="${base.lib}/build/YUIAnt.jar" />
ivan@6256
    59
    </classpath>
martin@2868
    60
  </taskdef>
stefan@2143
    61
martin@2868
    62
  <condition property="minimizeJSandCSSbool">
martin@2868
    63
    <istrue value="${minimizeJSandCSS}" />
martin@2868
    64
  </condition>
stefan@2143
    65
martin@2868
    66
  <property name="webTab" value="all" />
martin@2868
    67
  <property name="tab" value="%" />
asier@1929
    68
martin@2868
    69
  <property name="base.translate.structure" value="org/openbravo/erpWindows" />
martin@2868
    70
  <property name="src" value="." />
martin@2868
    71
  <property name="tr" value="yes" />
asier@30418
    72
asier@30418
    73
  <condition property="exclude.cdi">
asier@30418
    74
    <equals arg1="wildfly" arg2="${application.server}" />
asier@30418
    75
  </condition>
asier@30418
    76
martin@2868
    77
  <condition property="translation">
martin@2868
    78
    <not>
martin@2868
    79
      <equals arg1="no" arg2="${tr}" />
martin@2868
    80
    </not>
martin@2868
    81
  </condition>
martin@2868
    82
  <target name="init">
martin@2868
    83
    <mkdir dir="${build}" />
martin@2868
    84
    <mkdir dir="${base.design}/design" />
martin@2868
    85
    <mkdir dir="${build.sqlc}/src" />
martin@2868
    86
    <mkdir dir="${build.sqlc}/srcAD" />
martin@2868
    87
    <mkdir dir="${build.AD}/org/openbravo/erpWindows" />
martin@2868
    88
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/ad_actionButton" />
martin@2868
    89
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/ad_callouts" />
martin@2868
    90
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/reference" />
martin@2868
    91
  </target>
antonio@5617
    92
  <macrodef name="updatesystemstatus">
antonio@5617
    93
     <attribute name="v" default="NOT SET"/>
antonio@5617
    94
     <sequential>
antonio@5617
    95
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
antonio@5618
    96
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
antonio@5618
    97
         <transaction> UPDATE ad_system_info SET system_status='@{v}' ;
antonio@5618
    98
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@5618
    99
         </transaction>
antonio@5617
   100
       </sql>
antonio@5617
   101
     </sequential>
antonio@5617
   102
  </macrodef>
carlos@0
   103
martin@2868
   104
  <target name="validate.database">
martin@2868
   105
    <taskdef name="validateDatabase" classname="org.openbravo.service.system.SystemValidationTask">
martin@2868
   106
      <classpath refid="project.class.path" />
martin@2868
   107
    </taskdef>
martin@5455
   108
    <validateDatabase userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="database" />
martin@2868
   109
  </target>
carlos@0
   110
martin@2868
   111
  <target name="validate.modules">
martin@2868
   112
    <taskdef name="validateModules" classname="org.openbravo.service.system.SystemValidationTask">
martin@2868
   113
      <classpath refid="project.class.path" />
martin@2868
   114
    </taskdef>
asier@5698
   115
    <validateModules userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="module" moduleJavaPackage="${module}"/>
martin@2868
   116
  </target>
antonio@18802
   117
martin@2868
   118
  <target name="trl.clean" if="translation">
martin@2868
   119
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@32608
   120
      <arg line="'${base.config}/Openbravo.properties' clean" />
martin@2868
   121
      <classpath refid="project.class.path" />
antonio@7580
   122
      <syspropertyset>
antonio@7580
   123
         <propertyref name="java.security.egd" />
antonio@7580
   124
      </syspropertyset>
martin@2868
   125
    </java>
martin@2868
   126
  </target>
asier@5935
   127
  
asier@5935
   128
  <target name="trl.remove.unused" if="translation">
asier@5935
   129
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@32608
   130
      <arg line="'${base.config}/Openbravo.properties' remove" />
asier@5935
   131
      <classpath refid="project.class.path" />
antonio@7580
   132
      <syspropertyset>
antonio@7580
   133
         <propertyref name="java.security.egd" />
antonio@7580
   134
      </syspropertyset>
asier@5935
   135
    </java>
asier@5935
   136
  </target>
martin@2346
   137
martin@2868
   138
  <target name="clean" depends="trl.clean">
martin@2868
   139
    <property name="complete" value="true" />
martin@2868
   140
    <delete includeEmptyDirs="true" failonerror="false">
martin@2868
   141
      <fileset dir="${base.design}" />
martin@2868
   142
      <fileset dir="${build}" />
martin@2868
   143
      <fileset dir="${build.docs}" />
martin@2868
   144
      <fileset dir="${build.AD}" />
martin@2868
   145
      <fileset dir="${build.sqlc}" />
martin@2868
   146
      <fileset dir="${base.context}">
martin@2868
   147
        <exclude name=".svn" />
martin@2868
   148
        <exclude name="META-INF/MANIFEST.MF" />
juanpablo@3236
   149
        <exclude name="**/.keep" />
martin@2868
   150
      </fileset>
martin@2868
   151
    </delete>
martin@2868
   152
  </target>
carlos@0
   153
antonio@7535
   154
  <target name="compile.apply.module" depends="init">
antonio@7541
   155
    <mkdir dir="${build.apply.module}" />
antonio@7535
   156
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
antonio@7535
   157
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
stefan@15432
   158
      <jvmarg value="-Dsqlc.listOfFiles=ApplyModule_data.xsql,PInstanceProcess_data.xsql,Translation_data.xsql,MessageBD_data.xsql"/>
antonio@7535
   159
      <classpath refid="project.class.path" />
antonio@7580
   160
      <syspropertyset>
antonio@7580
   161
         <propertyref name="java.security.egd" />
antonio@7580
   162
      </syspropertyset>
antonio@7535
   163
    </java>
stefan@11995
   164
    <javac includes="org/openbravo/erpCommon/modules/ApplyModuleTask.java" destdir="${build.apply.module}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on" verbose="false" nowarn="${friendlyWarnings}" includeantruntime="false" >
antonio@7535
   165
      <src path="${base.src}"/>
antonio@7535
   166
      <src path="../build/javasqlc/src"/>
antonio@7541
   167
      <src path="../src-gen"/>
carlos@33983
   168
      <src path="../modules/org.openbravo.base.weld/src/"/>
antonio@7543
   169
      <classpath refid="apply.module.compile.classpath" />
javier@35016
   170
      <compilerarg value="-implicit:class" />
antonio@7535
   171
    </javac>
antonio@7535
   172
  </target>
antonio@7535
   173
  
stefan@12082
   174
  <target name="sqlc">
asier@3189
   175
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   176
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
martin@2868
   177
      <classpath refid="project.class.path" />
antonio@7580
   178
      <syspropertyset>
antonio@7580
   179
         <propertyref name="java.security.egd" />
antonio@7580
   180
      </syspropertyset>
martin@2868
   181
    </java>
asier@3189
   182
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   183
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
stefan@5218
   184
      <jvmarg value="-Dsqlc.queryExecutionStrategy=traditional"/>
martin@2868
   185
      <classpath refid="project.class.path" />
antonio@7580
   186
      <syspropertyset>
antonio@7580
   187
         <propertyref name="java.security.egd" />
antonio@7580
   188
      </syspropertyset>
martin@2868
   189
    </java>
martin@2868
   190
    <copy file="${base.src}/buildAD.xml" tofile="${build.AD}/build.xml" />
martin@2868
   191
    <ant dir="${build.AD}" target="buildAD" inheritAll="true" inheritRefs="true" />
martin@2868
   192
  </target>
carlos@0
   193
martin@2868
   194
  <target name="clean.src.gen">
martin@2868
   195
    <delete includeEmptyDirs="true" failonerror="false">
juanpablo@3236
   196
      <fileset dir="${base.src.gen}" >
juanpablo@3236
   197
        <exclude name="**/.keep" />
juanpablo@3236
   198
      </fileset>
martin@2868
   199
    </delete>
martin@2868
   200
  </target>
martin@2868
   201
stefan@11851
   202
  <!-- full generate.entities -> clean + .quick -->
stefan@11851
   203
  <target name="generate.entities" depends="clean.src.gen,generate.entities.quick" />
martin@2830
   204
martin@2868
   205
  <!-- 
martin@2830
   206
		Generates entities only when the application dictionary has changed.
martin@2830
   207
		Difference with the generate.entities is that it does not clean the src-gen directory. The standard
martin@2830
   208
		GenerateEntitiesTask always checks if the AD was changed before regenerating. The check is to compare
martin@2830
   209
		the modified time of the generated sources with the updated time of the Application Dictionary. If there
martin@2830
   210
		is a source older than the last updated time of the Application Dictionary then the sources need to be regenerated.		
martin@2830
   211
	-->
martin@2868
   212
  <target name="generate.entities.quick" depends="compile.src.gen">
stefan@11851
   213
    <java classname="org.openbravo.base.gen.GenerateEntitiesTask" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
stefan@11851
   214
      <arg line="'${base.src}' '${friendlyWarnings}'" />
asier@34825
   215
      <jvmarg line="${jvm.arg.line}" />
stefan@11851
   216
      <classpath refid="project.class.path" />
antonio@7580
   217
      <syspropertyset>
antonio@7580
   218
         <propertyref name="java.security.egd" />
antonio@7580
   219
      </syspropertyset>
stefan@11851
   220
    </java>
stefan@11851
   221
      <!--
stefan@11851
   222
        see issue: https://issues.openbravo.com/view.php?id=9331
stefan@11851
   223
        Custom columns in standard tables should support a reference to a table in the module
stefan@11851
   224
        if this occurs then possible the following javac has to be enabled instead of the two javacs below
stefan@11851
   225
      <javac srcdir="${base.src}:${base.src.gen}" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
stefan@11851
   226
        <classpath refid="project.class.path" />      
stefan@11851
   227
      </javac>
stefan@11851
   228
      -->
carlos@33979
   229
      <javac srcdir="${base.src}:${base.src.gen}:${base.modules}" includes="org/openbravo/model/**,org/openbravo/base/structure/**,org/openbravo/dal/**,org/openbravo/service/dataset/**,*/src/**/base/weld/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on" includeantruntime="false">
javier@35016
   230
        <classpath refid="project.class.path" />
javier@35016
   231
        <compilerarg value="-implicit:class" />
stefan@11851
   232
      </javac>
stefan@11995
   233
      <javac srcdir="${base.src.gen}" excludes="org/openbravo/model/**,org/openbravo/base/structure/**,org/openbravo/dal/**,org/openbravo/service/dataset/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on" includeantruntime="false">
stefan@11851
   234
        <classpath refid="project.class.path" />
stefan@11851
   235
      </javac>
stefan@11851
   236
  </target>
martin@3982
   237
stefan@11851
   238
  <!-- build-internal forking helper -->
stefan@11851
   239
  <target name="generate.entities.quick.forked" depends="compile.src.gen">
stefan@11852
   240
    <taskdef name="workflow" classpathref="project.class.path" classname="org.openbravo.base.gen.GenerateEntitiesTask" />
stefan@11851
   241
    <workflow friendlyWarnings="${friendlyWarnings}" srcGenPath="${base.src.gen}" propertiesFile="${base.config}/Openbravo.properties" />
asier@24247
   242
  </target> 
priya@6927
   243
antonio@16420
   244
  <path id="my-src-dirs">
antonio@16420
   245
    <pathelement path="${basedir}" />
antonio@16420
   246
    <pathelement path="${build.sqlc}/src" />
antonio@16420
   247
    <pathelement path="${build.sqlc}/srcAD" />
antonio@16420
   248
    <dirset dir="${base.modules}">
stefan@17922
   249
      <include name="*/src" />
antonio@16420
   250
    </dirset>
antonio@16420
   251
  </path>
antonio@16420
   252
 
martin@2868
   253
  <target name="compileSqlc" depends="sqlc">
antonio@16420
   254
    <javac excludes="*/src-wad/**,*/src-util/**,**/org/openbravo/erpWindows/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}" includeantruntime="false">
antonio@16420
   255
      <src refid="my-src-dirs"/>
antonio@16420
   256
      <classpath refid="project.class.path" />
antonio@16420
   257
    </javac>
antonio@16420
   258
antonio@16420
   259
    <javac srcdir="${build.sqlc}/srcAD" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}" includeantruntime="false">
asier@2967
   260
      <classpath refid="project.class.path" />
asier@2967
   261
    </javac>
antonio@6965
   262
stefan@11995
   263
    <javac srcdir="${build.AD}" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}" includeantruntime="false">
martin@2868
   264
      <classpath refid="project.class.path" />
martin@2868
   265
    </javac>
martin@2868
   266
  </target>
antonio@5592
   267
martin@2868
   268
  <target name="compile.src.gen" depends="init">
stefan@11995
   269
    <javac srcdir="${basedir}" includes="org/openbravo/base/exception/**,org/openbravo/base/gen/**,org/openbravo/base/expression/**,org/openbravo/base/provider/**,org/openbravo/base/model/**,org/openbravo/base/session/**,org/openbravo/base/validation/**,org/openbravo/base/util/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on" includeantruntime="false">
martin@2868
   270
      <classpath refid="project.class.path" />
javier@35016
   271
      <compilerarg value="-implicit:class" />
martin@2868
   272
    </javac>
martin@2868
   273
    <copy todir="${build}">
stefan@32771
   274
      <fileset dir="${basedir}">
stefan@32771
   275
        <include name="**/*.hbm.xml" />
stefan@32771
   276
        <include name="**/*.properties" />
stefan@32771
   277
      </fileset>
martin@2868
   278
    </copy>
martin@6157
   279
    
martin@6157
   280
    <!-- also compile the domaintypes in modules -->
stefan@11995
   281
    <javac srcdir="${basedir}/../" includes="modules/*/src/**/model/domaintype/**/*.java" destdir="${build}"  fork="true" deprecation="on" encoding="UTF-8" debug="true" debuglevel="lines,vars,source" includeantruntime="false">
martin@6157
   282
      <classpath refid="project.class.path" />
martin@6157
   283
    </javac>
martin@6157
   284
    
martin@6157
   285
    <!-- copy all configuration files in modules to the output path also -->
martin@6157
   286
    <copy todir="${build}" encoding="UTF-8">
martin@6157
   287
      <fileset dir="${base.modules}">
martin@6157
   288
          <include name="*/src/**/*" />
martin@6157
   289
          <exclude name="*/src/**/*.java" />
martin@6157
   290
          <exclude name="*/src/**/*.xsql" />
martin@6157
   291
      </fileset>
martin@6157
   292
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6157
   293
    </copy>
martin@2868
   294
  </target>
martin@2346
   295
asier@5532
   296
  <target name="wadvalidation">
asier@5535
   297
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5532
   298
            <classpath refid="project.class.path" />
asier@5532
   299
          </taskdef>
asier@5532
   300
        
asier@5532
   301
        <WADValidation propertiesFile="${base.config}/Openbravo.properties"
asier@5532
   302
                       modules="${module}"
antonio@5691
   303
                       stoponerror="${stopOnWadError}"
antonio@5691
   304
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   305
  </target>
asier@5532
   306
  
asier@5532
   307
  <target name="wad" depends="init, wadvalidation">
asier@5256
   308
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}" failonerror="true">
asier@30422
   309
      <arg line="'${base.config}' '${tab}' '${build.AD}/org/openbravo/erpWindows' '${build.AD}/org/openbravo/erpCommon' '${build.sqlc}/src' '${webTab}' '${build.AD}/org/openbravo/erpCommon/ad_actionButton' '${base.design}' '${base.translate.structure}' 'dummyValueUnused' '..' '${attach.path}' '${web.url}' '${base.src}' '${complete}' '${module}' 'noquick' '${wad.generateAllClassic250Windows}' '${exclude.cdi}'" />
stefan@9215
   310
      <classpath refid="wad.class.path" />
antonio@7580
   311
      <syspropertyset>
antonio@7580
   312
         <propertyref name="java.security.egd" />
antonio@7580
   313
      </syspropertyset>
martin@2868
   314
    </java>
martin@2868
   315
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   316
  </target>
martin@2346
   317
asier@5532
   318
  <target name="wad.quick" depends="init, wadvalidation">
martin@2868
   319
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@30422
   320
      <arg line="'${base.config}' '${tab}' '${build.AD}/org/openbravo/erpWindows' '${build.AD}/org/openbravo/erpCommon' '${build.sqlc}/src' '${webTab}' '${build.AD}/org/openbravo/erpCommon/ad_actionButton' '${base.design}' '${base.translate.structure}' 'dummyValueUnused' '..' '${attach.path}' '${web.url}' '${base.src}' '${complete}' '${module}' 'quick' '${wad.generateAllClassic250Windows}' '${exclude.cdi}'" />
stefan@9215
   321
      <classpath refid="wad.class.path" />
antonio@7580
   322
      <syspropertyset>
antonio@7580
   323
         <propertyref name="java.security.egd" />
antonio@7580
   324
      </syspropertyset>
martin@2868
   325
    </java>
martin@2868
   326
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   327
  </target>
asier@1929
   328
martin@2868
   329
  <target name="postsrc" depends="postsrc.modules">
antonio@5617
   330
martin@2868
   331
    <copy todir="${build}">
stefan@32771
   332
      <fileset dir="${basedir}">
stefan@32771
   333
        <include name="**/*.properties" />
stefan@32771
   334
        <include name="**/*.xslt" />
stefan@32771
   335
        <include name="**/*.hbm.xml" />
stefan@32771
   336
        <include name="**/*.ftl" />
stefan@32771
   337
      </fileset>
asier@19908
   338
    </copy>
martin@2868
   339
    <copy todir="${base.design}/design">
stefan@32771
   340
      <fileset dir="${basedir}">
stefan@32771
   341
        <include name="**/*.xml" />
stefan@32771
   342
        <include name="**/*.fo" />
stefan@32771
   343
        <include name="**/*.html" />
stefan@32771
   344
        <include name="**/*.srpt" />
stefan@32771
   345
        <include name="**/*.jrxml" />
stefan@32771
   346
        <include name="**/*.jasper" />
stefan@32771
   347
      </fileset>
martin@2868
   348
    </copy>
martin@2868
   349
    <copy todir="${build}">
martin@2868
   350
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   351
    </copy>
asier@8373
   352
    <copy todir="${base.design}/design/org/openbravo/erpCommon/obps" file="${basedir}/org/openbravo/erpCommon/obps/licenseRestrictions"/>
martin@2868
   353
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   354
  </target>
asier@1929
   355
martin@2868
   356
  <target name="postsrc.modules">
martin@2868
   357
    <copy todir="${base.design}/design">
martin@2868
   358
      <fileset dir="${base.modules}">
martin@2868
   359
        <include name="*/src/**/*.xml" />
martin@2868
   360
        <include name="*/src/**/*.fo" />
martin@2868
   361
        <include name="*/src/**/*.html" />
martin@2868
   362
        <include name="*/src/**/*.srpt" />
martin@2868
   363
        <include name="*/src/**/*.jrxml" />
martin@2868
   364
        <include name="*/src/**/*.jasper" />
martin@2868
   365
      </fileset>
martin@2868
   366
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   367
    </copy>
martin@6154
   368
    <copy todir="${build}">
martin@6154
   369
      <fileset dir="${base.modules}">
martin@6154
   370
        <include name="*/src/**" />
martin@6154
   371
        <exclude name="*/src/**/*.java" />
martin@6154
   372
      </fileset>
martin@6154
   373
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6154
   374
    </copy>
martin@2868
   375
  </target>
asier@1929
   376
martin@2868
   377
  <!-- end of auxiliar tasks-->
martin@2346
   378
martin@2868
   379
  <target name="build.local.context">
martin@2868
   380
    <copy todir="${base.context}" encoding="UTF-8">
ivan@10243
   381
      <fileset file="${basedir}/index.jsp" />
martin@2868
   382
    </copy>
martin@2868
   383
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   384
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   385
      <fileset dir="${base.config}">
martin@2868
   386
        <exclude name="**/eclipse/**" />
martin@2868
   387
        <exclude name="**/setup-properties**" />
martin@2868
   388
        <exclude name="*.template" />
asier@2974
   389
        <exclude name="checksums"/>
asier@35023
   390
        <exclude name="log4j2.xml"/>
martin@2868
   391
      </fileset>
martin@2868
   392
    </copy>
martin@2868
   393
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   394
      <fileset dir="${base.modules}">
martin@2868
   395
        <include name="*/config/**" />
martin@2868
   396
        <exclude name="*.template" />
martin@2868
   397
      </fileset>
martin@2868
   398
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   399
    </copy>
martin@2868
   400
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   401
      <fileset dir="${base.lib}/runtime">
martin@2868
   402
        <exclude name="openbravo-wad.jar" />
martin@2868
   403
        <exclude name="openbravo-trl.jar" />
martin@2868
   404
        <exclude name="*.war" />
martin@2868
   405
      </fileset>
martin@2868
   406
      <fileset dir="${base.db}/lib">
martin@2868
   407
        <include name="*" />
martin@2868
   408
      </fileset>
martin@2868
   409
    </copy>
martin@2346
   410
martin@2868
   411
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   412
      <fileset dir="${base.modules}">
martin@2868
   413
        <include name="*/lib/runtime/**" />
asier@30418
   414
        <exclude if="exclude.cdi" name="org.openbravo.base.weld/lib/runtime/weld*"/>
asier@30418
   415
        <exclude if="exclude.cdi" name="org.openbravo.base.weld/lib/runtime/*api*"/>
asier@30418
   416
        <exclude if="exclude.cdi" name="org.openbravo.base.weld/lib/runtime/javax*"/>
martin@2868
   417
      </fileset>
martin@2868
   418
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   419
    </copy>
asier@34813
   420
asier@34813
   421
    <copy todir="${base.context}/WEB-INF/referencedata/standard/org.openbravo">
asier@34813
   422
      <fileset dir="${basedir}/../referencedata/standard">
asier@34813
   423
        <include name="*.xml" />
asier@34813
   424
      </fileset>
asier@34813
   425
    </copy>
asier@34813
   426
asier@34813
   427
    <copy todir="${base.context}/WEB-INF/referencedata">
asier@34813
   428
      <fileset dir="${base.modules}">
asier@34813
   429
        <include name="*/referencedata/standard/*.xml" />
asier@34813
   430
        <include name="*/referencedata/accounts/COA.csv" />
asier@34813
   431
      </fileset>
asier@34813
   432
      <mapper type="regexp" from="(.*\${file.separator})referencedata\${file.separator}(standard|accounts)\${file.separator}(.*)" to="\2/\1\3" />
asier@34813
   433
    </copy>
asier@34813
   434
martin@2868
   435
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   436
  </target>
martin@2346
   437
martin@2868
   438
  <target name="build.web.folder">
martin@2868
   439
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   440
      <fileset dir="${base.web}">
martin@2868
   441
        <include name="*/**" />
martin@2868
   442
        <exclude name="skins/**" />
martin@2868
   443
      </fileset>
martin@2868
   444
    </copy>
asier@2994
   445
    
asier@2994
   446
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@2994
   447
        <classpath refid="project.class.path" />
asier@2994
   448
      </taskdef>
asier@2994
   449
    
asier@2994
   450
    <CheckSumCondition obDir="${basedir}/.."
asier@2994
   451
                       type="md5.skins"
asier@2994
   452
                       property="changes.in.md5.skins"/>
asier@2994
   453
    <condition property="do.skins">
asier@2994
   454
      <or>
asier@2994
   455
        <istrue value="${changes.in.md5.skins}" />
asier@2994
   456
        <not>
asier@3013
   457
          <istrue value="${smart.mode}"/>
asier@2994
   458
        </not>
augusto@15928
   459
        <not>
augusto@15928
   460
          <available file="${base.context}/web/skins/rtl" type="dir"/>
augusto@15928
   461
        </not>
augusto@15928
   462
        <not>
augusto@15928
   463
          <available file="${base.context}/web/skins/ltr" type="dir"/>
augusto@15928
   464
        </not>
asier@2994
   465
      </or>
asier@2994
   466
    </condition>
asier@2994
   467
    
asier@2994
   468
    <antcall target="build.web.folder.skins"  inheritAll="true" inheritrefs="true" />
asier@2994
   469
    
asier@2994
   470
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
asier@2994
   471
  </target>
asier@2994
   472
    
asier@8978
   473
  
asier@8978
   474
  <target name="build.web.folder.base">
asier@8978
   475
    <mkdir dir="${base.context}/web" />
asier@8978
   476
    <copy todir="${base.context}/web" encoding="UTF-8">
asier@8978
   477
      <fileset dir="${base.modules}">
asier@8978
   478
        <include name="*/web/*/**" />
asier@8978
   479
        <exclude name="*/web/*/skins/**" />
asier@8978
   480
      </fileset>
augusto@16365
   481
      <mapper type="regexp" from="(.*)(\${file.separator}web)(\${file.separator}.*)" to="\3" />
asier@8978
   482
    </copy>
asier@8978
   483
  </target>
martin@2346
   484
asier@2994
   485
  <target name="build.web.folder.skins" if="do.skins">
asier@2994
   486
asier@2994
   487
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
martin@2868
   488
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   489
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   490
      <fileset dir="${base.web}/skins" />
martin@2868
   491
    </copy>
martin@2868
   492
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   493
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   494
      <fileset dir="${base.web}/skins" />
martin@2868
   495
    </copy>
martin@2346
   496
asier@8978
   497
    <antcall target="build.web.folder.base" />
martin@2346
   498
martin@2868
   499
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   500
      <fileset dir="${base.modules}">
david@5261
   501
        <include name="*/web/*/skins/**" />
martin@2868
   502
      </fileset>
asier@3522
   503
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   504
    </copy>
carlos@0
   505
martin@2868
   506
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   507
      <fileset dir="${base.modules}">
david@5261
   508
        <include name="*/web/*/skins/**" />
martin@2868
   509
      </fileset>
asier@3522
   510
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   511
    </copy>
stefan@2143
   512
martin@2868
   513
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
david@3673
   514
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr" />
martin@2868
   515
      <classpath refid="project.class.path" />
martin@2868
   516
    </java>
asier@2994
   517
    
martin@2868
   518
  </target>
juanpablo@131
   519
martin@2868
   520
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   521
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   522
      <fileset dir="${base.web}">
martin@2868
   523
        <include name="**/*.js" />
martin@2868
   524
        <include name="**/*.css" />
martin@2868
   525
        <!-- The following scripts break in minification process -->
martin@2868
   526
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   527
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   528
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   529
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   530
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   531
        <!-- dojotoolkit files are already compressd -->
martin@2868
   532
        <exclude name="**/dojotoolkit/**" />
martin@2868
   533
        <!-- from old dojo, only compress main file -->
martin@2868
   534
        <exclude name="**/dojo/**" />
martin@2868
   535
        <include name="js/dojo/dojo.js" />
martin@2868
   536
      </fileset>
martin@2868
   537
    </yuicompress>
martin@2868
   538
  </target>
david@1883
   539
martin@2868
   540
  <target name="postwad">
martin@2868
   541
    <copy todir="${base.design}/design">
stefan@32771
   542
      <fileset dir="${build.AD}">
stefan@32771
   543
        <include name="**/*.xml" />
stefan@32771
   544
        <include name="**/*.fo" />
stefan@32771
   545
        <include name="**/*.html" />
stefan@32771
   546
        <include name="**/*.srpt" />
stefan@32771
   547
        <include name="**/*.jrxml" />
stefan@32771
   548
        <include name="**/*.jasper" />
stefan@32771
   549
      </fileset>
martin@2868
   550
    </copy>
martin@2868
   551
  </target>
martin@2346
   552
martin@2868
   553
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   554
  </target>
martin@2868
   555
asier@5935
   556
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate, trl.remove.unused">
martin@2868
   557
    <antcall target="update.build.timestamp" />
martin@2868
   558
  </target>
martin@2868
   559
martin@2868
   560
asier@3013
   561
  <target name="smartbuild.new.wad" if="new.wad">
martin@2868
   562
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   563
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   564
      <classpath refid="project.class.path" />
asier@2854
   565
    </taskdef>
martin@2868
   566
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   567
  </target>
asier@2854
   568
asier@3013
   569
  <target name="smartbuild.no.new.wad" unless="new.wad">
martin@2868
   570
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   571
  </target>
asier@2974
   572
asier@3013
   573
  <target name="smartbuild">
asier@3013
   574
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.new.wad" />
asier@3013
   575
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.no.new.wad" />
martin@2868
   576
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   577
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
asier@8978
   578
    <antcall inheritall="true" inheritrefs="true" target="build.web.folder.base" />
martin@2868
   579
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   580
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   581
  </target>
carlos@0
   582
martin@2868
   583
  <target name="translate" if="translation">
martin@2868
   584
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@32608
   585
      <arg line="'${base.config}/Openbravo.properties' '${basedir}/..'" />
martin@2868
   586
      <classpath refid="project.class.path" />
antonio@7580
   587
      <syspropertyset>
antonio@7580
   588
         <propertyref name="java.security.egd" />
antonio@7580
   589
      </syspropertyset>
martin@2868
   590
    </java>
martin@2868
   591
  </target>
carlos@0
   592
asier@32608
   593
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
asier@32608
   594
  </target>
asier@32608
   595
martin@2868
   596
  <target name="installWebService" depends="init" if="wsdd">
asier@4307
   597
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
martin@2868
   598
      <classpath refid="project.class.path" />
asier@4307
   599
    </taskdef>
asier@4307
   600
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   601
             baseDir="${source.path}"
asier@4307
   602
             action="deploy"/>
martin@2868
   603
  </target>
carlos@0
   604
asier@4307
   605
  <target name="uninstallWebService" depends="init">
asier@4307
   606
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
asier@4307
   607
      <classpath refid="project.class.path" />
asier@4307
   608
    </taskdef>
asier@4307
   609
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   610
             baseDir="${source.path}"
asier@4307
   611
             action="undeploy"/>
asier@4307
   612
  </target>
carlos@0
   613
stefan@9978
   614
  <!-- Note (see issue 15709 for details):
stefan@9978
   615
       orphan jarfiles are not deleted from the webapp as deployed in tomcat when
stefan@9978
   616
       this rebuild is running inside the rebuild UI (started from MMC). See also the related
stefan@9978
   617
       copy.files.jarsync(.do) task which does this deletion between tomcat stop & start
stefan@9978
   618
   -->
stefan@9978
   619
  <target name="copy.files" depends="copy.files.jarsync.notinrebuildui" if="mode.class">
martin@2868
   620
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7583
   621
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7583
   622
      <preserveintarget>
antonio@7583
   623
        <include name="**/WEB-INF/classes/**"/>
stefan@9017
   624
        <include name="**/WEB-INF/lib/**"/>
antonio@7583
   625
      </preserveintarget>
martin@2868
   626
      <fileset dir="${base.context}" />
antonio@7583
   627
    </sync>
martin@2868
   628
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7583
   629
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   630
      <fileset dir="${build}" />
antonio@7583
   631
    </sync>
asier@7164
   632
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7164
   633
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7164
   634
    </copy>
martin@2868
   635
  </target>
ivan@1738
   636
stefan@9978
   637
  <target name="copy.files.jarsync.notinrebuildui" unless="runningInRebuildUI">
stefan@9978
   638
    <antcall target="copy.files.jarsync.do"/>
stefan@9978
   639
  </target>
stefan@9978
   640
stefan@9978
   641
  <!-- sync jar files from WebContent -> deployed webapp & delete orphan jars from webapp
stefan@9978
   642
       as delete orphan is excluded from normal copy.files task -->
stefan@9978
   643
  <target name="copy.files.jarsync.do" if="mode.class">
stefan@9978
   644
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib"/>
stefan@9978
   645
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib">
stefan@9978
   646
      <fileset dir="${base.context}/WEB-INF/lib" />
stefan@9978
   647
    </sync>
stefan@9978
   648
  </target>
stefan@9978
   649
martin@2868
   650
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   651
  </target>
asier@1929
   652
martin@2868
   653
  <target name="compile.complete.development" depends="compile.complete, copy.files">
antonio@8116
   654
    <updatesystemstatus v="RB51"/>
martin@2868
   655
  </target>
asier@1929
   656
martin@2868
   657
  <target name="compile.web" depends="build.web.folder">
martin@2868
   658
  </target>
asier@1929
   659
martin@2868
   660
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   661
  </target>
asier@1929
   662
martin@2868
   663
  <target name="build.war">
martin@2868
   664
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   665
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   666
      <zipfileset dir="${base.context}">
martin@2868
   667
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   668
      </zipfileset>
martin@2868
   669
      <classes dir="${build}" />
martin@2868
   670
    </war>
antonio@8116
   671
    <updatesystemstatus v="RB51"/>
martin@2868
   672
  </target>
martin@2868
   673
martin@2868
   674
  <target name="generate-wsdd">
martin@2868
   675
    <delete failonerror="false">
martin@2868
   676
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   677
    </delete>
martin@2868
   678
martin@2868
   679
    <mkdir dir="${build}" />
asier@7839
   680
     <axis-wsdl2java output="${base.src}" verbose="false" url="http://centralrepository.openbravo.com/openbravo/services/WebService3?wsdl" serverside="true" debug="false">
asier@7839
   681
      <mapping namespace="http://centralrepository.openbravo.com/openbravo/services/WebService3" package="org.openbravo.services.webservice" />
asier@7839
   682
      <mapping namespace="/services/WebService3" package="org.openbravo.services.webservice" />
martin@2868
   683
    </axis-wsdl2java>
martin@2868
   684
  </target>
martin@2868
   685
antonio@3337
   686
  <target name="update.build.timestamp" unless="timestamp">
martin@2868
   687
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   688
      <classpath>
martin@2868
   689
        <fileset dir="${base.lib}">
martin@2868
   690
          <include name="**/*.jar">
martin@2868
   691
          </include>
martin@2868
   692
        </fileset>
martin@2868
   693
      </classpath>
martin@2868
   694
      <transaction>
asier@2819
   695
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   696
	      </transaction>
martin@2868
   697
    </sql>
martin@2868
   698
  </target>
asier@1929
   699
carlos@0
   700
</project>