src/build.xml
author Asier Lostalé <asier.lostale@openbravo.com>
Thu, 05 Feb 2009 13:57:52 +0000
changeset 2974 427c8f2f410c
parent 2967 c6279e09eca3
child 2975 9393e98d268e
permissions -rw-r--r--
[quickbuild] Fixed dependencies compilation for generate entities
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. 
carlos@1471
    15
 * The Initial Developer of the Original Code is Openbravo SL 
asier@2826
    16
 * All portions are Copyright (C) 2005-2009 Openbravo SL 
carlos@0
    17
 * All Rights Reserved. 
carlos@0
    18
 * Contributor(s): Openbravo S.L.
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
  <path id="yuicompressor.classpath">
martin@2868
    59
    <fileset dir="../lib/build">
martin@2868
    60
      <include name="**/yuicompressor-2.4.2.jar" />
martin@2868
    61
      <include name="**/YUIAnt.jar" />
martin@2868
    62
    </fileset>
martin@2868
    63
  </path>
martin@2868
    64
  <taskdef name="yuicompress" classname="com.yahoo.platform.yui.compressor.YUICompressTask">
martin@2868
    65
    <classpath refid="yuicompressor.classpath" />
martin@2868
    66
  </taskdef>
stefan@2143
    67
martin@2868
    68
  <condition property="minimizeJSandCSSbool">
martin@2868
    69
    <istrue value="${minimizeJSandCSS}" />
martin@2868
    70
  </condition>
stefan@2143
    71
martin@2868
    72
  <property name="webTab" value="all" />
martin@2868
    73
  <property name="tab" value="%" />
asier@1929
    74
martin@2868
    75
  <property name="base.translate.structure" value="org/openbravo/erpWindows" />
martin@2868
    76
  <property name="client.web.xml" value="${base.client.src}/web.xml" />
martin@2868
    77
  <property name="package" value="" />
martin@2868
    78
  <property name="extension" value="html" />
martin@2868
    79
  <property name="src" value="." />
martin@2868
    80
  <property name="tr" value="yes" />
martin@2868
    81
  <condition property="translation">
martin@2868
    82
    <not>
martin@2868
    83
      <equals arg1="no" arg2="${tr}" />
martin@2868
    84
    </not>
martin@2868
    85
  </condition>
martin@2868
    86
  <target name="init">
martin@2868
    87
    <mkdir dir="${build}" />
martin@2868
    88
    <mkdir dir="${base.design}/design" />
martin@2868
    89
    <mkdir dir="${build.sqlc}" />
martin@2868
    90
    <mkdir dir="${build.sqlc}/src" />
martin@2868
    91
    <mkdir dir="${build.sqlc}/srcAD" />
martin@2868
    92
    <mkdir dir="${build.AD}" />
martin@2868
    93
    <mkdir dir="${build.AD}/org/openbravo/erpWindows" />
martin@2868
    94
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/ad_actionButton" />
martin@2868
    95
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/ad_callouts" />
martin@2868
    96
    <mkdir dir="${build.AD}/org/openbravo/erpCommon/reference" />
martin@2868
    97
    <mkdir dir="${build.docs}" />
martin@2868
    98
  </target>
carlos@0
    99
martin@2868
   100
  <target name="validate.database">
martin@2868
   101
    <taskdef name="validateDatabase" classname="org.openbravo.service.system.SystemValidationTask">
martin@2868
   102
      <classpath refid="project.class.path" />
martin@2868
   103
    </taskdef>
martin@2868
   104
    <validateDatabase userId="0" propertiesFile="${base.config}/Openbravo.properties" type="database" />
martin@2868
   105
  </target>
carlos@0
   106
martin@2868
   107
  <target name="validate.modules">
martin@2868
   108
    <taskdef name="validateModules" classname="org.openbravo.service.system.SystemValidationTask">
martin@2868
   109
      <classpath refid="project.class.path" />
martin@2868
   110
    </taskdef>
martin@2868
   111
    <validateModules userId="0" propertiesFile="${base.config}/Openbravo.properties" type="module" />
martin@2868
   112
  </target>
carlos@0
   113
martin@2868
   114
  <target name="trl.clean" if="translation">
martin@2868
   115
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
martin@2868
   116
      <arg line="clean ${base.config}/Openbravo.properties" />
martin@2868
   117
      <classpath refid="project.class.path" />
martin@2868
   118
    </java>
martin@2868
   119
  </target>
martin@2346
   120
martin@2868
   121
  <target name="clean" depends="trl.clean">
martin@2868
   122
    <property name="complete" value="true" />
martin@2868
   123
    <delete includeEmptyDirs="true" failonerror="false">
martin@2868
   124
      <fileset dir="${base.design}" />
