src/build.xml
author Augusto Mauch <augusto.mauch@openbravo.com>
Tue, 18 Mar 2014 17:23:09 +0100
changeset 22729 05acae86769b
parent 22111 0da5e59dccee
child 22800 66366aabc392
permissions -rw-r--r--
Fixes issue 25558: Fixes callout of manual forms

The code that applies the response of the manual forms callout was taking for granted that there one only one frame called appFrame. This was true in Openbravo 2.50, but in Openbravo 3.0 many manual windows can be opened at the same time, so there may be several frames called appFrame in one given moment.

This has been fixed by storing the active manual frame (the one whose tab is focused), and using that frame when applying the response of the callout.
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" />
martin@2868
   259
  </target>
juanpablo@131
   260
martin@3723
   261
  <target name="run.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   262
    
martin@7346
   263
    <copy todir="${build}">
martin@7346
   264
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   265
    </copy>
martin@7346
   266
    
martin@3723
   267
    <junit printsummary="yes" haltonfailure="yes">
martin@3723
   268
      <classpath refid="project.class.path" />
martin@3723
   269
      <formatter type="plain" usefile="no"/>
martin@3754
   270
      <test name="org.openbravo.test.AntTaskTests" haltonfailure="no"/>
martin@3754
   271
    </junit>
martin@3754
   272
  </target>
martin@3754
   273
martin@3754
   274
  <target name="run.all.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   275
    
martin@7346
   276
    <copy todir="${build}">
martin@7346
   277
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   278
    </copy>
martin@7346
   279
martin@3754
   280
    <junit printsummary="yes" haltonfailure="yes">
martin@3754
   281
      <classpath refid="project.class.path" />
martin@3754
   282
      <formatter type="plain" usefile="no"/>
ivan@3873
   283
      <test name="org.openbravo.test.AllAntTaskTests" haltonfailure="no" outfile="result">
ivan@3873
   284
	    <formatter type="xml" />
ivan@3873
   285
	  </test>
martin@3723
   286
    </junit>
martin@3723
   287
  </target>
martin@3723
   288
martin@3723
   289
  <target name="run.quick.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   290
    
martin@7346
   291
    <copy todir="${build}">
martin@7346
   292
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   293
    </copy>
martin@7346
   294
    
martin@3723
   295
    <junit printsummary="yes" haltonfailure="yes">
martin@3723
   296
      <classpath refid="project.class.path" />
martin@3723
   297
      <formatter type="plain" usefile="no"/>
martin@3723
   298
      <test name="org.openbravo.test.AllQuickAntTaskTests" haltonfailure="no"/>
martin@3723
   299
    </junit>
martin@3723
   300
  </target>
ivan@3850
   301
priya@6948
   302
  <target name="run.webservice.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   303
    
martin@7346
   304
    <copy todir="${build}">
martin@7346
   305
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   306
    </copy>
martin@7346
   307
priya@6948
   308
    <junit printsummary="yes" haltonfailure="yes">
priya@6948
   309
      <classpath refid="project.class.path" />
priya@6948
   310
      <formatter type="plain" usefile="no"/>
priya@6966
   311
      <test name="org.openbravo.test.AllWebserviceTests" haltonfailure="yes"/>
priya@6948
   312
    </junit>
priya@6948
   313
  </target>
priya@6948
   314
stefan@3934
   315
  <target name="run.api.test.javascript">
ivan@3850
   316
  	<taskdef name="jstest" classname="org.openbravo.test.javascript.JavaScriptAntTest" classpathref="project.class.path" />
ivan@4648
   317
	<property name="export" value="no" />
ivan@4648
   318
	<jstest apiDetailsPath="${api.test.javascript.details}" jsPath="${base.web}/js" export="${export}" />
ivan@3850
   319
  </target>
antonio@16458
   320
antonio@16458
   321
  <path id="my-src-dirs">
antonio@16458
   322
    <pathelement path="${basedir}" />
