Author: ronvoe122
Date: 2007-04-10 13:30:45-0700
New Revision: 10436
Added:
trunk/build/build-torque.xml
- copied unchanged from r10433, /trunk/src/conf/conf/build-torque.xml
trunk/src/conf/conf/create-db.bat
trunk/src/nsis/
trunk/src/nsis/before-install.nsh
trunk/src/nsis/startmenu-shortcuts.nsh
trunk/src/sql/hypersonic/standard-init.sql
- copied, changed from r10435, /trunk/src/sql/hypersonic/standard-hypersonic-init.sql
trunk/src/sql/mysql/create-db.sql
- copied unchanged from r10433, /trunk/src/sql/mysql/create-mysql-db.sql
trunk/src/sql/oracle/standard-init.sql
- copied unchanged from r10433, /trunk/src/sql/oracle/standard-oracle-init.sql
trunk/src/sql/postgresql/create-db.sql
- copied unchanged from r10433, /trunk/src/sql/postgresql/create-postgresql-db.sql
trunk/src/sql/prepare-dummy-tables.sql
- copied unchanged from r10433, /trunk/src/sql/oracle/prepare-oracle-dummy-tables.sql
trunk/src/sql/upgrade/
trunk/src/sql/upgrade/upgrade-0.22-resize_id_prefix.sql
trunk/www/repository/hsqldb/jars/hsqldb-1.8.0.7.jar (contents, props changed)
Removed:
trunk/build/nsis_project_template.jelly
trunk/build/nsis_setup_template.jelly
trunk/src/conf/conf/build-torque.xml
trunk/src/java/org/tigris/scarab/util/build/AntSchemaFix.java
trunk/src/sql/db2/
trunk/src/sql/db2400/
trunk/src/sql/hypersonic/create-hypersonic-db.sql
trunk/src/sql/hypersonic/hsqldb-1.7.1.jar
trunk/src/sql/hypersonic/prepare-hypersonic-dummy-tables.sql
trunk/src/sql/hypersonic/runServer.bat
trunk/src/sql/hypersonic/runServer.sh
trunk/src/sql/hypersonic/scarab.properties
trunk/src/sql/hypersonic/scarab.script
trunk/src/sql/hypersonic/standard-hypersonic-init.sql
trunk/src/sql/hypersonic/upgrade/
trunk/src/sql/mssql/
trunk/src/sql/mysql/create-mysql-db.sql
trunk/src/sql/mysql/prepare-mysql-dummy-tables.sql
trunk/src/sql/mysql/standard-mysql-init.sql
trunk/src/sql/oracle/prepare-oracle-dummy-tables.sql
trunk/src/sql/oracle/standard-oracle-init.sql
trunk/src/sql/postgresql/create-postgresql-db.sql
trunk/src/sql/postgresql/prepare-postgresql-dummy-tables.sql
trunk/src/sql/postgresql/standard-postgresql-init.sql
trunk/www/repository/hsqldb/jars/hsqldb-1.7.2.2.jar
Modified:
trunk/build/build.xml
trunk/maven.xml
trunk/project.properties
trunk/project.xml
trunk/src/conf/conf/build.xml
trunk/src/schema/scarab-schema.xml
trunk/xdocs/scarab_properties.xml
Log:
[SCB1675] Windows Installer for a standalone Scarab:
- includes a ready to use embedded hsqldb containing sample data
- checks for java_home
- creates start-menu-entries for
- client
- server startup/shutdown
- database creation using the settings in custom.properties
Implementation details:
- removed all dependencies from torque generator in runtime build
- moved sql generation from runtime build to regular build
- made length of module_code in scarab-schema.xml static
- added a target to build sql for all supported databases at once
- upgraded hsqldb to v1.8
- removed obsolete AntSchemaFix.java
- cleaned up runtime build
- removed database types from file names
- created a directory for common upgrade scripts
- cleaned directory structure for sql scripts
- target/sql/all containing the original sql for all supported rdbms
- target/sql/current containing the prepared sql
for the currently configured rdbms instance
- create and execute one single script to populate target database
- scripts which are not required for each rdbms are now optional (eg. standard-init.sql)
- restructured the maven nsis goal
- new name scarab:windows-installer
- reused the default nsis templates (removed the customized version)
- added a nsis directory to src directory for nsis customizations
- maven looks for the nsis exe in the default windows program directory
(should also work with french and german windows installations)
Modified: trunk/build/build.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/build/build.xml?view=diff&rev=10436&p1=trunk/build/build.xml&p2=trunk/build/build.xml&r1=10435&r2=10436
==============================================================================
--- trunk/build/build.xml (original)
+++ trunk/build/build.xml 2007-04-10 13:30:45-0700
@@ -52,9 +52,6 @@
<property name="src.templates.dir" value="${src.webinf.dir}/templates"/>
<property name="src.test.dir" value="${src.dir}/test"/>
- <property name="torque.dir.scarab" value="${build.dir}/torque"/>
- <property name="torque.java.dir" value="${build.src.scarab}/torque"/>
-
<property name="torquedoc.destdir" value="${build.dir}/torquedoc"/>
<property name="scarab.war.file.dir" value="${build.dir}"/>
<property name="scarab.war.file.name" value="scarab.war"/>
@@ -83,52 +80,30 @@
</path>
<!-- ================================================================== -->
- <!-- Scarab Welcome header -->
+ <!-- Ensures, that the Build directory exists -->
<!-- ================================================================== -->
- <target name="scarab-welcome">
- <tstamp/>
- <echo>
- _________ B U I L D S Y S T E M ___.
- / _____/ ____ _____ ____________ \_ |__
- \_____ \_/ ___\\__ \\_ __ \__ \ | __ \
- / \ \___ / __ \| | \// __ \| \_\ \
-/_______ /\___ >____ /__| (____ /___ /
- \/ \/ \/ \/ \/
-
- [${version}-${DSTAMP}${TSTAMP}]
-
- Running with following options:
-
- Scarab:
- administrator = ${scarab.user.username}
-
- Scarab Database:
- type = ${scarab.database.type}
- instance name = ${scarab.database.name}
- runtime user = ${scarab.database.username}
- admin user = ${scarab.database.admin.username}
-
- Database Connection:
- host = ${scarab.database.host}
- port = ${scarab.database.port}
- url = ${scarab.database.url}
- jdbc driver = ${scarab.database.jdbc.driver}
+ <target name="create-build-dir" >
- </echo>
+ <echo message="Build Dir: ${build.dir}"/>
+ <mkdir dir="${build.dir}"/>
</target>
-
+
<!-- ================================================================== -->
- <!-- Ensures, that the Build directory exists -->
+ <!-- Prepares the deploy directory -->
<!-- ================================================================== -->
- <target name="create-build-dir" depends="scarab-welcome">
- <echo message="Build Dir: ${build.dir}"/>
- <mkdir dir="${build.dir}"/>
- </target>
+ <target name="create-deployment-directory">
+ <echo>
++-------------------------------------------------------------
+|
+| Bootstrap build for Scarab using configuration:
+|
+| Build directory ${build.project}
++-------------------------------------------------------------
+ </echo>
- <target name="create-webapp-lib" depends="create-build-dir">
<!-- =============================== -->
<!-- copy the core libraries (.jars) -->
<!-- =============================== -->
@@ -144,32 +119,10 @@
<fileset dir="${repository.dir}">
<exclude name="**/servlet*.jar"/>
<exclude name="**/xalan*.jar"/>
- <exclude name="**/${scarab.database.jdbc.driver.jar.mysql}"/>
- <exclude name="**/${scarab.database.jdbc.driver.jar.postgres}"/>
- <exclude name="**/${scarab.database.jdbc.driver.jar.hypersonic}"/>
- <exclude name="**/${scarab.database.jdbc.driver.jar.mssql}"/>
- <exclude name="**/${scarab.database.jdbc.driver.jar.oracle}"/>
- <exclude name="**/${scarab.database.jdbc.driver.jar.db2}"/>
<include name="**/**.jar"/>
</fileset>
</copy>
- </target>
-
- <!-- ================================================================== -->
- <!-- Prepares the build directory -->
- <!-- ================================================================== -->
-
- <target name="prepare-build" depends="create-webapp-lib">
-
- <echo>
-+-------------------------------------------------------------
-|
-| Bootstrap build for Scarab using configuration:
-|
-| Build directory ${build.project}
-+-------------------------------------------------------------
- </echo>
<!-- ====================================== -->
<!-- Conditionally copy extension libraries -->
@@ -177,16 +130,6 @@
<available property="extensions.lib.exist"
file="${extensions.lib.dir}"/>
<antcall target="copy-lib-extensions"/>
-
- </target>
-
-
- <!-- ================================================================== -->
- <!-- Prepares the deploy directory -->
- <!-- ================================================================== -->
-
- <target name="create-deployment-directory">
-
<echo>
+-------------------------------------------------------------
|
@@ -232,28 +175,8 @@
<!-- ==================================== -->
<echo> copy the database source files </echo>
<!-- ==================================== -->
- <copy todir="${build.project}/database/src" filtering="no">
- <fileset dir="${src.dir}">
- <include name="sql/**"/>
- <include name="schema/**"/>
- </fileset>
- <fileset dir="${src.dir}/conf">
- <include name="torque.static.props"/>
- </fileset>
- </copy>
-
- <!-- ==================================== -->
- <echo> copy the database drivers ... </echo>
- <!-- ==================================== -->
- <copy todir="${build.project}/database/src/drivers" filtering="no">
- <fileset dir="${repository.dir}">
- <include name="**/${scarab.database.jdbc.driver.jar.mysql}"/>
- <include name="**/${scarab.database.jdbc.driver.jar.postgres}"/>
- <include name="**/${scarab.database.jdbc.driver.jar.hypersonic}"/>
- <include name="**/${scarab.database.jdbc.driver.jar.mssql}"/>
- <include name="**/${scarab.database.jdbc.driver.jar.oracle}"/>
- <include name="**/${scarab.database.jdbc.driver.jar.db2}"/>
- </fileset>
+ <copy todir="${build.project}/sql/all">
+ <fileset dir="${src.dir}/sql"/>
</copy>
<!-- ======================================== -->
@@ -347,89 +270,90 @@
</filterset>
</copy>
</target>
-
- <!-- ================================================================== -->
- <!-- Copy all of the xml schema files into the torque directory -->
- <!-- ================================================================== -->
- <target name="torque-copy-scarab-schema">
- <!-- copy the schema's to the torque directory -->
- <copy file="${src.schema.dir}/${project}-schema.xml"
- todir="${torque.dir.scarab}/schema"
- filtering="true" overwrite="true">
- <filterset>
- <filter token="SCARAB_MODULE_CODE_LENGTH" value="${scarab.module.code.length}"/>
- </filterset>
- </copy>
- <copy file="${src.schema.dir}/id-table-schema.xml"
- todir="${torque.dir.scarab}/schema"
- filtering="true" overwrite="true"/>
-
- <!-- we don't want to generate the OM objects for Turbine
- tables because they already exists in the fulcrum.jar -->
- <delete file="${torque.dir.scarab}/schema/turbine-schema.xml"/>
-
- </target>
<!-- ================================================================== -->
<!-- Generate OM/Peer classes from Torque -->
<!-- Main target: generate-om -->
<!-- ================================================================== -->
- <target name="om-peer-generated-check" depends="create-build-dir">
- <echo message="checking: ${src.java.dir.scarab}/report.scarab.om.generation"/>
- <uptodate property="gen.uptodate"
+ <target name="check-om-uptodate" depends="create-build-dir">
+ <uptodate property="om.uptodate"
targetfile="${src.java.dir.scarab}/report.scarab.om.generation">
<srcfiles dir="${src.schema.dir}"
includes="${scarab.torque.schemas}"/>
</uptodate>
</target>
- <target name="om-peer-java-generator" depends="om-peer-generated-check,create-webapp-lib"
- unless="gen.uptodate">
-
- <antcall target="torque-copy-scarab-schema" />
+ <target name="generate-om" depends="check-om-uptodate"
+ unless="om.uptodate">
- <copy file="${src.conf.dir}/conf/build-torque.xml"
- tofile="build-torque.xml"
- filtering="true" overwrite="true"/>
-
- <echo>Now call the Torque Generator</echo>
<ant antfile="build-torque.xml" target="om" inheritAll="false">
<property name="lib.dir" value="${repository.dir}"/>
- <property name="torque.schema.dir" value="${torque.dir.scarab}/schema"/>
+ <property name="torque.schema.dir" value="${src.schema.dir}"/>
<property name="torque.java.dir" value="${src.java.dir.scarab}"/>
<property name="torque.contextProperties" value="${src.conf.dir}/torque.static.props"/>
- <property name="torque.database" value="${scarab.database.type}"/>
- <property name="torque.database.driver" value="${scarab.database.jdbc.driver}"/>
- <property name="torque.database.url" value="${scarab.database.url}"/>
- <property name="torque.database.user" value="${scarab.database.admin.username}"/>
- <property name="torque.database.password" value="${scarab.database.admin.password}"/>
+ <property name="torque.database" value="default"/>
</ant>
</target>
- <target name="generate-om" depends="om-peer-java-generator"
- unless="gen.uptodate">
- </target>
- <!-- ================================================================== -->
-
<!-- ================================================================== -->
- <!-- Load database-drivers -->
+ <!-- Generate SQL from Torque for a specified database type. Set the -->
+ <!-- generatesql.database.type property when calling this target to -->
+ <!-- specify the required database type. -->
<!-- ================================================================== -->
- <target name="load-drivers" >
-
- <ant antfile="build.xml"
- target="load-drivers"
- inheritAll="false"
- dir="${runtime.config.dir}">
+ <target name="sql-specific-db" depends="check-sql-uptodate"
+ unless="sql.uptodate">
+
+ <ant antfile="build-torque.xml" target="sql" inheritAll="false">
+ <property name="lib.dir" value="${repository.dir}"/>
+ <property name="torque.schema.dir" value="${src.schema.dir}"/>
+ <property name="torque.sql.dir" value="${build.project}/sql/all/${generatesql.database.type}"/>
+ <property name="torque.contextProperties" value="${src.conf.dir}/torque.static.props"/>
+ <property name="torque.database" value="${generatesql.database.type}"/>
</ant>
+
+ </target>
+ <target name="check-sql-uptodate">
+ <echo message="check sql for ${generatesql.database.type}" />
+ <uptodate property="sql.uptodate"
+ targetfile="${build.project}/sql/all/${generatesql.database.type}/report.scarab.sql.generation">
+ <srcfiles dir="${src.schema.dir}"
+ includes="${scarab.torque.schemas}"/>
+ </uptodate>
</target>
+ <target name="generate-sql" depends="create-build-dir">
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="${scarab.database.type}"/>
+ </antcall>
+ </target>
+
+ <target name="generate-all-sql" depends="create-build-dir">
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="db2"/>
+ </antcall>
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="hypersonic"/>
+ </antcall>
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="mysql"/>
+ </antcall>
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="mssql"/>
+ </antcall>
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="oracle"/>
+ </antcall>
+ <antcall target="sql-specific-db">
+ <param name="generatesql.database.type" value="postgresql"/>
+ </antcall>
+ </target>
<!-- ================================================================== -->
<!-- Create database -->
<!-- ================================================================== -->
- <target name="create-db" >
+ <target name="create-db" depends="compile,generate-sql,create-custom-property-file">
<ant antfile="build.xml"
target="create-db"
@@ -462,28 +386,16 @@
dir="${runtime.config.dir}">
</ant>
</target>
-
- <target name="create-anonymous" description="create anonymous user">
- <ant antfile="build.xml"
- target="create-anonymous"
- inheritAll="false"
- dir="${runtime.config.dir}">
- </ant>
- </target>
-
<!-- ================================================================== -->
<!-- Deploys the webapp into target/scarab -->
<!-- ================================================================== -->
- <target name="deploy" depends="compile,create-custom-property-file,load-drivers">
- <echo> Deploy the Scarab intance</echo>
- </target>
-
+ <target name="deploy" depends="compile,generate-sql,create-custom-property-file" />
<!-- ================================================================== -->
<!-- Compiles the source directory -->
<!-- ================================================================== -->
- <target name="compile" depends="generate-om, prepare-build, create-deployment-directory">
+ <target name="compile" depends="generate-om,create-deployment-directory">
<mkdir dir="${build.dest.scarab}"/>
<javac srcdir="${src.java.dir.scarab}"
destdir="${build.dest.scarab}"
Removed: trunk/build/nsis_project_template.jelly
Url: http://scarab.tigris.org/source/browse/scarab/trunk/build/nsis_project_template.jelly?view=auto&rev=10435
Removed: trunk/build/nsis_setup_template.jelly
Url: http://scarab.tigris.org/source/browse/scarab/trunk/build/nsis_setup_template.jelly?view=auto&rev=10435
Modified: trunk/maven.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/maven.xml?view=diff&rev=10436&p1=trunk/maven.xml&p2=trunk/maven.xml&r1=10435&r2=10436
==============================================================================
--- trunk/maven.xml (original)
+++ trunk/maven.xml 2007-04-10 13:30:45-0700
@@ -17,81 +17,64 @@
<maven:property name="root.dir" defaultValue="${basedir}"/>
<maven:property name="applicationRoot" defaultValue="${root.dir}/target/scarab"/>
<maven:property name="maven.changes.issue.template" defaultValue="%URL%/issues?id=%ISSUE%"/>
- <maven:property name="maven.nsis.setup.template" defaultValue="build/nsis_setup_template.jelly"/>
- <maven:property name="maven.nsis.project.template" defaultValue="build/nsis_project_template.jelly"/>
- <maven:property name="runtime.config.dir" defaultValue="${applicationRoot}/WEB-INF/conf"/>
+ <ant:property environment="env"/>
+ <maven:property name="maven.nsis.exe" defaultValue="${env.ProgramFiles}/NSIS/makensis.exe"/>
<maven:property name="debian.package.name" defaultValue="scarab-${scarab.context}-${version}" />
<maven:property name="debian.package.dir" defaultValue="${root.dir}/target/${debian.package.name}" />
<maven:property name="debian.tomcat.version" defaultValue="tomcat4" />
- <!-- ==================================================== -->
- <!-- D A T A B A S E C R E A T I O N -->
- <!-- ==================================================== -->
- <!-- The database creation will eventually be performed -->
- <!-- during Webaplication setup. Scarab will call -->
- <!-- an ant task (create-db) during runtime. That ant -->
- <!-- task is supposed to generate the database as needed. -->
- <!-- This goal calls exactly the same ant task as Scarab -->
- <!-- will eventually do. -->
- <!-- -->
- <!-- Note: We should consider this goal as temporary. -->
- <!-- As soon as the Scarab setup Wizzard comes to -->
- <!-- life, this goal probably becomes obsolete. -->
- <!-- ==================================================== -->
<goal name="scarab:create-db">
<ant:ant antfile="build.xml"
target="create-db"
inheritAll="false"
- dir="${runtime.config.dir}">
+ dir="${root.dir}/build">
</ant:ant>
</goal>
+ <goal name="scarab:migrate-from-0.21">
+ <ant:ant antfile="build.xml"
+ target="migrate-from-0.21"
+ inheritAll="false"
+ dir="${root.dir}">
+ </ant:ant>
+ </goal>
<goal name="scarab:migrate-from-b20">
<ant:ant antfile="build.xml"
target="migrate-from-b20"
inheritAll="false"
- dir="${runtime.config.dir}">
- <property name="torque.database.driver" value="${scarab.database.jdbc.driver}"/>
- <property name="torque.database.url" value="${scarab.database.url}"/>
- <property name="torque.database.user" value="${scarab.database.username}"/>
- <property name="torque.database.password" value="${scarab.database.password}"/>
+ dir="${root.dir}">
</ant:ant>
</goal>
- <goal name="scarab:database">
-<ant:echo>
-+-------------------------------------------------+
-| The goal scarab:database has been replaced |
-| by the non-interactive goal "scarab:create-db". |
-+-------------------------------------------------+
-</ant:echo>
- </goal>
+ <goal name="scarab:windows-installer"
+ description="Create a windows installer"
+ prereqs="scarab:base-distribution,nsis"/>
+
+ <goal name="scarab:base-distribution" description="Create an out of the box ready distribution">
+
+ <ant:condition property="database.is.default.hypersonic">
+ <ant:equals arg1="${scarab.database.type}" arg2="hypersonic"/>
+ </ant:condition>
+
+ <ant:fail unless="database.is.default.hypersonic" message="Database type must be hypersonic and all database settings must have the default values"/>
-
- <goal name="scarab:load-sample-data">
+ <maven:property name="maven.test.skip" defaultValue="true"/>
- <echo>
- driver="${torque.database.driver}"
- url="${torque.database.buildUrl}"
- userid="${torque.database.user}"
- password="${torque.database.password}"
- transaction src="${torque.sql.dir}/scarab-sample-data.sql
- </echo>/>
-
- <sql
- driver="${torque.database.driver}"
- url="${torque.database.buildUrl}"
- userid="${torque.database.user}"
- password="${torque.database.password}">
- <classpath refid="maven.dependency.classpath"/>
- <transaction src="${torque.sql.dir}/scarab-sample-data.sql"/>
- </sql>
- </goal>
-
- <goal name="scarab:sample" prereqs="war:webapp"
- description="Create an out of the box ready distribution">
+ <attainGoal name="war:webapp"/>
+
+ <ant:ant antfile="build.xml"
+ target="generate-all-sql"
+ inheritAll="false"
+ dir="${root.dir}/build">
+ </ant:ant>
+
+ <ant:ant antfile="build.xml"
+ target="create-db"
+ inheritAll="false"
+ dir="${root.dir}/build">
+ </ant:ant>
<ant:mkdir dir="target/dist"/>
@@ -109,18 +92,8 @@
</ant:fileset>
</ant:copy>
- <ant:copy todir="target/dist/hypersonic">
- <ant:fileset dir="src/sql/hypersonic" includes="**/*.*"/>
- </ant:copy>
-
- <ant:copy todir="${warWebappBuildDir}/WEB-INF/classes">
- <ant:fileset dir="${maven.src.dir}/conf/classes" includes="**/*.*"/>
- </ant:copy>
- <!-- Bring over the correct scarab.xml file with the right context settings -->
<ant:copy file="tomcat/webapps/scarab.allinone.xml.off"
tofile="target/dist/tomcat/webapps/scarab.xml"/>
-
- <attainGoal name="nsis"/>
</goal>
<goal name="scarab:deploy_docs_head" prereqs="site"
@@ -399,18 +372,6 @@
<ant:filterset id="scarab.test.filter">
<ant:filter token="SCARAB_MODULE_CODE_LENGTH"
value="${scarab.module.code.length}" />
- <ant:filter token="SCARAB_DATABASE_TYPE"
- value="${scarab.database.type}" />
- <ant:filter token="SCARAB_DATABASE_USERNAME"
- value="${scarab.database.username}" />
- <ant:filter token="SCARAB_DATABASE_PASSWORD"
- value="${scarab.database.password}" />
- <ant:filter token="SCARAB_DATABASE_URL"
- value="${scarab.database.url}" />
- <ant:filter token="SCARAB_DATABASE_DRIVER"
- value="${scarab.database.driver}" />
- <ant:filter token="SCARAB_DATABASE_VALIDATION_QUERY"
- value="${scarab.database.validation.query}" />
</ant:filterset>
<ant:copy todir="${maven.build.dir}/test-config">
<ant:fileset dir="${maven.src.dir}/conf/conf" includes="**/*.*"/>
@@ -440,19 +401,10 @@
<ant:filterset refid="scarab.filter"/>
</ant:copy>
- <ant:copy todir="${warWebappBuildDir}/database/src/sql">
+ <ant:copy todir="${warWebappBuildDir}/sql/all">
<ant:fileset dir="${maven.src.dir}/sql" includes="**/*.*"/>
<ant:filterset refid="scarab.filter"/>
- </ant:copy>
- <ant:copy todir="${warWebappBuildDir}/database/src/schema">
- <ant:fileset dir="${maven.src.dir}/schema" includes="**/*.*"/>
- <ant:filterset refid="scarab.filter"/>
- </ant:copy>
- <ant:copy todir="${warWebappBuildDir}/database/src">
- <ant:fileset dir="${maven.src.dir}/conf" includes="torque.static.props"/>
- <ant:filterset refid="scarab.filter"/>
- </ant:copy>
-
+ </ant:copy>
</preGoal>
<postGoal name="changes:report">
Modified: trunk/project.properties
Url: http://scarab.tigris.org/source/browse/scarab/trunk/project.properties?view=diff&rev=10436&p1=trunk/project.properties&p2=trunk/project.properties&r1=10435&r2=10436
==============================================================================
--- trunk/project.properties (original)
+++ trunk/project.properties 2007-04-10 13:30:45-0700
@@ -1475,8 +1475,8 @@
hsqldb.dbname=${scarab.database.name}
scarab.jdbc.handler.hypersonic=hsqldb
scarab.database.port.hypersonic=3306
-scarab.database.admin.url.hypersonic=jdbc:hsqldb:file:${applicationRoot}/${hsqldb.database}/${hsqldb.dbname}
-scarab.database.url.hypersonic=jdbc:hsqldb:file:${applicationRoot}/${hsqldb.database}/${hsqldb.dbname}
+scarab.database.admin.url.hypersonic=jdbc:hsqldb:file:${applicationRoot}/embedded_hsqldb/${hsqldb.dbname};shutdown=true
+scarab.database.url.hypersonic=jdbc:hsqldb:file:${applicationRoot}/embedded_hsqldb/${hsqldb.dbname};shutdown=true
scarab.database.url.extension.hypersonic=
scarab.database.pool.validationQuery.hypersonic=SELECT ATTRIBUTE_ID FROM SCARAB_ATTRIBUTE WHERE ATTRIBUTE_ID='0'
scarab.database.jdbc.driver.hypersonic=org.hsqldb.jdbcDriver
Modified: trunk/project.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/project.xml?view=diff&rev=10436&p1=trunk/project.xml&p2=trunk/project.xml&r1=10435&r2=10436
==============================================================================
--- trunk/project.xml (original)
+++ trunk/project.xml 2007-04-10 13:30:45-0700
@@ -742,7 +742,7 @@
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
- <version>1.7.2.2</version>
+ <version>1.8.0.7</version>
<type>jar</type>
<properties>
<war.bundle>true</war.bundle>
Removed: trunk/src/conf/conf/build-torque.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/conf/build-torque.xml?view=auto&rev=10435
Modified: trunk/src/conf/conf/build.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/conf/build.xml?view=diff&rev=10436&p1=trunk/src/conf/conf/build.xml&p2=trunk/src/conf/conf/build.xml&r1=10435&r2=10436
==============================================================================
--- trunk/src/conf/conf/build.xml (original)
+++ trunk/src/conf/conf/build.xml 2007-04-10 13:30:45-0700
@@ -2,478 +2,198 @@
<!-- ===================================================================== -->
<!-- -->
-<!-- Build file for Scarab -->
+<!-- Build file for Scarab database creation -->
<!-- ===================== -->
<!-- -->
<!-- Quickstep docu: -->
-<!-- ant deploy generate om, compile, create a functional webapp in -->
-<!-- scarab/target/scarab -->
+<!-- ant create-db create an empty scarab database -->
<!-- -->
-<!-- subordinate tasks (usefull for developers only) -->
-<!-- ant compile generate om and compile. Place results into -->
-<!-- scarab/target/scarab/WEB-INF/classes -->
-<!-- ant generate-om generate the object model (om), merge results into -->
-<!-- scarab/src/java/org/tigris/scarab/om/... -->
-<!-- ===================================================================== -->
-
-<!-- ===================================================================== -->
-<!-- [HD] experimental version -->
-<!-- If you use this build script, be prepared for errors -->
<!-- ===================================================================== -->
<project name="Scarab" default="create-db">
<property name="applicationRoot" value="${basedir}/../.."/>
- <property name="antbase.dir" value="."/>
- <property name="workdir" value="${applicationRoot}/WEB-INF/conf"/>
-
- <property name="webapp.dir" value=".."/>
- <property name="webapp.lib.dir" value="../lib"/>
- <property name="webapp.conf.dir" value="../conf"/>
- <property name="database.src.dir" value="../../database/src"/>
- <property name="database.src.sql.dir" value="${database.src.dir}/sql"/>
- <property name="database.src.schema.dir" value="${database.src.dir}/schema"/>
+ <property name="sql.all.dir" value="${applicationRoot}/sql/all"/>
+ <property name="sql.current.dir" value="${applicationRoot}/sql/current"/>
+ <property name="sql.current.upgrade.dir" value="${sql.current.dir}/upgrade"/>
<property file="custom.properties" />
<property file="defaultCustom.properties" />
+ <property name="skip.seed.data" value="false"/>
+ <property name="skip.jira.templates.data" value="false"/>
- <property name="database.instance.dir" value="../../database/instance"/>
- <property name="database.instance.sql.dir" value="${database.instance.dir}/sql"/>
- <property name="database.instance.schema.dir" value="${database.instance.dir}/schema"/>
- <property name="database.instance.upgrade.dir" value="${database.instance.sql.dir}/${scarab.database.type}/upgrade"/>
-
<path id="classpath">
- <fileset dir="${workdir}/..">
+ <fileset dir="../lib">
<include name="**/*.jar"/>
</fileset>
- <filelist dir="${workdir}/.." files="classes"/>
</path>
-
-
- <!-- ================================================================== -->
- <!-- Scarab Welcome header -->
- <!-- ================================================================== -->
<target name="scarab-welcome">
- <tstamp/>
<echo>
- _________R U N T I M E B U I L D ___.
- / _____/ ____ _____ ____________ \_ |__
- \_____ \_/ ___\\__ \\_ __ \__ \ | __ \
- / \ \___ / __ \| | \// __ \| \_\ \
-/_______ /\___ >____ /__| (____ /___ /
- \/ \/ \/ \/ \/
-
- [${version}-${DSTAMP}${TSTAMP}]
-
- Running with following options:
-
- Scarab:
- administrator = ${scarab.user.username}
-
- Scarab Database:
- type = ${scarab.database.type}
- instance name = ${scarab.database.name}
- runtime user = ${scarab.database.username}
- admin user = ${scarab.database.admin.username}
-
- Database Connection:
- host = ${scarab.database.host}
- port = ${scarab.database.port}
- url = ${scarab.database.url}
- jdbc driver = ${scarab.database.jdbc.driver}
-
+ Creating or upgrading Scarab Database:
+ type = ${scarab.database.type}
+ instance name = ${scarab.database.name}
+ admin user = ${scarab.database.admin.username}
+ jdbc url = ${scarab.database.url}
+ jdbc driver = ${scarab.database.jdbc.driver}
+ skip jira templates = ${skip.jira.templates.data}
+ skip sample data = ${skip.seed.data}
</echo>
</target>
+ <target name="prepare-database-script" depends="clean">
- <!-- ================================================================== -->
- <!-- Copy all of the xml schema files into the torque directory -->
- <!-- ================================================================== -->
- <target name="torque-copy-scarab-schema">
-
- <!-- =========================================== -->
- <!-- copy the schemas to the instance directory -->
- <!-- =========================================== -->
- <copy file="${database.src.schema.dir}/${project}-schema.xml"
- todir="${database.instance.schema.dir}"
- filtering="true" overwrite="true">
- <filterset>
- <filter token="SCARAB_MODULE_CODE_LENGTH" value="${scarab.module.code.length}"/>
- </filterset>
- </copy>
-
- <copy file="${database.src.schema.dir}/id-table-schema.xml"
- todir="${database.instance.schema.dir}"
- filtering="true" overwrite="true"/>
-
- <copy file="${database.src.schema.dir}/turbine-schema.xml"
- todir="${database.instance.schema.dir}"
- filtering="true" overwrite="true"/>
-
- </target>
-
- <!-- ================================================================== -->
- <!-- Check to see if SQL related stuff is up to date -->
- <!-- ================================================================== -->
- <target name="schema-check">
- <echo message="checking: ${database.instance.sql.dir}/${scarab.database.type}/${project}.sql"/>
- <uptodate property="schema.uptodate"
- targetfile="${database.instance.sql.dir}/${scarab.database.type}/${project}.sql">
- <srcfiles dir="${database.src.schema.dir}" includes="turbine-schema.xml"/>
- <srcfiles dir="${database.src.schema.dir}" includes="id-table-schema.xml"/>
- <srcfiles dir="${database.src.schema.dir}" includes="${project}-schema.xml"/>
- <srcfiles dir="${user.home}" includes="scarab.build.properties"/>
- <srcfiles dir="${user.home}" includes="build.properties"/>
- <srcfiles dir="${antbase.dir}" includes="custom.properties" />
- <srcfiles dir="${antbase.dir}" includes="defaultCustom.properties" />
- </uptodate>
- </target>
-
-
-
- <!-- ================================================================== -->
- <!-- Generate SQL from Torque for a specified database type. Set the -->
- <!-- generatesql.database.type property when calling this target to -->
- <!-- specify the required database type. -->
- <!-- ================================================================== -->
- <target name="sql-specific-db">
-
- <antcall target="torque-copy-scarab-schema" />
-
- <filter token="DB_NAME" value="${scarab.database.name}"/>
- <filter token="DATABASE_TYPE" value="${generatesql.database.type}"/>
- <filter token="DATABASE_DRIVER" value="${scarab.database.jdbc.driver}"/>
- <filter token="DATABASE_URL" value="${scarab.database.url}"/>
- <filter token="DATABASE_HOST" value="${scarab.database.host}"/>
- <filter token="DATABASE_PORT" value="${scarab.database.port}"/>
- <filter token="DATABASE_USERNAME" value="${scarab.database.username}"/>
- <filter token="DATABASE_PASSWORD" value="${scarab.database.password}"/>
-
- <!-- ============================================= -->
- <!-- generate .sql files into the target directory -->
- <!-- ============================================= -->
- <ant antfile="build-torque.xml" target="sql" inheritAll="false">
- <property name="lib.dir" value="../lib"/>
- <property name="torque.schema.dir" value="../../database/instance/schema"/>
- <property name="torque.sql.dir" value="../../database/instance/sql"/>
- <property name="torque.contextProperties" value="${database.src.dir}/torque.static.props"/>
- <property name="torque.database" value="${scarab.database.type}"/>
- <property name="torque.database.driver" value="${scarab.database.jdbc.driver}"/>
- <property name="torque.database.url" value="${scarab.database.url}"/>
- <property name="torque.database.user" value="${scarab.database.admin.username}"/>
- <property name="torque.database.password" value="${scarab.database.admin.password}"/>
- </ant>
-
- <echo>perform Schema fixes ...</echo>
-
- <taskdef
- name="schemaFix"
- classname="org.tigris.scarab.util.build.AntSchemaFix">
- <classpath refid="classpath"/>
- </taskdef>
-
- <schemaFix
- source = "${database.instance.sql.dir}/${project}-schema.sql"
- dbtype = "${scarab.database.type}"
- />
-
- <!-- ==================================================== -->
- <!-- Move generated schema-sql files to final destination -->
- <!-- ==================================================== -->
- <mkdir dir="${database.instance.sql.dir}/${generatesql.database.type}/"/>
-
- <move file="${database.instance.sql.dir}/${project}-schema.sql"
- tofile="${database.instance.sql.dir}/${generatesql.database.type}/${project}.sql"/>
- <move file="${database.instance.sql.dir}/turbine-schema.sql"
- tofile="${database.instance.sql.dir}/${generatesql.database.type}/turbine.sql"/>
- <move file="${database.instance.sql.dir}/id-table-schema.sql"
- tofile="${database.instance.sql.dir}/${generatesql.database.type}/id-table.sql"/>
-
- </target>
-
-
- <!-- ================================================================== -->
- <!-- Generate SQL from Torque for the database type set in the build -->
- <!-- property "scarab.database.type". -->
- <!-- ================================================================== -->
- <target name="sql-current-db">
- <!-- Generate the Torque files for the specified database type -->
- <antcall target="sql-specific-db">
- <param name="generatesql.database.type"
- value="${scarab.database.type}"/>
- </antcall>
- </target>
-
-
- <!-- ================================================================== -->
- <!-- Generate SQL db-initialization scripts from Torque -->
- <!-- Main target: generate-dbscripts -->
- <!-- ================================================================== -->
- <target name="om-peer-sql-generator" unless="gen.uptodate">
-
- <!-- Create the Torque-generated files for the specified database type -->
- <antcall target="sql-specific-db">
- <param name="generatesql.database.type"
- value="${scarab.database.type}"/>
- </antcall>
-
- </target>
-
- <target name="generate-dbscripts" depends="om-peer-sql-generator"
- unless="gen.uptodate">
- </target>
- <!-- ================================================================== -->
-
-
-
- <!-- ================================================================== -->
- <!-- Check for databases that could require alternate or more complex -->
- <!-- methods for schema creation -->
- <!-- ================================================================== -->
- <target name="db-type-check">
- <condition property="auto.create.db">
- <not>
- <or>
- <equals arg1="${scarab.database.type}" arg2="oracle"/>
- <equals arg1="${scarab.database.type}" arg2="db2"/>
- <equals arg1="${scarab.database.type}" arg2="mssql"/>
- <!--equals arg1="${scarab.database.type}" arg2="postgresql"/ -->
- </or>
- </not>
- </condition>
- </target>
-
- <!-- ================================================================== -->
- <!-- Test to make sure the database connection works -->
- <!-- ================================================================== -->
- <target name="test-db-connection" depends="sql-current-db">
- <echo message="Connecting to ${scarab.database.type} at ${scarab.database.url}"/>
- <sql
- driver="${scarab.database.jdbc.driver}"
- url="${scarab.database.url}"
- userid="${scarab.database.admin.username}"
- password="${scarab.database.admin.password}">
- <classpath refid="classpath"/>
- CREATE TABLE scarab_test (
- scarab_test integer
- );
- drop table scarab_test;
- </sql>
- </target>
-
- <!-- ================================================================== -->
- <!-- Create database schemaif not bypassed in "db-type-check" -->
- <!-- ================================================================== -->
- <target name="create-db-schema" depends="scarab-welcome,db-type-check, sql-current-db"
- if="auto.create.db">
-
<filterset id="copy-filter">
- <!-- Generate the Torque files for the specified database type -->
<filter token="DB_NAME" value="${scarab.database.name}"/>
- <filter token="DATABASE_TYPE" value="${generatesql.database.type}"/>
- <filter token="DATABASE_DRIVER" value="${scarab.database.jdbc.driver}"/>
- <filter token="DATABASE_URL" value="${scarab.database.url}"/>
<filter token="DATABASE_HOST" value="${scarab.database.host}"/>
- <filter token="DATABASE_PORT" value="${scarab.database.port}"/>
<filter token="DATABASE_USERNAME" value="${scarab.database.username}"/>
- <filter token="DATABASE_PASSWORD" value="${scarab.database.password}"/>
+ <filter token="DATABASE_PASSWORD" value="${scarab.database.password}"/>
<filter token="ADMIN_USERNAME" value="${scarab.user.username}"/>
<filter token="ANONYMOUS_USERNAME" value="${scarab.anonymous.username}"/>
<filter token="ANONYMOUS_ROLENAME" value="${scarab.anonymous.rolename}"/>
<filter token="SCARAB.HTTP.DOMAIN" value="${scarab.http.domain}"/>
<filter token="SCARAB.INSTANCE.ID" value="${scarab.instance.id}"/>
</filterset>
-
- <!-- the SQL data population scripts directory -->
- <echo>Copy ${database.instance.sql.dir}</echo>
- <echo>Copy ${database.instance.sql.dir}</echo>
- <echo>For database -${scarab.database.type}-</echo>
- <copy todir="${database.instance.sql.dir}" filtering="yes">
+
+ <copy todir="${sql.current.dir}" filtering="yes">
<filterset refid="copy-filter"/>
- <fileset dir="${database.src.sql.dir}">
- <include name="${scarab.database.type}/*.sql"/>
- <include name="${scarab.database.type}/*.sh"/>
- <include name="${scarab.database.type}/*.lst"/>
- <include name="${scarab.database.type}/upgrade/*.sql"/>
- <include name="${scarab.database.type}/dbsettings.props"/>
- <include name="${scarab.database.type}/*.sql"/>
+ <fileset dir="${sql.all.dir}/${scarab.database.type}">
+ <include name="*.sql"/>
+ </fileset>
+ <fileset dir="${sql.all.dir}">
<include name="*.sql"/>
- <include name="*.sh"/>
- <include name="*.lst"/>
+ <include name="upgrade/*.sql"/>
</fileset>
</copy>
- </target>
+ <touch file="${sql.current.dir}/prepare-dummy-tables.sql"/>
+ <touch file="${sql.current.dir}/standard-init.sql"/>
- <!-- ================================================================== -->
- <!-- Create database if not bypassed in "db-type-check" -->
- <!-- ================================================================== -->
- <target name="create-empty-db" depends="scarab-welcome,db-type-check, sql-current-db"
- if="auto.create.db">
-
- <echo>
- Create empty database:
- driver : [${scarab.database.jdbc.driver}]
- url : [${scarab.database.admin.url}]
- userid : [${scarab.database.admin.username}]
- password : [${scarab.database.admin.password}]
- </echo>
-
- <!-- onerror="continue" is needed for postgresql for instance -->
- <sql
+ <condition property="optional.scarab-jira-templates-data.sql" value="scarab-jira-templates-data.sql">
+ <not><istrue value="${skip.jira.templates.data}"/></not>
+ </condition>
+ <property name="optional.scarab-jira-templates-data.sql" value=""/>
+
+ <condition property="optional.scarab-sample-data.sql" value="scarab-sample-data.sql">
+ <not><istrue value="${skip.seed.data}"/></not>
+ </condition>
+ <property name="optional.scarab-sample-data.sql" value=""/>
+
+ <concat destfile="${sql.current.dir}/populate-database.sql">
+ <filelist dir="${sql.current.dir}"
+ files="standard-init.sql
+ turbine-schema.sql
+ scarab-schema.sql
+ id-table-schema.sql
+ turbine-id-table-init.sql
+ scarab-id-table-init.sql
+ scarab-security.sql
+ scarab-required-data.sql
+ scarab-default-data.sql
+ scarab-anonymous.sql
+ ${optional.scarab-jira-templates-data.sql}
+ ${optional.scarab-sample-data.sql}
+ "/>
+ </concat>
+ </target>
+
+ <target name="check-create-db-script" depends="prepare-database-script">
+ <available file="${sql.current.dir}/create-db.sql" property="create.database.script.exists"/>
+ </target>
+
+ <target name="create-database" depends="check-create-db-script"
+ if="create.database.script.exists">
+ <sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.admin.url}"
userid="${scarab.database.admin.username}"
password="${scarab.database.admin.password}"
- onerror="continue"
- autocommit="true" src="${database.instance.sql.dir}/${scarab.database.type}/create-${scarab.database.type}-db.sql">
-
+ autocommit="true"
+ src="${sql.current.dir}/create-db.sql"
+ onerror="continue">
<classpath refid="classpath"/>
-
- </sql>
-
+ </sql>
</target>
- <!-- ================================================================== -->
- <!-- Load default data -->
- <!-- ================================================================== -->
- <target name="load-drivers" depends="">
- <!-- ============================================================== -->
- <echo> copy the database drivers for ${scarab.database.type} ... </echo>
- <echo> sourcedir : ${database.src.dir}/drivers </echo>
- <echo> targetdir : ${webapp.lib.dir} </echo>
- <echo> driver template : **/${scarab.database.jdbc.driver.jar} </echo>
- <!-- ============================================================== -->
- <copy todir="${webapp.lib.dir}" filtering="no" flatten="true">
- <fileset dir="${database.src.dir}/drivers">
- <include name="**/${scarab.database.jdbc.driver.jar}"/>
- </fileset>
- </copy>
+ <target name="check-prepare-dummy-tables">
+ <condition property="prepare-dummy-tables.required">
+ <or>
+ <equals arg1="${scarab.database.type}" arg2="oracle" />
+ <equals arg1="${scarab.database.type}" arg2="postgresql" />
+ </or>
+ </condition>
</target>
-
- <!-- ================================================================== -->
- <!-- Load default data -->
- <!-- ================================================================== -->
- <target name="load-default-data" depends="load-drivers, create-db-schema,create-empty-db">
-
- <!-- Oracle does not have any type of conditional execution -->
- <!-- of "drop table". So when running the table creation, -->
- <!-- it fails when dropping a table. Rather than setting the -->
- <!-- onerror of the actual creation class to "continue", this -->
- <!-- pre-creates dummy tables (ignoring any errors if the -->
- <!-- tables already exist) so that they can be dropped. -->
- <!--
- <sql
- rdbms="oracle"
- onerror="continue"
- driver="${scarab.database.jdbc.driver}"
- url="${scarab.database.url}"
- userid="${scarab.database.username}"
- password="${scarab.database.password}">
- <classpath refid="classpath"/>
- <transaction
- src="${database.instance.sql.dir}/${scarab.database.type}/prepare-oracle-dummy-tables.sql"/>
- </sql>
--->
-
- <echo>
- Calling initialization scripts:
- dbtype : [${scarab.database.type}]
- url : [${scarab.database.url}]
- driver : [${scarab.database.jdbc.driver}]
- userid : [${scarab.database.admin.username}]
- password : [${scarab.database.admin.password}]
- </echo>
+ <target name="prepare-dummy-tables" depends="check-prepare-dummy-tables"
+ if="prepare-dummy-tables.required">
<sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.url}"
userid="${scarab.database.admin.username}"
- password="${scarab.database.admin.password}">
+ password="${scarab.database.admin.password}"
+ src="${sql.current.dir}/prepare-dummy-tables.sql"
+ autocommit="true"
+ onerror="continue">
<classpath refid="classpath"/>
- <transaction src="${database.instance.sql.dir}/${scarab.database.type}/prepare-${scarab.database.type}-dummy-tables.sql"/>
- <transaction src="${database.instance.sql.dir}/${scarab.database.type}/standard-${scarab.database.type}-init.sql"/>
- <transaction src="${database.instance.sql.dir}/${scarab.database.type}/turbine.sql"/>
- <transaction src="${database.instance.sql.dir}/${scarab.database.type}/${project}.sql"/>
- <transaction src="${database.instance.sql.dir}/${scarab.database.type}/id-table.sql"/>
- <transaction src="${database.instance.sql.dir}/turbine-id-table-init.sql"/>
- <transaction src="${database.instance.sql.dir}/${project}-id-table-init.sql"/>
- <transaction src="${database.instance.sql.dir}/${project}-security.sql"/>
- <transaction src="${database.instance.sql.dir}/${project}-required-data.sql"/>
- <transaction src="${database.instance.sql.dir}/${project}-default-data.sql"/>
</sql>
</target>
- <!-- ================================================================== -->
- <!-- Load anonymous user -->
- <!-- ================================================================== -->
- <target name="create-anonymous">
- <sql
+ <target name="populate-database" depends="prepare-database-script,prepare-dummy-tables">
+ <sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.url}"
userid="${scarab.database.admin.username}"
- password="${scarab.database.admin.password}">
+ password="${scarab.database.admin.password}"
+ src="${sql.current.dir}/populate-database.sql"
+ autocommit="true">
<classpath refid="classpath"/>
- <transaction src="${database.instance.sql.dir}/${project}-anonymous.sql"/>
</sql>
</target>
-
- <!-- ================================================================== -->
- <!-- Load jira templates data -->
- <!-- ================================================================== -->
- <target name="load-jira-templates-data" unless="skip.jira.templates.data">
- <sql
- driver="${scarab.database.jdbc.driver}"
- url="${scarab.database.url}"
- userid="${scarab.database.admin.username}"
- password="${scarab.database.admin.password}">
- <classpath refid="classpath"/>
- <transaction src="${database.instance.sql.dir}/${project}-jira-templates-data.sql"/>
- </sql>
+
+ <target name="clean">
+ <delete dir="${sql.current.dir}" quiet="true"/>
</target>
- <!-- ================================================================== -->
- <!-- Load seed data unless bypassed by setting "skip.seed.data" -->
- <!-- to any value in "build.properties" -->
- <!-- ================================================================== -->
- <target name="load-seed-data" depends="load-default-data,load-jira-templates-data"
- unless="skip.seed.data">
- <!-- ============================================================== -->
- <!-- Alternate initial data file may be specified -->
- <!-- in "build.properties" by setting "seed.data.sql" -->
- <!-- to an alternate file. -->
- <!-- ============================================================== -->
- <property name="seed.data.sql"
- value="${database.instance.sql.dir}/${project}-sample-data.sql"/>
+ <target name="create-db" depends="scarab-welcome,create-database,populate-database"/>
+
+ <target name="confirm-create-db">
+ <input
+ validargs="y,n"
+ addproperty="do.create-db">
+ This creates a new database using the above settings.
+
+ ATTENTION:
+ This may take some minutes.
+ All data is going to be deleted
+ from an already existing database!
+
+ Continue?
+ </input>
+ <condition property="do.abort">
+ <equals arg1="n" arg2="${do.create-db}"/>
+ </condition>
+ <fail if="do.abort">Build aborted by user.</fail>
+ </target>
+
+ <target name="create-db-interactive" depends="scarab-welcome,confirm-create-db,create-db">
+ <input message="Creation finished. Press Return key to exit..." />
+ </target>
+
+
+ <target name="migrate-from-0.21" depends="clean-migrate,prepare-database-script" description="Migrate a Scarab-0.21 to Scarab-0.22">
<sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.url}"
userid="${scarab.database.admin.username}"
- password="${scarab.database.admin.password}">
+ password="${scarab.database.admin.password}"
+ onerror="continue">
<classpath refid="classpath"/>
- <transaction src="${database.instance.sql.dir}/${scarab.database.type}/standard-${scarab.database.type}-init.sql"/>
- <transaction src="${seed.data.sql}"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}upgrade-0.22-resize_id_prefix.sql"/>
</sql>
</target>
- <!-- ================================================================== -->
- <!-- remove database file created by previous generation calls -->
- <!-- ================================================================== -->
- <target name="clean">
- <delete dir="${database.instance.dir}" quiet="true"/>
- </target>
-
- <!-- ================================================================== -->
- <!-- Create DB from Torque -->
- <!-- ================================================================== -->
- <target name="create-db" depends="clean,load-seed-data,create-anonymous"/>
-
- <!-- ================================================================== -->
- <!-- migration targets -->
- <!-- ================================================================== -->
- <target name="migrate-from-b20" depends="clean-migrate,create-db-schema" description="Migrate a Scarab-b20 to Scarab-b21">
+ <target name="migrate-from-b20" depends="clean-migrate,prepare-database-script,migrate-from-0.21" description="Migrate a Scarab-b20 to Scarab-0.21">
<sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.url}"
@@ -481,9 +201,9 @@
password="${scarab.database.admin.password}"
onerror="continue">
<classpath refid="classpath"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b20-1.0b21-1.sql"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b20-1.0b21-2.sql"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b20-1.0b21-3.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b20-1.0b21-1.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b20-1.0b21-2.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b20-1.0b21-3.sql"/>
</sql>
</target>
@@ -498,29 +218,29 @@
password="${scarab.database.admin.password}"
onerror="continue">
<classpath refid="classpath"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0a20-1.0b20-1.sql"/>
- </sql>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0a20-1.0b20-1.sql"/>
+ </sql>
</target>
- <target name="migrate-workflow" depends="create-db-schema" description="Make changes to an existing b19 system, keeping the data, to allow migration to cheapworklow">
+ <target name="migrate-workflow" depends="prepare-database-script" description="Make changes to an existing b19 system, keeping the data, to allow migration to cheapworklow">
<sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.url}"
userid="${scarab.database.admin.username}"
password="${scarab.database.admin.password}"
- onerror="continue">
+ onerror="continue">
<classpath refid="classpath"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0b20-1.sql"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0b20-2.sql"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0b20-3.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0b20-1.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0b20-2.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0b20-3.sql"/>
</sql>
</target>
<target name="clean-migrate">
- <delete file="${database.instance.sql.dir}/upgrade/${scarab.database.type}-upgrade-1.0b19-1.0a20-1.sql"/>
+ <delete file="${sql.current.dir}/upgrade/${scarab.database.type}-upgrade-1.0b19-1.0a20-1.sql"/>
</target>
- <target name="migrate-issue" depends="create-db-schema" description="Switch ID_TABLE based id generation from scarab.http.domain to scarab.instance.id">
+ <target name="migrate-issue" depends="prepare-database-script" description="Switch ID_TABLE based id generation from scarab.http.domain to scarab.current.id">
<sql
driver="${scarab.database.jdbc.driver}"
url="${scarab.database.url}"
@@ -528,8 +248,8 @@
password="${scarab.database.admin.password}"
onerror="continue">
<classpath refid="classpath"/>
- <transaction src="${database.instance.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0a20-1.sql"/>
+ <transaction src="${sql.current.upgrade.dir}/${scarab.database.type}-upgrade-1.0b19-1.0a20-1.sql"/>
</sql>
</target>
-
+
</project>
Added: trunk/src/conf/conf/create-db.bat
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/conf/create-db.bat?view=auto&rev=10436
==============================================================================
--- (empty file)
+++ trunk/src/conf/conf/create-db.bat 2007-04-10 13:30:45-0700
@@ -0,0 +1 @@
+%JAVA_HOME%\bin\java.exe -jar ..\lib\ant-launcher-1.6.2.jar create-db-interactive
Removed: trunk/src/java/org/tigris/scarab/util/build/AntSchemaFix.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/build/AntSchemaFix.java?view=auto&rev=10435
Added: trunk/src/nsis/before-install.nsh
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/nsis/before-install.nsh?view=auto&rev=10436
==============================================================================
--- (empty file)
+++ trunk/src/nsis/before-install.nsh 2007-04-10 13:30:45-0700
@@ -0,0 +1 @@
+Call AssertJavaHome
Added: trunk/src/nsis/startmenu-shortcuts.nsh
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/nsis/startmenu-shortcuts.nsh?view=auto&rev=10436
==============================================================================
--- (empty file)
+++ trunk/src/nsis/startmenu-shortcuts.nsh 2007-04-10 13:30:45-0700
@@ -0,0 +1,11 @@
+SetOutPath $INSTDIR\scarab\WEB-INF\conf
+CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Create Database.lnk" "$INSTDIR\scarab\WEB-INF\conf\create-db.bat" "" "$INSTDIR\scarab\WEB-INF\conf\create-db.bat" 0
+
+SetOutPath $INSTDIR\tomcat\bin
+CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Start Server.lnk" "$INSTDIR\tomcat\bin\startup.bat" "" "$INSTDIR\tomcat\bin\startup.bat" 0
+CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Stop Server.lnk" "$INSTDIR\tomcat\bin\shutdown.bat" "" "$INSTDIR\tomcat\bin\shutdown.bat" 0
+CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Scarab.lnk" "http://localhost:8080/scarab"
+
+SetOutPath $INSTDIR
+CreateShortCut "${PROJECT_STARTMENU_FOLDER}\Uninstall.lnk" "$INSTDIR\Uninst.exe" "" "$INSTDIR\Uninst.exe" 0
+
Modified: trunk/src/schema/scarab-schema.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/schema/scarab-schema.xml?view=diff&rev=10436&p1=trunk/src/schema/scarab-schema.xml&p2=trunk/src/schema/scarab-schema.xml&r1=10435&r2=10436
==============================================================================
--- trunk/src/schema/scarab-schema.xml (original)
+++ trunk/src/schema/scarab-schema.xml 2007-04-10 13:30:45-0700
@@ -604,7 +604,7 @@
<!--
Part of Id related to module.
-->
- <column name="ID_PREFIX" required="true" type="VARCHAR" size="@SCARAB_MODULE_CODE_LENGTH@"/>
+ <column name="ID_PREFIX" required="true" type="VARCHAR" size="30"/>
<!--
Part of Id which is an integer.
-->
@@ -999,7 +999,7 @@
Abbreviation whose primary use to identify related issues.
-->
<column name="MODULE_CODE" javaName="Code" required="true"
- type="VARCHAR" size="@SCARAB_MODULE_CODE_LENGTH@"/>
+ type="VARCHAR" size="30"/>
<!--
Description.
-->
Removed: trunk/src/sql/hypersonic/create-hypersonic-db.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/create-hypersonic-db.sql?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/hsqldb-1.7.1.jar
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/hsqldb-1.7.1.jar?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/prepare-hypersonic-dummy-tables.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/prepare-hypersonic-dummy-tables.sql?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/runServer.bat
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/runServer.bat?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/runServer.sh
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/runServer.sh?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/scarab.properties
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/scarab.properties?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/scarab.script
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/scarab.script?view=auto&rev=10435
Removed: trunk/src/sql/hypersonic/standard-hypersonic-init.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/standard-hypersonic-init.sql?view=auto&rev=10435
Copied: trunk/src/sql/hypersonic/standard-init.sql (from r10435, /trunk/src/sql/hypersonic/standard-hypersonic-init.sql)
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/hypersonic/standard-init.sql?view=diff&rev=10436&p1=/trunk/src/sql/hypersonic/standard-hypersonic-init.sql&p2=trunk/src/sql/hypersonic/standard-init.sql&r1=10435&r2=10436
==============================================================================
--- /trunk/src/sql/hypersonic/standard-hypersonic-init.sql (original)
+++ trunk/src/sql/hypersonic/standard-init.sql 2007-04-10 13:30:45-0700
@@ -0,0 +1 @@
+set write_delay 20 millis;
\ No newline at end of file
Removed: trunk/src/sql/mysql/create-mysql-db.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/mysql/create-mysql-db.sql?view=auto&rev=10435
Removed: trunk/src/sql/mysql/prepare-mysql-dummy-tables.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/mysql/prepare-mysql-dummy-tables.sql?view=auto&rev=10435
Removed: trunk/src/sql/mysql/standard-mysql-init.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/mysql/standard-mysql-init.sql?view=auto&rev=10435
Removed: trunk/src/sql/oracle/prepare-oracle-dummy-tables.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/oracle/prepare-oracle-dummy-tables.sql?view=auto&rev=10435
Removed: trunk/src/sql/oracle/standard-oracle-init.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/oracle/standard-oracle-init.sql?view=auto&rev=10435
Removed: trunk/src/sql/postgresql/create-postgresql-db.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/postgresql/create-postgresql-db.sql?view=auto&rev=10435
Removed: trunk/src/sql/postgresql/prepare-postgresql-dummy-tables.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/postgresql/prepare-postgresql-dummy-tables.sql?view=auto&rev=10435
Removed: trunk/src/sql/postgresql/standard-postgresql-init.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/postgresql/standard-postgresql-init.sql?view=auto&rev=10435
Added: trunk/src/sql/upgrade/upgrade-0.22-resize_id_prefix.sql
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/sql/upgrade/upgrade-0.22-resize_id_prefix.sql?view=auto&rev=10436
==============================================================================
--- (empty file)
+++ trunk/src/sql/upgrade/upgrade-0.22-resize_id_prefix.sql 2007-04-10 13:30:45-0700
@@ -0,0 +1,2 @@
+ALTER TABLE SCARAB_ISSUE MODIFY ID_PREFIX VARCHAR(30);
+ALTER TABLE SCARAB_MODULE MODIFY MODULE_CODE VARCHAR(30);
Removed: trunk/www/repository/hsqldb/jars/hsqldb-1.7.2.2.jar
Url: http://scarab.tigris.org/source/browse/scarab/trunk/www/repository/hsqldb/jars/hsqldb-1.7.2.2.jar?view=auto&rev=10435
Added: trunk/www/repository/hsqldb/jars/hsqldb-1.8.0.7.jar
Url: http://scarab.tigris.org/source/browse/scarab/trunk/www/repository/hsqldb/jars/hsqldb-1.8.0.7.jar?view=auto&rev=10436
==============================================================================
Binary file. No diff available.
Modified: trunk/xdocs/scarab_properties.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/xdocs/scarab_properties.xml?view=diff&rev=10436&p1=trunk/xdocs/scarab_properties.xml&p2=trunk/xdocs/scarab_properties.xml&r1=10435&r2=10436
==============================================================================
--- trunk/xdocs/scarab_properties.xml (original)
+++ trunk/xdocs/scarab_properties.xml 2007-04-10 13:30:45-0700
@@ -1980,7 +1980,7 @@
</property>
<property>
<name>scarab.database.admin.url.hypersonic</name>
- <default>jdbc:hsqldb:file:${applicationRoot}/${hsqldb.database}/${hsqldb.dbname}</default>
+ <default>jdbc:hsqldb:file:${applicationRoot}/embedded_hsqldb/${hsqldb.dbname};shutdown=true</default>
<comment/>
<type>Runtime</type>
<customization modification="optional">basic</customization>
@@ -1988,7 +1988,7 @@
</property>
<property>
<name>scarab.database.url.hypersonic</name>
- <default>jdbc:hsqldb:file:${applicationRoot}/${hsqldb.database}/${hsqldb.dbname}</default>
+ <default>jdbc:hsqldb:file:${applicationRoot}/embedded_hsqldb/${hsqldb.dbname};shutdown=true</default>
<comment/>
<type>Runtime</type>
<customization modification="optional">basic</customization>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.