summaryrefslogtreecommitdiffstats
path: root/deployment/zip/pom.xml
blob: 276512a826f6225b90d2dc0c729e980be3e129f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright 2017 Huawei Technologies Co., Ltd.

    Licensed 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>

    <parent>
        <groupId>org.onap.cli</groupId>
        <artifactId>cli-deployment</artifactId>
        <version>6.0.1-SNAPSHOT</version>
    </parent>

    <artifactId>cli-zip</artifactId>
    <name>cli/deployment/zip</name>
    <packaging>pom</packaging>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.5</version>
                <executions>
                    <execution>
                        <id>open-cli-deployment</id>
                        <phase>package</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <source>
                                System.out.println("******** Going to make release zip ********")

                                deployFolder =
                                "${project.build.directory}/deployoutput"
                                deployUnzip =
                                "${project.build.directory}/deployunzip"
                                outfileName =
                                "${package.name}-${project.version}.zip"
                                ant.delete(dir: "${deployFolder}")
                                ant.mkdir(dir: "${deployFolder}")

                                ant.delete(dir: "${deployUnzip}")
                                ant.mkdir(dir: "${deployUnzip}")

                                ant.delete(dir: "${deployUnzip}/lib")
                                ant.mkdir(dir: "${deployUnzip}/lib")

                                ant.delete(dir: "${deployUnzip}/open-cli-schema")
                                ant.mkdir(dir: "${deployUnzip}/open-cli-schema")

                                ant.delete(dir: "${deployUnzip}/open-cli-sample")
                                ant.mkdir(dir: "${deployUnzip}/open-cli-sample")

                                ant.delete(dir: "${deployUnzip}/data")
                                ant.mkdir(dir: "${deployUnzip}/data")

                                ant.delete(dir: "${deployUnzip}/data/tmp")
                                ant.mkdir(dir: "${deployUnzip}/data/tmp")

                                ant.delete(dir: "${deployUnzip}/script")
                                ant.mkdir(dir: "${deployUnzip}/script")

                                ant.copy(todir: "${deployUnzip}") {
                                fileset(dir: "${basedir}/src/main/release"){
                                exclude(name: "**/.gitignore")
                                }
                                }

                                ant.copy(todir: "${deployUnzip}") {
                                fileset(file: "${basedir}/installer/install.sh")
                                }
                                ant.chmod(file: "${deployUnzip}/bin/oclip.sh", perm: "ugo+x")
                                ant.chmod(file: "${deployUnzip}/install.sh", perm: "ugo+x")

                                ant.copy(todir:
                                "${deployUnzip}/lib") {
                                fileset(file:
                                "${project.build.directory}/../../../main/target/cli-main-${project.version}.jar")
                                fileset(dir:
                                "${project.build.directory}/../../../main/target/lib/")
                                fileset(dir:
                                "${project.build.directory}/../../../products/target/lib/")
                                fileset(dir:
                                "${project.build.directory}/../../../profiles/target/lib/")
                                fileset(dir:
                                "${project.build.directory}/../../../grpc/target/lib/")
                                }

                                ant.copy(todir:
                                "${deployUnzip}/conf") {
                                fileset(dir:
                                "${project.build.directory}/../../../products/target/conf/",
                                erroronmissingdir: false)
                                fileset(dir:
                                "${project.build.directory}/../../../profiles/target/conf/",
                                erroronmissingdir: false)
                                fileset(file:
                                "${basedir}/src/main/release/conf/*.properties")
                                }

                                ant.copy(todir:
                                "${deployUnzip}/script") {
                                fileset(dir:
                                "${project.build.directory}/../../../products/target/script/",
                                erroronmissingdir: false)
                                fileset(dir:
                                "${project.build.directory}/../../../profiles/target/script/",
                                erroronmissingdir: false)
                                }

                                ant.copy(todir:
                                "${deployUnzip}/docs") {
                                fileset(file:
                                "${project.build.directory}/../../../README.md")
                                }

                                ant.zip(destfile:
                                "${deployFolder}/${outfileName}") {
                                zipfileset(dir: "${deployUnzip}", excludes: "**/*.sh")
                                zipfileset(dir: "${deployUnzip}", includes: "**/*.sh", filemode: "755")
                                }
                                System.out.println("******** completed. ************")
                            </source>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>${project.build.directory}/deployoutput/${package.name}-${project.version}.zip</file>
                                    <type>zip</type>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>