src/build.xml
author Stefan Hühner <stefan.huehner@openbravo.com>
Tue, 10 May 2011 17:08:16 +0200
changeset 12082 3f4efabf3019
parent 11995 e7b20e55553e
child 12094 315eeeb8e204
permissions -rw-r--r--
Fixed 8346: Remove support for srcClient
srcClient has been obsoleted with start of 2.50 where customizations should be
done via modules but still carried arround for the 2.50 cycle to ease slow
migrations of people using now. Now for 3.0 its time to remove it.
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 
david@11628
    16
 * All portions are Copyright (C) 2005-2011 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@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@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
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@3980
   131
      <arg line="clean '${base.config}/Openbravo.properties'" />
martin@2868
   132
      <classpath refid="project.class.path" />
antonio@7592
   133
      <syspropertyset>
antonio@7592
   134
         <propertyref name="java.security.egd" />
antonio@7592
   135
      </syspropertyset>
martin@2868
   136
    </java>
martin@2868
   137
  </target>
asier@5937
   138
  
asier@5937
   139
  <target name="trl.remove.unused" if="translation">
asier@5937
   140
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@5937
   141
      <arg line="remove '${base.config}/Openbravo.properties'" />
asier@5937
   142
      <classpath refid="project.class.path" />
antonio@7592
   143
      <syspropertyset>
antonio@7592
   144
         <propertyref name="java.security.egd" />
antonio@7592
   145
      </syspropertyset>
asier@5937
   146
    </java>
asier@5937
   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@7539
   165
  <target name="compile.apply.module" depends="init">
antonio@7545
   166
    <mkdir dir="${build.apply.module}" />
antonio@7539
   167
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
antonio@7539
   168
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
stefan@9023
   169
      <jvmarg value="-Dsqlc.listOfFiles=PInstanceProcess_data.xsql,ApplyModule_data.xsql,TableSQLQuery_data.xsql,DateTime_data.xsql,ComboTableQuery_data.xsql,PrintJR_data.xsql,DocumentNo_data.xsql,WindowAccess_data.xsql,Tab_data.xsql,WindowTree_data.xsql,ErrorTextParser_data.xsql,Utility_data.xsql,MessageBD_data.xsql,Translation_data.xsql,Buscador_data.xsql,Pinstance_data.xsql,ProcessRequest_data.xsql,Trigger_data.xsql,ProcessRun_data.xsql,Process_data.xsql,OrgTree_data.xsql,VersionUtility_data.xsql,ImportModule_data.xsql,SystemInfo_data.xsql"/>
antonio@7539
   170
      <classpath refid="project.class.path" />
antonio@7592
   171
      <syspropertyset>
antonio@7592
   172
         <propertyref name="java.security.egd" />
antonio@7592
   173
      </syspropertyset>
antonio@7539
   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@7539
   176
      <src path="${base.src}"/>
antonio@7539
   177
      <src path="../build/javasqlc/src"/>
antonio@7545
   178
      <src path="../src-gen"/>
antonio@7547
   179
      <classpath refid="apply.module.compile.classpath" />
antonio@7539
   180
    </javac>
antonio@7539
   181
  </target>
antonio@7539
   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@7592
   187
      <syspropertyset>
antonio@7592
   188
         <propertyref name="java.security.egd" />
antonio@7592
   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@5227
   193
      <jvmarg value="-Dsqlc.queryExecutionStrategy=traditional"/>
martin@2868
   194
      <classpath refid="project.class.path" />
antonio@7592
   195
      <syspropertyset>
antonio@7592
   196
         <propertyref name="java.security.egd" />
antonio@7592
   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@9537
   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@8355
   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@7592
   244
      <syspropertyset>
antonio@7592
   245
         <propertyref name="java.security.egd" />
antonio@7592
   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@4106
   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@3723
   270
  <target name="run.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   271
    
martin@7346
   272
    <copy todir="${build}">
martin@7346
   273
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   274
    </copy>
martin@7346
   275
    
martin@3723
   276
    <junit printsummary="yes" haltonfailure="yes">
martin@3723
   277
      <classpath refid="project.class.path" />
martin@3723
   278
      <formatter type="plain" usefile="no"/>
martin@3754
   279
      <test name="org.openbravo.test.AntTaskTests" haltonfailure="no"/>
martin@3754
   280
    </junit>
martin@3754
   281
  </target>
martin@3754
   282
