src/build.xml
author Asier Lostalé <asier.lostale@openbravo.com>
Wed, 18 Mar 2015 10:50:25 +0100
changeset 26205 e7c1d9e51ba8
parent 24988 78440a0c23d0
child 30503 ee2cadcd63f1
permissions -rw-r--r--
fixed bug 29329: can't download attachments for 2 rows with same name & no ext

When trying to download at once attachemnts for different records that have the
same name and it does not have extension, it fails.

The problem is in case of duplicated names to be included within the zipped file,
a number is appended to the file name before the extension. Extesion is present
is assumed, failing if not.

Fix: don't assume file name has extension.
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@6702
    15
 * The Initial Developer of the Original Code is Openbravo SLU 
asier@22111
    16
 * All portions are Copyright (C) 2005-2014 Openbravo SLU 
carlos@0
    17
 * All Rights Reserved. 
ggi@6702
    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
eclipse.compile: generates specified wad files and compiles modified xsql files.
juanpablo@213
    39
eclipse.compile.complete: generates all wad files and compiles all xsql files
juanpablo@213
    40
compile: compiles specified WAD window and src and also translates.
juanpablo@213
    41
compile.complete: compiles all WAD windows and src and also translates.
juanpablo@213
    42
translate: Translate the modified files.
juanpablo@213
    43
compile.translate: Translate the specified extensions files.
juanpablo@213
    44
installWebService: install the web services configuration file.
juanpablo@213
    45
uninstallWebService: uninstall the web services configuration file.
juanpablo@213
    46
copy.files: copy the local files to the context.
juanpablo@213
    47
compile.development: like compile, but also copies the files to the context.
juanpablo@213
    48
compile.complete.development: like compile.complete, but also copies the files 
juanpablo@213
    49
                              to the context.
asier@1929
    50
compile.web: re-builds the web folder.
asier@1929
    51
compile.web.development: like compile.web, but also copies the files to the context.
juanpablo@213
    52
build.war: build a war file in the lib directory.
juanpablo@213
    53
-->
juanpablo@213
    54
carlos@0
    55
<project name="openbravo sources" default="compile" basedir=".">
stefan@2143
    56
martin@2868
    57
  <taskdef name="yuicompress" classname="com.yahoo.platform.yui.compressor.YUICompressTask">
ivan@6262
    58
    <classpath>
ivan@6262
    59
      <pathelement location="${base.lib}/build/yuicompressor-2.4.2.jar" />
ivan@6262
    60
      <pathelement location="${base.lib}/build/ob-rhino-1.6R7.jar" />
ivan@6262
    61
      <pathelement location="${base.lib}/build/YUIAnt.jar" />
ivan@6262
    62
    </classpath>
martin@2868
    63
  </taskdef>
stefan@2143
    64
martin@2868
    65
  <condition property="minimizeJSandCSSbool">
martin@2868
    66
    <istrue value="${minimizeJSandCSS}" />
martin@2868
    67
  </condition>
stefan@2143
    68
martin@2868
    69
  <property name="webTab" value="all" />
martin@2868
    70
  <property name="tab" value="%" />
asier@1929
    71
martin@2868
    72
  <property name="base.translate.structure" value="org/openbravo/erpWindows" />
martin@2868
    73
  <property name="extension" value="html" />
martin@2868
    74
  <property name="src" value="." />
martin@2868
    75
  <property name="tr" value="yes" />
martin@2868
    76
  <condition property="translation">
martin@2868
    77
    <not>
martin@2868
    78
      <equals arg1="no" arg2="${tr}" />
martin@2868
    79
    </not>
martin@2868
    80
  </condition>
martin@2868
    81
  <target name="init">
martin@2868
    82
    <mkdir dir="${build}" />
martin@2868
    83
    <mkdir dir="${base.design}/design" />
martin@2868
    84
    <mkdir dir="${build.sqlc}" />
martin@2868
    85
    <mkdir dir="${build.sqlc}/src" />
martin@2868
    86
    <mkdir dir="${build.sqlc}/srcAD" />
martin@2868
    87
    <mkdir dir="${build.AD}" />
martin@2868
    88
    <mkdir dir="${build.AD}/org/openbravo/erpWindows" />
martin@2868
    89
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/ad_actionButton" />
martin@2868
    90
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/ad_callouts" />
martin@2868
    91
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/reference" />
martin@2868
    92
    <mkdir dir="${build.docs}" />
martin@2868
    93
  </target>
antonio@5620
    94
  <macrodef name="updatesystemstatus">
antonio@5620
    95
     <attribute name="v" default="NOT SET"/>
antonio@5620
    96
     <sequential>
antonio@5620
    97
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
antonio@5621
    98
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
antonio@5621
    99
         <transaction> UPDATE ad_system_info SET system_status='@{v}' ;
antonio@5621
   100
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@5621
   101
         </transaction>
antonio@5620
   102
       </sql>
antonio@5620
   103
     </sequential>
antonio@5620
   104
  </macrodef>
carlos@0
   105
martin@2868
   106
  <target name="validate.database">
martin@2868
   107
    <taskdef name="validateDatabase" classname="org.openbravo.service.system.SystemValidationTask">
martin@2868
   108
      <classpath refid="project.class.path" />
