src/build.xml
author Antonio Moreno <antonio.moreno@openbravo.com>
Fri, 11 Jun 2010 12:05:40 +0200
changeset 7595 62566014690e
parent 7592 85eb92e7e94b
child 7802 15b00ba141d6
child 7861 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@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" />
antonio@7539
   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@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" />
martin@5458
   228
    <exportsampledata userId="0" adminMode="true" propertiesFile="${base.config}/Openbravo.properties" clients="SmallBazaar" />
martin@5458
   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@5458
   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@4106
   252
martin@4106
   253
    <!--
martin@4106
   254
    see issue: https://issues.openbravo.com/view.php?id=9331
martin@4106
   255
    Custom columns in standard tables should support a reference to a table in the module
martin@4106
   256
    if this occurs then possible the following javac has to be enabled instead of the two javacs below
martin@4106
   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@4106
   258
      <classpath refid="project.class.path" />
martin@4106
   259
    </javac>
martin@4106
   260
    -->
asier@3280
   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@3322
   262
      <classpath refid="project.class.path" />
ivan@3322
   263
    </javac>
ivan@3322
   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@3322
   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@7592
   284
      <syspropertyset>
antonio@7592
   285
         <propertyref name="java.security.egd" />
antonio@7592
   286
      </syspropertyset>
martin@2868
   287
      <classpath>
martin@2868
   288
        <path refid="project.class.path" />
martin@2868
   289
      </classpath>
martin@2868
   290
    </workflow>
martin@4106
   291
martin@4106
   292
    <!--
martin@4106
   293
      see issue: https://issues.openbravo.com/view.php?id=9331
martin@4106
   294
      Custom columns in standard tables should support a reference to a table in the module
martin@4106
   295
      if this occurs then possible the following javac has to be enabled instead of the two javacs below
martin@4106
   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@4106
   297
      <classpath refid="project.class.path" />      
martin@4106
   298
    </javac>
martin@4106
   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@3322
   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@3322
   304
      <classpath refid="project.class.path" />
ivan@3322
   305
    </javac>
martin@2868
   306
  </target>
juanpablo@131
   307
martin@3723
   308
  <target name="run.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   309
    
martin@7346
   310
    <copy todir="${build}">
martin@7346
   311
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   312
    </copy>
martin@7346
   313
    
martin@3723
   314
    <junit printsummary="yes" haltonfailure="yes">
martin@3723
   315
      <classpath refid="project.class.path" />
martin@3723
   316
      <formatter type="plain" usefile="no"/>
martin@3754
   317
      <test name="org.openbravo.test.AntTaskTests" haltonfailure="no"/>
martin@3754
   318
    </junit>
martin@3754
   319
  </target>
martin@3754
   320
martin@3754
   321
  <target name="run.all.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   322
    
martin@7346
   323
    <copy todir="${build}">
martin@7346
   324
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   325
    </copy>
martin@7346
   326
martin@3754
   327
    <junit printsummary="yes" haltonfailure="yes">
martin@3754
   328
      <classpath refid="project.class.path" />
martin@3754
   329
      <formatter type="plain" usefile="no"/>
ivan@3873
   330
      <test name="org.openbravo.test.AllAntTaskTests" haltonfailure="no" outfile="result">
ivan@3873
   331
	    <formatter type="xml" />
ivan@3873
   332
	  </test>
martin@3723
   333
    </junit>
martin@3723
   334
  </target>
martin@3723
   335
martin@3723
   336
  <target name="run.quick.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   337
    
martin@7346
   338
    <copy todir="${build}">
martin@7346
   339
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   340
    </copy>
martin@7346
   341
    
martin@3723
   342
    <junit printsummary="yes" haltonfailure="yes">
martin@3723
   343
      <classpath refid="project.class.path" />
martin@3723
   344
      <formatter type="plain" usefile="no"/>
martin@3723
   345
      <test name="org.openbravo.test.AllQuickAntTaskTests" haltonfailure="no"/>
martin@3723
   346
    </junit>
martin@3723
   347
  </target>
ivan@3850
   348
priya@6948
   349
  <target name="run.webservice.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   350
    
martin@7346
   351
    <copy todir="${build}">
martin@7346
   352
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   353
    </copy>