martin@3754
   283
  <target name="run.all.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   284
    
martin@7346
   285
    <copy todir="${build}">
martin@7346
   286
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   287
    </copy>
martin@7346
   288
martin@3754
   289
    <junit printsummary="yes" haltonfailure="yes">
martin@3754
   290
      <classpath refid="project.class.path" />
martin@3754
   291
      <formatter type="plain" usefile="no"/>
ivan@3873
   292
      <test name="org.openbravo.test.AllAntTaskTests" haltonfailure="no" outfile="result">
ivan@3873
   293
	    <formatter type="xml" />
ivan@3873
   294
	  </test>
martin@3723
   295
    </junit>
martin@3723
   296
  </target>
martin@3723
   297
martin@3723
   298
  <target name="run.quick.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   299
    
martin@7346
   300
    <copy todir="${build}">
martin@7346
   301
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   302
    </copy>
martin@7346
   303
    
martin@3723
   304
    <junit printsummary="yes" haltonfailure="yes">
martin@3723
   305
      <classpath refid="project.class.path" />
martin@3723
   306
      <formatter type="plain" usefile="no"/>
martin@3723
   307
      <test name="org.openbravo.test.AllQuickAntTaskTests" haltonfailure="no"/>
martin@3723
   308
    </junit>
martin@3723
   309
  </target>
ivan@3850
   310
priya@6948
   311
  <target name="run.webservice.tests" depends="compileSqlc,generate.entities.quick">
martin@7346
   312
    
martin@7346
   313
    <copy todir="${build}">
martin@7346
   314
      <fileset dir="${base.src.test}" includes="**/*.xml" />
martin@7346
   315
    </copy>
martin@7346
   316
priya@6948
   317
    <junit printsummary="yes" haltonfailure="yes">
priya@6948
   318
      <classpath refid="project.class.path" />
priya@6948
   319
      <formatter type="plain" usefile="no"/>
priya@6966
   320
      <test name="org.openbravo.test.AllWebserviceTests" haltonfailure="yes"/>
priya@6948
   321
    </junit>
priya@6948
   322
  </target>
priya@6948
   323
stefan@3934
   324
  <target name="run.api.test.javascript">
ivan@3850
   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@3850
   328
  </target>
martin@3723
   329
  
martin@2868
   330
  <target name="compileSqlc" depends="sqlc">
stefan@11995
   331
    <javac  srcdir="${basedir}:${build.sqlc}/src:${build.sqlc}/srcAD:${base.src.test}:${base.modules}" excludes="*/src-wad/**,*/src-util/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" nowarn="${friendlyWarnings}" includeantruntime="false">
asier@2967
   332
      <classpath refid="project.class.path" />
asier@2967
   333
    </javac>
antonio@6986
   334
stefan@11995
   335
    <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
   336
      <classpath refid="project.class.path" />
martin@2868
   337
    </javac>
asier@4277
   338
  	<antcall target="calculate.version"/>
martin@2868
   339
  </target>
antonio@5595
   340
asier@4277
   341
	<target name="calculate.version" depends="init">
asier@4277
   342
	  <condition property="revision.from.file">
asier@4277
   343
		<and>
asier@4277
   344
		  <not>
asier@4277
   345
		 	<isset property="hg.id"/>
asier@4277
   346
		  </not>
asier@4277
   347
		  <available file="${basedir}/config/instance.revision"/>
asier@4277
   348
	    </and>
asier@4277
   349
	  </condition>
asier@4277
   350
	  <antcall inheritall="true" target="calculate.instance.version"/>
asier@4277
   351
	</target>
asier@4277
   352
	<target name="calculate.instance.version" depends="calculate.version.from.hg, calculate.version.from.file">
asier@4277
   353
	    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
asier@4277
   354
	      <classpath>
asier@4277
   355
	        <fileset dir="${base.lib}">
asier@4277
   356
	          <include name="**/*.jar">
asier@4277
   357
	          </include>
asier@4277
   358
	        </fileset>
asier@4277
   359
	      </classpath>
asier@4277
   360
	      <transaction>
asier@4277
   361
		        UPDATE AD_MODULE 
asier@4277
   362
	      	       SET VERSION_ID='${instance.version}'
asier@4277
   363
                 WHERE AD_MODULE_ID='0'
asier@4277
   364
		      </transaction>
asier@4277
   365
	    </sql>
asier@4277
   366
	</target>