antonio@16458
   323
    <pathelement path="${build.sqlc}/src" />
antonio@16458
   324
    <pathelement path="${build.sqlc}/srcAD" />
antonio@16458
   325
    <pathelement path="${base.src.test}" />
antonio@16458
   326
    <dirset dir="${base.modules}">
stefan@17945
   327
      <include name="*/src" />
stefan@17945
   328
      <include name="*/src-test" />
antonio@16458
   329
    </dirset>
antonio@16458
   330
  </path>
antonio@16458
   331
 
martin@2868
   332
  <target name="compileSqlc" depends="sqlc">
antonio@16458
   333
    <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
   334
      <src refid="my-src-dirs"/>
antonio@16458
   335
      <classpath refid="project.class.path" />
antonio@16458
   336
    </javac>
antonio@16458
   337
antonio@16458
   338
    <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
   339
      <classpath refid="project.class.path" />
asier@2967
   340
    </javac>
antonio@6986
   341
stefan@11995
   342
    <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
   343
      <classpath refid="project.class.path" />
martin@2868
   344
    </javac>
asier@4277
   345
  	<antcall target="calculate.version"/>
martin@2868
   346
  </target>
antonio@5595
   347
asier@4277
   348
	<target name="calculate.version" depends="init">
asier@4277
   349
	  <condition property="revision.from.file">
asier@4277
   350
		<and>
asier@4277
   351
		  <not>
asier@4277
   352
		 	<isset property="hg.id"/>
asier@4277
   353
		  </not>
asier@4277
   354
		  <available file="${basedir}/config/instance.revision"/>
asier@4277
   355
	    </and>
asier@4277
   356
	  </condition>
guillermo@15752
   357
	  <condition property="revision.not.found">
guillermo@15752
   358
		<and>
guillermo@15752
   359
		  <not>
guillermo@15752
   360
		 	<isset property="hg.id"/>
guillermo@15752
   361
		  </not>
guillermo@15752
   362
		  <not>
guillermo@15752
   363
		  	<available file="${basedir}/config/instance.revision"/>
guillermo@15752
   364
		  </not>
guillermo@15752
   365
	    </and>
guillermo@15752
   366
	  </condition>
asier@4277
   367
	  <antcall inheritall="true" target="calculate.instance.version"/>
asier@4277
   368
	</target>
guillermo@15752
   369
	<target name="calculate.instance.version" depends="calculate.version.from.hg, calculate.version.from.file, cannot.find.version">
asier@4277
   370
	    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
asier@4277
   371
	      <classpath>
asier@4277
   372
	        <fileset dir="${base.lib}">
asier@4277
   373
	          <include name="**/*.jar">
asier@4277
   374
	          </include>
asier@4277
   375
	        </fileset>
asier@4277
   376
	      </classpath>
asier@4277
   377
	      <transaction>
asier@4277
   378
		        UPDATE AD_MODULE 
asier@4277
   379
	      	       SET VERSION_ID='${instance.version}'
asier@4277
   380
                 WHERE AD_MODULE_ID='0'
asier@4277
   381
		      </transaction>
asier@4277
   382
	    </sql>
asier@4277
   383
	</target>
asier@4277
   384
	<target name="calculate.version.from.hg" if="is.hg">
asier@4277
   385
	  <property name="instance.version" value="${hg.id}"/>
asier@4277
   386
	</target>
asier@4277
   387
	<target name="calculate.version.from.file" if="revision.from.file">
guillermo@15752
   388
	  <loadfile property="instance.version" srcfile="${basedir}/config/instance.revision"/>
guillermo@15752
   389
	</target>
guillermo@15752
   390
	<target name="cannot.find.version" if="revision.not.found">
guillermo@15752
   391
	  <property name="instance.version" value=" - "/>
asier@4277
   392
	</target>
martin@2346
   393
martin@2868
   394
  <target name="compile.src.gen" depends="init">
stefan@11995
   395
    <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
   396
      <classpath refid="project.class.path" />