martin@2868
   109
    </taskdef>
martin@5458
   110
    <validateDatabase userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="database" />
martin@2868
   111
  </target>
carlos@0
   112
martin@2868
   113
  <target name="validate.modules">
martin@2868
   114
    <taskdef name="validateModules" classname="org.openbravo.service.system.SystemValidationTask">
martin@2868
   115
      <classpath refid="project.class.path" />
martin@2868
   116
    </taskdef>
asier@5709
   117
    <validateModules userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="module" moduleJavaPackage="${module}"/>
martin@2868
   118
  </target>
antonio@18802
   119
martin@2868
   120
  <target name="trl.clean" if="translation">
martin@2868
   121
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   122
      <arg line="clean '${base.config}/Openbravo.properties'" />
martin@2868
   123
      <classpath refid="project.class.path" />
antonio@7592
   124
      <syspropertyset>
antonio@7592
   125
         <propertyref name="java.security.egd" />
antonio@7592
   126
      </syspropertyset>
martin@2868
   127
    </java>
martin@2868
   128
  </target>
asier@5937
   129
  
asier@5937
   130
  <target name="trl.remove.unused" if="translation">
asier@5937
   131
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@5937
   132
      <arg line="remove '${base.config}/Openbravo.properties'" />
asier@5937
   133
      <classpath refid="project.class.path" />
antonio@7592
   134
      <syspropertyset>
antonio@7592
   135
         <propertyref name="java.security.egd" />
antonio@7592
   136
      </syspropertyset>
asier@5937
   137
    </java>
asier@5937
   138
  </target>
martin@2346
   139
martin@2868
   140
  <target name="clean" depends="trl.clean">
martin@2868
   141
    <property name="complete" value="true" />
martin@2868
   142
    <delete includeEmptyDirs="true" failonerror="false">
martin@2868
   143
      <fileset dir="${base.design}" />
martin@2868
   144
      <fileset dir="${build}" />
martin@2868
   145
      <fileset dir="${build.docs}" />
martin@2868
   146
      <fileset dir="${build.AD}" />
martin@2868
   147
      <fileset dir="${build.sqlc}" />
martin@2868
   148
      <fileset dir="${base.context}">
martin@2868
   149
        <exclude name=".svn" />
martin@2868
   150
        <exclude name="META-INF/MANIFEST.MF" />
juanpablo@3236
   151
        <exclude name="**/.keep" />
martin@2868
   152
      </fileset>
martin@2868
   153
    </delete>
martin@2868
   154
  </target>
carlos@0
   155
antonio@7539
   156
  <target name="compile.apply.module" depends="init">
antonio@7545
   157
    <mkdir dir="${build.apply.module}" />
antonio@7539
   158
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
antonio@7539
   159
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
stefan@15451
   160
      <jvmarg value="-Dsqlc.listOfFiles=ApplyModule_data.xsql,PInstanceProcess_data.xsql,Translation_data.xsql,MessageBD_data.xsql"/>
antonio@7539
   161
      <classpath refid="project.class.path" />
antonio@7592
   162
      <syspropertyset>
antonio@7592
   163
         <propertyref name="java.security.egd" />
antonio@7592
   164
      </syspropertyset>
antonio@7539
   165
    </java>
stefan@11995
   166
    <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@7539
   167
      <src path="${base.src}"/>
antonio@7539
   168
      <src path="../build/javasqlc/src"/>
antonio@7545
   169
      <src path="../src-gen"/>
antonio@7547
   170
      <classpath refid="apply.module.compile.classpath" />
antonio@7539
   171
    </javac>
antonio@7539
   172
  </target>
antonio@7539
   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@7592
   178
      <syspropertyset>
antonio@7592
   179
         <propertyref name="java.security.egd" />
antonio@7592
   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@5227
   184
      <jvmarg value="-Dsqlc.queryExecutionStrategy=traditional"/>
martin@2868
   185
      <classpath refid="project.class.path" />
antonio@7592
   186
      <syspropertyset>
antonio@7592
   187
         <propertyref name="java.security.egd" />
antonio@7592
   188
      </syspropertyset>
martin@2868
   189
    </java>
martin@2868
   190
    <copy file="${base.src}/buildAD.xml" tofile="${build.AD}/build.xml" />
martin@2868
   191
    <copy file="${base.src}/log4j.lcf" tofile="${build.AD}/log4j.lcf" />
martin@2868
   192
    <ant dir="${build.AD}" target="buildAD" inheritAll="true" inheritRefs="true" />
martin@2868
   193
  </target>
carlos@0
   194
martin@2868
   195
  <target name="clean.src.gen">
martin@2868
   196
    <delete includeEmptyDirs="true" failonerror="false">
juanpablo@3236
   197
      <fileset dir="${base.src.gen}" >
juanpablo@3236
   198
        <exclude name="**/.keep" />
juanpablo@3236
   199
      </fileset>
martin@2868
   200
    </delete>
martin@2868
   201
  </target>
martin@2868
   202
stefan@20720
   203
  <target name="export.sample.data.old" description="Exports Sample Data">
martin@2868
   204
    <taskdef name="exportsampledata" classname="org.openbravo.service.db.ExportReferenceDataTask">
martin@2868
   205
      <classpath refid="project.class.path" />
