src/build.xml
author Antonio Moreno <antonio.moreno@openbravo.com>
Fri, 11 Jun 2010 12:05:40 +0200
changeset 7583 62566014690e
parent 7580 85eb92e7e94b
child 7798 15b00ba141d6
child 7839 c6c4e4df6d4f
permissions -rw-r--r--
Fixed issue 13241. Deployed files will now be synchronized instead of being simply copied. This will then delete files which no longer exist in the sources folder of Openbravo (such as no longer compiled classes)
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 
ggi@6701
    16
 * All portions are Copyright (C) 2005-2010 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
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@6256
    59
    <classpath>
ivan@6256
    60
      <pathelement location="${base.lib}/build/yuicompressor-2.4.2.jar" />
ivan@6256
    61
      <pathelement location="${base.lib}/build/ob-rhino-1.6R7.jar" />
ivan@6256
    62
      <pathelement location="${base.lib}/build/YUIAnt.jar" />
ivan@6256
    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@5617
    96
  <macrodef name="updatesystemstatus">
antonio@5617
    97
     <attribute name="v" default="NOT SET"/>
antonio@5617
    98
     <sequential>
antonio@5617
    99
       <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" onerror="continue" autocommit="true">
antonio@5618
   100
         <classpath> <fileset dir="${base.lib}"> <include name="**/*.jar"> </include> </fileset> </classpath>
antonio@5618
   101
         <transaction> UPDATE ad_system_info SET system_status='@{v}' ;
antonio@5618
   102
                       DELETE FROM ad_error_log where system_status=(select system_status from ad_system_info)
antonio@5618
   103
         </transaction>
antonio@5617
   104
       </sql>
antonio@5617
   105
     </sequential>
antonio@5617
   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@5455
   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@5698
   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@5455
   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@3856
   133
      <arg line="clean '${base.config}/Openbravo.properties'" />
martin@2868
   134
      <classpath refid="project.class.path" />
antonio@7580
   135
      <syspropertyset>
antonio@7580
   136
         <propertyref name="java.security.egd" />
antonio@7580
   137
      </syspropertyset>
martin@2868
   138
    </java>
martin@2868
   139
  </target>
asier@5935
   140
  
asier@5935
   141
  <target name="trl.remove.unused" if="translation">
asier@5935
   142
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@5935
   143
      <arg line="remove '${base.config}/Openbravo.properties'" />
asier@5935
   144
      <classpath refid="project.class.path" />
antonio@7580
   145
      <syspropertyset>
antonio@7580
   146
         <propertyref name="java.security.egd" />
antonio@7580
   147
      </syspropertyset>
asier@5935
   148
    </java>
asier@5935
   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@7535
   167
  <target name="compile.apply.module" depends="init">
antonio@7541
   168
    <mkdir dir="${build.apply.module}" />
antonio@7535
   169
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
antonio@7535
   170
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
antonio@7535
   171
      <jvmarg value="-Dsqlc.listOfFiles=ComboTableQuery_data.xsql,ActionButton_data.xsql,PInstanceProcess_data.xsql,SessionLogin_data.xsql,ApplyModule_data.xsql,TableSQLQuery_data.xsql,DateTime_data.xsql,ComboTableQuery_data.xsql,PrintJR_data.xsql,DocumentNo_data.xsql,WindowAccess_data.xsql,ComboTable_data.xsql,Tab_data.xsql,WindowTree_data.xsql,ErrorTextParser_data.xsql,Utility_data.xsql,MessageBD_data.xsql,LanguageCombo_data.xsql,Translation_data.xsql,Buscador_data.xsql,WindowTabs_data.xsql,Pinstance_data.xsql,ProcessRequest_data.xsql,Trigger_data.xsql,ProcessRun_data.xsql,Process_data.xsql,OrgTree_data.xsql,Seguridad_data.xsql,DefaultOptions_data.xsql,SystemPreferences_data.xsql,DefaultSessionValues_data.xsql,DefaultValues_data.xsql,Attribute_data.xsql,ClassInfo_data.xsql,"/>
antonio@7535
   172
      <classpath refid="project.class.path" />
antonio@7580
   173
      <syspropertyset>
antonio@7580
   174
         <propertyref name="java.security.egd" />
antonio@7580
   175
      </syspropertyset>
antonio@7535
   176
    </java>
antonio@7541
   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@7535
   178
      <src path="${base.src}"/>
antonio@7535
   179
      <src path="../build/javasqlc/src"/>
antonio@7541
   180
      <src path="../src-gen"/>
antonio@7543
   181
      <classpath refid="apply.module.compile.classpath" />
antonio@7535
   182
    </javac>
antonio@7535
   183
  </target>