martin@2868
   397
    </javac>
martin@2868
   398
    <copy todir="${build}">
martin@2868
   399
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   400
    </copy>
martin@2868
   401
    <copy todir="${build}">
martin@2868
   402
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   403
    </copy>
martin@6163
   404
    
martin@6163
   405
    <!-- also compile the domaintypes in modules -->
stefan@11995
   406
    <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
   407
      <classpath refid="project.class.path" />
martin@6163
   408
    </javac>
martin@6163
   409
    
martin@6163
   410
    <!-- copy all configuration files in modules to the output path also -->
martin@6163
   411
    <copy todir="${build}" encoding="UTF-8">
martin@6163
   412
      <fileset dir="${base.modules}">
martin@6163
   413
          <include name="*/src/**/*" />
martin@6163
   414
          <exclude name="*/src/**/*.java" />
martin@6163
   415
          <exclude name="*/src/**/*.xsql" />
martin@6163
   416
      </fileset>
martin@6163
   417
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6163
   418
    </copy>
martin@2868
   419
  </target>
martin@2346
   420
asier@5532
   421
  <target name="wadvalidation">
asier@5535
   422
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5532
   423
            <classpath refid="project.class.path" />
asier@5532
   424
          </taskdef>
asier@5532
   425
        
asier@5532
   426
        <WADValidation propertiesFile="${base.config}/Openbravo.properties"
asier@5532
   427
                       modules="${module}"
antonio@5700
   428
                       stoponerror="${stopOnWadError}"
antonio@5700
   429
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   430
  </target>
asier@5532
   431
  
asier@5532
   432
  <target name="wad" depends="init, wadvalidation">
asier@5265
   433
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}" failonerror="true">
asier@18217
   434
      <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
   435
      <classpath refid="wad.class.path" />
antonio@7592
   436
      <syspropertyset>
antonio@7592
   437
         <propertyref name="java.security.egd" />
antonio@7592
   438
      </syspropertyset>
martin@2868
   439
    </java>
martin@2868
   440
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   441
  </target>
martin@2346
   442
asier@5532
   443
  <target name="wad.quick" depends="init, wadvalidation">
martin@2868
   444
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@18217
   445
      <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
   446
      <classpath refid="wad.class.path" />
antonio@7592
   447
      <syspropertyset>
antonio@7592
   448
         <propertyref name="java.security.egd" />
antonio@7592
   449
      </syspropertyset>
martin@2868
   450
    </java>
martin@2868
   451
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   452
  </target>
asier@1929
   453
martin@2868
   454
  <target name="postsrc" depends="postsrc.modules">
antonio@5620
   455
martin@2868
   456
    <copy todir="${build}">
martin@2868
   457
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   458
    </copy>
martin@2868
   459
    <copy todir="${build}">
martin@2868
   460
      <fileset dir="${basedir}" includes="**/*.xslt" />
martin@2868
   461
    </copy>
martin@2868
   462
    <copy todir="${build}">
martin@2868
   463
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   464
    </copy>
asier@19912
   465
    <copy todir="${build}">
asier@19912
   466
      <fileset dir="${basedir}" includes="**/*.ftl" />
asier@19912
   467
    </copy>
martin@2868
   468
    <copy todir="${base.design}/design">
martin@2868
   469
      <fileset dir="${basedir}" includes="**/*.xml" />
martin@2868
   470
    </copy>
martin@2868
   471
    <copy todir="${base.design}/design">
martin@2868
   472
      <fileset dir="${basedir}" includes="**/*.fo" />
martin@2868
   473
    </copy>
martin@2868
   474
    <copy todir="${base.design}/design">
martin@2868
   475
      <fileset dir="${basedir}" includes="**/*.html" />
martin@2868
   476
    </copy>
martin@2868
   477
    <copy todir="${base.design}/design">
martin@2868
   478
      <fileset dir="${basedir}" includes="**/*.srpt" />
