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