src/build.xml
author Augusto Mauch <augusto.mauch@openbravo.com>
Thu, 21 Mar 2013 16:30:17 +0100
changeset 19956 0c44af13571d
parent 19912 7ee41d144038
child 20711 0b9c6c0013da
permissions -rw-r--r--
Fixes issue 23082: Removes smart sprites functionality

The root cause of the fix is that there two versions of the google collections library. The old one, located in lib/build/google-collections.jar was only used for the smart sprites functionality, that only applies to 2.50 windows and to the login window. This functionality does not work with the neweste version of the google collections library (modules/org.openbravo.base.weld/lib/runtime/google-collect-1.0.jar).

It has been decided that this feature is going to be removed. It has almost no significance in Openbravo 3.0, in fact it is disabled by default. Changes done:
- Removed now unused libraries:
* lib/build/commons-math-1.2.jar
* lib/build/google-collections.jar
* lib/build/smartsprites-0.2.1-alpha.jar

- Removed functionality from src/build.xml

- Removed configuration option from Openbravo.properties.template

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