martin@2868
   125
      <fileset dir="${build}" />
martin@2868
   126
      <fileset dir="${build.docs}" />
martin@2868
   127
      <fileset dir="${build.AD}" />
martin@2868
   128
      <fileset dir="${build.sqlc}" />
martin@2868
   129
      <fileset dir="${base.context}">
martin@2868
   130
        <exclude name=".svn" />
martin@2868
   131
        <exclude name="META-INF/MANIFEST.MF" />
martin@2868
   132
      </fileset>
martin@2868
   133
    </delete>
martin@2868
   134
  </target>
carlos@0
   135
martin@2868
   136
  <target name="sqlc" depends="copy.srcClient">
martin@2868
   137
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}">
martin@2868
   138
      <arg line="'${base.config}'/Openbravo.properties .xsql . '${build.sqlc}'/src" />
martin@2868
   139
      <classpath refid="project.class.path" />
martin@2868
   140
    </java>
martin@2868
   141
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}">
martin@2868
   142
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   143
      <classpath refid="project.class.path" />
martin@2868
   144
    </java>
martin@2868
   145
    <copy file="${base.src}/buildAD.xml" tofile="${build.AD}/build.xml" />
martin@2868
   146
    <copy file="${base.src}/log4j.lcf" tofile="${build.AD}/log4j.lcf" />
martin@2868
   147
    <ant dir="${build.AD}" target="buildAD" inheritAll="true" inheritRefs="true" />
martin@2868
   148
  </target>
carlos@0
   149
martin@2868
   150
  <target name="copy.srcClient">
martin@2868
   151
    <mkdir dir="${base.client.src}" />
martin@2868
   152
    <copy todir="${basedir}" overwrite="true" failonerror="false">
martin@2868
   153
      <fileset dir="${base.client.src}">
martin@2868
   154
        <exclude name="**/web.xml" />
martin@2868
   155
      </fileset>
martin@2868
   156
    </copy>
martin@2868
   157
  </target>
martin@2346
   158
martin@2868
   159
  <target name="clean.src.gen">
martin@2868
   160
    <delete includeEmptyDirs="true" failonerror="false">
martin@2868
   161
      <fileset dir="${base.src.gen}" />
martin@2868
   162
    </delete>
martin@2868
   163
  </target>
martin@2868
   164
martin@2868
   165
  <target name="export.sample.data" description="Exports Sample Data">
martin@2868
   166
    <taskdef name="exportsampledata" classname="org.openbravo.service.db.ExportReferenceDataTask">
martin@2868
   167
      <classpath refid="project.class.path" />
martin@2868
   168
    </taskdef>
martin@2868
   169
    <echo message="Exporting sample reference data" />
martin@2868
   170
    <exportsampledata userId="0" propertiesFile="${base.config}/Openbravo.properties" clients="BigBazaar,Accounting Test" />
martin@2868
   171
  </target>
martin@2868
   172
martin@2868
   173
  <target name="import.sample.data" description="Import Sample Data">
martin@2868
   174
    <taskdef name="importsampledata" classname="org.openbravo.service.db.ImportReferenceDataTask">
martin@2868
   175
      <classpath refid="project.class.path" />
martin@2868
   176
    </taskdef>
martin@2868
   177
    <echo message="Importing sample reference data" />
asier@2348
   178
    <importsampledata userId="0" propertiesFile="${base.config}/Openbravo.properties" />
martin@2868
   179
    <ant dir="${base.db}" target="database.postupdate.${bbdd.rdbms}" inheritAll="true" inheritRefs="true" />
martin@2868
   180
  </target>
asier@1929
   181
martin@2868
   182
  <target name="generate.entities" depends="compile.src.gen,clean.src.gen">
martin@2868
   183
    <taskdef name="workflow" classpathref="project.class.path" classname="org.openbravo.base.gen.GenerateEntitiesTask" />
martin@2868
   184
    <!-- debug="true" will perform the in-memory model initialization before generating entities
asier@1929
   185
	if an error occurs then, then a stacktrace is printed. -->
martin@2868
   186
    <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
   187
      <param name="ob.properties.location" value="${base.config}/Openbravo.properties" />
martin@2868
   188
      <param name="base.src.gen" value="${base.src.gen}" />
martin@2868
   189
      <classpath>
martin@2868
   190
        <path refid="project.class.path" />
martin@2868
   191
      </classpath>
martin@2868
   192
    </workflow>
asier@2974
   193
    
asier@2974
   194
    <javac  destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
asier@2974
   195
      <src path="${base.src.gen}"/>
asier@2974
   196
      <src path="${base.src}"/>
asier@2974
   197
      <include name="${base.src.gen}/**, org/openbravo/base/model/**, org/openbravo/dal/**, org/openbravo/base/structure/**, org/openbravo/service/dataset/**"/>
