src/build.xml
author Guillermo Álvarez de Eulate <guillermo.alvarez@openbravo.com>
Wed, 07 Mar 2012 15:09:50 +0100
changeset 15720 b82a1d5eabd1
parent 15432 607dccd3524a
child 15928 541a4becfc84
permissions -rw-r--r--
Fixed issue 10201: The core revision Id of about page is shown correctly

ant install.source tries to get the current revision from merurial. If mercurial isn't present it try to get from file (config/instance.version). In case of both aren't present a '-' will be write. It is better than show an ant variable instance.version
carlos@0
     1
<?xml version="1.0" encoding="UTF-8" ?>
carlos@0
     2
<!--
carlos@0
     3
 *************************************************************************
carlos@0
     4
 * The contents of this file are subject to the Openbravo Public License 
carlos@0
     5
 * Version 1.1 (the "License"), being the Mozilla Public License 
carlos@0
     6
 * version 1.1  with a permitted attribution clause ; you may not use 
carlos@0
     7
 * this file except in compliance with the License. 
carlos@0
     8
 * You may obtain a copy of the License at  
carlos@0
     9
 * http://www.openbravo.com/legal/license.txt 
carlos@0
    10
 * Software distributed under the License is distributed on an 
carlos@0
    11
 * "AS IS" basis, WITHOUT WARRANTY OF  ANY KIND, either express or 
carlos@0
    12
 * implied. See the License for the specific language governing rights 
carlos@0
    13
 * and  limitations under the License. 
carlos@0
    14
 * The Original Code is Openbravo ERP. 
ggi@6701
    15
 * The Initial Developer of the Original Code is Openbravo SLU 
david@11621
    16
 * All portions are Copyright (C) 2005-2011 Openbravo SLU 
carlos@0
    17
 * All Rights Reserved. 
ggi@6701
    18
 * Contributor(s): Openbravo S.L.U.
carlos@0
    19
 ************************************************************************
carlos@0
    20
-->
juanpablo@213
    21
juanpablo@213
    22
<!--
ivan@1738
    23
List of methods infside:
juanpablo@213
    24
juanpablo@213
    25
init: creates all the folders.
juanpablo@213
    26
trl.clean: clean the AD_TEXTINTERFACES table
juanpablo@213
    27
clean: delete all folders.
juanpablo@213
    28
sqlc: generates the java from the xsql files.
juanpablo@213
    29
compileSqlc: compiles all the java generated from the xsqls.
juanpablo@213
    30
wad: generates all the files from the mda.
juanpablo@213
    31
postwad: copies the generated files to the base design folder.
juanpablo@213
    32
postsrc: copies the src files to the base design folder and the 
juanpablo@213
    33
         xml and jasper files to the translated designs folders
asier@1929
    34
postsrc.modules: it does the same as postsrc but for module files
juanpablo@213
    35
build.local.context: copies all files to the eclipse base context 
juanpablo@213
    36
                     (WebContent...).
juanpablo@213
    37
compile.src: comiles only the src files.
juanpablo@213
    38
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@6256
    58
    <classpath>
ivan@6256
    59
      <pathelement location="${base.lib}/build/yuicompressor-2.4.2.jar" />
ivan@6256
    60
      <pathelement location="${base.lib}/build/ob-rhino-1.6R7.jar" />
ivan@6256
    61
      <pathelement location="${base.lib}/build/YUIAnt.jar" />
ivan@6256
    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@5617
    94
  <macrodef name="updatesystemstatus">
antonio@5617
    95
     <attribute name="v" default="NOT SET"/>
antonio@5617
    96
     <sequential>
antonio@5617
    97
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
antonio@5618
    98
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
antonio@5618
    99
         <transaction> UPDATE ad_system_info SET system_status='@{v}' ;
antonio@5618
   100
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@5618
   101
         </transaction>
antonio@5617
   102
       </sql>
antonio@5617
   103
     </sequential>
antonio@5617
   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@5455
   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@5698
   117
    <validateModules userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" type="module" moduleJavaPackage="${module}"/>
martin@2868
   118
  </target>
antonio@4917
   119
  
antonio@4965
   120
  <target name="load.logoimages">
antonio@4917
   121
    <taskdef name="imageloading" classname="org.openbravo.erpCommon.utility.ImageToDatabaseLoader">
antonio@4917
   122
      <classpath refid="project.class.path" />
antonio@4917
   123
    </taskdef>
martin@5455
   124
    <imageloading userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" basePath="${basedir}/../"
antonio@4917
   125
      imagePaths="web/images/CompanyLogo_big.png,web/images/SupportLogo_big.png,web/images/CompanyLogo_small.png,web/skins/Default/Login/initialOpenbravoLogo.png,web/images/CompanyLogo_big.png"
antonio@4917
   126
      propertyNames="yourCompanyLoginImage,yourItServiceLoginImage,yourCompanyMenuImage,yourCompanyBigImage,yourCompanyDocumentImage"/>
antonio@4917
   127
  </target>
carlos@0
   128
martin@2868
   129
  <target name="trl.clean" if="translation">
martin@2868
   130
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3856
   131
      <arg line="clean '${base.config}/Openbravo.properties'" />
martin@2868
   132
      <classpath refid="project.class.path" />
antonio@7580
   133
      <syspropertyset>
antonio@7580
   134
         <propertyref name="java.security.egd" />
antonio@7580
   135
      </syspropertyset>
martin@2868
   136
    </java>
martin@2868
   137
  </target>
asier@5935
   138
  
asier@5935
   139
  <target name="trl.remove.unused" if="translation">
asier@5935
   140
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@5935
   141
      <arg line="remove '${base.config}/Openbravo.properties'" />