asier@4277
   367
	<target name="calculate.version.from.hg" if="is.hg">
asier@4277
   368
	  <property name="instance.version" value="${hg.id}"/>
asier@4277
   369
	</target>
asier@4277
   370
	<target name="calculate.version.from.file" if="revision.from.file">
asier@4277
   371
		<loadfile property="instance.version" srcfile="${basedir}/config/instance.revision"/>
asier@4277
   372
	</target>
martin@2346
   373
martin@2868
   374
  <target name="compile.src.gen" depends="init">
stefan@11995
   375
    <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
   376
      <classpath refid="project.class.path" />
martin@2868
   377
    </javac>
martin@2868
   378
    <copy todir="${build}">
martin@2868
   379
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   380
    </copy>
martin@2868
   381
    <copy todir="${build}">
martin@2868
   382
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   383
    </copy>
martin@6163
   384
    
martin@6163
   385
    <!-- also compile the domaintypes in modules -->
stefan@11995
   386
    <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
   387
      <classpath refid="project.class.path" />
martin@6163
   388
    </javac>
martin@6163
   389
    
martin@6163
   390
    <!-- copy all configuration files in modules to the output path also -->
martin@6163
   391
    <copy todir="${build}" encoding="UTF-8">
martin@6163
   392
      <fileset dir="${base.modules}">
martin@6163
   393
          <include name="*/src/**/*" />
martin@6163
   394
          <exclude name="*/src/**/*.java" />
martin@6163
   395
          <exclude name="*/src/**/*.xsql" />
martin@6163
   396
      </fileset>
martin@6163
   397
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6163
   398
    </copy>
martin@2868
   399
  </target>
martin@2346
   400
asier@5532
   401
  <target name="wadvalidation">
asier@5535
   402
    <taskdef name="WADValidation" classname="org.openbravo.wad.validation.WADValidatorTask">
asier@5532
   403
            <classpath refid="project.class.path" />
asier@5532
   404
          </taskdef>
asier@5532
   405
        
asier@5532
   406
        <WADValidation propertiesFile="${base.config}/Openbravo.properties"
asier@5532
   407
                       modules="${module}"
antonio@5700
   408
                       stoponerror="${stopOnWadError}"
antonio@5700
   409
                       friendlyWarnings="${friendlyWarnings}"/>
asier@5532
   410
  </target>
asier@5532
   411
  
asier@5532
   412
  <target name="wad" depends="init, wadvalidation">
asier@5265
   413
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}" failonerror="true">
stefan@12082
   414
      <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}' '' '..' '${attach.path}' '${web.url}' '${base.src}' '${complete}' '${module}' 'noquick'" />
stefan@9230
   415
      <classpath refid="wad.class.path" />
antonio@7592
   416
      <syspropertyset>
antonio@7592
   417
         <propertyref name="java.security.egd" />
antonio@7592
   418
      </syspropertyset>
martin@2868
   419
    </java>
martin@2868
   420
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   421
  </target>
martin@2346
   422
asier@5532
   423
  <target name="wad.quick" depends="init, wadvalidation">
martin@2868
   424
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
stefan@12082
   425
      <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}' '' '..' '${attach.path}' '${web.url}' '${base.src}' '${complete}' '${module}' 'quick'" />
stefan@9230
   426
      <classpath refid="wad.class.path" />
antonio@7592
   427
      <syspropertyset>
antonio@7592
   428
         <propertyref name="java.security.egd" />
antonio@7592
   429
      </syspropertyset>
martin@2868
   430
    </java>
martin@2868
   431
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   432
  </target>
asier@1929
   433
martin@2868
   434
  <target name="postsrc" depends="postsrc.modules">
antonio@5620
   435
martin@2868
   436
    <copy todir="${build}">
martin@2868
   437
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   438
    </copy>
martin@2868
   439
    <copy todir="${build}">
martin@2868
   440
      <fileset dir="${basedir}" includes="**/*.xslt" />
martin@2868
   441
    </copy>
martin@2868
   442
    <copy todir="${build}">
martin@2868
   443
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   444
    </copy>
martin@2868
   445
    <copy todir="${base.design}/design">
martin@2868
   446
      <fileset dir="${basedir}" includes="**/*.xml" />
martin@2868
   447
    </copy>
martin@2868
   448
    <copy todir="${base.design}/design">
martin@2868
   449
      <fileset dir="${basedir}" includes="**/*.fo" />