martin@2868
   198
      <classpath refid="project.class.path" />
martin@2868
   199
    </javac>
martin@2868
   200
  </target>
martin@2830
   201
martin@2868
   202
  <!-- 
martin@2830
   203
		Generates entities only when the application dictionary has changed.
martin@2830
   204
		Difference with the generate.entities is that it does not clean the src-gen directory. The standard
martin@2830
   205
		GenerateEntitiesTask always checks if the AD was changed before regenerating. The check is to compare
martin@2830
   206
		the modified time of the generated sources with the updated time of the Application Dictionary. If there
martin@2830
   207
		is a source older than the last updated time of the Application Dictionary then the sources need to be regenerated.		
martin@2830
   208
	-->
martin@2868
   209
  <target name="generate.entities.quick" depends="compile.src.gen">
martin@2843
   210
martin@2868
   211
    <taskdef name="workflow" classpathref="project.class.path" classname="org.openbravo.base.gen.GenerateEntitiesTask" />
martin@2868
   212
    <!-- debug="true" will perform the in-memory model initialization before generating entities
martin@2830
   213
	if an error occurs then, then a stacktrace is printed. -->
martin@2868
   214
    <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
   215
      <param name="ob.properties.location" value="${base.config}/Openbravo.properties" />
martin@2868
   216
      <param name="base.src.gen" value="${base.src.gen}" />
martin@2868
   217
      <classpath>
martin@2868
   218
        <path refid="project.class.path" />
martin@2868
   219
      </classpath>
martin@2868
   220
    </workflow>
asier@2974
   221
    <javac  destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
asier@2974
   222
        <src path="${base.src.gen}"/>
asier@2974
   223
        <src path="${base.src}"/>
asier@2974
   224
        <include name="${base.src.gen}/**, org/openbravo/base/model/**, org/openbravo/dal/**, org/openbravo/base/structure/**, org/openbravo/service/dataset/**"/>
asier@2974
   225
        <classpath refid="project.class.path" />
martin@2868
   226
    </javac>
martin@2868
   227
  </target>
juanpablo@131
   228
martin@2868
   229
  <target name="compileSqlc" depends="sqlc">
asier@2967
   230
    <javac  srcdir="${basedir}:${build.sqlc}/src" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
asier@2967
   231
      <classpath refid="project.class.path" />
asier@2967
   232
    </javac>
asier@2967
   233
    <javac srcdir="${build.sqlc}/srcAD" includes="org/openbravo/erpCommon/reference/**" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
martin@2868
   234
      <classpath refid="project.class.path" />
martin@2868
   235
    </javac>
martin@2868
   236
    <javac srcdir="${build.sqlc}/srcAD" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
martin@2868
   237
      <classpath refid="project.class.path" />
martin@2868
   238
    </javac>
martin@2868
   239
    <javac srcdir="${build.AD}" destdir="${build}" encoding="UTF-8" fork="true" memorymaximumsize="${build.maxmemory}" debug="true" debuglevel="lines,vars,source" deprecation="on">
martin@2868
   240
      <classpath refid="project.class.path" />
martin@2868
   241
    </javac>
martin@2868
   242
  </target>
martin@2346
   243
martin@2868
   244
  <target name="compile.src.gen" depends="init">
asier@2966
   245
    <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
   246
      <classpath refid="project.class.path" />
martin@2868
   247
    </javac>
martin@2868
   248
    <copy todir="${build}">
martin@2868
   249
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   250
    </copy>
martin@2868
   251
    <copy todir="${build}">
martin@2868
   252
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   253
    </copy>
martin@2868
   254
  </target>
martin@2346
   255
martin@2868
   256
  <target name="wad" depends="init">
martin@2868
   257
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
martin@2868
   258
      <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}'" />
martin@2868
   259
      <classpath refid="project.class.path" />
martin@2868
   260
    </java>
martin@2868
   261
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   262
  </target>
martin@2346
   263
martin@2868
   264
  <target name="wad.quick" depends="init">
asier@1929
   265
asier@1929
   266
martin@2868
   267
    <java classname="org.openbravo.wad.Wad" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
martin@2868
   268
      <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
   269
      <classpath refid="project.class.path" />
martin@2868
   270
    </java>
martin@2868
   271
    <antcall target="postwad" inheritall="true" inheritrefs="true" />
martin@2868
   272
  </target>
asier@1929
   273
martin@2868
   274
  <target name="postsrc" depends="postsrc.modules">
martin@2868
   275
    <copy todir="${build}">
martin@2868
   276
      <fileset dir="${basedir}" includes="**/*.properties" />
martin@2868
   277
    </copy>