asier@5935
   142
      <classpath refid="project.class.path" />
antonio@7580
   143
      <syspropertyset>
antonio@7580
   144
         <propertyref name="java.security.egd" />
antonio@7580
   145
      </syspropertyset>
asier@5935
   146
    </java>
asier@5935
   147
  </target>
martin@2346
   148
martin@2868
   149
  <target name="clean" depends="trl.clean">
martin@2868
   150
    <property name="complete" value="true" />
martin@2868
   151
    <delete includeEmptyDirs="true" failonerror="false">
martin@2868
   152
      <fileset dir="${base.design}" />
martin@2868
   153
      <fileset dir="${build}" />
martin@2868
   154
      <fileset dir="${build.docs}" />
martin@2868
   155
      <fileset dir="${build.AD}" />
martin@2868
   156
      <fileset dir="${build.sqlc}" />
martin@2868
   157
      <fileset dir="${base.context}">
martin@2868
   158
        <exclude name=".svn" />
martin@2868
   159
        <exclude name="META-INF/MANIFEST.MF" />
juanpablo@3236
   160
        <exclude name="**/.keep" />
martin@2868
   161
      </fileset>
martin@2868
   162
    </delete>
martin@2868
   163
  </target>
carlos@0
   164
antonio@7535
   165
  <target name="compile.apply.module" depends="init">
antonio@7541
   166
    <mkdir dir="${build.apply.module}" />
antonio@7535
   167
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
antonio@7535
   168
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
stefan@15432
   169
      <jvmarg value="-Dsqlc.listOfFiles=ApplyModule_data.xsql,PInstanceProcess_data.xsql,Translation_data.xsql,MessageBD_data.xsql"/>
antonio@7535
   170
      <classpath refid="project.class.path" />
antonio@7580
   171
      <syspropertyset>
antonio@7580
   172
         <propertyref name="java.security.egd" />
antonio@7580
   173
      </syspropertyset>
antonio@7535
   174
    </java>
stefan@11995
   175
    <javac includes="org/openbravo/erpCommon/modules/ApplyModuleTask.java" destdir="${build.apply.module}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on" verbose="false" nowarn="${friendlyWarnings}" includeantruntime="false" >
antonio@7535
   176
      <src path="${base.src}"/>
antonio@7535
   177
      <src path="../build/javasqlc/src"/>
antonio@7541
   178
      <src path="../src-gen"/>
antonio@7543
   179
      <classpath refid="apply.module.compile.classpath" />
antonio@7535
   180
    </javac>
antonio@7535
   181
  </target>
antonio@7535
   182
  
stefan@12082
   183
  <target name="sqlc">
asier@3189
   184
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   185
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
martin@2868
   186
      <classpath refid="project.class.path" />
antonio@7580
   187
      <syspropertyset>
antonio@7580
   188
         <propertyref name="java.security.egd" />
antonio@7580
   189
      </syspropertyset>
martin@2868
   190
    </java>
asier@3189
   191
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   192
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
stefan@5218
   193
      <jvmarg value="-Dsqlc.queryExecutionStrategy=traditional"/>
martin@2868
   194
      <classpath refid="project.class.path" />
antonio@7580
   195
      <syspropertyset>
antonio@7580
   196
         <propertyref name="java.security.egd" />
antonio@7580
   197
      </syspropertyset>
martin@2868
   198
    </java>
martin@2868
   199
    <copy file="${base.src}/buildAD.xml" tofile="${build.AD}/build.xml" />
martin@2868
   200
    <copy file="${base.src}/log4j.lcf" tofile="${build.AD}/log4j.lcf" />
martin@2868
   201
    <ant dir="${build.AD}" target="buildAD" inheritAll="true" inheritRefs="true" />
martin@2868
   202
  </target>
carlos@0
   203
martin@2868
   204
  <target name="clean.src.gen">
martin@2868
   205
    <delete includeEmptyDirs="true" failonerror="false">
juanpablo@3236
   206
      <fileset dir="${base.src.gen}" >
juanpablo@3236
   207
        <exclude name="**/.keep" />
juanpablo@3236
   208
      </fileset>
martin@2868
   209
    </delete>
martin@2868
   210
  </target>
martin@2868
   211
martin@2868
   212
  <target name="export.sample.data" description="Exports Sample Data">
martin@2868
   213
    <taskdef name="exportsampledata" classname="org.openbravo.service.db.ExportReferenceDataTask">
martin@2868
   214
      <classpath refid="project.class.path" />
martin@2868
   215
    </taskdef>
martin@2868
   216
    <echo message="Exporting sample reference data" />
juanpablo@9520
   217
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="F&amp;B International Group" />
stefan@10410
   218
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="QA Testing" />
martin@2868
   219
  </target>
martin@2868
   220
martin@3058
   221
  <target name="import.sample.data" description="Import Sample Data" depends="generate.entities">
martin@2868
   222
    <taskdef name="importsampledata" classname="org.openbravo.service.db.ImportReferenceDataTask">
martin@2868
   223
      <classpath refid="project.class.path" />
martin@2868
   224
    </taskdef>
martin@2868
   225
    <echo message="Importing sample reference data" />
antonio@8354
   226
    <importsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" disableCheckReferencedOrganizations="${disableCheckReferencedOrganizations}"/>
martin@2868
   227
    <ant dir="${base.db}" target="database.postupdate.${bbdd.rdbms}" inheritAll="true" inheritRefs="true" />
martin@2868
   228
  </target>
asier@1929
   229
stefan@11851
   230
  <!-- full generate.entities -> clean + .quick -->