antonio@7535
   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@7580
   189
      <syspropertyset>
antonio@7580
   190
         <propertyref name="java.security.egd" />
antonio@7580
   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@5218
   195
      <jvmarg value="-Dsqlc.queryExecutionStrategy=traditional"/>
martin@2868
   196
      <classpath refid="project.class.path" />
antonio@7580
   197
      <syspropertyset>
antonio@7580
   198
         <propertyref name="java.security.egd" />
antonio@7580
   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" />
martin@5455
   228
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="SmallBazaar" />
martin@5455
   229
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="Accounting Test" />
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" />
martin@5455
   237
    <importsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" />
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@2868
   245
    <workflow debug="false" 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@2868
   248
      <classpath>
martin@2868
   249
        <path refid="project.class.path" />
martin@2868
   250
      </classpath>
martin@2868
   251
    </workflow>
martin@3982
   252
martin@3982
   253
    <!--
martin@3982
   254
    see issue: https://issues.openbravo.com/view.php?id=9331
martin@3982
   255
    Custom columns in standard tables should support a reference to a table in the module
martin@3982
   256
    if this occurs then possible the following javac has to be enabled instead of the two javacs below
martin@3982
   257
    <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@3982
   258
      <classpath refid="project.class.path" />
martin@3982
   259
    </javac>
martin@3982
   260
    -->
asier@3245
   261
    <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@3287
   262
      <classpath refid="project.class.path" />
ivan@3287
   263
    </javac>
ivan@3287
   264
    <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@3287
   265
      <classpath refid="project.class.path" />
martin@2868
   266
    </javac>
martin@2868
   267
  </target>
martin@2830
   268
martin@2868
   269
  <!-- 
martin@2830
   270
		Generates entities only when the application dictionary has changed.
martin@2830
   271
		Difference with the generate.entities is that it does not clean the src-gen directory. The standard
martin@2830
   272
		GenerateEntitiesTask always checks if the AD was changed before regenerating. The check is to compare
martin@2830
   273
		the modified time of the generated sources with the updated time of the Application Dictionary. If there
martin@2830
   274
		is a source older than the last updated time of the Application Dictionary then the sources need to be regenerated.		
martin@2830
   275
	-->
martin@2868
   276
  <target name="generate.entities.quick" depends="compile.src.gen">
martin@2843
   277
martin@2868
   278
    <taskdef name="workflow" classpathref="project.class.path" classname="org.openbravo.base.gen.GenerateEntitiesTask" />
martin@2868
   279
    <!-- debug="true" will perform the in-memory model initialization before generating entities
martin@2830
   280
	if an error occurs then, then a stacktrace is printed. -->
martin@2868
   281
    <workflow debug="false" 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
   282
      <param name="ob.properties.location" value="${base.config}/Openbravo.properties" />
martin@2868
   283
      <param name="base.src.gen" value="${base.src.gen}" />
antonio@7580
   284
      <syspropertyset>
antonio@7580
   285
         <propertyref name="java.security.egd" />
antonio@7580
   286
      </syspropertyset>
martin@2868
   287
      <classpath>
martin@2868
   288
        <path refid="project.class.path" />
martin@2868
   289
      </classpath>
martin@2868
   290
    </workflow>
martin@3982
   291
martin@3982
   292
    <!--
martin@3982
   293
      see issue: https://issues.openbravo.com/view.php?id=9331
martin@3982
   294
      Custom columns in standard tables should support a reference to a table in the module
martin@3982
   295
      if this occurs then possible the following javac has to be enabled instead of the two javacs below
martin@3982
   296
    <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@3982
   297
      <classpath refid="project.class.path" />      
martin@3982
   298
    </javac>
martin@3982
   299
    -->
martin@2975
   300
    <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
   301
      <classpath refid="project.class.path" />      
martin@2868
   302
    </javac>
ivan@3287
   303
    <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@3287
   304
      <classpath refid="project.class.path" />
ivan@3287
   305
    </javac>
martin@2868
   306
  </target>
juanpablo@131
   307
martin@3625
   308
  <target name="run.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   309
    
martin@7302
   310
    <copy todir="${build}">
martin@7302
   311
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   312
    </copy>
martin@7302
   313
    
martin@3625
   314
    <junit printsummary="yes" haltonfailure="yes">
martin@3625
   315
      <classpath refid="project.class.path" />
martin@3625
   316
      <formatter type="plain" usefile="no"/>
martin@3656
   317
      <test name="org.openbravo.test.AntTaskTests" haltonfailure="no"/>
martin@3656
   318
    </junit>
martin@3656
   319
  </target>
martin@3656
   320
martin@3656
   321
  <target name="run.all.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   322
    