martin@2868
   479
    </copy>
martin@2868
   480
    <copy todir="${base.design}/design">
martin@2868
   481
      <fileset dir="${basedir}" includes="**/*.jrxml" />
martin@2868
   482
    </copy>
martin@2868
   483
    <copy todir="${base.design}/design">
martin@2868
   484
      <fileset dir="${basedir}" includes="**/*.jasper" />
martin@2868
   485
    </copy>
martin@2868
   486
    <copy todir="${build}">
martin@2868
   487
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   488
    </copy>
asier@8385
   489
    <copy todir="${base.design}/design/org/openbravo/erpCommon/obps" file="${basedir}/org/openbravo/erpCommon/obps/licenseRestrictions"/>
martin@2868
   490
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   491
  </target>
asier@1929
   492
martin@2868
   493
  <target name="postsrc.modules">
martin@2868
   494
    <copy todir="${base.design}/design">
martin@2868
   495
      <fileset dir="${base.modules}">
martin@2868
   496
        <include name="*/src/**/*.xml" />
martin@2868
   497
        <include name="*/src/**/*.fo" />
martin@2868
   498
        <include name="*/src/**/*.html" />
martin@2868
   499
        <include name="*/src/**/*.srpt" />
martin@2868
   500
        <include name="*/src/**/*.jrxml" />
martin@2868
   501
        <include name="*/src/**/*.jasper" />
martin@2868
   502
      </fileset>
martin@2868
   503
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   504
    </copy>
martin@6160
   505
    <copy todir="${build}">
martin@6160
   506
      <fileset dir="${base.modules}">
martin@6160
   507
        <include name="*/src/**" />
martin@6160
   508
        <exclude name="*/src/**/*.java" />
martin@6160
   509
      </fileset>
martin@6160
   510
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6160
   511
    </copy>
martin@2868
   512
  </target>
asier@1929
   513
martin@2868
   514
  <!-- FIXME: These tasks is only for development and testing purposes, remove it afterwards-->
stefan@12082
   515
  <target name="sqlcmod">
asier@3189
   516
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   517
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   518
      <classpath refid="project.class.path" />
antonio@7592
   519
      <syspropertyset>
antonio@7592
   520
         <propertyref name="java.security.egd" />
antonio@7592
   521
      </syspropertyset>
martin@2868
   522
    </java>
martin@2868
   523
  </target>
asier@1929
   524
martin@2868
   525
  <target name="compileSqlcmod" depends="sqlcmod">
stefan@11995
   526
    <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
   527
      <classpath refid="project.class.path" />
antonio@7592
   528
      <syspropertyset>
antonio@7592
   529
         <propertyref name="java.security.egd" />
antonio@7592
   530
      </syspropertyset>
martin@2868
   531
    </javac>
martin@2868
   532
  </target>
martin@2868
   533
  <target name="postsrcmod">
martin@2868
   534
    <copy todir="${base.design}/design">
martin@2868
   535
      <fileset dir="${base.modules}" includes="*/src/**/*.html" />
martin@2868
   536
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   537
    </copy>
martin@2868
   538
  </target>
asier@1929
   539
martin@2868
   540
  <!-- end of auxiliar tasks-->
martin@2346
   541
martin@2868
   542
  <target name="build.local.context">
martin@2868
   543
    <copy todir="${base.context}" encoding="UTF-8">
ivan@10243
   544
      <fileset file="${basedir}/index.jsp" />
martin@2868
   545
    </copy>
martin@2868
   546
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   547
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   548
      <fileset dir="${base.config}">
martin@2868
   549
        <exclude name="**/eclipse/**" />
martin@2868
   550
        <exclude name="**/setup-properties**" />
martin@2868
   551
        <exclude name="*.template" />
asier@2974
   552
        <exclude name="checksums"/>
martin@2868
   553
      </fileset>
martin@2868
   554
    </copy>
martin@2868
   555
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   556
      <fileset dir="${base.modules}">