martin@2868
   278
    <copy todir="${build}">
martin@2868
   279
      <fileset dir="${basedir}" includes="**/*.xslt" />
martin@2868
   280
    </copy>
martin@2868
   281
    <copy todir="${build}">
martin@2868
   282
      <fileset dir="${basedir}" includes="**/*.hbm.xml" />
martin@2868
   283
    </copy>
martin@2868
   284
    <copy todir="${base.design}/design">
martin@2868
   285
      <fileset dir="${basedir}" includes="**/*.xml" />
martin@2868
   286
    </copy>
martin@2868
   287
    <copy todir="${base.design}/design">
martin@2868
   288
      <fileset dir="${basedir}" includes="**/*.fo" />
martin@2868
   289
    </copy>
martin@2868
   290
    <copy todir="${base.design}/design">
martin@2868
   291
      <fileset dir="${basedir}" includes="**/*.html" />
martin@2868
   292
    </copy>
martin@2868
   293
    <copy todir="${base.design}/design">
martin@2868
   294
      <fileset dir="${basedir}" includes="**/*.srpt" />
martin@2868
   295
    </copy>
martin@2868
   296
    <copy todir="${base.design}/design">
martin@2868
   297
      <fileset dir="${basedir}" includes="**/*.jrxml" />
martin@2868
   298
    </copy>
martin@2868
   299
    <copy todir="${base.design}/design">
martin@2868
   300
      <fileset dir="${basedir}" includes="**/*.jasper" />
martin@2868
   301
    </copy>
martin@2868
   302
    <copy todir="${build}">
martin@2868
   303
      <fileset file="${base.config}/quartz.properties" />
martin@2868
   304
    </copy>
martin@2868
   305
    <antcall target="build.local.context" inheritAll="true" inheritrefs="true" />
martin@2868
   306
  </target>
asier@1929
   307
martin@2868
   308
  <target name="postsrc.modules">
martin@2868
   309
    <copy todir="${base.design}/design">
martin@2868
   310
      <fileset dir="${base.modules}">
martin@2868
   311
        <include name="*/src/**/*.xml" />
martin@2868
   312
        <include name="*/src/**/*.fo" />
martin@2868
   313
        <include name="*/src/**/*.html" />
martin@2868
   314
        <include name="*/src/**/*.srpt" />
martin@2868
   315
        <include name="*/src/**/*.jrxml" />
martin@2868
   316
        <include name="*/src/**/*.jasper" />
martin@2868
   317
      </fileset>
martin@2868
   318
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   319
    </copy>
martin@2868
   320
  </target>
asier@1929
   321
martin@2868
   322
  <!-- FIXME: These tasks is only for development and testing purposes, remove it afterwards-->
martin@2868
   323
  <target name="sqlcmod" depends="copy.srcClient">
martin@2868
   324
    <java classname="org.openbravo.data.Sqlc" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}">
martin@2868
   325
      <arg line="'${base.config}'/Openbravo.properties .xsql '${base.modules}' '${build.sqlc}'/src */src" />
martin@2868
   326
      <classpath refid="project.class.path" />
martin@2868
   327
    </java>
martin@2868
   328
  </target>
asier@1929
   329
martin@2868
   330
  <target name="compileSqlcmod" depends="sqlcmod">
martin@2868
   331
    <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
   332
      <classpath refid="project.class.path" />
martin@2868
   333
    </javac>
martin@2868
   334
  </target>
martin@2868
   335
  <target name="postsrcmod">
martin@2868
   336
    <copy todir="${base.design}/design">
martin@2868
   337
      <fileset dir="${base.modules}" includes="*/src/**/*.html" />
martin@2868
   338
      <mapper type="regexp" from="(.*\${file.separator}src)(.*)" to="\2" />
martin@2868
   339
    </copy>
martin@2868
   340
  </target>
asier@1929
   341
martin@2868
   342
  <!-- end of auxiliar tasks-->
martin@2346
   343
martin@2868
   344
  <target name="build.local.context">
martin@2868
   345
    <copy todir="${base.context}" encoding="UTF-8">
martin@2868
   346
      <fileset file="${basedir}/index.html" />
martin@2868
   347
    </copy>
martin@2868
   348
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   349
      <fileset file="${build.sqlc}/src/web.xml" />
martin@2868
   350
      <fileset dir="${base.config}">
martin@2868
   351
        <exclude name="**/eclipse/**" />
martin@2868
   352
        <exclude name="**/setup-properties**" />
martin@2868
   353
        <exclude name="*.template" />
asier@2974
   354
        <exclude name="checksums"/>
martin@2868
   355
      </fileset>
martin@2868
   356
    </copy>
martin@2868
   357
    <copy todir="${base.context}/WEB-INF" encoding="UTF-8">