stefan@11851
   231
  <target name="generate.entities" depends="clean.src.gen,generate.entities.quick" />
martin@2830
   232
martin@2868
   233
  <!-- 
martin@2830
   234
		Generates entities only when the application dictionary has changed.
martin@2830
   235
		Difference with the generate.entities is that it does not clean the src-gen directory. The standard
martin@2830
   236
		GenerateEntitiesTask always checks if the AD was changed before regenerating. The check is to compare
martin@2830
   237
		the modified time of the generated sources with the updated time of the Application Dictionary. If there
martin@2830
   238
		is a source older than the last updated time of the Application Dictionary then the sources need to be regenerated.		
martin@2830
   239
	-->
martin@2868
   240
  <target name="generate.entities.quick" depends="compile.src.gen">
stefan@11851
   241
    <java classname="org.openbravo.base.gen.GenerateEntitiesTask" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
stefan@11851
   242
      <arg line="'${base.src}' '${friendlyWarnings}'" />
stefan@11851
   243
      <classpath refid="project.class.path" />
antonio@7580
   244
      <syspropertyset>
antonio@7580
   245
         <propertyref name="java.security.egd" />
antonio@7580
   246
      </syspropertyset>
stefan@11851
   247
    </java>
stefan@11851
   248
      <!--
stefan@11851
   249
        see issue: https://issues.openbravo.com/view.php?id=9331
stefan@11851
   250
        Custom columns in standard tables should support a reference to a table in the module
stefan@11851
   251
        if this occurs then possible the following javac has to be enabled instead of the two javacs below
stefan@11851
   252
      <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
   253
        <classpath refid="project.class.path" />      
stefan@11851
   254
      </javac>
stefan@11851
   255
      -->
stefan@11995
   256
      <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
   257
        <classpath refid="project.class.path" />      
stefan@11851
   258
      </javac>
stefan@11995
   259
      <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
   260
        <classpath refid="project.class.path" />
stefan@11851
   261
      </javac>
stefan@11851
   262
  </target>
martin@3982
   263
stefan@11851
   264
  <!-- build-internal forking helper -->
stefan@11851
   265
  <target name="generate.entities.quick.forked" depends="compile.src.gen">
stefan@11852
   266
    <taskdef name="workflow" classpathref="project.class.path" classname="org.openbravo.base.gen.GenerateEntitiesTask" />
stefan@11851
   267
    <workflow friendlyWarnings="${friendlyWarnings}" srcGenPath="${base.src.gen}" propertiesFile="${base.config}/Openbravo.properties" />
martin@2868
   268
  </target>
juanpablo@131
   269
martin@3625
   270
  <target name="run.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   271
    
martin@7302
   272
    <copy todir="${build}">
martin@7302
   273
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   274
    </copy>
martin@7302
   275
    
martin@3625
   276
    <junit printsummary="yes" haltonfailure="yes">
martin@3625
   277
      <classpath refid="project.class.path" />
martin@3625
   278
      <formatter type="plain" usefile="no"/>
martin@3656
   279
      <test name="org.openbravo.test.AntTaskTests" haltonfailure="no"/>
martin@3656
   280
    </junit>
martin@3656
   281
  </target>
martin@3656
   282
martin@3656
   283
  <target name="run.all.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   284
    
martin@7302
   285
    <copy todir="${build}">
martin@7302
   286
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   287
    </copy>
martin@7302
   288
martin@3656
   289
    <junit printsummary="yes" haltonfailure="yes">
martin@3656
   290
      <classpath refid="project.class.path" />
martin@3656
   291
      <formatter type="plain" usefile="no"/>
ivan@3775
   292
      <test name="org.openbravo.test.AllAntTaskTests" haltonfailure="no" outfile="result">
ivan@3775
   293
	    <formatter type="xml" />
ivan@3775
   294
	  </test>
martin@3625
   295
    </junit>
martin@3625
   296
  </target>
martin@3625
   297
martin@3625
   298
  <target name="run.quick.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   299
    
martin@7302
   300
    <copy todir="${build}">
martin@7302
   301
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   302
    </copy>
martin@7302
   303
    
martin@3625
   304
    <junit printsummary="yes" haltonfailure="yes">
martin@3625
   305
      <classpath refid="project.class.path" />
martin@3625
   306
      <formatter type="plain" usefile="no"/>
martin@3625
   307
      <test name="org.openbravo.test.AllQuickAntTaskTests" haltonfailure="no"/>
martin@3625
   308
    </junit>
martin@3625
   309
  </target>
ivan@3752
   310
priya@6927
   311
  <target name="run.webservice.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   312
    
martin@7302
   313
    <copy todir="${build}">
martin@7302
   314
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   315
    </copy>
martin@7302
   316
priya@6927
   317
    <junit printsummary="yes" haltonfailure="yes">
priya@6927
   318
      <classpath refid="project.class.path" />
priya@6927
   319
      <formatter type="plain" usefile="no"/>
priya@6945
   320
      <test name="org.openbravo.test.AllWebserviceTests" haltonfailure="yes"/>
priya@6927
   321
    </junit>
priya@6927
   322
  </target>
priya@6927
   323
stefan@3810
   324
  <target name="run.api.test.javascript">
ivan@3752
   325
  	<taskdef name="jstest" classname="org.openbravo.test.javascript.JavaScriptAntTest" classpathref="project.class.path" />
ivan@4648
   326
	<property name="export" value="no" />
ivan@4648
   327
	<jstest apiDetailsPath="${api.test.javascript.details}" jsPath="${base.web}/js" export="${export}" />
ivan@3752
   328
  </target>
martin@3625
   329
  
martin@2868
   330
  <target name="compileSqlc" depends="sqlc">