martin@2868
   206
    </taskdef>
martin@2868
   207
    <echo message="Exporting sample reference data" />
juanpablo@9537
   208
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="F&amp;B International Group" />
stefan@10410
   209
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="QA Testing" />
martin@2868
   210
  </target>
martin@2868
   211
stefan@20720
   212
  <target name="import.sample.data.old" description="Import Sample Data" depends="generate.entities">
martin@2868
   213
    <taskdef name="importsampledata" classname="org.openbravo.service.db.ImportReferenceDataTask">
martin@2868
   214
      <classpath refid="project.class.path" />
martin@2868
   215
    </taskdef>
martin@2868
   216
    <echo message="Importing sample reference data" />
antonio@8355
   217
    <importsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" disableCheckReferencedOrganizations="${disableCheckReferencedOrganizations}"/>
martin@2868
   218
    <ant dir="${base.db}" target="database.postupdate.${bbdd.rdbms}" inheritAll="true" inheritRefs="true" />
martin@2868
   219
  </target>
asier@1929
   220
stefan@11851
   221
  <!-- full generate.entities -> clean + .quick -->
stefan@11851
   222
  <target name="generate.entities" depends="clean.src.gen,generate.entities.quick" />
martin@2830
   223
martin@2868
   224
  <!-- 
martin@2830
   225
		Generates entities only when the application dictionary has changed.
martin@2830
   226
		Difference with the generate.entities is that it does not clean the src-gen directory. The standard
martin@2830
   227
		GenerateEntitiesTask always checks if the AD was changed before regenerating. The check is to compare
martin@2830
   228
		the modified time of the generated sources with the updated time of the Application Dictionary. If there
martin@2830
   229
		is a source older than the last updated time of the Application Dictionary then the sources need to be regenerated.		
martin@2830
   230
	-->
martin@2868
   231
  <target name="generate.entities.quick" depends="compile.src.gen">
stefan@11851
   232
    <java classname="org.openbravo.base.gen.GenerateEntitiesTask" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
stefan@11851
   233
      <arg line="'${base.src}' '${friendlyWarnings}'" />
stefan@11851
   234
      <classpath refid="project.class.path" />
antonio@7592
   235
      <syspropertyset>
antonio@7592
   236
         <propertyref name="java.security.egd" />
antonio@7592
   237
      </syspropertyset>
stefan@11851
   238
    </java>
stefan@11851
   239
      <!--
stefan@11851
   240
        see issue: https://issues.openbravo.com/view.php?id=9331
stefan@11851
   241
        Custom columns in standard tables should support a reference to a table in the module
stefan@11851
   242
        if this occurs then possible the following javac has to be enabled instead of the two javacs below
stefan@11851
   243
      <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
   244
        <classpath refid="project.class.path" />      
stefan@11851
   245
      </javac>
stefan@11851
   246
      -->
stefan@11995
   247
      <javac srcdir="${base.src}:${base.src.gen}" includes="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
   248
        <classpath refid="project.class.path" />      
stefan@11851
   249
      </javac>
stefan@11995
   250
      <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
   251
        <classpath refid="project.class.path" />
stefan@11851
   252
      </javac>
stefan@11851
   253
  </target>
martin@4106
   254
stefan@11851
   255
  <!-- build-internal forking helper -->
stefan@11851
   256
  <target name="generate.entities.quick.forked" depends="compile.src.gen">
stefan@11852
   257
    <taskdef name="workflow" classpathref="project.class.path" classname="org.openbravo.base.gen.GenerateEntitiesTask" />
stefan@11851
   258
    <workflow friendlyWarnings="${friendlyWarnings}" srcGenPath="${base.src.gen}" propertiesFile="${base.config}/Openbravo.properties" />
asier@24247
   259
  </target> 
priya@6948
   260
antonio@16458
   261
  <path id="my-src-dirs">
antonio@16458
   262
    <pathelement path="${basedir}" />
antonio@16458
   263
    <pathelement path="${build.sqlc}/src" />
antonio@16458
   264
    <pathelement path="${build.sqlc}/srcAD" />
antonio@16458
   265
    <dirset dir="${base.modules}">
stefan@17945
   266
      <include name="*/src" />
antonio@16458
   267
    </dirset>
antonio@16458
   268
  </path>
antonio@16458
   269
 
martin@2868
   270
  <target name="compileSqlc" depends="sqlc">
antonio@16458
   271
    <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@16458
   272
      <src refid="my-src-dirs"/>
antonio@16458
   273
      <classpath refid="project.class.path" />
antonio@16458
   274
    </javac>
antonio@16458
   275
antonio@16458
   276
    <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
   277
      <classpath refid="project.class.path" />
asier@2967
   278
    </javac>
antonio@6986
   279
stefan@11995
   280
    <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
   281
      <classpath refid="project.class.path" />
martin@2868
   282
    </javac>
asier@4277
   283
  	<antcall target="calculate.version"/>
martin@2868
   284
  </target>
antonio@5595
   285
asier@4277
   286
	<target name="calculate.version" depends="init">
asier@4277
   287
	  <condition property="revision.from.file">
asier@4277
   288
		<and>
asier@4277
   289
		  <not>
asier@4277
   290
		 	<isset property="hg.id"/>