martin@7302
   323
    <copy todir="${build}">
martin@7302
   324
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   325
    </copy>
martin@7302
   326
martin@3656
   327
    <junit printsummary="yes" haltonfailure="yes">
martin@3656
   328
      <classpath refid="project.class.path" />
martin@3656
   329
      <formatter type="plain" usefile="no"/>
ivan@3775
   330
      <test name="org.openbravo.test.AllAntTaskTests" haltonfailure="no" outfile="result">
ivan@3775
   331
	    <formatter type="xml" />
ivan@3775
   332
	  </test>
martin@3625
   333
    </junit>
martin@3625
   334
  </target>
martin@3625
   335
martin@3625
   336
  <target name="run.quick.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   337
    
martin@7302
   338
    <copy todir="${build}">
martin@7302
   339
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   340
    </copy>
martin@7302
   341
    
martin@3625
   342
    <junit printsummary="yes" haltonfailure="yes">
martin@3625
   343
      <classpath refid="project.class.path" />
martin@3625
   344
      <formatter type="plain" usefile="no"/>
martin@3625
   345
      <test name="org.openbravo.test.AllQuickAntTaskTests" haltonfailure="no"/>
martin@3625
   346
    </junit>
martin@3625
   347
  </target>
ivan@3752
   348
priya@6927
   349
  <target name="run.webservice.tests" depends="compileSqlc,generate.entities.quick">
martin@7302
   350
    
martin@7302
   351
    <copy todir="${build}">
martin@7302
   352
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7302
   353
    </copy>
martin@7302
   354
priya@6927
   355
    <junit printsummary="yes" haltonfailure="yes">
priya@6927
   356
      <classpath refid="project.class.path" />
priya@6927
   357
      <formatter type="plain" usefile="no"/>
priya@6945
   358
      <test name="org.openbravo.test.AllWebserviceTests" haltonfailure="yes"/>
priya@6927
   359
    </junit>
priya@6927
   360
  </target>
priya@6927
   361
stefan@3810
   362
  <target name="run.api.test.javascript">
ivan@3752
   363
  	<taskdef name="jstest" classname="org.openbravo.test.javascript.JavaScriptAntTest" classpathref="project.class.path" />
ivan@4648
   364
	<property name="export" value="no" />
ivan@4648
   365
	<jstest apiDetailsPath="${api.test.javascript.details}" jsPath="${base.web}/js" export="${export}" />
ivan@3752
   366
  </target>
martin@3625
   367
  
martin@2868
   368
  <target name="compileSqlc" depends="sqlc">
antonio@6965
   369
    <javac  srcdir="${basedir}:${build.sqlc}/src:${build.sqlc}/srcAD:${base.src.test}:${base.modules}" excludes="${base.modules}/*/src-wad/**,${base.modules}/*/src-util/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}">
asier@2967
   370
      <classpath refid="project.class.path" />
asier@2967
   371
    </javac>
antonio@6965
   372
antonio@6965
   373
    <javac srcdir="${build.AD}" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}">
martin@2868
   374
      <classpath refid="project.class.path" />
martin@2868
   375
    </javac>
asier@4277
   376
  	<antcall target="calculate.version"/>
martin@2868
   377
  </target>
antonio@5592
   378
asier@4277
   379
	<target name="calculate.version" depends="init">
asier@4277
   380
	  <condition property="revision.from.file">
asier@4277
   381
		<and>
asier@4277
   382
		  <not>
asier@4277
   383
		 	<isset property="hg.id"/>
asier@4277
   384
		  </not>
asier@4277
   385
		  <available file="${basedir}/config/instance.revision"/>
asier@4277
   386
	    </and>
asier@4277
   387
	  </condition>
asier@4277
   388
	  <antcall inheritall="true" target="calculate.instance.version"/>
asier@4277
   389
	</target>
asier@4277
   390
	<target name="calculate.instance.version" depends="calculate.version.from.hg, calculate.version.from.file">
asier@4277
   391
	    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
asier@4277
   392
	      <classpath>
asier@4277
   393
	        <fileset dir="${base.lib}">
asier@4277
   394
	          <include name="**/*.jar">
asier@4277
   395
	          </include>
asier@4277
   396
	        </fileset>
asier@4277
   397
	      </classpath>
asier@4277
   398
	      <transaction>
asier@4277
   399
		        UPDATE AD_MODULE 
asier@4277
   400
	      	       SET VERSION_ID='${instance.version}'
asier@4277
   401
                 WHERE AD_MODULE_ID='0'
asier@4277
   402
		      </transaction>
asier@4277
   403
	    </sql>
asier@4277
   404
	</target>