martin@2868
   557
        <include name="*/config/**" />
martin@2868
   558
        <exclude name="*.template" />
martin@2868
   559
      </fileset>
martin@2868
   560
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   561
    </copy>
martin@2868
   562
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   563
      <fileset dir="${base.lib}/runtime">
martin@2868
   564
        <exclude name="openbravo-wad.jar" />
martin@2868
   565
        <exclude name="openbravo-trl.jar" />
martin@2868
   566
        <exclude name="*.war" />
martin@2868
   567
      </fileset>
martin@2868
   568
      <fileset dir="${base.db}/lib">
martin@2868
   569
        <include name="*" />
martin@2868
   570
      </fileset>
martin@2868
   571
    </copy>
martin@2346
   572
martin@2868
   573
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   574
      <fileset dir="${base.modules}">
martin@2868
   575
        <include name="*/lib/runtime/**" />
martin@2868
   576
      </fileset>
martin@2868
   577
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   578
    </copy>
martin@2868
   579
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   580
  </target>
martin@2346
   581
martin@2868
   582
  <target name="build.web.folder">
martin@2868
   583
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   584
      <fileset dir="${base.web}">
martin@2868
   585
        <include name="*/**" />
martin@2868
   586
        <exclude name="skins/**" />
martin@2868
   587
      </fileset>
martin@2868
   588
    </copy>
asier@2994
   589
    
asier@2994
   590
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@2994
   591
        <classpath refid="project.class.path" />
asier@2994
   592
      </taskdef>
asier@2994
   593
    
asier@2994
   594
    <CheckSumCondition obDir="${basedir}/.."
asier@2994
   595
                       type="md5.skins"
asier@2994
   596
                       property="changes.in.md5.skins"/>
asier@2994
   597
    <condition property="do.skins">
asier@2994
   598
      <or>
asier@2994
   599
        <istrue value="${changes.in.md5.skins}" />
asier@2994
   600
        <not>
asier@3013
   601
          <istrue value="${smart.mode}"/>
asier@2994
   602
        </not>
augusto@15962
   603
        <not>
augusto@15962
   604
          <available file="${base.context}/web/skins/rtl" type="dir"/>
augusto@15962
   605
        </not>
augusto@15962
   606
        <not>
augusto@15962
   607
          <available file="${base.context}/web/skins/ltr" type="dir"/>
augusto@15962
   608
        </not>
asier@2994
   609
      </or>
asier@2994
   610
    </condition>
asier@2994
   611
    
asier@2994
   612
    <antcall target="build.web.folder.skins"  inheritAll="true" inheritrefs="true" />
asier@2994
   613
    
asier@2994
   614
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
asier@2994
   615
  </target>
asier@2994
   616
    
asier@9013
   617
  
asier@9013
   618
  <target name="build.web.folder.base">
asier@9013
   619
    <mkdir dir="${base.context}/web" />
asier@9013
   620
    <copy todir="${base.context}/web" encoding="UTF-8">
asier@9013
   621
      <fileset dir="${base.modules}">
asier@9013
   622
        <include name="*/web/*/**" />
asier@9013
   623
        <exclude name="*/web/*/skins/**" />
asier@9013
   624
      </fileset>
augusto@16403
   625
      <mapper type="regexp" from="(.*)(\${file.separator}web)(\${file.separator}.*)" to="\3" />
asier@9013
   626
    </copy>
asier@9013
   627
  </target>
martin@2346
   628
asier@2994
   629
  <target name="build.web.folder.skins" if="do.skins">
asier@2994
   630
asier@2994
   631
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
asier@2994
   632
    <mkdir dir="${base.context}/web" />
martin@2868
   633
    <mkdir dir="${base.context}/web/skins" />
martin@2868
   634
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   635
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   636
      <fileset dir="${base.web}/skins" />
martin@2868
   637
    </copy>
martin@2868
   638
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   639
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   640
      <fileset dir="${base.web}/skins" />
martin@2868
   641
    </copy>
