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