Use maven to build the systemvm zip and iso
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/30545371 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/30545371 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/30545371 Branch: refs/heads/4.0 Commit: 3054537182afd3340f975bc92c072b9a646002a1 Parents: 083cef3 Author: Hugo Trippaers <[email protected]> Authored: Mon Sep 3 14:09:19 2012 +0200 Committer: Hugo Trippaers <[email protected]> Committed: Mon Sep 3 14:09:19 2012 +0200 ---------------------------------------------------------------------- console-proxy/pom.xml | 116 ++++++++++++++++++++++++++++ console-proxy/systemvm-descriptor.xml | 94 ++++++++++++++++++++++ patches/cloudpatch-descriptor.xml | 43 ++++++++++ patches/pom.xml | 97 +++++++++++++++++++++++ pom.xml | 1 + 5 files changed, 351 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/30545371/console-proxy/pom.xml ---------------------------------------------------------------------- diff --git a/console-proxy/pom.xml b/console-proxy/pom.xml index 5a42c2c..070beb8 100644 --- a/console-proxy/pom.xml +++ b/console-proxy/pom.xml @@ -42,6 +42,37 @@ <artifactId>commons-codec</artifactId> <version>${cs.codec.version}</version> </dependency> + <!-- required deps for the systemvm --> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-vmware-base</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-agent</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-utils</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-patches</artifactId> + <version>${project.version}</version> + </dependency> </dependencies> <build> <defaultGoal>install</defaultGoal> @@ -54,5 +85,90 @@ </excludes> </resource> </resources> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.3</version> + <configuration> + <finalName>systemvm</finalName> + <appendAssemblyId>false</appendAssemblyId> + <descriptors> + <descriptor>systemvm-descriptor.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-systemvm</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>copy-resources</id> + <!-- here the phase you need --> + <phase>package</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>dist</outputDirectory> + <resources> + <resource> + <directory>target</directory> + <includes> + <include>systemvm.zip</include> + </includes> + </resource> + <resource> + <directory>../patches/target/</directory> + <includes> + <include>cloud-scripts.tar.gz</include> + </includes> + </resource> + <resource> + <directory>../patches/systemvm/debian/config/root/.ssh</directory> + <includes> + <include>authorized_keys</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.2.1</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>exec</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>mkisofs</executable> + <workingDirectory>dist</workingDirectory> + <arguments> + <argument>-quiet</argument> + <argument>-r</argument> + <argument>-o</argument> + <argument>systemvm.iso</argument> + <argument>systemvm.zip</argument> + <argument>cloud-scripts.tar.gz</argument> + <argument>authorized_keys</argument> + </arguments> + </configuration> + </plugin> + </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/30545371/console-proxy/systemvm-descriptor.xml ---------------------------------------------------------------------- diff --git a/console-proxy/systemvm-descriptor.xml b/console-proxy/systemvm-descriptor.xml new file mode 100644 index 0000000..37a1ae9 --- /dev/null +++ b/console-proxy/systemvm-descriptor.xml @@ -0,0 +1,94 @@ +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + <id>systemvm</id> + <formats> + <format>zip</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <dependencySets> + <dependencySet> + <outputDirectory></outputDirectory> + </dependencySet> + </dependencySets> + <fileSets> + <fileSet> + <directory>../scripts/storage/secondary/</directory> + <outputDirectory>scripts/storage/secondary</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + </fileSet> + <fileSet> + <directory>../scripts/storage/secondary/</directory> + <outputDirectory>scripts/storage/secondary</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + </fileSet> + <fileSet> + <directory>scripts</directory> + <outputDirectory></outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + </fileSet> + <fileSet> + <directory>conf</directory> + <outputDirectory>conf</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>log4j-cloud.xml</include> + <include>consoleproxy.properties</include> + </includes> + </fileSet> + <fileSet> + <directory>../console-proxy/images</directory> + <outputDirectory>images</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>*.jpg</include> + <include>*.gif</include> + <include>*.png</include> + <include>*.cur</include> + </includes> + </fileSet> + <fileSet> + <directory>../console-proxy/js</directory> + <outputDirectory>js</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>*.js</include> + </includes> + </fileSet> + <fileSet> + <directory>../console-proxy/ui</directory> + <outputDirectory>ui</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>*.ftl</include> + </includes> + </fileSet> + <fileSet> + <directory>../console-proxy/css</directory> + <outputDirectory>css</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>*.css</include> + </includes> + </fileSet> + <fileSet> + <directory>../console-proxy/certs</directory> + <outputDirectory>certs</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>*.keystore</include> + <include>*.crt</include> + <include>*.key</include> + </includes> + </fileSet> + </fileSets> +</assembly> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/30545371/patches/cloudpatch-descriptor.xml ---------------------------------------------------------------------- diff --git a/patches/cloudpatch-descriptor.xml b/patches/cloudpatch-descriptor.xml new file mode 100644 index 0000000..263fb34 --- /dev/null +++ b/patches/cloudpatch-descriptor.xml @@ -0,0 +1,43 @@ +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + <id>cloud-scripts</id> + <formats> + <format>tar.gz</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <fileSets> + <fileSet> + <directory>../patches/systemvm/debian/config/</directory> + <outputDirectory></outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + </fileSet> + <fileSet> + <directory>../patches/systemvm/debian/vpn/</directory> + <outputDirectory></outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + </fileSet> + <fileSet> + <directory>../patches/systemvm/debian/xe/</directory> + <outputDirectory></outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <excludes> + <exclude>**/xe-*</exclude> + <exclude>**/xen-*</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>../patches/systemvm/debian/xe/</directory> + <outputDirectory>usr/sbin</outputDirectory> + <directoryMode>555</directoryMode> + <fileMode>555</fileMode> + <includes> + <include>**/xe-*</include> + <include>**/xen-*</include> + </includes> + </fileSet> + </fileSets> +</assembly> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/30545371/patches/pom.xml ---------------------------------------------------------------------- diff --git a/patches/pom.xml b/patches/pom.xml new file mode 100644 index 0000000..efe61af --- /dev/null +++ b/patches/pom.xml @@ -0,0 +1,97 @@ +<!-- + 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> + <artifactId>cloud-patches</artifactId> + <name>Apache CloudStack SystemVM Patches</name> + <parent> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloudstack</artifactId> + <version>4.0.0-SNAPSHOT</version> + </parent> + <dependencies> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <version>${cs.log4j.version}</version> + </dependency> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>${cs.gson.version}</version> + </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>${cs.codec.version}</version> + </dependency> + <!-- required deps for the systemvm --> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-vmware-base</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-agent</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cloudstack</groupId> + <artifactId>cloud-utils</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + <build> + <defaultGoal>install</defaultGoal> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.3</version> + <configuration> + <finalName>cloud-scripts</finalName> + <appendAssemblyId>false</appendAssemblyId> + <descriptors> + <descriptor>cloudpatch-descriptor.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-cloud-scripts</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/30545371/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 555c63c..99b1177 100644 --- a/pom.xml +++ b/pom.xml @@ -157,6 +157,7 @@ <module>vmware-base</module> <module>plugins</module> <module>awsapi</module> + <module>patches</module> </modules> <dependencies>