martin@2868
   358
      <fileset dir="${base.modules}">
martin@2868
   359
        <include name="*/config/**" />
martin@2868
   360
        <exclude name="*.template" />
martin@2868
   361
      </fileset>
martin@2868
   362
      <mapper type="regexp" from="(.*\${file.separator}config)(.*)" to="\2" />
martin@2868
   363
    </copy>
martin@2868
   364
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   365
      <fileset dir="${base.lib}/runtime">
martin@2868
   366
        <exclude name="openbravo-wad.jar" />
martin@2868
   367
        <exclude name="openbravo-trl.jar" />
martin@2868
   368
        <exclude name="servlet-api.jar" />
martin@2868
   369
        <exclude name="*.war" />
martin@2868
   370
      </fileset>
martin@2868
   371
      <fileset dir="${base.db}/lib">
martin@2868
   372
        <include name="*" />
martin@2868
   373
      </fileset>
martin@2868
   374
    </copy>
martin@2346
   375
martin@2868
   376
    <copy todir="${base.context}/WEB-INF/lib" encoding="UTF-8">
martin@2868
   377
      <fileset dir="${base.modules}">
martin@2868
   378
        <include name="*/lib/runtime/**" />
martin@2868
   379
      </fileset>
martin@2868
   380
      <mapper type="regexp" from="(.*\${file.separator}lib\${file.separator}runtime)(.*)" to="\2" />
martin@2868
   381
    </copy>
martin@2868
   382
    <antcall target="build.web.folder" inheritAll="true" inheritrefs="true" />
martin@2868
   383
  </target>
martin@2346
   384
martin@2868
   385
  <target name="build.web.folder">
martin@2868
   386
    <delete includeEmptyDirs="true" dir="${base.context}/web/skins" quiet="yes" />
martin@2868
   387
    <mkdir dir="${base.context}/web" />
martin@2346
   388
martin@2868
   389
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   390
      <fileset dir="${base.web}">
martin@2868
   391
        <include name="*/**" />
martin@2868
   392
        <exclude name="skins/**" />
martin@2868
   393
      </fileset>
martin@2868
   394
    </copy>
martin@2346
   395
martin@2868
   396
    <mkdir dir="${base.context}/web/skins" />
martin@2868
   397
    <mkdir dir="${base.context}/web/skins/ltr" />
martin@2868
   398
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   399
      <fileset dir="${base.web}/skins" />
martin@2868
   400
    </copy>
martin@2868
   401
    <mkdir dir="${base.context}/web/skins/rtl" />
martin@2868
   402
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   403
      <fileset dir="${base.web}/skins" />
martin@2868
   404
    </copy>
martin@2346
   405
martin@2868
   406
    <copy todir="${base.context}/web" encoding="UTF-8">
martin@2868
   407
      <fileset dir="${base.modules}">
martin@2868
   408
        <include name="*/web/*/**" />
martin@2868
   409
        <exclude name="*/web/**/skins/**" />
martin@2868
   410
      </fileset>
martin@2868
   411
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*)" to="\3" />
martin@2868
   412
    </copy>
martin@2346
   413
martin@2868
   414
    <copy todir="${base.context}/web/skins/ltr" encoding="UTF-8">
martin@2868
   415
      <fileset dir="${base.modules}">
martin@2868
   416
        <include name="*/web/*/**/skins/**" />
martin@2868
   417
      </fileset>
martin@2868
   418
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*)" to="\3" />
martin@2868
   419
    </copy>
carlos@0
   420
martin@2868
   421
    <copy todir="${base.context}/web/skins/rtl" encoding="UTF-8">
martin@2868
   422
      <fileset dir="${base.modules}">
martin@2868
   423
        <include name="*/web/*/**/skins/**" />
martin@2868
   424
      </fileset>
martin@2868
   425
      <mapper type="regexp" from="(.*)(\${file.separator}web)(.*)" to="\3" />
martin@2868
   426
    </copy>
stefan@2143
   427
martin@2868
   428
    <java classname="org.openbravo.translate.RTLSkin" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
martin@2868
   429
      <arg line="${base.context}/web/skins/rtl ${base.context}/web/skins/ltr ${base.web}/skins" />
martin@2868
   430
      <classpath refid="project.class.path" />
martin@2868
   431
    </java>
martin@2868
   432
    <condition property="generateSpritesBool">
martin@2868
   433
      <istrue value="${generateSprites}" />
martin@2868
   434
    </condition>
martin@2868
   435
    <antcall target="generate.sprites" inheritAll="true" inheritrefs="true" />
martin@2868
   436
    <antcall target="minimizeJSandCSS" inheritAll="true" inheritrefs="true" />
