\r
\r
#database common settings\r
-db.script.dir=${basedir}/src/main/resources/db/${db}\r
+db.script.dir=${jboss.server.cspace}/cspace/services/db/${db}\r
db.user=${env.DB_USER}\r
db.user.password=${env.DB_PASSWORD}\r
db.nuxeo.user=nuxeo\r
<ant antfile="services/build.xml" target="gen_ddl" inheritAll="false"/>\r
</target>\r
\r
- <target name="create_db" \r
+ <target name="create_db" depends="create_base_db"\r
+ description="create database(s), invoke subtasks for indexes, etc.">\r
+ <ant antfile="services/build.xml" target="create_db" inheritAll="false"/>\r
+ </target>\r
+\r
+ <target name="create_base_db" \r
description="create database(s), grant privileges to test users">\r
<sql driver="${db.jdbc.driver.class}"\r
url="${db.jdbc.baseurl}"\r
<pathelement path="${db.driver.jar}"/>\r
</classpath>\r
</sql>\r
- <ant antfile="services/build.xml" target="create_db" inheritAll="false"/>\r
</target>\r
\r
<target name="import"\r
<ant antfile="services/build.xml" target="import" inheritAll="false"/>\r
</target>\r
\r
- <target name="deploy" depends="install,setup_jbossds.cfg,setup_cspaceds.cfg"\r
+ <target name="deploy" depends="install,setup_jbossds.cfg,setup_cspaceds.cfg,setup_initdb.sql"\r
description="deploy services in ${jboss.server.cspace}">\r
<!-- copy db scripts, etc. -->\r
<copy todir="${jboss.server.cspace}/cspace/services/scripts">\r
</copy>\r
</target>\r
\r
+ <target name="setup_initdb.sql" description="copy init_db scripts, replacing keywords">\r
+ <copy todir="${jboss.server.cspace}/cspace/services/db">\r
+ <fileset dir="${src}/main/resources/db"/>\r
+ <filterset>\r
+ <!-- Note: double-subs from ${db.xyz.password} fail -->\r
+ <filter token="DB_CSPACE_USER" value="${db.cspace.user}" />\r
+ <filter token="DB_NUXEO_USER" value="${db.nuxeo.user}" />\r
+ <filter token="DB_JBOSS_USER" value="${db.jboss.user}" />\r
+ <filter token="DB_CSPACE_PASSWORD" value="${env.DB_PASSWORD_CSPACE}" />\r
+ <filter token="DB_NUXEO_PASSWORD" value="${env.DB_PASSWORD_NUXEO}" />\r
+ <filter token="DB_JBOSS_PASSWORD" value="${env.DB_PASSWORD_JBOSS}" />\r
+ </filterset>\r
+ </copy>\r
+ </target>\r
+ \r
+ \r
\r
<target name="undeploy"\r
description="undeploy services from ${jboss.server.cspace}">\r
<property file="build.properties" />\r
<property name="src" location="src"/>\r
\r
- <!-- <property name="db" value="mysql"/> -->\r
- <property name="db.script.dir" location="${basedir}/db/${db}"/>\r
-\r
<condition property="osfamily-unix">\r
<os family="unix" />\r
</condition>\r
+++ /dev/null
-\r
-<project name="id-service-install" default="package" basedir=".">\r
- <description>\r
- CollectionSpace ID Service Installer Targets\r
- </description>\r
- <!-- set global properties for this build -->\r
- <property file="${basedir}/../../build.properties" /> \r
- <property name="src" location="src"/>\r
-\r
- <property name="db" value="mysql"/>\r
- <property name="db.script.dir" location="${basedir}/db/${db}"/>\r
-\r
- <condition property="osfamily-unix">\r
- <os family="unix" />\r
- </condition>\r
- <condition property="osfamily-windows">\r
- <os family="windows" />\r
- </condition>\r
-\r
- <target name="install" description="">\r
- <exec executable="echo">\r
- <arg value="Installer: Executing ID Service's 'install' target." />\r
- </exec>\r
- </target>\r
-\r
- <target name="config" description="" depends="install">\r
- <exec executable="echo">\r
- <arg value="Installer: Executing ID Service's 'config' target." />\r
- </exec>\r
- </target>\r
-\r
- <target name="predeploy" depends="config">\r
- <exec executable="echo">\r
- <arg value="Installer: Executing ID Service's 'predeploy' target for the ID Service." />\r
- </exec>\r
- \r
- <exec executable="echo">\r
- <arg value="Installer: Creating necessary database tables for the ID Service." />\r
- </exec> \r
- <!-- Create the tables -->\r
- <sql driver="com.mysql.jdbc.Driver"\r
- url="jdbc:mysql://localhost:3306/cspace"\r
- userid="root"\r
- password="admin"\r
- src="${db.script.dir}/create_id_generators_table.sql">\r
- <classpath>\r
- <pathelement path="${jboss.lib.cspace}/mysql-connector-java-5.1.7-bin.jar"/>\r
- </classpath>\r
- </sql>\r
- \r
- <exec executable="echo">\r
- <arg value="Installer: Loading tables for the ID Service." />\r
- </exec> \r
- \r
- <!-- Load the tables -->\r
- <sql driver="com.mysql.jdbc.Driver"\r
- url="jdbc:mysql://localhost:3306/cspace"\r
- userid="root"\r
- password="admin"\r
- src="${db.script.dir}/load_id_generators.sql">\r
- <classpath>\r
- <pathelement path="${jboss.lib.cspace}/mysql-connector-java-5.1.7-bin.jar"/>\r
- </classpath>\r
- </sql> \r
- </target>\r
- \r
- <target name="deploy" description="">\r
- <exec executable="echo">\r
- <arg value="Installer: Executing ID Service's 'deploy' target." />\r
- </exec>\r
- </target>\r
- \r
- <target name="postdeploy" description="">\r
- <exec executable="echo">\r
- <arg value="Installer: Executing ID Service's 'init' target." />\r
- </exec>\r
- </target>\r
- \r
-</project>\r
</copy>\r
</target>\r
\r
- <target name="create_db"\r
- description="create tables(s), indices for security service">\r
- <sql driver="${db.jdbc.driver.class}"\r
- url="${db.jdbc.cspace.url}"\r
- userid="${db.cspace.user}"\r
- password="${db.cspace.user.password}"\r
- src="${db.script.dir}/test_authn.sql" >\r
- <classpath>\r
- <pathelement path="${db.driver.jar}"/>\r
- </classpath>\r
- </sql>\r
- </target>\r
- \r
<target name="deploy" depends="install"\r
description="deploy security service in ${jboss.server.cspace}">\r
\r
--\r
-- grant privileges to test user on nuxeo and jbossdb databases\r
--\r
-GRANT ALL PRIVILEGES ON jbossdb.* TO 'jboss'@'localhost' IDENTIFIED BY 'jbpw' WITH GRANT OPTION;\r
+GRANT ALL PRIVILEGES ON jbossdb.* TO '@DB_JBOSS_USER@'@'localhost' IDENTIFIED BY '@DB_JBOSS_PASSWORD@' WITH GRANT OPTION;\r
FLUSH PRIVILEGES;\r
-GRANT ALL PRIVILEGES ON cspace.* TO 'cspace'@'localhost' IDENTIFIED BY 'cspw' WITH GRANT OPTION;\r
+GRANT ALL PRIVILEGES ON cspace.* TO '@DB_CSPACE_USER@'@'localhost' IDENTIFIED BY '@DB_CSPACE_PASSWORD@' WITH GRANT OPTION;\r
FLUSH PRIVILEGES;\r
-GRANT ALL PRIVILEGES ON nuxeo.* TO 'nuxeo'@'localhost' IDENTIFIED BY 'nuxpw' WITH GRANT OPTION;\r
+GRANT ALL PRIVILEGES ON nuxeo.* TO '@DB_NUXEO_USER@'@'localhost' IDENTIFIED BY '@DB_NUXEO_PASSWORD@' WITH GRANT OPTION;\r
--\r
-- Grant privileges to read-only user on Nuxeo, for reporting. \r
--\r
DROP USER IF EXISTS cspace;\r
DROP USER IF EXISTS jboss;\r
\r
-CREATE ROLE nuxeo WITH PASSWORD 'nuxpw' LOGIN;\r
-CREATE ROLE cspace WITH PASSWORD 'cspw' LOGIN;\r
-CREATE ROLE jboss WITH PASSWORD 'jbpw' LOGIN;\r
+CREATE ROLE @DB_NUXEO_USER@ WITH PASSWORD '@DB_NUXEO_PASSWORD@' LOGIN;\r
+CREATE ROLE @DB_CSPACE_USER@ WITH PASSWORD '@DB_CSPACE_PASSWORD@' LOGIN;\r
+CREATE ROLE @DB_JBOSS_USER@ WITH PASSWORD '@DB_JBOSS_PASSWORD@' LOGIN;\r
CREATE ROLE reader WITH PASSWORD 'read' LOGIN;\r
\r
--\r
-- recreate jbossdb, cspace, and nuxeo databases\r
--\r
-CREATE database jbossdb OWNER jboss;\r
-CREATE DATABASE cspace ENCODING 'UTF8' OWNER cspace;\r
-CREATE DATABASE nuxeo ENCODING 'UTF8' OWNER nuxeo;\r
+CREATE database jbossdb OWNER @DB_JBOSS_USER@;\r
+CREATE DATABASE cspace ENCODING 'UTF8' OWNER @DB_CSPACE_USER@;\r
+CREATE DATABASE nuxeo ENCODING 'UTF8' OWNER @DB_NUXEO_USER@;\r
\r
--\r
-- Grant privileges to read-only user on Nuxeo, for reporting. \r