asier@4277
   291
		  </not>
asier@4277
   292
		  <available file="${basedir}/config/instance.revision"/>
asier@4277
   293
	    </and>
asier@4277
   294
	  </condition>
guillermo@15752
   295
	  <condition property="revision.not.found">
guillermo@15752
   296
		<and>
guillermo@15752
   297
		  <not>
guillermo@15752
   298
		 	<isset property="hg.id"/>
guillermo@15752
   299
		  </not>
guillermo@15752
   300
		  <not>
guillermo@15752
   301
		  	<available file="${basedir}/config/instance.revision"/>
guillermo@15752
   302
		  </not>
guillermo@15752
   303
	    </and>
guillermo@15752
   304
	  </condition>
asier@4277
   305
	  <antcall inheritall="true" target="calculate.instance.version"/>
asier@4277
   306
	</target>
guillermo@15752
   307
	<target name="calculate.instance.version" depends="calculate.version.from.hg, calculate.version.from.file, cannot.find.version">
asier@4277
   308
	    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
asier@4277
   309
	      <classpath>
asier@4277
   310
	        <fileset dir="${base.lib}">
asier@4277
   311
	          <include name="**/*.jar">
asier@4277
   312
	          </include>
asier@4277
   313
	        </fileset>
asier@4277
   314
	      </classpath>
asier@4277
   315
	      <transaction>
asier@4277
   316
		        UPDATE AD_MODULE 
asier@4277
   317
	      	       SET VERSION_ID='${instance.version}'
asier@4277
   318
                 WHERE AD_MODULE_ID='0'
asier@4277
   319
		      </transaction>
asier@4277
   320
	    </sql>
asier@4277
   321
	</target>
asier@4277
   322
	<target name="calculate.version.from.hg" if="is.hg">
asier@4277
   323
	  <property name="instance.version" value="${hg.id}"/>
asier@4277
   324
	</target>
asier@4277
   325
	<target name="calculate.version.from.file" if="revision.from.file">
guillermo@15752
   326
	  <loadfile property="instance.version" srcfile="${basedir}/config/instance.revision"/>
guillermo@15752
   327
	</target>
guillermo@15752
   328
	<target name="cannot.find.version" if="revision.not.found">
guillermo@15752
   329
	  <property name="instance.version" value=" - "/>
asier@4277
   330
	</target>
martin@2346
   331
martin@2868
   332
  <target name="compile.src.gen" depends="init">
stefan@11995
   333
    <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
   334
      <classpath refid="project.class.path" />
martin@2868
   335
    </javac>
martin@2868
   336
    <copy todir="${build}">
martin@2868
   337
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   338
    </copy>
martin@2868
   339
    <copy todir="${build}">
martin@2868
   340
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   341
    </copy>
martin@6163
   342
    
martin@6163
   343
    <!-- also compile the domaintypes in modules -->
stefan@11995
   344
    <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@6163
   345
      <classpath refid="project.class.path" />
martin@6163
   346
    </javac>
martin@6163
   347
    
martin@6163
   348
    <!-- copy all configuration files in modules to the output path also -->
martin@6163
   349
    <copy todir="${build}" encoding="UTF-8">
martin@6163
   350
      <fileset dir="${base.modules}">
martin@6163
   351
          <include name="*/src/**/*" />
martin@6163
   352
          <exclude name="*/src/**/*.java" />
martin@6163
   353
          <exclude name="*/src/**/*.xsql" />
martin@6163
   354
      </fileset>
martin@6163
   355
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6163
   356
    </copy>
martin@2868
   357
  </target>
martin@2346
   358
asier@5532
   359
  <target name="wadvalidation">
asier@5535
   360
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5532
   361
            <classpath refid="project.class.path" />
asier@5532
   362
          </taskdef>
asier@5532
   363
        
asier@5532
   364
        <WADValidation propertiesFile="${base.config}/Openbravo.properties"
asier@5532
   365
                       modules="${module}"
antonio@5700
   366
                       stoponerror="${stopOnWadError}"
antonio@5700
   367
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   368
  </target>
asier@5532
   369
  
asier@5532
   370
  <target name="wad" depends="init, wadvalidation">
asier@5265
   371
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}" failonerror="true">
asier@18217
   372
      <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}'" />
stefan@9230
   373
      <classpath refid="wad.class.path" />
antonio@7592
   374
      <syspropertyset>
antonio@7592
   375
         <propertyref name="java.security.egd" />
antonio@7592
   376
      </syspropertyset>
martin@2868
   377
    </java>
martin@2868
   378
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   379
  </target>
martin@2346
   380
asier@5532
   381
  <target name="wad.quick" depends="init, wadvalidation">
martin@2868
   382
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@18217
   383
      <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}'" />
stefan@9230
   384
      <classpath refid="wad.class.path" />
antonio@7592
   385
      <syspropertyset>
antonio@7592
   386
         <propertyref name="java.security.egd" />
antonio@7592
   387
      </syspropertyset>
martin@2868
   388
    </java>
martin@2868
   389
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   390
  </target>
asier@1929
   391
martin@2868
   392
  <target name="postsrc" depends="postsrc.modules">
antonio@5620
   393
martin@2868
   394
    <copy todir="${build}">