martin@2346
   642
asier@9013
   643
    <antcall target="build.web.folder.base" />
martin@2346
   644
martin@2868
   645
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   646
      <fileset dir="${base.modules}">
david@5270
   647
        <include name="*/web/*/skins/**" />
martin@2868
   648
      </fileset>
asier@3604
   649
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   650
    </copy>
carlos@0
   651
martin@2868
   652
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   653
      <fileset dir="${base.modules}">
david@5270
   654
        <include name="*/web/*/skins/**" />
martin@2868
   655
      </fileset>
asier@3604
   656
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   657
    </copy>
stefan@2143
   658
martin@2868
   659
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
david@3771
   660
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr" />
martin@2868
   661
      <classpath refid="project.class.path" />
martin@2868
   662
    </java>
asier@2994
   663
    
martin@2868
   664
  </target>
juanpablo@131
   665
martin@2868
   666
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   667
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   668
      <fileset dir="${base.web}">
martin@2868
   669
        <include name="**/*.js" />
martin@2868
   670
        <include name="**/*.css" />
martin@2868
   671
        <!-- The following scripts break in minification process -->
martin@2868
   672
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   673
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   674
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   675
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   676
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   677
        <!-- dojotoolkit files are already compressd -->
martin@2868
   678
        <exclude name="**/dojotoolkit/**" />
martin@2868
   679
        <!-- from old dojo, only compress main file -->
martin@2868
   680
        <exclude name="**/dojo/**" />
martin@2868
   681
        <include name="js/dojo/dojo.js" />
martin@2868
   682
      </fileset>
martin@2868
   683
    </yuicompress>
martin@2868
   684
  </target>
david@1883
   685
martin@2868
   686
  <target name="postwad">
martin@2868
   687
    <copy todir="${base.design}/design">
martin@2868
   688
      <fileset dir="${build.AD}" includes="**/*.xml" />
martin@2868
   689
    </copy>
martin@2868
   690
    <copy todir="${base.design}/design">
martin@2868
   691
      <fileset dir="${build.AD}" includes="**/*.fo" />
martin@2868
   692
    </copy>
martin@2868
   693
    <copy todir="${base.design}/design">
martin@2868
   694
      <fileset dir="${build.AD}" includes="**/*.html" />
martin@2868
   695
    </copy>
martin@2868
   696
    <copy todir="${base.design}/design">
martin@2868
   697
      <fileset dir="${build.AD}" includes="**/*.srpt" />
martin@2868
   698
    </copy>
martin@2868
   699
    <copy todir="${base.design}/design">
martin@2868
   700
      <fileset dir="${build.AD}" includes="**/*.jrxml" />
martin@2868
   701
    </copy>
martin@2868
   702
    <copy todir="${base.design}/design">
martin@2868
   703
      <fileset dir="${build.AD}" includes="**/*.jasper" />
martin@2868
   704
    </copy>
martin@2868
   705
  </target>
martin@2346
   706
carlos@0
   707
asier@5937
   708
  <target name="eclipse.compile.complete" depends="clean,generate.entities,wad,sqlc,postsrc,translate, trl.remove.unused">
martin@2868
   709
    <antcall target="update.build.timestamp" />
martin@2868
   710
  </target>
martin@2868
   711
martin@2868
   712
  <target name="eclipse.compile" depends="wad,sqlc, postsrc, translate">
martin@2868
   713
  </target>
martin@2868
   714
martin@2868
   715
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   716
  </target>
martin@2868
   717
asier@5937
   718
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate, trl.remove.unused">
martin@2868
   719
    <antcall target="update.build.timestamp" />
martin@2868
   720
  </target>
martin@2868
   721
martin@2868
   722
asier@3013
   723
  <target name="smartbuild.new.wad" if="new.wad">
martin@2868
   724
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   725
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   726
      <classpath refid="project.class.path" />
asier@2854
   727
    </taskdef>
martin@2868
   728
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   729
  </target>