martin@2868
   437
  </target>
juanpablo@131
   438
martin@2868
   439
  <target name="generate.sprites" description="Performs CSS sprite processing" if="generateSpritesBool">
martin@2868
   440
    <property name="skins.location" location="${base.context}/web/skins/" />
martin@2868
   441
    <taskdef name="smartsprites" classname="org.carrot2.labs.smartsprites.ant.SmartSpritesTask">
martin@2868
   442
      <classpath refid="project.class.path" />
martin@2868
   443
    </taskdef>
martin@2868
   444
    <smartsprites rootdir="${skins.location}" documentrootdir="${skins.location}" outputdir="${skins.location}" cssfilesuffix="-sprite" csspropertyindent="  " loglevel="WARN" spritepngdepth="DIRECT" spritepngie6="false" />
martin@2868
   445
    <move todir="${skins.location}">
martin@2868
   446
      <fileset dir="${skins.location}">
martin@2868
   447
        <include name="*/*-sprite.css" />
martin@2868
   448
        <include name="*/*/*-sprite.css" />
martin@2868
   449
      </fileset>
martin@2868
   450
      <mapper type="glob" from="*-sprite.css" to="*.css" />
martin@2868
   451
    </move>
martin@2868
   452
  </target>
juanpablo@131
   453
martin@2868
   454
  <target name="minimizeJSandCSS" description="minimize JS and CSS files" if="minimizeJSandCSSbool">
martin@2868
   455
    <yuicompress linebreak="300" warn="false" munge="yes" preserveallsemicolons="true" outputfolder="${base.context}/web" charset="UTF-8">
martin@2868
   456
      <fileset dir="${base.web}">
martin@2868
   457
        <include name="**/*.js" />
martin@2868
   458
        <include name="**/*.css" />
martin@2868
   459
        <!-- The following scripts break in minification process -->
martin@2868
   460
        <exclude name="**/js/dojo/src/docs.js" />
martin@2868
   461
        <exclude name="**/js/dojo/src/hostenv_jsc.js" />
martin@2868
   462
        <exclude name="**/js/jscalendar/lang/calendar-al.js" />
martin@2868
   463
        <exclude name="**/js/jscalendar/lang/calendar-he-utf8.js" />
martin@2868
   464
        <exclude name="**/js/jscalendar/lang/calendar-hr.js" />
martin@2868
   465
        <exclude name="**/js/xinha/lang/**" />
martin@2868
   466
        <exclude name="**/js/xinha/plugins/**" />
martin@2868
   467
        <!-- dojotoolkit files are already compressd -->
martin@2868
   468
        <exclude name="**/dojotoolkit/**" />
martin@2868
   469
        <!-- from old dojo, only compress main file -->
martin@2868
   470
        <exclude name="**/dojo/**" />
martin@2868
   471
        <include name="js/dojo/dojo.js" />
martin@2868
   472
      </fileset>
martin@2868
   473
    </yuicompress>
martin@2868
   474
  </target>
david@1883
   475
martin@2868
   476
  <target name="postwad">
martin@2868
   477
    <copy todir="${base.design}/design">
martin@2868
   478
      <fileset dir="${build.AD}" includes="**/*.xml" />
martin@2868
   479
    </copy>
martin@2868
   480
    <copy todir="${base.design}/design">
martin@2868
   481
      <fileset dir="${build.AD}" includes="**/*.fo" />
martin@2868
   482
    </copy>
martin@2868
   483
    <copy todir="${base.design}/design">
martin@2868
   484
      <fileset dir="${build.AD}" includes="**/*.html" />
martin@2868
   485
    </copy>
martin@2868
   486
    <copy todir="${base.design}/design">
martin@2868
   487
      <fileset dir="${build.AD}" includes="**/*.srpt" />
martin@2868
   488
    </copy>
martin@2868
   489
    <copy todir="${base.design}/design">
martin@2868
   490
      <fileset dir="${build.AD}" includes="**/*.jrxml" />
martin@2868
   491
    </copy>
martin@2868
   492
    <copy todir="${base.design}/design">
martin@2868
   493
      <fileset dir="${build.AD}" includes="**/*.jasper" />
martin@2868
   494
    </copy>
martin@2868
   495
  </target>
martin@2346
   496
carlos@0
   497
martin@2868
   498
  <target name="eclipse.compile.complete" depends="clean,generate.entities,wad,sqlc,postsrc,translate">
martin@2868
   499
    <antcall target="update.build.timestamp" />
martin@2868
   500
  </target>
martin@2868
   501
martin@2868
   502
  <target name="eclipse.compile" depends="wad,sqlc, postsrc, translate">
martin@2868
   503
  </target>
martin@2868
   504
