src/build.xml
author Stefan Hühner <stefan.huehner@openbravo.com>
Tue, 11 Sep 2012 17:07:03 +0200
changeset 17922 d6111f597f9c
parent 16420 b97198212bc3
child 18217 a90ccc95e2e0
permissions -rw-r--r--
Fixed 21580: Fix compiling on windows with many modules instaleld.
When fixing issue 20416 this changed the javac sourcepath definition to
include each subfolder of each module folder which may contain .java files
individually when calling javac. However it did consider any possible subfolder
below a module folder including i.e. web, src-db, referencedata.
However none of those folder should ever contain any .java file.
The only folder which should contain .java files are: src & src-test
This excludes the following two special folders (src-wad, src-util), but those
are never used in any normal compilation.

This building of a combined sourcepath with too many folders seems to overflow
some windows only sourcepath length restriction causing the compile to fail.

This commit changes behavior of the compile process to being the following:

A normal compile will only look into the following two subfolders below
a modules' folder:
a.) src
b.) src-test
Any .java file not in one of those folders will be ignored and not compiled
anymore.

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