martin@7346
   354
priya@6948
   355
    <junit printsummary="yes" haltonfailure="yes">
priya@6948
   356
      <classpath refid="project.class.path" />
priya@6948
   357
      <formatter type="plain" usefile="no"/>
priya@6966
   358
      <test name="org.openbravo.test.AllWebserviceTests" haltonfailure="yes"/>
priya@6948
   359
    </junit>
priya@6948
   360
  </target>
priya@6948
   361
stefan@3934
   362
  <target name="run.api.test.javascript">
ivan@3850
   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@3850
   366
  </target>
martin@3723
   367
  
martin@2868
   368
  <target name="compileSqlc" depends="sqlc">
antonio@6986
   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@6986
   372
antonio@6986
   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@5595
   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@6163
   422
    
martin@6163
   423
    <!-- also compile the domaintypes in modules -->
antonio@7537
   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@6163
   425
      <classpath refid="project.class.path" />
martin@6163
   426
    </javac>
martin@6163
   427
    
martin@6163
   428
    <!-- copy all configuration files in modules to the output path also -->
martin@6163
   429
    <copy todir="${build}" encoding="UTF-8">
martin@6163
   430
      <fileset dir="${base.modules}">
martin@6163
   431
          <include name="*/src/**/*" />
martin@6163
   432
          <exclude name="*/src/**/*.java" />
martin@6163
   433
          <exclude name="*/src/**/*.xsql" />
martin@6163
   434
      </fileset>
martin@6163
   435
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6163
   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@5700
   446
                       stoponerror="${stopOnWadError}"
antonio@5700
   447
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   448
  </target>
asier@5532
   449
  
asier@5532
   450
  <target name="wad" depends="init, wadvalidation">
asier@5265
   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@7592
   454
      <syspropertyset>
antonio@7592
   455
         <propertyref name="java.security.egd" />
antonio@7592
   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@7592
   465
      <syspropertyset>
antonio@7592
   466
         <propertyref name="java.security.egd" />
antonio@7592
   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@5620
   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@6160
   519
    <copy todir="${build}">
martin@6160
   520
      <fileset dir="${base.modules}">
martin@6160
   521
        <include name="*/src/**" />
martin@6160
   522
        <exclude name="*/src/**/*.java" />
martin@6160
   523
      </fileset>
martin@6160
   524
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6160
   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@7592
   533
      <syspropertyset>
antonio@7592
   534
         <propertyref name="java.security.egd" />
antonio@7592
   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@7592
   542
      <syspropertyset>
antonio@7592
   543
         <propertyref name="java.security.egd" />
antonio@7592
   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@5270
   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@5270
   655
        <include name="*/web/*/skins/**" />
martin@2868
   656
      </fileset>
asier@3604
   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@5270
   662
        <include name="*/web/*/skins/**" />
martin@2868
   663
      </fileset>
asier@3604
   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@3771
   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@5937
   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@5937
   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@3980
   805
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${base.modules}' '*/src'" />
martin@2868
   806
      <classpath refid="project.class.path" />
antonio@7592
   807
      <syspropertyset>
antonio@7592
   808
         <propertyref name="java.security.egd" />
antonio@7592
   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@3980
   833
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${basedir}'" />
martin@2868
   834
      <classpath refid="project.class.path" />
antonio@7592
   835
      <syspropertyset>
antonio@7592
   836
         <propertyref name="java.security.egd" />
antonio@7592
   837
      </syspropertyset>
martin@2868
   838
    </java>
martin@2868
   839
  </target>
carlos@0
   840
asier@7208
   841
  <target name="copy.files" if="mode.class">
martin@2868
   842
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7595
   843
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7595
   844
      <preserveintarget>
antonio@7595
   845
        <include name="**/WEB-INF/classes/**"/>
antonio@7595
   846
        <include name="**/WEB-INF/lib/**"/>
antonio@7595
   847
      </preserveintarget>
martin@2868
   848
      <fileset dir="${base.context}" />
antonio@7595
   849
    </sync>
martin@2868
   850
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7595
   851
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   852
      <fileset dir="${build}" />
antonio@7595
   853
    </sync>
asier@7208
   854
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7208
   855
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7208
   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@5620
   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@6504
   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@3372
   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>