stefan@11995
   331
    <javac  srcdir="${basedir}:${build.sqlc}/src:${build.sqlc}/srcAD:${base.src.test}:${base.modules}" excludes="*/src-wad/**,*/src-util/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}" includeantruntime="false">
asier@2967
   332
      <classpath refid="project.class.path" />
asier@2967
   333
    </javac>
antonio@6965
   334
stefan@11995
   335
    <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
   336
      <classpath refid="project.class.path" />
martin@2868
   337
    </javac>
asier@4277
   338
  	<antcall target="calculate.version"/>
martin@2868
   339
  </target>
antonio@5592
   340
asier@4277
   341
	<target name="calculate.version" depends="init">
asier@4277
   342
	  <condition property="revision.from.file">
asier@4277
   343
		<and>
asier@4277
   344
		  <not>
asier@4277
   345
		 	<isset property="hg.id"/>
asier@4277
   346
		  </not>
asier@4277
   347
		  <available file="${basedir}/config/instance.revision"/>
asier@4277
   348
	    </and>
asier@4277
   349
	  </condition>
guillermo@15720
   350
	  <condition property="revision.not.found">
guillermo@15720
   351
		<and>
guillermo@15720
   352
		  <not>
guillermo@15720
   353
		 	<isset property="hg.id"/>
guillermo@15720
   354
		  </not>
guillermo@15720
   355
		  <not>
guillermo@15720
   356
		  	<available file="${basedir}/config/instance.revision"/>
guillermo@15720
   357
		  </not>
guillermo@15720
   358
	    </and>
guillermo@15720
   359
	  </condition>
asier@4277
   360
	  <antcall inheritall="true" target="calculate.instance.version"/>
asier@4277
   361
	</target>
guillermo@15720
   362
	<target name="calculate.instance.version" depends="calculate.version.from.hg, calculate.version.from.file, cannot.find.version">
asier@4277
   363
	    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
asier@4277
   364
	      <classpath>
asier@4277
   365
	        <fileset dir="${base.lib}">
asier@4277
   366
	          <include name="**/*.jar">
asier@4277
   367
	          </include>
asier@4277
   368
	        </fileset>
asier@4277
   369
	      </classpath>
asier@4277
   370
	      <transaction>
asier@4277
   371
		        UPDATE AD_MODULE 
asier@4277
   372
	      	       SET VERSION_ID='${instance.version}'
asier@4277
   373
                 WHERE AD_MODULE_ID='0'
asier@4277
   374
		      </transaction>
asier@4277
   375
	    </sql>
asier@4277
   376
	</target>
asier@4277
   377
	<target name="calculate.version.from.hg" if="is.hg">
asier@4277
   378
	  <property name="instance.version" value="${hg.id}"/>
asier@4277
   379
	</target>
asier@4277
   380
	<target name="calculate.version.from.file" if="revision.from.file">
guillermo@15720
   381
	  <loadfile property="instance.version" srcfile="${basedir}/config/instance.revision"/>
guillermo@15720
   382
	</target>
guillermo@15720
   383
	<target name="cannot.find.version" if="revision.not.found">
guillermo@15720
   384
	  <property name="instance.version" value=" - "/>
asier@4277
   385
	</target>
martin@2346
   386
martin@2868
   387
  <target name="compile.src.gen" depends="init">
stefan@11995
   388
    <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
   389
      <classpath refid="project.class.path" />
martin@2868
   390
    </javac>
martin@2868
   391
    <copy todir="${build}">
martin@2868
   392
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   393
    </copy>
martin@2868
   394
    <copy todir="${build}">
martin@2868
   395
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   396
    </copy>
martin@6157
   397
    
martin@6157
   398
    <!-- also compile the domaintypes in modules -->
stefan@11995
   399
    <javac srcdir="${basedir}/../" includes="modules/*/src/**/model/domaintype/**/*.java" destdir="${build}"  fork="true" deprecation="on" encoding="UTF-8" debug="true" debuglevel="lines,vars,source" includeantruntime="false">
martin@6157
   400
      <classpath refid="project.class.path" />
martin@6157
   401
    </javac>
martin@6157
   402
    
martin@6157
   403
    <!-- copy all configuration files in modules to the output path also -->
martin@6157
   404
    <copy todir="${build}" encoding="UTF-8">
martin@6157
   405
      <fileset dir="${base.modules}">
martin@6157
   406
          <include name="*/src/**/*" />
martin@6157
   407
          <exclude name="*/src/**/*.java" />
martin@6157
   408
          <exclude name="*/src/**/*.xsql" />
martin@6157
   409
      </fileset>
martin@6157
   410
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6157
   411
    </copy>
martin@2868
   412
  </target>
martin@2346
   413
asier@5532
   414
  <target name="wadvalidation">
asier@5535
   415
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5532
   416
            <classpath refid="project.class.path" />
asier@5532
   417
          </taskdef>
asier@5532
   418
        
asier@5532
   419
        <WADValidation propertiesFile="${base.config}/Openbravo.properties"
asier@5532
   420
                       modules="${module}"
antonio@5691
   421
                       stoponerror="${stopOnWadError}"
antonio@5691
   422
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   423
  </target>
asier@5532
   424
  
asier@5532
   425
  <target name="wad" depends="init, wadvalidation">
asier@5256
   426
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}" failonerror="true">
stefan@12094
   427
      <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'" />
stefan@9215
   428
      <classpath refid="wad.class.path" />
antonio@7580
   429
      <syspropertyset>
antonio@7580
   430
         <propertyref name="java.security.egd" />
antonio@7580
   431
      </syspropertyset>
