Add cloud database creation to maven, use mvn -P developer -pl developer
-Ddeploydb


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/56af5991
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/56af5991
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/56af5991

Branch: refs/heads/4.0
Commit: 56af5991f3aae3f662a551a32cc25d5ea28d1000
Parents: c44f97a
Author: Hugo Trippaers <[email protected]>
Authored: Sat Sep 22 11:28:33 2012 +0200
Committer: Edison Su <[email protected]>
Committed: Mon Sep 24 10:05:06 2012 -0700

----------------------------------------------------------------------
 developer/pom.xml |  143 ++++++++++++++++++++++++++++++++++++++++++++++++
 pom.xml           |    6 ++
 2 files changed, 149 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56af5991/developer/pom.xml
----------------------------------------------------------------------
diff --git a/developer/pom.xml b/developer/pom.xml
new file mode 100644
index 0000000..3270977
--- /dev/null
+++ b/developer/pom.xml
@@ -0,0 +1,143 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
+       license agreements. See the NOTICE file distributed with this work for 
additional 
+       information regarding copyright ownership. The ASF licenses this file 
to 
+       you under the Apache License, Version 2.0 (the "License"); you may not 
use 
+       this file except in compliance with the License. You may obtain a copy 
of 
+       the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
required 
+       by applicable law or agreed to in writing, software distributed under 
the 
+       License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS 
+       OF ANY KIND, either express or implied. See the License for the 
specific 
+       language governing permissions and limitations under the License. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+       <modelVersion>4.0.0</modelVersion>
+       <groupId>org.apache.cloudstack</groupId>
+       <artifactId>cloud-developer</artifactId>
+       <name>Apache CloudStack Developer Tools</name>
+       <packaging>pom</packaging>
+       <parent>
+               <groupId>org.apache.cloudstack</groupId>
+               <artifactId>cloudstack</artifactId>
+               <version>4.0.0-SNAPSHOT</version>
+       </parent>
+       <dependencies>
+               <dependency>
+                       <groupId>mysql</groupId>
+                       <artifactId>mysql-connector-java</artifactId>
+                       <version>5.1.21</version>
+                       <scope>runtime</scope>
+               </dependency>
+       </dependencies>
+       <build>
+               <defaultGoal>install</defaultGoal>
+       </build>
+
+       <profiles>
+               <profile>
+                       <id>deploydb</id>
+                       <activation>
+                               <property>
+                                       <name>deploydb</name>
+                               </property>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>properties-maven-plugin</artifactId>
+                                               <version>1.0-alpha-2</version>
+                                               <executions>
+                                                       <execution>
+                                                               
<phase>initialize</phase>
+                                                               <goals>
+                                                                       
<goal>read-project-properties</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       <files>
+                                                                               
<file>${project.parent.basedir}/utils/conf/db.properties</file>
+                                                                       </files>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                                       <plugin>
+                                               
<artifactId>maven-antrun-plugin</artifactId>
+                                               <version>1.7</version>
+                                               <executions>
+                                                       <execution>
+                                                               
<phase>generate-resources</phase>
+                                                               <goals>
+                                                                       
<goal>run</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       <target>
+                                                                               
<filter token="VERSION" value="${project.version}" />
+                                                                               
<copy todir="${basedir}/target/db" filtering="true">
+                                                                               
        <fileset dir="${project.basedir}/../setup/db/">
+                                                                               
        </fileset>
+                                                                               
</copy>
+                                                                       
</target>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                                       <plugin>
+                                               
<groupId>org.codehaus.mojo</groupId>
+                                               
<artifactId>sql-maven-plugin</artifactId>
+                                               <version>1.5</version>
+                                               <dependencies>
+                                                       <!-- specify the 
dependent jdbc driver here -->
+                                                       <dependency>
+                                                               
<groupId>mysql</groupId>
+                                                               
<artifactId>mysql-connector-java</artifactId>
+                                                               
<version>${cs.mysql.version}</version>
+                                                       </dependency>
+                                               </dependencies>
+                                               <configuration>
+                                                       
<driver>org.gjt.mm.mysql.Driver</driver>
+                                                       
<url>jdbc:mysql://${db.cloud.host}:${db.cloud.port}/cloud</url>
+                                                       
<username>${db.cloud.username}</username>
+                                                       
<password>${db.cloud.password}</password>
+                                                       <!--all executions are 
ignored if -Dmaven.test.skip=true -->
+                                                       
<skip>${maven.test.skip}</skip>
+                                                       
<forceMojoExecution>true</forceMojoExecution>
+                                               </configuration>
+
+                                               <executions>
+                                                       <execution>
+                                                               
<id>create-database</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>execute</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<username>root</username>
+                                                                       
<password>${db.cloud.password}</password>
+                                                                       
<url>jdbc:mysql://${db.cloud.host}:${db.cloud.port}</url>
+                                                                       
<sqlCommand>drop database if exists `cloud`</sqlCommand>
+                                                                       
<sqlCommand>create database `cloud`</sqlCommand>
+                                                                       <!-- 
<onError>continue</onError> -->
+                                                               </configuration>
+                                                       </execution>
+                                                       <execution>
+                                                               
<id>create-schema</id>
+                                                               
<phase>process-test-resources</phase>
+                                                               <goals>
+                                                                       
<goal>execute</goal>
+                                                               </goals>
+                                                               <configuration>
+                                                                       
<srcFiles>
+                                                                               
<srcFile>${basedir}/target/db/create-schema.sql</srcFile>
+                                                                               
<srcFile>${basedir}/target/db/templates.sql</srcFile>
+                                                                               
<srcFile>${basedir}/target/db/create-index-fk.sql</srcFile>
+                                                                       
</srcFiles>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+       </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56af5991/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 49a71a1..24faff7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -328,6 +328,12 @@
         <module>deps</module>
       </modules>
     </profile>
+    <profile>
+      <id>developer</id>
+      <modules>
+        <module>developer</module>
+      </modules>
+    </profile>
   </profiles>
 
 </project>

Reply via email to