asier@4277
   405
	<target name="calculate.version.from.hg" if="is.hg">
asier@4277
   406
	  <property name="instance.version" value="${hg.id}"/>
asier@4277
   407
	</target>
asier@4277
   408
	<target name="calculate.version.from.file" if="revision.from.file">
asier@4277
   409
		<loadfile property="instance.version" srcfile="${basedir}/config/instance.revision"/>
asier@4277
   410
	</target>
martin@2346
   411
martin@2868
   412
  <target name="compile.src.gen" depends="init">
asier@2966
   413
    <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
   414
      <classpath refid="project.class.path" />
martin@2868
   415
    </javac>
martin@2868
   416
    <copy todir="${build}">
martin@2868
   417
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   418
    </copy>
martin@2868
   419
    <copy todir="${build}">
martin@2868
   420
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   421
    </copy>
martin@6157
   422
    
martin@6157
   423
    <!-- also compile the domaintypes in modules -->
antonio@7533
   424
    <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@6157
   425
      <classpath refid="project.class.path" />
martin@6157
   426
    </javac>
martin@6157
   427
    
martin@6157
   428
    <!-- copy all configuration files in modules to the output path also -->
martin@6157
   429
    <copy todir="${build}" encoding="UTF-8">
martin@6157
   430
      <fileset dir="${base.modules}">
martin@6157
   431
          <include name="*/src/**/*" />
martin@6157
   432
          <exclude name="*/src/**/*.java" />
martin@6157
   433
          <exclude name="*/src/**/*.xsql" />
martin@6157
   434
      </fileset>
martin@6157
   435
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6157
   436
    </copy>
martin@2868
   437
  </target>
martin@2346
   438
asier@5532
   439
  <target name="wadvalidation">
asier@5535
   440
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5532
   441
            <classpath refid="project.class.path" />
asier@5532
   442
          </taskdef>
asier@5532
   443
        
asier@5532
   444
        <WADValidation propertiesFile="${base.config}/Openbravo.properties"
asier@5532
   445
                       modules="${module}"
antonio@5691
   446
                       stoponerror="${stopOnWadError}"
antonio@5691
   447
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   448
  </target>
asier@5532
   449
  
asier@5532
   450
  <target name="wad" depends="init, wadvalidation">
asier@5256
   451
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}" failonerror="true">
asier@5532
   452
      <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'" />
martin@2868
   453
      <classpath refid="project.class.path" />
antonio@7580
   454
      <syspropertyset>
antonio@7580
   455
         <propertyref name="java.security.egd" />
antonio@7580
   456
      </syspropertyset>
martin@2868
   457
    </java>
martin@2868
   458
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   459
  </target>
martin@2346
   460
asier@5532
   461
  <target name="wad.quick" depends="init, wadvalidation">
martin@2868
   462
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@5532
   463
      <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'" />
martin@2868
   464
      <classpath refid="project.class.path" />
antonio@7580
   465
      <syspropertyset>
antonio@7580
   466
         <propertyref name="java.security.egd" />
antonio@7580
   467
      </syspropertyset>
martin@2868
   468
    </java>
martin@2868
   469
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   470
  </target>
asier@1929
   471
martin@2868
   472
  <target name="postsrc" depends="postsrc.modules">
antonio@5617
   473
martin@2868
   474
    <copy todir="${build}">
martin@2868
   475
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   476
    </copy>
martin@2868
   477
    <copy todir="${build}">
martin@2868
   478
      <fileset dir="${basedir}" includes="**/*.xslt" />
martin@2868
   479
    </copy>
martin@2868
   480
    <copy todir="${build}">
martin@2868
   481
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   482
    </copy>
martin@2868
   483
    <copy todir="${base.design}/design">
martin@2868
   484
      <fileset dir="${basedir}" includes="**/*.xml" />
martin@2868
   485
    </copy>
martin@2868
   486
    <copy todir="${base.design}/design">
martin@2868
   487
      <fileset dir="${basedir}" includes="**/*.fo" />
martin@2868
   488
    </copy>
martin@2868
   489
    <copy todir="${base.design}/design">
martin@2868
   490
      <fileset dir="${basedir}" includes="**/*.html" />
martin@2868
   491
    </copy>
martin@2868
   492
    <copy todir="${base.design}/design">
martin@2868
   493
      <fileset dir="${basedir}" includes="**/*.srpt" />
martin@2868
   494
    </copy>
martin@2868
   495
    <copy todir="${base.design}/design">
martin@2868
   496
      <fileset dir="${basedir}" includes="**/*.jrxml" />
martin@2868
   497
    </copy>
martin@2868
   498
    <copy todir="${base.design}/design">