martin@2868
   450
    </copy>
martin@2868
   451
    <copy todir="${base.design}/design">
martin@2868
   452
      <fileset dir="${basedir}" includes="**/*.html" />
martin@2868
   453
    </copy>
martin@2868
   454
    <copy todir="${base.design}/design">
martin@2868
   455
      <fileset dir="${basedir}" includes="**/*.srpt" />
martin@2868
   456
    </copy>
martin@2868
   457
    <copy todir="${base.design}/design">
martin@2868
   458
      <fileset dir="${basedir}" includes="**/*.jrxml" />
martin@2868
   459
    </copy>
martin@2868
   460
    <copy todir="${base.design}/design">
martin@2868
   461
      <fileset dir="${basedir}" includes="**/*.jasper" />
martin@2868
   462
    </copy>
martin@2868
   463
    <copy todir="${build}">
martin@2868
   464
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   465
    </copy>
asier@8385
   466
    <copy todir="${base.design}/design/org/openbravo/erpCommon/obps" file="${basedir}/org/openbravo/erpCommon/obps/licenseRestrictions"/>
martin@2868
   467
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   468
  </target>
asier@1929
   469
martin@2868
   470
  <target name="postsrc.modules">
martin@2868
   471
    <copy todir="${base.design}/design">
martin@2868
   472
      <fileset dir="${base.modules}">
martin@2868
   473
        <include name="*/src/**/*.xml" />
martin@2868
   474
        <include name="*/src/**/*.fo" />
martin@2868
   475
        <include name="*/src/**/*.html" />
martin@2868
   476
        <include name="*/src/**/*.srpt" />
martin@2868
   477
        <include name="*/src/**/*.jrxml" />
martin@2868
   478
        <include name="*/src/**/*.jasper" />
martin@2868
   479
      </fileset>
martin@2868
   480
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   481
    </copy>
martin@6160
   482
    <copy todir="${build}">
martin@6160
   483
      <fileset dir="${base.modules}">
martin@6160
   484
        <include name="*/src/**" />
martin@6160
   485
        <exclude name="*/src/**/*.java" />
martin@6160
   486
      </fileset>
martin@6160
   487
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@6160
   488
    </copy>
martin@2868
   489
  </target>
asier@1929
   490
martin@2868
   491
  <!-- FIXME: These tasks is only for development and testing purposes, remove it afterwards-->
stefan@12082
   492
  <target name="sqlcmod">
asier@3189
   493
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" failonerror="true">
martin@2868
   494
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   495
      <classpath refid="project.class.path" />
antonio@7592
   496
      <syspropertyset>
antonio@7592
   497
         <propertyref name="java.security.egd" />
antonio@7592
   498
      </syspropertyset>
martin@2868
   499
    </java>
martin@2868
   500
  </target>
asier@1929
   501
martin@2868
   502
  <target name="compileSqlcmod" depends="sqlcmod">
stefan@11995
   503
    <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
   504
      <classpath refid="project.class.path" />
antonio@7592
   505
      <syspropertyset>
antonio@7592
   506
         <propertyref name="java.security.egd" />
antonio@7592
   507
      </syspropertyset>
martin@2868
   508
    </javac>
martin@2868
   509
  </target>
martin@2868
   510
  <target name="postsrcmod">
martin@2868
   511
    <copy todir="${base.design}/design">
martin@2868
   512
      <fileset dir="${base.modules}" includes="*/src/**/*.html" />
martin@2868
   513
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   514
    </copy>
martin@2868
   515
  </target>
asier@1929
   516
martin@2868
   517
  <!-- end of auxiliar tasks-->
martin@2346
   518
martin@2868
   519
  <target name="build.local.context">
martin@2868
   520
    <copy todir="${base.context}" encoding="UTF-8">
ivan@10243
   521
      <fileset file="${basedir}/index.jsp" />
martin@2868
   522
    </copy>
martin@2868
   523
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   524
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   525
      <fileset dir="${base.config}">
martin@2868
   526
        <exclude name="**/eclipse/**" />
martin@2868
   527
        <exclude name="**/setup-properties**" />
martin@2868
   528
        <exclude name="*.template" />
asier@2974
   529
        <exclude name="checksums"/>
martin@2868
   530
      </fileset>
martin@2868
   531
    </copy>
martin@2868
   532
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   533
      <fileset dir="${base.modules}">
martin@2868
   534
        <include name="*/config/**" />