martin@2868
   395
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   396
    </copy>
martin@2868
   397
    <copy todir="${build}">
martin@2868
   398
      <fileset dir="${basedir}" includes="**/*.xslt" />
martin@2868
   399
    </copy>
martin@2868
   400
    <copy todir="${build}">
martin@2868
   401
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   402
    </copy>
asier@19912
   403
    <copy todir="${build}">
asier@19912
   404
      <fileset dir="${basedir}" includes="**/*.ftl" />
asier@19912
   405
    </copy>
martin@2868
   406
    <copy todir="${base.design}/design">
martin@2868
   407
      <fileset dir="${basedir}" includes="**/*.xml" />
martin@2868
   408
    </copy>
martin@2868
   409
    <copy todir="${base.design}/design">
martin@2868
   410
      <fileset dir="${basedir}" includes="**/*.fo" />
martin@2868
   411
    </copy>
martin@2868
   412
    <copy todir="${base.design}/design">
martin@2868
   413
      <fileset dir="${basedir}" includes="**/*.html" />
martin@2868
   414
    </copy>
martin@2868
   415
    <copy todir="${base.design}/design">
martin@2868
   416
      <fileset dir="${basedir}" includes="**/*.srpt" />
martin@2868
   417
    </copy>
martin@2868
   418
    <copy todir="${base.design}/design">
martin@2868
   419
      <fileset dir="${basedir}" includes="**/*.jrxml" />
martin@2868
   420
    </copy>
martin@2868
   421
    <copy todir="${base.design}/design">
martin@2868
   422
      <fileset dir="${basedir}" includes="**/*.jasper" />
martin@2868
   423
    </copy>
martin@2868
   424
    <copy todir="${build}">
martin@2868
   425
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   426
    </copy>
asier@8385
   427
    <copy todir="${base.design}/design/org/openbravo/erpCommon/obps" file="${basedir}/org/openbravo/erpCommon/obps/licenseRestrictions"/>
martin@2868
   428
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   429
  </target>
asier@1929
   430
martin@2868
   431
  <target name="postsrc.modules">
martin@2868
   432
    <copy todir="${base.design}/design">
martin@2868
   433
      <fileset dir="${base.modules}">
martin@2868
   434
        <include name="*/src/**/*.xml" />
martin@2868
   435
        <include name="*/src/**/*.fo" />
martin@2868
   436
        <include name="*/src/**/*.html" />
martin@2868
   437
        <include name="*/src/**/*.srpt" />
martin@2868
   438
        <include name="*/src/**/*.jrxml" />
martin@2868
   439
        <include name="*/src/**/*.jasper" />
martin@2868
   440
      </fileset>
martin@2868
   441
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   442
    </copy>
martin@6160
   443
    <copy todir="${build}">
martin@6160
   444
      <fileset dir="${base.modules}">
martin@6160
   445
        <include name="*/src/**" />
martin@6160
   446
        <exclude name="*/src/**/*.java" />
martin@6160
   447
      </fileset>
martin@6160
   448
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6160
   449
    </copy>
martin@2868
   450
  </target>
asier@1929
   451
martin@2868
   452
  <!-- FIXME: These tasks is only for development and testing purposes, remove it afterwards-->
stefan@12082
   453
  <target name="sqlcmod">
asier@3189
   454
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   455
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   456
      <classpath refid="project.class.path" />
antonio@7592
   457
      <syspropertyset>
antonio@7592
   458
         <propertyref name="java.security.egd" />
antonio@7592
   459
      </syspropertyset>
martin@2868
   460
    </java>
martin@2868
   461
  </target>
asier@1929
   462
martin@2868
   463
  <target name="compileSqlcmod" depends="sqlcmod">
stefan@11995
   464
    <javac srcdir="${build.sqlc}/src:${base.modules}" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on" includeantruntime="false">
martin@2868
   465
      <classpath refid="project.class.path" />
antonio@7592
   466
      <syspropertyset>
antonio@7592
   467
         <propertyref name="java.security.egd" />
antonio@7592
   468
      </syspropertyset>
martin@2868
   469
    </javac>
martin@2868
   470
  </target>
martin@2868
   471
  <target name="postsrcmod">
martin@2868
   472
    <copy todir="${base.design}/design">
martin@2868
   473
      <fileset dir="${base.modules}" includes="*/src/**/*.html" />
martin@2868
   474
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   475
    </copy>
martin@2868
   476
  </target>
asier@1929
   477
martin@2868
   478
  <!-- end of auxiliar tasks-->
martin@2346
   479
martin@2868
   480
  <target name="build.local.context">
martin@2868
   481
    <copy todir="${base.context}" encoding="UTF-8">
ivan@10243
   482
      <fileset file="${basedir}/index.jsp" />
martin@2868
   483
    </copy>
martin@2868
   484
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   485
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   486
      <fileset dir="${base.config}">
martin@2868
   487
        <exclude name="**/eclipse/**" />
martin@2868
   488
        <exclude name="**/setup-properties**" />
martin@2868
   489
        <exclude name="*.template" />
asier@2974
   490
        <exclude name="checksums"/>
martin@2868
   491
      </fileset>
martin@2868
   492
    </copy>
martin@2868
   493
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   494
      <fileset dir="${base.modules}">