martin@2868
   499
      <fileset dir="${basedir}" includes="**/*.jasper" />
martin@2868
   500
    </copy>
martin@2868
   501
    <copy todir="${build}">
martin@2868
   502
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   503
    </copy>
martin@2868
   504
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   505
  </target>
asier@1929
   506
martin@2868
   507
  <target name="postsrc.modules">
martin@2868
   508
    <copy todir="${base.design}/design">
martin@2868
   509
      <fileset dir="${base.modules}">
martin@2868
   510
        <include name="*/src/**/*.xml" />
martin@2868
   511
        <include name="*/src/**/*.fo" />
martin@2868
   512
        <include name="*/src/**/*.html" />
martin@2868
   513
        <include name="*/src/**/*.srpt" />
martin@2868
   514
        <include name="*/src/**/*.jrxml" />
martin@2868
   515
        <include name="*/src/**/*.jasper" />
martin@2868
   516
      </fileset>
martin@2868
   517
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   518
    </copy>
martin@6154
   519
    <copy todir="${build}">
martin@6154
   520
      <fileset dir="${base.modules}">
martin@6154
   521
        <include name="*/src/**" />
martin@6154
   522
        <exclude name="*/src/**/*.java" />
martin@6154
   523
      </fileset>
martin@6154
   524
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6154
   525
    </copy>
martin@2868
   526
  </target>
asier@1929
   527
martin@2868
   528
  <!-- FIXME: These tasks is only for development and testing purposes, remove it afterwards-->
martin@2868
   529
  <target name="sqlcmod" depends="copy.srcClient">
asier@3189
   530
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   531
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   532
      <classpath refid="project.class.path" />
antonio@7580
   533
      <syspropertyset>
antonio@7580
   534
         <propertyref name="java.security.egd" />
antonio@7580
   535
      </syspropertyset>
martin@2868
   536
    </java>
martin@2868
   537
  </target>
asier@1929
   538
martin@2868
   539
  <target name="compileSqlcmod" depends="sqlcmod">
martin@2868
   540
    <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
   541
      <classpath refid="project.class.path" />
antonio@7580
   542
      <syspropertyset>
antonio@7580
   543
         <propertyref name="java.security.egd" />
antonio@7580
   544
      </syspropertyset>
martin@2868
   545
    </javac>
martin@2868
   546
  </target>
martin@2868
   547
  <target name="postsrcmod">
martin@2868
   548
    <copy todir="${base.design}/design">
martin@2868
   549
      <fileset dir="${base.modules}" includes="*/src/**/*.html" />
martin@2868
   550
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   551
    </copy>
martin@2868
   552
  </target>
asier@1929
   553
martin@2868
   554
  <!-- end of auxiliar tasks-->
martin@2346
   555
martin@2868
   556
  <target name="build.local.context">
martin@2868
   557
    <copy todir="${base.context}" encoding="UTF-8">
martin@2868
   558
      <fileset file="${basedir}/index.html" />
martin@2868
   559
    </copy>
martin@2868
   560
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   561
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   562
      <fileset dir="${base.config}">
martin@2868
   563
        <exclude name="**/eclipse/**" />
martin@2868
   564
        <exclude name="**/setup-properties**" />
martin@2868
   565
        <exclude name="*.template" />
asier@2974
   566
        <exclude name="checksums"/>
martin@2868
   567
      </fileset>
martin@2868
   568
    </copy>
martin@2868
   569
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   570
      <fileset dir="${base.modules}">
martin@2868
   571
        <include name="*/config/**" />
martin@2868
   572
        <exclude name="*.template" />
martin@2868
   573
      </fileset>
martin@2868
   574
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   575
    </copy>
martin@2868
   576
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   577
      <fileset dir="${base.lib}/runtime">
martin@2868
   578
        <exclude name="openbravo-wad.jar" />
martin@2868
   579
        <exclude name="openbravo-trl.jar" />
martin@2868
   580
        <exclude name="servlet-api.jar" />
martin@2868
   581
        <exclude name="*.war" />
martin@2868
   582
      </fileset>
martin@2868
   583
      <fileset dir="${base.db}/lib">
martin@2868
   584
        <include name="*" />
martin@2868
   585
      </fileset>
martin@2868
   586
    </copy>
martin@2346
   587
martin@2868
   588
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   589
      <fileset dir="${base.modules}">
martin@2868
   590
        <include name="*/lib/runtime/**" />
martin@2868
   591
      </fileset>
martin@2868
   592
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   593
    </copy>
martin@2868
   594
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   595
  </target>
martin@2346
   596
martin@2868
   597
  <target name="build.web.folder">
martin@2868
   598
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   599
      <fileset dir="${base.web}">