asier@2854
   730
asier@3013
   731
  <target name="smartbuild.no.new.wad" unless="new.wad">
martin@2868
   732
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   733
  </target>
asier@2974
   734
asier@3013
   735
  <target name="smartbuild">
asier@3013
   736
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.new.wad" />
asier@3013
   737
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.no.new.wad" />
martin@2868
   738
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   739
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
asier@9013
   740
    <antcall inheritall="true" inheritrefs="true" target="build.web.folder.base" />
martin@2868
   741
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   742
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   743
  </target>
carlos@0
   744
martin@2868
   745
  <target name="translate" if="translation">
martin@2868
   746
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   747
      <param name="extension" value="html" />
martin@2868
   748
    </antcall>
martin@2868
   749
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   750
      <param name="extension" value="fo" />
martin@2868
   751
    </antcall>
martin@2868
   752
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   753
      <param name="extension" value="srpt" />
martin@2868
   754
    </antcall>
martin@2868
   755
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   756
      <param name="extension" value="jrxml" />
martin@2868
   757
    </antcall>
martin@2868
   758
    <antcall inheritall="true" inheritrefs="true" target="translate.modules" />
martin@2868
   759
  </target>
carlos@0
   760
martin@2868
   761
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
martin@2868
   762
  </target>
asier@1929
   763
martin@2868
   764
  <target name="translate.modules" if="translation">
martin@2868
   765
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   766
      <param name="extension" value="html" />
martin@2868
   767
    </antcall>
martin@2868
   768
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   769
      <param name="extension" value="fo" />
martin@2868
   770
    </antcall>
martin@2868
   771
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   772
      <param name="extension" value="srpt" />
martin@2868
   773
    </antcall>
martin@2868
   774
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   775
      <param name="extension" value="jrxml" />
martin@2868
   776
    </antcall>
martin@2868
   777
  </target>
asier@1929
   778
martin@2868
   779
  <target name="compile.translate.modules">
martin@2868
   780
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   781
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${base.modules}' '*/src'" />
martin@2868
   782
      <classpath refid="project.class.path" />
antonio@7592
   783
      <syspropertyset>
antonio@7592
   784
         <propertyref name="java.security.egd" />
antonio@7592
   785
      </syspropertyset>
martin@2868
   786
    </java>
martin@2868
   787
  </target>
carlos@0
   788
martin@2868
   789
  <target name="installWebService" depends="init" if="wsdd">
asier@4307
   790
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
martin@2868
   791
      <classpath refid="project.class.path" />
asier@4307
   792
    </taskdef>
asier@4307
   793
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   794
             baseDir="${source.path}"
asier@4307
   795
             action="deploy"/>
martin@2868
   796
  </target>
carlos@0
   797
asier@4307
   798
  <target name="uninstallWebService" depends="init">
asier@4307
   799
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
asier@4307
   800
      <classpath refid="project.class.path" />
asier@4307
   801
    </taskdef>
asier@4307
   802
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   803
             baseDir="${source.path}"
asier@4307
   804
             action="undeploy"/>
asier@4307
   805
  </target>
carlos@0
   806
martin@2868
   807
  <target name="compile.translate">
martin@2868
   808
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   809
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${basedir}'" />
martin@2868
   810
      <classpath refid="project.class.path" />
antonio@7592
   811
      <syspropertyset>
antonio@7592
   812
         <propertyref name="java.security.egd" />
antonio@7592
   813
      </syspropertyset>
martin@2868
   814
    </java>
martin@2868
   815
  </target>
carlos@0
   816
stefan@9978
   817
  <!-- Note (see issue 15709 for details):
stefan@9978
   818
       orphan jarfiles are not deleted from the webapp as deployed in tomcat when
stefan@9978
   819
       this rebuild is running inside the rebuild UI (started from MMC). See also the related
stefan@9978
   820
       copy.files.jarsync(.do) task which does this deletion between tomcat stop & start