martin@2868
   495
        <include name="*/config/**" />
martin@2868
   496
        <exclude name="*.template" />
martin@2868
   497
      </fileset>
martin@2868
   498
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   499
    </copy>
martin@2868
   500
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   501
      <fileset dir="${base.lib}/runtime">
martin@2868
   502
        <exclude name="openbravo-wad.jar" />
martin@2868
   503
        <exclude name="openbravo-trl.jar" />
martin@2868
   504
        <exclude name="*.war" />
martin@2868
   505
      </fileset>
martin@2868
   506
      <fileset dir="${base.db}/lib">
martin@2868
   507
        <include name="*" />
martin@2868
   508
      </fileset>
martin@2868
   509
    </copy>
martin@2346
   510
martin@2868
   511
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   512
      <fileset dir="${base.modules}">
martin@2868
   513
        <include name="*/lib/runtime/**" />
martin@2868
   514
      </fileset>
martin@2868
   515
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   516
    </copy>
martin@2868
   517
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   518
  </target>
martin@2346
   519
martin@2868
   520
  <target name="build.web.folder">
martin@2868
   521
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   522
      <fileset dir="${base.web}">
martin@2868
   523
        <include name="*/**" />
martin@2868
   524
        <exclude name="skins/**" />
martin@2868
   525
      </fileset>
martin@2868
   526
    </copy>
asier@2994
   527
    
asier@2994
   528
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@2994
   529
        <classpath refid="project.class.path" />
asier@2994
   530
      </taskdef>
asier@2994
   531
    
asier@2994
   532
    <CheckSumCondition obDir="${basedir}/.."
asier@2994
   533
                       type="md5.skins"
asier@2994
   534
                       property="changes.in.md5.skins"/>
asier@2994
   535
    <condition property="do.skins">
asier@2994
   536
      <or>
asier@2994
   537
        <istrue value="${changes.in.md5.skins}" />
asier@2994
   538
        <not>
asier@3013
   539
          <istrue value="${smart.mode}"/>
asier@2994
   540
        </not>
augusto@15962
   541
        <not>
augusto@15962
   542
          <available file="${base.context}/web/skins/rtl" type="dir"/>
augusto@15962
   543
        </not>
augusto@15962
   544
        <not>
augusto@15962
   545
          <available file="${base.context}/web/skins/ltr" type="dir"/>
augusto@15962
   546
        </not>
asier@2994
   547
      </or>
asier@2994
   548
    </condition>
asier@2994
   549
    
asier@2994
   550
    <antcall target="build.web.folder.skins"  inheritAll="true" inheritrefs="true" />
asier@2994
   551
    
asier@2994
   552
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
asier@2994
   553
  </target>
asier@2994
   554
    
asier@9013
   555
  
asier@9013
   556
  <target name="build.web.folder.base">
asier@9013
   557
    <mkdir dir="${base.context}/web" />
asier@9013
   558
    <copy todir="${base.context}/web" encoding="UTF-8">
asier@9013
   559
      <fileset dir="${base.modules}">
asier@9013
   560
        <include name="*/web/*/**" />
asier@9013
   561
        <exclude name="*/web/*/skins/**" />
asier@9013
   562
      </fileset>
augusto@16403
   563
      <mapper type="regexp" from="(.*)(\${file.separator}web)(\${file.separator}.*)" to="\3" />
asier@9013
   564
    </copy>
asier@9013
   565
  </target>
martin@2346
   566
asier@2994
   567
  <target name="build.web.folder.skins" if="do.skins">
asier@2994
   568
asier@2994
   569
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
asier@2994
   570
    <mkdir dir="${base.context}/web" />
martin@2868
   571
    <mkdir dir="${base.context}/web/skins" />
martin@2868
   572
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   573
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   574
      <fileset dir="${base.web}/skins" />
martin@2868
   575
    </copy>
martin@2868
   576
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   577
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   578
      <fileset dir="${base.web}/skins" />
martin@2868
   579
    </copy>
martin@2346
   580
asier@9013
   581
    <antcall target="build.web.folder.base" />
martin@2346
   582
martin@2868
   583
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   584
      <fileset dir="${base.modules}">
david@5270
   585
        <include name="*/web/*/skins/**" />
martin@2868
   586
      </fileset>
asier@3604
   587
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   588
    </copy>
carlos@0
   589
martin@2868
   590
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   591
      <fileset dir="${base.modules}">
david@5270
   592
        <include name="*/web/*/skins/**" />
martin@2868
   593
      </fileset>
asier@3604
   594
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   595
    </copy>
stefan@2143
   596
martin@2868
   597
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
david@3771
   598
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr" />
martin@2868
   599
      <classpath refid="project.class.path" />
martin@2868
   600
    </java>
asier@2994
   601
    
martin@2868
   602
  </target>
juanpablo@131
   603
martin@2868
   604
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   605
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   606
      <fileset dir="${base.web}">
martin@2868
   607
        <include name="**/*.js" />
martin@2868
   608
        <include name="**/*.css" />
martin@2868
   609
        <!-- The following scripts break in minification process -->
martin@2868
   610
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   611
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   612
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   613
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   614
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   615
        <!-- dojotoolkit files are already compressd -->