martin@2868
   535
        <exclude name="*.template" />
martin@2868
   536
      </fileset>
martin@2868
   537
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   538
    </copy>
martin@2868
   539
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   540
      <fileset dir="${base.lib}/runtime">
martin@2868
   541
        <exclude name="openbravo-wad.jar" />
martin@2868
   542
        <exclude name="openbravo-trl.jar" />
martin@2868
   543
        <exclude name="*.war" />
martin@2868
   544
      </fileset>
martin@2868
   545
      <fileset dir="${base.db}/lib">
martin@2868
   546
        <include name="*" />
martin@2868
   547
      </fileset>
martin@2868
   548
    </copy>
martin@2346
   549
martin@2868
   550
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   551
      <fileset dir="${base.modules}">
martin@2868
   552
        <include name="*/lib/runtime/**" />
martin@2868
   553
      </fileset>
martin@2868
   554
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   555
    </copy>
martin@2868
   556
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   557
  </target>
martin@2346
   558
martin@2868
   559
  <target name="build.web.folder">
martin@2868
   560
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   561
      <fileset dir="${base.web}">
martin@2868
   562
        <include name="*/**" />
martin@2868
   563
        <exclude name="skins/**" />
martin@2868
   564
      </fileset>
martin@2868
   565
    </copy>
asier@2994
   566
    
asier@2994
   567
    <taskdef name="CheckSumCondition" classname="org.openbravo.utils.CheckSumCondition">
asier@2994
   568
        <classpath refid="project.class.path" />
asier@2994
   569
      </taskdef>
asier@2994
   570
    
asier@2994
   571
    <CheckSumCondition obDir="${basedir}/.."
asier@2994
   572
                       type="md5.skins"
asier@2994
   573
                       property="changes.in.md5.skins"/>
asier@2994
   574
    <condition property="do.skins">
asier@2994
   575
      <or>
asier@2994
   576
        <istrue value="${changes.in.md5.skins}" />
asier@2994
   577
        <not>
asier@3013
   578
          <istrue value="${smart.mode}"/>
asier@2994
   579
        </not>
asier@2994
   580
      </or>
asier@2994
   581
    </condition>
asier@2994
   582
    
asier@2994
   583
    <antcall target="build.web.folder.skins"  inheritAll="true" inheritrefs="true" />
asier@2994
   584
    
asier@2994
   585
    <condition property="generateSpritesBool">
asier@2994
   586
        <istrue value="${generateSprites}" />
asier@2994
   587
    </condition>
asier@2994
   588
    <antcall target="generate.sprites" inheritAll="true" inheritrefs="true" />
asier@2994
   589
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
asier@2994
   590
  </target>
asier@2994
   591
    
asier@9013
   592
  
asier@9013
   593
  <target name="build.web.folder.base">
asier@9013
   594
    <mkdir dir="${base.context}/web" />
asier@9013
   595
    <copy todir="${base.context}/web" encoding="UTF-8">
asier@9013
   596
      <fileset dir="${base.modules}">
asier@9013
   597
        <include name="*/web/*/**" />
asier@9013
   598
        <exclude name="*/web/*/skins/**" />
asier@9013
   599
      </fileset>
asier@9013
   600
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*)" to="\3" />
asier@9013
   601
    </copy>
asier@9013
   602
  </target>
martin@2346
   603
asier@2994
   604
  <target name="build.web.folder.skins" if="do.skins">
asier@2994
   605
asier@2994
   606
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
asier@2994
   607
    <mkdir dir="${base.context}/web" />
martin@2868
   608
    <mkdir dir="${base.context}/web/skins" />
martin@2868
   609
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   610
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   611
      <fileset dir="${base.web}/skins" />
martin@2868
   612
    </copy>
martin@2868
   613
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   614
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   615
      <fileset dir="${base.web}/skins" />
martin@2868
   616
    </copy>
martin@2346
   617
asier@9013
   618
    <antcall target="build.web.folder.base" />
martin@2346
   619
martin@2868
   620
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   621
      <fileset dir="${base.modules}">
david@5270
   622
        <include name="*/web/*/skins/**" />
martin@2868
   623
      </fileset>
asier@3604
   624
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   625
    </copy>
carlos@0
   626
martin@2868
   627
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   628
      <fileset dir="${base.modules}">
david@5270
   629
        <include name="*/web/*/skins/**" />
martin@2868
   630
      </fileset>