martin@2868
   505
  <target name="compile.src" depends="compileSqlc, postsrc, copy.files">
martin@2868
   506
  </target>
martin@2868
   507
martin@2868
   508
  <target name="compile.complete" depends="clean,generate.entities,wad,compileSqlc,postsrc,translate">
martin@2868
   509
    <antcall target="update.build.timestamp" />
martin@2868
   510
  </target>
martin@2868
   511
martin@2868
   512
martin@2868
   513
  <target name="build.quick.new.wad" if="new.wad">
martin@2868
   514
    <antcall inheritall="true" inheritrefs="true" target="wad" />
asier@2854
   515
    <taskdef name="updateWADmd5" classname="org.openbravo.utils.WADCheckSumTask">
asier@2854
   516
      <classpath refid="project.class.path" />
asier@2854
   517
    </taskdef>
martin@2868
   518
    <updateWADmd5 obDir="${basedir}/.." />
martin@2868
   519
  </target>
asier@2854
   520
martin@2868
   521
  <target name="build.quick.no.new.wad" unless="new.wad">
martin@2868
   522
    <antcall inheritall="true" inheritrefs="true" target="wad.quick" />
asier@2974
   523
  </target>
asier@2974
   524
asier@2974
   525
  <target name="build.quick">
asier@2974
   526
    <antcall inheritall="true" inheritrefs="true" target="build.quick.new.wad" />
asier@2974
   527
    <antcall inheritall="true" inheritrefs="true" target="build.quick.no.new.wad" />
martin@2868
   528
    <antcall inheritall="true" inheritrefs="true" target="compileSqlc" />
martin@2868
   529
    <antcall inheritall="true" inheritrefs="true" target="postsrc" />
martin@2868
   530
    <antcall inheritall="true" inheritrefs="true" target="translate" />
martin@2868
   531
    <antcall inheritall="true" inheritrefs="true" target="update.build.timestamp" />
martin@2868
   532
  </target>
carlos@0
   533
martin@2868
   534
  <target name="translate" if="translation">
martin@2868
   535
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   536
      <param name="extension" value="html" />
martin@2868
   537
    </antcall>
martin@2868
   538
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   539
      <param name="extension" value="fo" />
martin@2868
   540
    </antcall>
martin@2868
   541
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   542
      <param name="extension" value="srpt" />
martin@2868
   543
    </antcall>
martin@2868
   544
    <antcall inheritall="true" inheritrefs="true" target="compile.translate">
martin@2868
   545
      <param name="extension" value="jrxml" />
martin@2868
   546
    </antcall>
martin@2868
   547
    <antcall inheritall="true" inheritrefs="true" target="translate.modules" />
martin@2868
   548
  </target>
carlos@0
   549
martin@2868
   550
  <target name="compile" depends="wad,compileSqlc, postsrc, translate">
martin@2868
   551
  </target>
asier@1929
   552
martin@2868
   553
  <target name="translate.modules" if="translation">
martin@2868
   554
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   555
      <param name="extension" value="html" />
martin@2868
   556
    </antcall>
martin@2868
   557
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   558
      <param name="extension" value="fo" />
martin@2868
   559
    </antcall>
martin@2868
   560
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   561
      <param name="extension" value="srpt" />
martin@2868
   562
    </antcall>
martin@2868
   563
    <antcall inheritall="true" inheritrefs="true" target="compile.translate.modules">
martin@2868
   564
      <param name="extension" value="jrxml" />
martin@2868
   565
    </antcall>
martin@2868
   566
  </target>
asier@1929
   567
martin@2868
   568
  <target name="compile.translate.modules">
martin@2868
   569
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
martin@2868
   570
      <arg line="'${base.config}'/Openbravo.properties ${extension} ${base.modules} '${package}' '*/src'" />
martin@2868
   571
      <classpath refid="project.class.path" />
martin@2868
   572
    </java>
martin@2868
   573
  </target>
carlos@0
   574
martin@2868
   575
  <target name="installWebService" depends="init" if="wsdd">
martin@2868
   576
    <java classname="org.apache.axis.client.AdminClient" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}">
martin@2868
   577
      <arg line="-l${context.url}/servlet/AxisServlet ${src}/deploy.wsdd" />
martin@2868
   578
      <classpath refid="project.class.path" />
martin@2868
   579
    </java>
martin@2868
   580
  </target>
carlos@0
   581
carlos@0
   582
martin@2868
   583
  <target name="compile.translate">
martin@2868
   584
    <java classname="org.openbravo.translate.Translate" jvm="${env.JAVA_HOME}/bin/java" fork="yes" maxmemory="${build.maxmemory}">
martin@2868
   585
      <arg line="'${base.config}'/Openbravo.properties ${extension} ${basedir} ${package}" />