martin@2868
   600
        <include name="*/**" />
martin@2868
   601
        <exclude name="skins/**" />
martin@2868
   602
      </fileset>
martin@2868
   603
    </copy>
asier@2994
   604
    
asier@2994
   605
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@2994
   606
        <classpath refid="project.class.path" />
asier@2994
   607
      </taskdef>
asier@2994
   608
    
asier@2994
   609
    <CheckSumCondition obDir="${basedir}/.."
asier@2994
   610
                       type="md5.skins"
asier@2994
   611
                       property="changes.in.md5.skins"/>
asier@2994
   612
    <condition property="do.skins">
asier@2994
   613
      <or>
asier@2994
   614
        <istrue value="${changes.in.md5.skins}" />
asier@2994
   615
        <not>
asier@3013
   616
          <istrue value="${smart.mode}"/>
asier@2994
   617
        </not>
asier@2994
   618
      </or>
asier@2994
   619
    </condition>
asier@2994
   620
    
asier@2994
   621
    <antcall target="build.web.folder.skins"  inheritAll="true" inheritrefs="true" />
asier@2994
   622
    
asier@2994
   623
    <condition property="generateSpritesBool">
asier@2994
   624
        <istrue value="${generateSprites}" />
asier@2994
   625
    </condition>
asier@2994
   626
    <antcall target="generate.sprites" inheritAll="true" inheritrefs="true" />
asier@2994
   627
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
asier@2994
   628
  </target>
asier@2994
   629
    
martin@2346
   630
asier@2994
   631
  <target name="build.web.folder.skins" if="do.skins">
asier@2994
   632
asier@2994
   633
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
asier@2994
   634
    <mkdir dir="${base.context}/web" />
martin@2868
   635
    <mkdir dir="${base.context}/web/skins" />
martin@2868
   636
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   637
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   638
      <fileset dir="${base.web}/skins" />
martin@2868
   639
    </copy>
martin@2868
   640
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   641
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   642
      <fileset dir="${base.web}/skins" />
martin@2868
   643
    </copy>
martin@2346
   644
martin@2868
   645
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   646
      <fileset dir="${base.modules}">
martin@2868
   647
        <include name="*/web/*/**" />
david@5261
   648
        <exclude name="*/web/*/skins/**" />
martin@2868
   649
      </fileset>
martin@2868
   650
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*)" to="\3" />
martin@2868
   651
    </copy>
martin@2346
   652
martin@2868
   653
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   654
      <fileset dir="${base.modules}">
david@5261
   655
        <include name="*/web/*/skins/**" />
martin@2868
   656
      </fileset>
asier@3522
   657
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   658
    </copy>
carlos@0
   659
martin@2868
   660
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   661
      <fileset dir="${base.modules}">
david@5261
   662
        <include name="*/web/*/skins/**" />
martin@2868
   663
      </fileset>
asier@3522
   664
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   665
    </copy>
stefan@2143
   666
martin@2868
   667
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
david@3673
   668
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr" />
martin@2868
   669
      <classpath refid="project.class.path" />
martin@2868
   670
    </java>
asier@2994
   671
    
martin@2868
   672
  </target>
juanpablo@131
   673
martin@2868
   674
  <target name="generate.sprites" description="Performs CSS sprite processing" if="generateSpritesBool">
martin@2868
   675
    <property name="skins.location" location="${base.context}/web/skins/" />
martin@2868
   676
    <taskdef name="smartsprites" classname="org.carrot2.labs.smartsprites.ant.SmartSpritesTask">
martin@2868
   677
      <classpath refid="project.class.path" />
martin@2868
   678
    </taskdef>
martin@2868
   679
    <smartsprites rootdir="${skins.location}" documentrootdir="${skins.location}" outputdir="${skins.location}" cssfilesuffix="-sprite" csspropertyindent="  " loglevel="WARN" spritepngdepth="DIRECT" spritepngie6="false" />
martin@2868
   680
    <move todir="${skins.location}">
martin@2868
   681
      <fileset dir="${skins.location}">
martin@2868
   682
        <include name="*/*-sprite.css" />
martin@2868
   683
        <include name="*/*/*-sprite.css" />
martin@2868
   684
      </fileset>
martin@2868
   685
      <mapper type="glob" from="*-sprite.css" to="*.css" />
martin@2868
   686
    </move>
martin@2868
   687
  </target>
juanpablo@131
   688
martin@2868
   689
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   690
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   691
      <fileset dir="${base.web}">
martin@2868
   692
        <include name="**/*.js" />
martin@2868
   693
        <include name="**/*.css" />
martin@2868
   694
        <!-- The following scripts break in minification process -->