asier@3604
   631
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*\${file.separator})(skins\${file.separator})(.*)" to="\3\5" />
martin@2868
   632
    </copy>
stefan@2143
   633
martin@2868
   634
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
david@3771
   635
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr" />
martin@2868
   636
      <classpath refid="project.class.path" />
martin@2868
   637
    </java>
asier@2994
   638
    
martin@2868
   639
  </target>
juanpablo@131
   640
martin@2868
   641
  <target name="generate.sprites" description="Performs CSS sprite processing" if="generateSpritesBool">
martin@2868
   642
    <property name="skins.location" location="${base.context}/web/skins/" />
martin@2868
   643
    <taskdef name="smartsprites" classname="org.carrot2.labs.smartsprites.ant.SmartSpritesTask">
martin@2868
   644
      <classpath refid="project.class.path" />
martin@2868
   645
    </taskdef>
martin@2868
   646
    <smartsprites rootdir="${skins.location}" documentrootdir="${skins.location}" outputdir="${skins.location}" cssfilesuffix="-sprite" csspropertyindent="  " loglevel="WARN" spritepngdepth="DIRECT" spritepngie6="false" />
martin@2868
   647
    <move todir="${skins.location}">
martin@2868
   648
      <fileset dir="${skins.location}">
david@11628
   649
        <include name="**/*-sprite.css" />
martin@2868
   650
      </fileset>
martin@2868
   651
      <mapper type="glob" from="*-sprite.css" to="*.css" />
martin@2868
   652
    </move>
martin@2868
   653
  </target>
juanpablo@131
   654
martin@2868
   655
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   656
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   657
      <fileset dir="${base.web}">
martin@2868
   658
        <include name="**/*.js" />
martin@2868
   659
        <include name="**/*.css" />
martin@2868
   660
        <!-- The following scripts break in minification process -->
martin@2868
   661
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   662
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   663
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   664
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   665
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   666
        <exclude name="**/js/xinha/lang/**" />
martin@2868
   667
        <exclude name="**/js/xinha/plugins/**" />
martin@2868
   668
        <!-- dojotoolkit files are already compressd -->
martin@2868
   669
        <exclude name="**/dojotoolkit/**" />
martin@2868
   670
        <!-- from old dojo, only compress main file -->
martin@2868
   671
        <exclude name="**/dojo/**" />
martin@2868
   672
        <include name="js/dojo/dojo.js" />
martin@2868
   673
      </fileset>
martin@2868
   674
    </yuicompress>
martin@2868
   675
  </target>
david@1883
   676
martin@2868
   677
  <target name="postwad">
martin@2868
   678
    <copy todir="${base.design}/design">
martin@2868
   679
      <fileset dir="${build.AD}" includes="**/*.xml" />
martin@2868
   680
    </copy>
martin@2868
   681
    <copy todir="${base.design}/design">
martin@2868
   682
      <fileset dir="${build.AD}" includes="**/*.fo" />
martin@2868
   683
    </copy>
martin@2868
   684
    <copy todir="${base.design}/design">
martin@2868
   685
      <fileset dir="${build.AD}" includes="**/*.html" />
martin@2868
   686
    </copy>
martin@2868
   687
    <copy todir="${base.design}/design">
martin@2868
   688
      <fileset dir="${build.AD}" includes="**/*.srpt" />
martin@2868
   689
    </copy>
martin@2868
   690
    <copy todir="${base.design}/design">
martin@2868
   691
      <fileset dir="${build.AD}" includes="**/*.jrxml" />
martin@2868
   692
    </copy>
martin@2868
   693
    <copy todir="${base.design}/design">
martin@2868
   694
      <fileset dir="${build.AD}" includes="**/*.jasper" />
martin@2868
   695
    </copy>
martin@2868
   696
  </target>
martin@2346
   697
carlos@0
   698
asier@5937
   699
  <target name="eclipse.compile.complete" depends="clean,generate.entities,wad,sqlc,postsrc,translate, trl.remove.unused">
martin@2868
   700
    <antcall target="update.build.timestamp" />
martin@2868
   701
  </target>
martin@2868
   702
martin@2868
   703
  <target name="eclipse.compile" depends="wad,sqlc, postsrc, translate">
martin@2868
   704
  </target>
martin@2868
   705
martin@2868
   706
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   707
  </target>
martin@2868
   708