martin@2868
   616
        <exclude name="**/dojotoolkit/**" />
martin@2868
   617
        <!-- from old dojo, only compress main file -->
martin@2868
   618
        <exclude name="**/dojo/**" />
martin@2868
   619
        <include name="js/dojo/dojo.js" />
martin@2868
   620
      </fileset>
martin@2868
   621
    </yuicompress>
martin@2868
   622
  </target>
david@1883
   623
martin@2868
   624
  <target name="postwad">
martin@2868
   625
    <copy todir="${base.design}/design">
martin@2868
   626
      <fileset dir="${build.AD}" includes="**/*.xml" />
martin@2868
   627
    </copy>
martin@2868
   628
    <copy todir="${base.design}/design">
martin@2868
   629
      <fileset dir="${build.AD}" includes="**/*.fo" />
martin@2868
   630
    </copy>
martin@2868
   631
    <copy todir="${base.design}/design">
martin@2868
   632
      <fileset dir="${build.AD}" includes="**/*.html" />
martin@2868
   633
    </copy>
martin@2868
   634
    <copy todir="${base.design}/design">
martin@2868
   635
      <fileset dir="${build.AD}" includes="**/*.srpt" />
martin@2868
   636
    </copy>
martin@2868
   637
    <copy todir="${base.design}/design">
martin@2868
   638
      <fileset dir="${build.AD}" includes="**/*.jrxml" />
martin@2868
   639
    </copy>
martin@2868
   640
    <copy todir="${base.design}/design">
martin@2868
   641
      <fileset dir="${build.AD}" includes="**/*.jasper" />
martin@2868
   642
    </copy>
martin@2868
   643
  </target>
martin@2346
   644
carlos@0
   645
asier@5937
   646
  <target name="eclipse.compile.complete" depends="clean,generate.entities,wad,sqlc,postsrc,translate, trl.remove.unused">
martin@2868
   647
    <antcall target="update.build.timestamp" />
martin@2868
   648
  </target>
martin@2868
   649
martin@2868
   650
  <target name="eclipse.compile" depends="wad,sqlc, postsrc, translate">
martin@2868
   651
  </target>
martin@2868
   652
martin@2868
   653
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   654
  </target>
martin@2868
   655
asier@5937
   656
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate, trl.remove.unused">
martin@2868
   657
    <antcall target="update.build.timestamp" />
martin@2868
   658
  </target>
martin@2868
   659
martin@2868
   660
asier@3013
   661
  <target name="smartbuild.new.wad" if="new.wad">
martin@2868
   662
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   663
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   664
      <classpath refid="project.class.path" />
asier@2854
   665
    </taskdef>
martin@2868
   666
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   667
  </target>
asier@2854
   668
asier@3013
   669
  <target name="smartbuild.no.new.wad" unless="new.wad">
martin@2868
   670
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   671
  </target>
asier@2974
   672
asier@3013
   673
  <target name="smartbuild">
asier@3013
   674
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.new.wad" />
asier@3013
   675
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.no.new.wad" />
martin@2868
   676
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   677
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
asier@9013
   678
    <antcall inheritall="true" inheritrefs="true" target="build.web.folder.base" />
martin@2868
   679
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   680
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   681
  </target>
carlos@0
   682
martin@2868
   683
  <target name="translate" if="translation">
martin@2868
   684
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   685
      <param name="extension" value="html" />
martin@2868
   686
    </antcall>
martin@2868
   687
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   688
      <param name="extension" value="fo" />
martin@2868
   689
    </antcall>
martin@2868
   690
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   691
      <param name="extension" value="srpt" />
martin@2868
   692
    </antcall>
martin@2868
   693
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   694
      <param name="extension" value="jrxml" />
martin@2868
   695
    </antcall>
martin@2868
   696
    <antcall inheritall="true" inheritrefs="true" target="translate.modules" />
martin@2868
   697
  </target>
carlos@0
   698
martin@2868
   699
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
martin@2868
   700
  </target>
asier@1929
   701
martin@2868
   702
  <target name="translate.modules" if="translation">
martin@2868
   703
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   704
      <param name="extension" value="html" />
martin@2868
   705
    </antcall>
martin@2868
   706
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   707
      <param name="extension" value="fo" />
martin@2868
   708
    </antcall>
martin@2868
   709
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   710
      <param name="extension" value="srpt" />
martin@2868
   711
    </antcall>
martin@2868
   712
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   713
      <param name="extension" value="jrxml" />
martin@2868
   714
    </antcall>
martin@2868
   715
  </target>
asier@1929
   716
martin@2868
   717
  <target name="compile.translate.modules">
martin@2868
   718
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   719
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${base.modules}' '*/src'" />
martin@2868
   720
      <classpath refid="project.class.path" />
antonio@7592
   721
      <syspropertyset>
antonio@7592
   722
         <propertyref name="java.security.egd" />
antonio@7592
   723
      </syspropertyset>
martin@2868
   724
    </java>
martin@2868
   725
  </target>
carlos@0
   726
martin@2868
   727
  <target name="installWebService" depends="init" if="wsdd">
asier@4307
   728
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
martin@2868
   729
      <classpath refid="project.class.path" />
asier@4307
   730
    </taskdef>
asier@4307
   731
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   732
             baseDir="${source.path}"