martin@2868
   695
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   696
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   697
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   698
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   699
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   700
        <exclude name="**/js/xinha/lang/**" />
martin@2868
   701
        <exclude name="**/js/xinha/plugins/**" />
martin@2868
   702
        <!-- dojotoolkit files are already compressd -->
martin@2868
   703
        <exclude name="**/dojotoolkit/**" />
martin@2868
   704
        <!-- from old dojo, only compress main file -->
martin@2868
   705
        <exclude name="**/dojo/**" />
martin@2868
   706
        <include name="js/dojo/dojo.js" />
martin@2868
   707
      </fileset>
martin@2868
   708
    </yuicompress>
martin@2868
   709
  </target>
david@1883
   710
martin@2868
   711
  <target name="postwad">
martin@2868
   712
    <copy todir="${base.design}/design">
martin@2868
   713
      <fileset dir="${build.AD}" includes="**/*.xml" />
martin@2868
   714
    </copy>
martin@2868
   715
    <copy todir="${base.design}/design">
martin@2868
   716
      <fileset dir="${build.AD}" includes="**/*.fo" />
martin@2868
   717
    </copy>
martin@2868
   718
    <copy todir="${base.design}/design">
martin@2868
   719
      <fileset dir="${build.AD}" includes="**/*.html" />
martin@2868
   720
    </copy>
martin@2868
   721
    <copy todir="${base.design}/design">
martin@2868
   722
      <fileset dir="${build.AD}" includes="**/*.srpt" />
martin@2868
   723
    </copy>
martin@2868
   724
    <copy todir="${base.design}/design">
martin@2868
   725
      <fileset dir="${build.AD}" includes="**/*.jrxml" />
martin@2868
   726
    </copy>
martin@2868
   727
    <copy todir="${base.design}/design">
martin@2868
   728
      <fileset dir="${build.AD}" includes="**/*.jasper" />
martin@2868
   729
    </copy>
martin@2868
   730
  </target>
martin@2346
   731
carlos@0
   732
asier@5935
   733
  <target name="eclipse.compile.complete" depends="clean,generate.entities,wad,sqlc,postsrc,translate, trl.remove.unused">
martin@2868
   734
    <antcall target="update.build.timestamp" />
martin@2868
   735
  </target>
martin@2868
   736
martin@2868
   737
  <target name="eclipse.compile" depends="wad,sqlc, postsrc, translate">
martin@2868
   738
  </target>
martin@2868
   739
martin@2868
   740
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   741
  </target>
martin@2868
   742
asier@5935
   743
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate, trl.remove.unused">
martin@2868
   744
    <antcall target="update.build.timestamp" />
martin@2868
   745
  </target>
martin@2868
   746
martin@2868
   747
asier@3013
   748
  <target name="smartbuild.new.wad" if="new.wad">
martin@2868
   749
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   750
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   751
      <classpath refid="project.class.path" />
asier@2854
   752
    </taskdef>
martin@2868
   753
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   754
  </target>
asier@2854
   755
asier@3013
   756
  <target name="smartbuild.no.new.wad" unless="new.wad">
martin@2868
   757
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   758
  </target>
asier@2974
   759
asier@3013
   760
  <target name="smartbuild">
asier@3013
   761
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.new.wad" />
asier@3013
   762
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.no.new.wad" />
martin@2868
   763
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   764
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
martin@2868
   765
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   766
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   767
  </target>
carlos@0
   768
martin@2868
   769
  <target name="translate" if="translation">
martin@2868
   770
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   771
      <param name="extension" value="html" />
martin@2868
   772
    </antcall>
martin@2868
   773
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   774
      <param name="extension" value="fo" />
martin@2868
   775
    </antcall>
martin@2868
   776
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   777
      <param name="extension" value="srpt" />
martin@2868
   778
    </antcall>
martin@2868
   779
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   780
      <param name="extension" value="jrxml" />
martin@2868
   781
    </antcall>
martin@2868
   782
    <antcall inheritall="true" inheritrefs="true" target="translate.modules" />
martin@2868
   783
  </target>
carlos@0
   784
martin@2868
   785
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
martin@2868
   786
  </target>
asier@1929
   787
martin@2868
   788
  <target name="translate.modules" if="translation">
martin@2868
   789
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   790
      <param name="extension" value="html" />
martin@2868
   791
    </antcall>
martin@2868
   792
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   793
      <param name="extension" value="fo" />
martin@2868
   794
    </antcall>
martin@2868
   795
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   796
      <param name="extension" value="srpt" />
martin@2868
   797
    </antcall>
martin@2868
   798
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   799
      <param name="extension" value="jrxml" />
martin@2868
   800
    </antcall>
martin@2868
   801
  </target>