asier@5937
   709
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate, trl.remove.unused">
martin@2868
   710
    <antcall target="update.build.timestamp" />
martin@2868
   711
  </target>
martin@2868
   712
martin@2868
   713
asier@3013
   714
  <target name="smartbuild.new.wad" if="new.wad">
martin@2868
   715
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   716
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   717
      <classpath refid="project.class.path" />
asier@2854
   718
    </taskdef>
martin@2868
   719
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   720
  </target>
asier@2854
   721
asier@3013
   722
  <target name="smartbuild.no.new.wad" unless="new.wad">
martin@2868
   723
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   724
  </target>
asier@2974
   725
asier@3013
   726
  <target name="smartbuild">
asier@3013
   727
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.new.wad" />
asier@3013
   728
    <antcall inheritall="true" inheritrefs="true" target="smartbuild.no.new.wad" />
martin@2868
   729
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   730
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
asier@9013
   731
    <antcall inheritall="true" inheritrefs="true" target="build.web.folder.base" />
martin@2868
   732
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   733
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   734
  </target>
carlos@0
   735
martin@2868
   736
  <target name="translate" if="translation">
martin@2868
   737
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   738
      <param name="extension" value="html" />
martin@2868
   739
    </antcall>
martin@2868
   740
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   741
      <param name="extension" value="fo" />
martin@2868
   742
    </antcall>
martin@2868
   743
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   744
      <param name="extension" value="srpt" />
martin@2868
   745
    </antcall>
martin@2868
   746
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   747
      <param name="extension" value="jrxml" />
martin@2868
   748
    </antcall>
martin@2868
   749
    <antcall inheritall="true" inheritrefs="true" target="translate.modules" />
martin@2868
   750
  </target>
carlos@0
   751
martin@2868
   752
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
martin@2868
   753
  </target>
asier@1929
   754
martin@2868
   755
  <target name="translate.modules" if="translation">
martin@2868
   756
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   757
      <param name="extension" value="html" />
martin@2868
   758
    </antcall>
martin@2868
   759
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   760
      <param name="extension" value="fo" />
martin@2868
   761
    </antcall>
martin@2868
   762
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   763
      <param name="extension" value="srpt" />
martin@2868
   764
    </antcall>
martin@2868
   765
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   766
      <param name="extension" value="jrxml" />
martin@2868
   767
    </antcall>
martin@2868
   768
  </target>
asier@1929
   769
martin@2868
   770
  <target name="compile.translate.modules">
martin@2868
   771
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   772
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${base.modules}' '*/src'" />
martin@2868
   773
      <classpath refid="project.class.path" />
antonio@7592
   774
      <syspropertyset>
antonio@7592
   775
         <propertyref name="java.security.egd" />
antonio@7592
   776
      </syspropertyset>
martin@2868
   777
    </java>
martin@2868
   778
  </target>
carlos@0
   779
martin@2868
   780
  <target name="installWebService" depends="init" if="wsdd">
asier@4307
   781
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
martin@2868
   782
      <classpath refid="project.class.path" />
asier@4307
   783
    </taskdef>
asier@4307
   784
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   785
             baseDir="${source.path}"
asier@4307
   786
             action="deploy"/>
martin@2868
   787
  </target>
carlos@0
   788
asier@4307
   789
  <target name="uninstallWebService" depends="init">
asier@4307
   790
    <taskdef name="wsAdmin" classname="org.openbravo.erpCommon.utility.WebServiceAdmin">
asier@4307
   791
      <classpath refid="project.class.path" />
asier@4307
   792
    </taskdef>
asier@4307
   793
    <wsAdmin axisServlet="${context.url}/servlet/AxisServlet"
asier@4307
   794
             baseDir="${source.path}"
asier@4307
   795
             action="undeploy"/>
asier@4307
   796
  </target>
carlos@0
   797
martin@2868
   798
  <target name="compile.translate">
martin@2868
   799
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
asier@3980
   800
      <arg line="'${base.config}/Openbravo.properties' ${extension} '${basedir}'" />
martin@2868
   801
      <classpath refid="project.class.path" />
antonio@7592
   802
      <syspropertyset>
antonio@7592
   803
         <propertyref name="java.security.egd" />
antonio@7592
   804
      </syspropertyset>
martin@2868
   805
    </java>
martin@2868
   806
  </target>
carlos@0
   807
stefan@9978
   808
  <!-- Note (see issue 15709 for details):