martin@2868
   432
    </java>
martin@2868
   433
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   434
  </target>
martin@2346
   435
asier@5532
   436
  <target name="wad.quick" depends="init, wadvalidation">
martin@2868
   437
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
stefan@12094
   438
      <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'" />
stefan@9215
   439
      <classpath refid="wad.class.path" />
antonio@7580
   440
      <syspropertyset>
antonio@7580
   441
         <propertyref name="java.security.egd" />
antonio@7580
   442
      </syspropertyset>
martin@2868
   443
    </java>
martin@2868
   444
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   445
  </target>
asier@1929
   446
martin@2868
   447
  <target name="postsrc" depends="postsrc.modules">
antonio@5617
   448
martin@2868
   449
    <copy todir="${build}">
martin@2868
   450
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   451
    </copy>
martin@2868
   452
    <copy todir="${build}">
martin@2868
   453
      <fileset dir="${basedir}" includes="**/*.xslt" />
martin@2868
   454
    </copy>
martin@2868
   455
    <copy todir="${build}">
martin@2868
   456
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   457
    </copy>
martin@2868
   458
    <copy todir="${base.design}/design">
martin@2868
   459
      <fileset dir="${basedir}" includes="**/*.xml" />
martin@2868
   460
    </copy>
martin@2868
   461
    <copy todir="${base.design}/design">
martin@2868
   462
      <fileset dir="${basedir}" includes="**/*.fo" />
martin@2868
   463
    </copy>
martin@2868
   464
    <copy todir="${base.design}/design">
martin@2868
   465
      <fileset dir="${basedir}" includes="**/*.html" />
martin@2868
   466
    </copy>
martin@2868
   467
    <copy todir="${base.design}/design">
martin@2868
   468
      <fileset dir="${basedir}" includes="**/*.srpt" />
martin@2868
   469
    </copy>
martin@2868
   470
    <copy todir="${base.design}/design">
martin@2868
   471
      <fileset dir="${basedir}" includes="**/*.jrxml" />
martin@2868
   472
    </copy>
martin@2868
   473
    <copy todir="${base.design}/design">
martin@2868
   474
      <fileset dir="${basedir}" includes="**/*.jasper" />
martin@2868
   475
    </copy>
martin@2868
   476
    <copy todir="${build}">
martin@2868
   477
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   478
    </copy>
asier@8373
   479
    <copy todir="${base.design}/design/org/openbravo/erpCommon/obps" file="${basedir}/org/openbravo/erpCommon/obps/licenseRestrictions"/>
martin@2868
   480
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   481
  </target>
asier@1929
   482
martin@2868
   483
  <target name="postsrc.modules">
martin@2868
   484
    <copy todir="${base.design}/design">
martin@2868
   485
      <fileset dir="${base.modules}">
martin@2868
   486
        <include name="*/src/**/*.xml" />
martin@2868
   487
        <include name="*/src/**/*.fo" />
martin@2868
   488
        <include name="*/src/**/*.html" />
martin@2868
   489
        <include name="*/src/**/*.srpt" />
martin@2868
   490
        <include name="*/src/**/*.jrxml" />
martin@2868
   491
        <include name="*/src/**/*.jasper" />
martin@2868
   492
      </fileset>
martin@2868
   493
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   494
    </copy>
martin@6154
   495
    <copy todir="${build}">
martin@6154
   496
      <fileset dir="${base.modules}">
martin@6154
   497
        <include name="*/src/**" />
martin@6154
   498
        <exclude name="*/src/**/*.java" />
martin@6154
   499
      </fileset>
martin@6154
   500
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6154
   501
    </copy>
martin@2868
   502
  </target>
asier@1929
   503
martin@2868
   504
  <!-- FIXME: These tasks is only for development and testing purposes, remove it afterwards-->
stefan@12082
   505
  <target name="sqlcmod">
asier@3189
   506
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   507
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   508
      <classpath refid="project.class.path" />
antonio@7580
   509
      <syspropertyset>
antonio@7580
   510
         <propertyref name="java.security.egd" />
antonio@7580
   511
      </syspropertyset>
martin@2868
   512
    </java>
martin@2868
   513
  </target>
asier@1929
   514
martin@2868
   515
  <target name="compileSqlcmod" depends="sqlcmod">
stefan@11995
   516
    <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
   517
      <classpath refid="project.class.path" />
antonio@7580
   518
      <syspropertyset>
antonio@7580
   519
         <propertyref name="java.security.egd" />
antonio@7580
   520
      </syspropertyset>
martin@2868
   521
    </javac>
martin@2868
   522
  </target>
martin@2868
   523
  <target name="postsrcmod">
martin@2868
   524
    <copy todir="${base.design}/design">
martin@2868
   525
      <fileset dir="${base.modules}" includes="*/src/**/*.html" />
martin@2868
   526
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   527
    </copy>
martin@2868
   528
  </target>
asier@1929
   529
martin@2868
   530
  <!-- end of auxiliar tasks-->
martin@2346
   531
martin@2868
   532
  <target name="build.local.context">
martin@2868
   533
    <copy todir="${base.context}" encoding="UTF-8">
ivan@10243
   534
      <fileset file="${basedir}/index.jsp" />
martin@2868
   535
    </copy>
martin@2868
   536
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   537
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   538
      <fileset dir="${base.config}">
martin@2868
   539
        <exclude name="**/eclipse/**" />
martin@2868
   540
        <exclude name="**/setup-properties**" />
martin@2868
   541
        <exclude name="*.template" />
asier@2974
   542
        <exclude name="checksums"/>
martin@2868
   543
      </fileset>
martin@2868
   544
    </copy>