asier@1929
   802
martin@2868
   803
  <target name="compile.translate.modules">
martin@2868
   804
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3856
   805
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${base.modules}' '*/src'" />
martin@2868
   806
      <classpath refid="project.class.path" />
antonio@7580
   807
      <syspropertyset>
antonio@7580
   808
         <propertyref name="java.security.egd" />
antonio@7580
   809
      </syspropertyset>
martin@2868
   810
    </java>
martin@2868
   811
  </target>
carlos@0
   812
martin@2868
   813
  <target name="installWebService" depends="init" if="wsdd">
asier@4307
   814
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
martin@2868
   815
      <classpath refid="project.class.path" />
asier@4307
   816
    </taskdef>
asier@4307
   817
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   818
             baseDir="${source.path}"
asier@4307
   819
             action="deploy"/>
martin@2868
   820
  </target>
carlos@0
   821
asier@4307
   822
  <target name="uninstallWebService" depends="init">
asier@4307
   823
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
asier@4307
   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="undeploy"/>
asier@4307
   829
  </target>
carlos@0
   830
martin@2868
   831
  <target name="compile.translate">
martin@2868
   832
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3856
   833
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${basedir}'" />
martin@2868
   834
      <classpath refid="project.class.path" />
antonio@7580
   835
      <syspropertyset>
antonio@7580
   836
         <propertyref name="java.security.egd" />
antonio@7580
   837
      </syspropertyset>
martin@2868
   838
    </java>
martin@2868
   839
  </target>
carlos@0
   840
asier@7164
   841
  <target name="copy.files" if="mode.class">
martin@2868
   842
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7583
   843
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7583
   844
      <preserveintarget>
antonio@7583
   845
        <include name="**/WEB-INF/classes/**"/>
antonio@7583
   846
        <include name="**/WEB-INF/lib/**"/>
antonio@7583
   847
      </preserveintarget>
martin@2868
   848
      <fileset dir="${base.context}" />
antonio@7583
   849
    </sync>
martin@2868
   850
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7583
   851
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   852
      <fileset dir="${build}" />
antonio@7583
   853
    </sync>
asier@7164
   854
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7164
   855
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7164
   856
    </copy>
martin@2868
   857
  </target>
ivan@1738
   858
martin@2868
   859
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   860
  </target>
asier@1929
   861
martin@2868
   862
  <target name="compile.complete.development" depends="compile.complete, copy.files">
antonio@5617
   863
    <updatesystemstatus v="RB51"/>
martin@2868
   864
  </target>
asier@1929
   865
martin@2868
   866
  <target name="compile.web" depends="build.web.folder">
martin@2868
   867
  </target>
asier@1929
   868
martin@2868
   869
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   870
  </target>
asier@1929
   871
martin@2868
   872
  <target name="build.war">
martin@2868
   873
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   874
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   875
      <zipfileset dir="${base.context}">
martin@2868
   876
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   877
        <exclude name="**/WEB-INF/lib/servlet-api.jar" />
martin@2868
   878
      </zipfileset>
martin@2868
   879
      <classes dir="${build}" />
martin@2868
   880
    </war>
antonio@6470
   881
    <updatesystemstatus v="RB51"/>
martin@2868
   882
  </target>
martin@2868
   883
martin@2868
   884
  <target name="generate-wsdd">
martin@2868
   885
    <delete failonerror="false">
martin@2868
   886
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   887
    </delete>
martin@2868
   888
martin@2868
   889
    <mkdir dir="${build}" />
ivan@5062
   890
     <axis-wsdl2java output="${base.src}" verbose="false" url="http://centralrepository.openbravo.com/openbravo/services/WebService2?wsdl" serverside="true" debug="false">
ivan@5062
   891
      <mapping namespace="http://centralrepository.openbravo.com/openbravo/services/WebService2" package="org.openbravo.services.webservice" />
asier@5027
   892
      <mapping namespace="/services/WebService2" package="org.openbravo.services.webservice" />
martin@2868
   893
    </axis-wsdl2java>
martin@2868
   894
  </target>
martin@2868
   895
antonio@3337
   896
  <target name="update.build.timestamp" unless="timestamp">
martin@2868
   897
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   898
      <classpath>
martin@2868
   899
        <fileset dir="${base.lib}">
martin@2868
   900
          <include name="**/*.jar">
martin@2868
   901
          </include>
martin@2868
   902
        </fileset>
martin@2868
   903
      </classpath>
martin@2868
   904
      <transaction>
asier@2819
   905
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   906
	      </transaction>
martin@2868
   907
    </sql>
martin@2868
   908
  </target>
asier@1929
   909
carlos@0
   910
</project>