stefan@9978
   809
       orphan jarfiles are not deleted from the webapp as deployed in tomcat when
stefan@9978
   810
       this rebuild is running inside the rebuild UI (started from MMC). See also the related
stefan@9978
   811
       copy.files.jarsync(.do) task which does this deletion between tomcat stop & start
stefan@9978
   812
   -->
stefan@9978
   813
  <target name="copy.files" depends="copy.files.jarsync.notinrebuildui" if="mode.class">
martin@2868
   814
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
antonio@7595
   815
    <sync todir="${jakarta.base}/webapps/${context.name}">
antonio@7595
   816
      <preserveintarget>
antonio@7595
   817
        <include name="**/WEB-INF/classes/**"/>
stefan@9052
   818
        <include name="**/WEB-INF/lib/**"/>
antonio@7595
   819
      </preserveintarget>
martin@2868
   820
      <fileset dir="${base.context}" />
antonio@7595
   821
    </sync>
martin@2868
   822
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
antonio@7595
   823
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes">
martin@2868
   824
      <fileset dir="${build}" />
antonio@7595
   825
    </sync>
asier@7208
   826
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
asier@7208
   827
      <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
asier@7208
   828
    </copy>
martin@2868
   829
  </target>
ivan@1738
   830
stefan@9978
   831
  <target name="copy.files.jarsync.notinrebuildui" unless="runningInRebuildUI">
stefan@9978
   832
    <antcall target="copy.files.jarsync.do"/>
stefan@9978
   833
  </target>
stefan@9978
   834
stefan@9978
   835
  <!-- sync jar files from WebContent -> deployed webapp & delete orphan jars from webapp
stefan@9978
   836
       as delete orphan is excluded from normal copy.files task -->
stefan@9978
   837
  <target name="copy.files.jarsync.do" if="mode.class">
stefan@9978
   838
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib"/>
stefan@9978
   839
    <sync todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib">
stefan@9978
   840
      <fileset dir="${base.context}/WEB-INF/lib" />
stefan@9978
   841
    </sync>
stefan@9978
   842
  </target>
stefan@9978
   843
martin@2868
   844
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   845
  </target>
asier@1929
   846
martin@2868
   847
  <target name="compile.complete.development" depends="compile.complete, copy.files">
antonio@8136
   848
    <updatesystemstatus v="RB51"/>
martin@2868
   849
  </target>
asier@1929
   850
martin@2868
   851
  <target name="compile.web" depends="build.web.folder">
martin@2868
   852
  </target>
asier@1929
   853
martin@2868
   854
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   855
  </target>
asier@1929
   856
martin@2868
   857
  <target name="build.war">
martin@2868
   858
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   859
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   860
      <zipfileset dir="${base.context}">
martin@2868
   861
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   862
      </zipfileset>
martin@2868
   863
      <classes dir="${build}" />
martin@2868
   864
    </war>
antonio@8136
   865
    <updatesystemstatus v="RB51"/>
martin@2868
   866
  </target>
martin@2868
   867
martin@2868
   868
  <target name="generate-wsdd">
martin@2868
   869
    <delete failonerror="false">
martin@2868
   870
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   871
    </delete>
martin@2868
   872
martin@2868
   873
    <mkdir dir="${build}" />
asier@7861
   874
     <axis-wsdl2java output="${base.src}" verbose="false" url="http://centralrepository.openbravo.com/openbravo/services/WebService3?wsdl" serverside="true" debug="false">
asier@7861
   875
      <mapping namespace="http://centralrepository.openbravo.com/openbravo/services/WebService3" package="org.openbravo.services.webservice" />
asier@7861
   876
      <mapping namespace="/services/WebService3" package="org.openbravo.services.webservice" />
martin@2868
   877
    </axis-wsdl2java>
martin@2868
   878
  </target>
martin@2868
   879
antonio@3372
   880
  <target name="update.build.timestamp" unless="timestamp">
martin@2868
   881
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   882
      <classpath>
martin@2868
   883
        <fileset dir="${base.lib}">
martin@2868
   884
          <include name="**/*.jar">
martin@2868
   885
          </include>
martin@2868
   886
        </fileset>
martin@2868
   887
      </classpath>
martin@2868
   888
      <transaction>
asier@2819
   889
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   890
	      </transaction>
martin@2868
   891
    </sql>
martin@2868
   892
  </target>
asier@1929
   893
carlos@0
   894
</project>