martin@2868
   545
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   546
      <fileset dir="${base.modules}">
martin@2868
   547
        <include name="*/config/**" />
martin@2868
   548
        <exclude name="*.template" />
martin@2868
   549
      </fileset>
martin@2868
   550
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   551
    </copy>
martin@2868
   552
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   553
      <fileset dir="${base.lib}/runtime">
martin@2868
   554
        <exclude name="openbravo-wad.jar" />
martin@2868
   555
        <exclude name="openbravo-trl.jar" />
martin@2868
   556
        <exclude name="*.war" />
martin@2868
   557
      </fileset>
martin@2868
   558
      <fileset dir="${base.db}/lib">
martin@2868
   559
        <include name="*" />
martin@2868
   560
      </fileset>
martin@2868
   561
    </copy>
martin@2346
   562
martin@2868
   563
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   564
      <fileset dir="${base.modules}">
martin@2868
   565
        <include name="*/lib/runtime/**" />
martin@2868
   566
      </fileset>
martin@2868
   567
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   568
    </copy>
martin@2868
   569
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   570
  </target>
martin@2346
   571
martin@2868
   572
  <target name="build.web.folder">
martin@2868
   573
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   574
      <fileset dir="${base.web}">
martin@2868
   575
        <include name="*/**" />
martin@2868
   576
        <exclude name="skins/**" />
martin@2868
   577
      </fileset>
martin@2868
   578
    </copy>
asier@2994
   579
    
asier@2994
   580
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@2994
   581
        <classpath refid="project.class.path" />
asier@2994
   582
      </taskdef>
asier@2994
   583
    
asier@2994
   584
    <CheckSumCondition obDir="${basedir}/.."
asier@2994
   585
                       type="md5.skins"
asier@2994
   586
                       property="changes.in.md5.skins"/>
asier@2994
   587
    <condition property="do.skins">
asier@2994
   588
      <or>
asier@2994
   589
        <istrue value="${changes.in.md5.skins}" />
asier@2994
   590
        <not>
asier@3013
   591
          <istrue value="${smart.mode}"/>
asier@2994
   592
        </not>
asier@2994
   593
      </or>
asier@2994
   594
    </condition>
asier@2994
   595
    
asier@2994
   596
    <antcall target="build.web.folder.skins"  inheritAll="true" inheritrefs="true" />
asier@2994
   597
    
asier@2994
   598
    <condition property="generateSpritesBool">
asier@2994
   599
        <istrue value="${generateSprites}" />
asier@2994
   600
    </condition>
asier@2994
   601
    <antcall target="generate.sprites" inheritAll="true" inheritrefs="true" />
asier@2994
   602
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
asier@2994
   603
  </target>
asier@2994
   604
    
asier@8978
   605
  
asier@8978
   606
  <target name="build.web.folder.base">
asier@8978
   607
    <mkdir dir="${base.context}/web" />
asier@8978
   608
    <copy todir="${base.context}/web" encoding="UTF-8">
asier@8978
   609
      <fileset dir="${base.modules}">
asier@8978
   610
        <include name="*/web/*/**" />
asier@8978
   611
        <exclude name="*/web/*/skins/**" />
asier@8978
   612
      </fileset>
asier@8978
   613
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*)" to="\3" />
asier@8978
   614
    </copy>
asier@8978
   615
  </target>
martin@2346
   616
asier@2994
   617
  <target name="build.web.folder.skins" if="do.skins">
asier@2994
   618
asier@2994
   619
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
asier@2994
   620
    <mkdir dir="${base.context}/web" />
martin@2868
   621
    <mkdir dir="${base.context}/web/skins" />
martin@2868
   622
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   623
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   624
      <fileset dir="${base.web}/skins" />
martin@2868
   625
    </copy>
martin@2868
   626
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   627
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   628
      <fileset dir="${base.web}/skins" />
martin@2868
   629
    </copy>
martin@2346
   630
asier@8978
   631
    <antcall target="build.web.folder.base" />
martin@2346
   632
martin@2868
   633
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   634
      <fileset dir="${base.modules}">
david@5261
   635
        <include name="*/web/*/skins/**" />
martin@2868
   636
      </fileset>
asier@3522
   637
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   638
    </copy>
carlos@0
   639
martin@2868
   640
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   641
      <fileset dir="${base.modules}">
david@5261
   642
        <include name="*/web/*/skins/**" />
martin@2868
   643
      </fileset>
asier@3522
   644
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   645
    </copy>
stefan@2143
   646
martin@2868
   647
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
david@3673
   648
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr" />
martin@2868
   649
      <classpath refid="project.class.path" />
martin@2868
   650
    </java>
asier@2994
   651
    
martin@2868
   652
  </target>
juanpablo@131
   653
martin@2868
   654
  <target name="generate.sprites" description="Performs CSS sprite processing" if="generateSpritesBool">
martin@2868
   655
    <property name="skins.location" location="${base.context}/web/skins/" />
martin@2868
   656
    <taskdef name="smartsprites" classname="org.carrot2.labs.smartsprites.ant.SmartSpritesTask">
martin@2868
   657
      <classpath refid="project.class.path" />
martin@2868
   658
    </taskdef>
martin@2868
   659
    <smartsprites rootdir="${skins.location}" documentrootdir="${skins.location}" outputdir="${skins.location}" cssfilesuffix="-sprite" csspropertyindent="  " loglevel="WARN" spritepngdepth="DIRECT" spritepngie6="false" />
martin@2868
   660
    <move todir="${skins.location}">
martin@2868
   661
      <fileset dir="${skins.location}">
david@11621
   662
        <include name="**/*-sprite.css" />