asier@4307
   733
             action="deploy"/>
martin@2868
   734
  </target>
carlos@0
   735
asier@4307
   736
  <target name="uninstallWebService" depends="init">
asier@4307
   737
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
asier@4307
   738
      <classpath refid="project.class.path" />
asier@4307
   739
    </taskdef>
asier@4307
   740
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   741
             baseDir="${source.path}"
asier@4307
   742
             action="undeploy"/>
asier@4307
   743
  </target>
carlos@0
   744
martin@2868
   745
  <target name="compile.translate">
martin@2868
   746
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   747
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${basedir}'" />
martin@2868
   748
      <classpath refid="project.class.path" />
antonio@7592
   749
      <syspropertyset>
antonio@7592
   750
         <propertyref name="java.security.egd" />
antonio@7592
   751
      </syspropertyset>
martin@2868
   752
    </java>
martin@2868
   753
  </target>
carlos@0
   754
stefan@9978
   755
  <!-- Note (see issue 15709 for details):
stefan@9978
   756
       orphan jarfiles are not deleted from the webapp as deployed in tomcat when
stefan@9978
   757
       this rebuild is running inside the rebuild UI (started from MMC). See also the related
stefan@9978
   758
       copy.files.jarsync(.do) task which does this deletion between tomcat stop & start
stefan@9978
   759
   -->
stefan@9978
   760
  <target name="copy.files" depends="copy.files.jarsync.notinrebuildui" if="mode.class">
martin@2868
   761
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7595
   762
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7595
   763
      <preserveintarget>
antonio@7595
   764
        <include name="**/WEB-INF/classes/**"/>
stefan@9052
   765
        <include name="**/WEB-INF/lib/**"/>
antonio@7595
   766
      </preserveintarget>
martin@2868
   767
      <fileset dir="${base.context}" />
antonio@7595
   768
    </sync>
martin@2868
   769
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7595
   770
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   771
      <fileset dir="${build}" />
antonio@7595
   772
    </sync>
asier@7208
   773
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7208
   774
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7208
   775
    </copy>
martin@2868
   776
  </target>
ivan@1738
   777
stefan@9978
   778
  <target name="copy.files.jarsync.notinrebuildui" unless="runningInRebuildUI">
stefan@9978
   779
    <antcall target="copy.files.jarsync.do"/>
stefan@9978
   780
  </target>
stefan@9978
   781
stefan@9978
   782
  <!-- sync jar files from WebContent -> deployed webapp & delete orphan jars from webapp
stefan@9978
   783
       as delete orphan is excluded from normal copy.files task -->
stefan@9978
   784
  <target name="copy.files.jarsync.do" if="mode.class">
stefan@9978
   785
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib"/>
stefan@9978
   786
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib">
stefan@9978
   787
      <fileset dir="${base.context}/WEB-INF/lib" />
stefan@9978
   788
    </sync>
stefan@9978
   789
  </target>
stefan@9978
   790
martin@2868
   791
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   792
  </target>
asier@1929
   793
martin@2868
   794
  <target name="compile.complete.development" depends="compile.complete, copy.files">
antonio@8136
   795
    <updatesystemstatus v="RB51"/>
martin@2868
   796
  </target>
asier@1929
   797
martin@2868
   798
  <target name="compile.web" depends="build.web.folder">
martin@2868
   799
  </target>
asier@1929
   800
martin@2868
   801
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   802
  </target>
asier@1929
   803
martin@2868
   804
  <target name="build.war">
martin@2868
   805
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   806
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   807
      <zipfileset dir="${base.context}">
martin@2868
   808
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   809
      </zipfileset>
martin@2868
   810
      <classes dir="${build}" />
martin@2868
   811
    </war>
antonio@8136
   812
    <updatesystemstatus v="RB51"/>
martin@2868
   813
  </target>
martin@2868
   814
martin@2868
   815
  <target name="generate-wsdd">
martin@2868
   816
    <delete failonerror="false">
martin@2868
   817
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   818
    </delete>
martin@2868
   819
martin@2868
   820
    <mkdir dir="${build}" />
asier@7861
   821
     <axis-wsdl2java output="${base.src}" verbose="false" url="http://centralrepository.openbravo.com/openbravo/services/WebService3?wsdl" serverside="true" debug="false">
asier@7861
   822
      <mapping namespace="http://centralrepository.openbravo.com/openbravo/services/WebService3" package="org.openbravo.services.webservice" />
asier@7861
   823
      <mapping namespace="/services/WebService3" package="org.openbravo.services.webservice" />
martin@2868
   824
    </axis-wsdl2java>
martin@2868
   825
  </target>
martin@2868
   826
antonio@3372
   827
  <target name="update.build.timestamp" unless="timestamp">
martin@2868
   828
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   829
      <classpath>
martin@2868
   830
        <fileset dir="${base.lib}">
martin@2868
   831
          <include name="**/*.jar">
martin@2868
   832
          </include>
martin@2868
   833
        </fileset>
martin@2868
   834
      </classpath>
martin@2868
   835
      <transaction>
asier@2819
   836
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   837
	      </transaction>
martin@2868
   838
    </sql>
martin@2868
   839
  </target>
asier@1929
   840
carlos@0
   841
</project>