martin@2868
   586
      <classpath refid="project.class.path" />
martin@2868
   587
    </java>
martin@2868
   588
  </target>
carlos@0
   589
ivan@1738
   590
martin@2868
   591
  <target name="uninstallWebService" depends="init">
martin@2868
   592
    <java classname="org.apache.axis.client.AdminClient" fork="yes" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}">
martin@2868
   593
      <arg line="-l${context.url}/servlet/AxisServlet ${src}/undeploy.wsdd" />
martin@2868
   594
      <classpath refid="project.class.path" />
martin@2868
   595
    </java>
martin@2868
   596
  </target>
ivan@1738
   597
martin@2868
   598
  <target name="copy.files">
martin@2868
   599
    <mkdir dir="${jakarta.base}/webapps/${context.name}" />
martin@2868
   600
    <copy todir="${jakarta.base}/webapps/${context.name}" encoding="UTF-8">
martin@2868
   601
      <fileset dir="${base.context}" />
martin@2868
   602
    </copy>
martin@2868
   603
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" />
martin@2868
   604
    <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/classes" encoding="UTF-8">
martin@2868
   605
      <fileset dir="${build}" />
martin@2868
   606
    </copy>
martin@2868
   607
  </target>
ivan@1738
   608
martin@2868
   609
  <target name="compile.development" depends="generate.entities, compile, copy.files">
martin@2868
   610
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
martin@2868
   611
    <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
martin@2868
   612
    </copy>
martin@2868
   613
  </target>
asier@1929
   614
martin@2868
   615
  <target name="compile.complete.development" depends="compile.complete, copy.files">
martin@2868
   616
    <mkdir dir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" />
martin@2868
   617
    <copy todir="${jakarta.base}/webapps/${context.name}/WEB-INF/lib" file="${build.core.lib}/openbravo-core.jar" encoding="UTF-8">
martin@2868
   618
    </copy>
martin@2868
   619
  </target>
asier@1929
   620
martin@2868
   621
  <target name="compile.web" depends="build.web.folder">
martin@2868
   622
  </target>
asier@1929
   623
martin@2868
   624
  <target name="compile.web.development" depends="build.web.folder, copy.files">
martin@2868
   625
  </target>
asier@1929
   626
martin@2868
   627
  <target name="build.war">
martin@2868
   628
    <delete failonerror="false" file="${base.lib}/${context.name}.war" />
martin@2868
   629
    <war compress="true" destfile="${base.lib}/${context.name}.war" encoding="UTF-8" webxml="${base.context}/WEB-INF/web.xml">
martin@2868
   630
      <zipfileset dir="${base.context}">
martin@2868
   631
        <exclude name="**/WEB-INF/web.xml" />
martin@2868
   632
        <exclude name="**/WEB-INF/lib/servlet-api.jar" />
martin@2868
   633
      </zipfileset>
martin@2868
   634
      <classes dir="${build}" />
martin@2868
   635
    </war>
martin@2868
   636
  </target>
martin@2868
   637
martin@2868
   638
  <target name="generate-wsdd">
martin@2868
   639
    <delete failonerror="false">
martin@2868
   640
      <fileset dir="${base.src}/org/openbravo/services/webservice" includes="**/*" />
martin@2868
   641
    </delete>
martin@2868
   642
martin@2868
   643
    <mkdir dir="${build}" />
martin@2868
   644
    <axis-wsdl2java output="${base.src}" verbose="false" url="http://67.202.45.105/openbravo/services/WebService?wsdl" serverside="true" debug="false">
martin@2868
   645
      <mapping namespace="http://67.202.45.105/openbravo/services/WebService" package="org.openbravo.services.webservice" />
martin@2868
   646
      <mapping namespace="/services/WebService" package="org.openbravo.services.webservice" />
martin@2868
   647
    </axis-wsdl2java>
martin@2868
   648
  </target>
martin@2868
   649
martin@2868
   650
  <target name="update.build.timestamp">
martin@2868
   651
    <sql driver="${bbdd.driver}" url="${bbdd.owner.url}" userid="${bbdd.user}" password="${bbdd.password}" delimiter="/">
martin@2868
   652
      <classpath>
martin@2868
   653
        <fileset dir="${base.lib}">
martin@2868
   654
          <include name="**/*.jar">
martin@2868
   655
          </include>
martin@2868
   656
        </fileset>
martin@2868
   657
      </classpath>
martin@2868
   658
      <transaction>
asier@2819
   659
	        UPDATE AD_SYSTEM_INFO SET LAST_BUILD=NOW()
asier@2819
   660
	      </transaction>
martin@2868
   661
    </sql>
martin@2868
   662
  </target>
asier@1929
   663
carlos@0
   664
</project>