martin@2868
   663
      </fileset>
martin@2868
   664
      <mapper type="glob" from="*-sprite.css" to="*.css" />
martin@2868
   665
    </move>
martin@2868
   666
  </target>
juanpablo@131
   667
martin@2868
   668
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   669
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   670
      <fileset dir="${base.web}">
martin@2868
   671
        <include name="**/*.js" />
martin@2868
   672
        <include name="**/*.css" />
martin@2868
   673
        <!-- The following scripts break in minification process -->
martin@2868
   674
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   675
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   676
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   677
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   678
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   679
        <exclude name="**/js/xinha/lang/**" />
martin@2868
   680
        <exclude name="**/js/xinha/plugins/**" />
martin@2868
   681
        <!-- dojotoolkit files are already compressd -->
martin@2868
   682
        <exclude name="**/dojotoolkit/**" />
martin@2868
   683
        <!-- from old dojo, only compress main file -->
martin@2868
   684
        <exclude name="**/dojo/**" />
martin@2868
   685
        <include name="js/dojo/dojo.js" />
martin@2868
   686
      </fileset>
martin@2868
   687
    </yuicompress>
martin@2868
   688
  </target>
david@1883
   689
martin@2868
   690
  <target name="postwad">
martin@2868
   691
    <copy todir="${base.design}/design">
martin@2868
   692
      <fileset dir="${build.AD}" includes="**/*.xml" />
martin@2868
   693
    </copy>
martin@2868
   694
    <copy todir="${base.design}/design">
martin@2868
   695
      <fileset dir="${build.AD}" includes="**/*.fo" />
martin@2868
   696
    </copy>
martin@2868
   697
    <copy todir="${base.design}/design">
martin@2868
   698
      <fileset dir="${build.AD}" includes="**/*.html" />
martin@2868
   699
    </copy>
martin@2868
   700
    <copy todir="${base.design}/design">
martin@2868
   701
      <fileset dir="${build.AD}" includes="**/*.srpt" />
martin@2868
   702
    </copy>
martin@2868
   703
    <copy todir="${base.design}/design">
martin@2868
   704
      <fileset dir="${build.AD}" includes="**/*.jrxml" />
martin@2868
   705
    </copy>
martin@2868
   706
    <copy todir="${base.design}/design">
martin@2868
   707
      <fileset dir="${build.AD}" includes="**/*.jasper" />
martin@2868
   708
    </copy>
martin@2868
   709
  </target>
martin@2346
   710
carlos@0
   711
asier@5935
   712
  <target name="eclipse.compile.complete" depends="clean,generate.entities,wad,sqlc,postsrc,translate, trl.remove.unused">
martin@2868
   713
    <antcall target="update.build.timestamp" />
martin@2868
   714
  </target>
martin@2868
   715
martin@2868
   716
  <target name="eclipse.compile" depends="wad,sqlc, postsrc, translate">
martin@2868
   717
  </target>
martin@2868
   718
martin@2868
   719
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   720
  </target>
martin@2868
   721
asier@5935
   722
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate, trl.remove.unused">
martin@2868
   723
    <antcall target="update.build.timestamp" />
martin@2868
   724
  </target>
martin@2868
   725
martin@2868
   726
asier@3013
   727
  <target name="smartbuild.new.wad" if="new.wad">
martin@2868
   728
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   729
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   730
      <classpath refid="project.class.path" />
asier@2854
   731
    </taskdef>
martin@2868
   732
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   733
  </target>
asier@2854
   734
asier@3013
   735
  <target name="smartbuild.no.new.wad" unless="new.wad">
martin@2868
   736
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   737
  </target>
asier@2974
   738
asier@3013
   739
  <target name="smartbuild">
asier@3013
   740
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.new.wad" />
asier@3013
   741
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.no.new.wad" />
martin@2868
   742
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   743
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
asier@8978
   744
    <antcall inheritall="true" inheritrefs="true" target="build.web.folder.base" />
martin@2868
   745
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   746
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   747
  </target>
carlos@0
   748
martin@2868
   749
  <target name="translate" if="translation">
martin@2868
   750
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   751
      <param name="extension" value="html" />
martin@2868
   752
    </antcall>
martin@2868
   753
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   754
      <param name="extension" value="fo" />
martin@2868
   755
    </antcall>
martin@2868
   756
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   757
      <param name="extension" value="srpt" />
martin@2868
   758
    </antcall>
martin@2868
   759
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   760
      <param name="extension" value="jrxml" />
martin@2868
   761
    </antcall>
martin@2868
   762
    <antcall inheritall="true" inheritrefs="true" target="translate.modules" />
martin@2868
   763
  </target>
carlos@0
   764
martin@2868
   765
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
martin@2868
   766
  </target>
asier@1929
   767
martin@2868
   768
  <target name="translate.modules" if="translation">
martin@2868
   769
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   770
      <param name="extension" value="html" />
martin@2868
   771
    </antcall>
martin@2868
   772
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   773
      <param name="extension" value="fo" />
martin@2868
   774
    </antcall>
martin@2868
   775
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   776
      <param name="extension" value="srpt" />
martin@2868
   777
    </antcall>
martin@2868
   778
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   779
      <param name="extension" value="jrxml" />
martin@2868
   780
    </antcall>
martin@2868
   781
  </target>
asier@1929
   782
martin@2868
   783
  <target name="compile.translate.modules">
martin@2868
   784
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3856
   785
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${base.modules}' '*/src'" />
martin@2868
   786
      <classpath refid="project.class.path" />
antonio@7580
   787
      <syspropertyset>
antonio@7580
   788
         <propertyref name="java.security.egd" />