stefan@9978
   821
   -->
stefan@9978
   822
  <target name="copy.files" depends="copy.files.jarsync.notinrebuildui" if="mode.class">
martin@2868
   823
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7595
   824
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7595
   825
      <preserveintarget>
antonio@7595
   826
        <include name="**/WEB-INF/classes/**"/>
stefan@9052
   827
        <include name="**/WEB-INF/lib/**"/>
antonio@7595
   828
      </preserveintarget>
martin@2868
   829
      <fileset dir="${base.context}" />
antonio@7595
   830
    </sync>
martin@2868
   831
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7595
   832
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   833
      <fileset dir="${build}" />
antonio@7595
   834
    </sync>
asier@7208
   835
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7208
   836
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7208
   837
    </copy>
martin@2868
   838
  </target>
ivan@1738
   839
stefan@9978
   840
  <target name="copy.files.jarsync.notinrebuildui" unless="runningInRebuildUI">
stefan@9978
   841
    <antcall target="copy.files.jarsync.do"/>
stefan@9978
   842
  </target>
stefan@9978
   843
stefan@9978
   844
  <!-- sync jar files from WebContent -> deployed webapp & delete orphan jars from webapp
stefan@9978
   845
       as delete orphan is excluded from normal copy.files task -->
stefan@9978
   846
  <target name="copy.files.jarsync.do" if="mode.class">
stefan@9978
   847
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib"/>
stefan@9978
   848
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib">
stefan@9978
   849
      <fileset dir="${base.context}/WEB-INF/lib" />
stefan@9978
   850
    </sync>
stefan@9978
   851
  </target>
stefan@9978
   852
martin@2868
   853
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   854
  </target>
asier@1929
   855
martin@2868
   856
  <target name="compile.complete.development" depends="compile.complete, copy.files">
antonio@8136
   857
    <updatesystemstatus v="RB51"/>
martin@2868
   858
  </target>
asier@1929
   859
martin@2868
   860
  <target name="compile.web" depends="build.web.folder">
martin@2868
   861
  </target>
asier@1929
   862
martin@2868
   863
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   864
  </target>
asier@1929
   865
martin@2868
   866
  <target name="build.war">
martin@2868
   867
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   868
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   869
      <zipfileset dir="${base.context}">
martin@2868
   870
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   871
      </zipfileset>
martin@2868
   872
      <classes dir="${build}" />
martin@2868
   873
    </war>
antonio@8136
   874
    <updatesystemstatus v="RB51"/>
martin@2868
   875
  </target>
martin@2868
   876
martin@2868
   877
  <target name="generate-wsdd">
martin@2868
   878
    <delete failonerror="false">
martin@2868
   879
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   880
    </delete>
martin@2868
   881
martin@2868
   882
    <mkdir dir="${build}" />
asier@7861
   883
     <axis-wsdl2java output="${base.src}" verbose="false" url="http://centralrepository.openbravo.com/openbravo/services/WebService3?wsdl" serverside="true" debug="false">
asier@7861
   884
      <mapping namespace="http://centralrepository.openbravo.com/openbravo/services/WebService3" package="org.openbravo.services.webservice" />
asier@7861
   885
      <mapping namespace="/services/WebService3" package="org.openbravo.services.webservice" />
martin@2868
   886
    </axis-wsdl2java>
martin@2868
   887
  </target>
martin@2868
   888
antonio@3372
   889
  <target name="update.build.timestamp" unless="timestamp">
martin@2868
   890
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   891
      <classpath>
martin@2868
   892
        <fileset dir="${base.lib}">
martin@2868
   893
          <include name="**/*.jar">
martin@2868
   894
          </include>
martin@2868
   895
        </fileset>
martin@2868
   896
      </classpath>
martin@2868
   897
      <transaction>
asier@2819
   898
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   899
	      </transaction>
martin@2868
   900
    </sql>
martin@2868
   901
  </target>
asier@1929
   902
carlos@0
   903
</project>