antonio@7580
   789
      </syspropertyset>
martin@2868
   790
    </java>
martin@2868
   791
  </target>
carlos@0
   792
martin@2868
   793
  <target name="installWebService" depends="init" if="wsdd">
asier@4307
   794
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
martin@2868
   795
      <classpath refid="project.class.path" />
asier@4307
   796
    </taskdef>
asier@4307
   797
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   798
             baseDir="${source.path}"
asier@4307
   799
             action="deploy"/>
martin@2868
   800
  </target>
carlos@0
   801
asier@4307
   802
  <target name="uninstallWebService" depends="init">
asier@4307
   803
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
asier@4307
   804
      <classpath refid="project.class.path" />
asier@4307
   805
    </taskdef>
asier@4307
   806
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   807
             baseDir="${source.path}"
asier@4307
   808
             action="undeploy"/>
asier@4307
   809
  </target>
carlos@0
   810
martin@2868
   811
  <target name="compile.translate">
martin@2868
   812
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3856
   813
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${basedir}'" />
martin@2868
   814
      <classpath refid="project.class.path" />
antonio@7580
   815
      <syspropertyset>
antonio@7580
   816
         <propertyref name="java.security.egd" />
antonio@7580
   817
      </syspropertyset>
martin@2868
   818
    </java>
martin@2868
   819
  </target>
carlos@0
   820
stefan@9978
   821
  <!-- Note (see issue 15709 for details):
stefan@9978
   822
       orphan jarfiles are not deleted from the webapp as deployed in tomcat when
stefan@9978
   823
       this rebuild is running inside the rebuild UI (started from MMC). See also the related
stefan@9978
   824
       copy.files.jarsync(.do) task which does this deletion between tomcat stop & start
stefan@9978
   825
   -->
stefan@9978
   826
  <target name="copy.files" depends="copy.files.jarsync.notinrebuildui" if="mode.class">
martin@2868
   827
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7583
   828
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7583
   829
      <preserveintarget>
antonio@7583
   830
        <include name="**/WEB-INF/classes/**"/>
stefan@9017
   831
        <include name="**/WEB-INF/lib/**"/>
antonio@7583
   832
      </preserveintarget>
martin@2868
   833
      <fileset dir="${base.context}" />
antonio@7583
   834
    </sync>
martin@2868
   835
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7583
   836
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   837
      <fileset dir="${build}" />
antonio@7583
   838
    </sync>
asier@7164
   839
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7164
   840
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7164
   841
    </copy>
martin@2868
   842
  </target>
ivan@1738
   843
stefan@9978
   844
  <target name="copy.files.jarsync.notinrebuildui" unless="runningInRebuildUI">
stefan@9978
   845
    <antcall target="copy.files.jarsync.do"/>
stefan@9978
   846
  </target>
stefan@9978
   847
stefan@9978
   848
  <!-- sync jar files from WebContent -> deployed webapp & delete orphan jars from webapp
stefan@9978
   849
       as delete orphan is excluded from normal copy.files task -->
stefan@9978
   850
  <target name="copy.files.jarsync.do" if="mode.class">
stefan@9978
   851
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib"/>
stefan@9978
   852
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib">
stefan@9978
   853
      <fileset dir="${base.context}/WEB-INF/lib" />
stefan@9978
   854
    </sync>
stefan@9978
   855
  </target>
stefan@9978
   856
martin@2868
   857
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   858
  </target>
asier@1929
   859
martin@2868
   860
  <target name="compile.complete.development" depends="compile.complete, copy.files">
antonio@8116
   861
    <updatesystemstatus v="RB51"/>
martin@2868
   862
  </target>
asier@1929
   863
martin@2868
   864
  <target name="compile.web" depends="build.web.folder">
martin@2868
   865
  </target>
asier@1929
   866
martin@2868
   867
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   868
  </target>
asier@1929
   869
martin@2868
   870
  <target name="build.war">
martin@2868
   871
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   872
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   873
      <zipfileset dir="${base.context}">
martin@2868
   874
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   875
      </zipfileset>
martin@2868
   876
      <classes dir="${build}" />
martin@2868
   877
    </war>
antonio@8116
   878
    <updatesystemstatus v="RB51"/>
martin@2868
   879
  </target>
martin@2868
   880
martin@2868
   881
  <target name="generate-wsdd">
martin@2868
   882
    <delete failonerror="false">
martin@2868
   883
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   884
    </delete>
martin@2868
   885
martin@2868
   886
    <mkdir dir="${build}" />
asier@7839
   887
     <axis-wsdl2java output="${base.src}" verbose="false" url="http://centralrepository.openbravo.com/openbravo/services/WebService3?wsdl" serverside="true" debug="false">
asier@7839
   888
      <mapping namespace="http://centralrepository.openbravo.com/openbravo/services/WebService3" package="org.openbravo.services.webservice" />
asier@7839
   889
      <mapping namespace="/services/WebService3" package="org.openbravo.services.webservice" />
martin@2868
   890
    </axis-wsdl2java>
martin@2868
   891
  </target>
martin@2868
   892
antonio@3337
   893
  <target name="update.build.timestamp" unless="timestamp">
martin@2868
   894
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   895
      <classpath>
martin@2868
   896
        <fileset dir="${base.lib}">
martin@2868
   897
          <include name="**/*.jar">
martin@2868
   898
          </include>
martin@2868
   899
        </fileset>
martin@2868
   900
      </classpath>
martin@2868
   901
      <transaction>
asier@2819
   902
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   903
	      </transaction>
martin@2868
   904
    </sql>
martin@2868
   905
  </target>
asier@1929
   906
carlos@0
   907
</project>