Fix docker build issue
[dmaap/messagerouter/messageservice.git] / pom.xml
1 <!--
2      ============LICENSE_START=======================================================
3      org.onap.dmaap
4      ================================================================================
5      Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6      ================================================================================
7      Licensed under the Apache License, Version 2.0 (the "License");
8      you may not use this file except in compliance with the License.
9      You may obtain a copy of the License at
10            http://www.apache.org/licenses/LICENSE-2.0
11      
12      Unless required by applicable law or agreed to in writing, software
13      distributed under the License is distributed on an "AS IS" BASIS,
14      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15      See the License for the specific language governing permissions and
16      limitations under the License.
17      ============LICENSE_END=========================================================
18    
19      ECOMP is a trademark and service mark of AT&T Intellectual Property.
20      
21  -->
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24         <modelVersion>4.0.0</modelVersion>
25
26         <parent>
27                 <groupId>org.onap.oparent</groupId>
28                 <artifactId>oparent</artifactId>
29                 <version>0.1.1</version>
30         </parent>
31         
32         <groupId>org.onap.dmaap.messagerouter.messageservice</groupId>
33         <artifactId>dmaapMR1</artifactId>
34         <version>1.0.2-SNAPSHOT</version>
35         <name>dmaap-messagerouter-messageservice</name>
36         <description>Message Router - Restful interface built for kafka</description>
37          <licenses>
38           <license>
39             <name>Apache License Version 2.0</name>
40           </license>
41         </licenses>
42
43         <developers>
44            <developer>
45              <name>Rajashree</name>
46              <email></email>
47              <organization>ATT</organization>
48              <organizationUrl>www.att.com</organizationUrl>
49            </developer>
50            <developer>
51              <name>Ramkumar</name>
52              <email></email>
53              <organization>ATT</organization>
54              <organizationUrl>www.att.com</organizationUrl>
55            </developer>
56          </developers>
57         
58         <build>
59                 <plugins>
60                 <plugin>
61                                 <groupId>org.apache.maven.plugins</groupId>
62                                 <artifactId>maven-site-plugin</artifactId>
63                                 <version>3.6</version>
64                                 <dependencies>
65                                         <dependency>
66                                                 <groupId>org.apache.maven.wagon</groupId>
67                                                 <artifactId>wagon-webdav-jackrabbit</artifactId>
68                                                 <version>2.10</version>
69                                         </dependency>
70                                 </dependencies>
71                         </plugin>
72                         <plugin>
73                                                 <groupId>org.apache.maven.plugins</groupId>
74                                                 <artifactId>maven-antrun-plugin</artifactId>
75                                                 <version>1.7</version>
76                                                 <executions>
77                                                         <execution>
78                                                                 <id>prep_service_runtime-ajsc-arch-parent</id>
79                                                                 <phase>generate-resources</phase>
80                                                                 <configuration>
81                                                                         <target name="prep_service_runtime">
82                                                                                 <echo message="ENTERING 'copy_services_template' ant tasks" />
83                                                                                 <!-- <filter token="basedir" value="${basedir}" /> -->
84                                                                                 <!-- delete any prior stating stuff before package phase -->
85                                                                                 <delete dir="target/versioned-ajsc" includes="**/*" />
86                                                                                 <delete dir="target/versioned-runtime" includes="**/*" />
87                                                                                 <delete dir="target/CDP" includes="**/*" />
88
89                                                                                 <!-- This is where replacer plugin replaces tokens (Example: __module_ajsc_namespace_name__ 
90                                                                                         is replaced by module.ajsc.namespace.name) -->
91                                                                                 <copy todir="target/versioned-ajsc">
92                                                                                         <fileset dir="src/main/ajsc" includes="**/*" />
93                                                                                 </copy>
94
95                                                                                 <!-- Copying the CDP, bundleconfig, and StaticContent to the target 
96                                                                                         directory for future use by replacer plugin -->
97                                                                                 <copy todir="target/CDP" failonerror="false">
98                                                                                         <fileset dir="CDP" includes="**/*.sh" />
99                                                                                 </copy>
100                                                                                 <copy flatten="true" file="CDP/SampleBlueprint.xml"
101                                                                                         failonerror="false"
102                                                                                         tofile="target/CDP/${module.ajsc.namespace.name}Blueprint.xml" />
103                                                                                 <copy todir="target/staticContent" failonerror="false">
104                                                                                         <fileset dir="staticContent" includes="**/*" />
105                                                                                 </copy>
106                                                                                 <copy todir="target/bundleconfig" failonerror="false">
107                                                                                         <!-- filtering="true"> -->
108                                                                                         <fileset dir="bundleconfig" />
109                                                                                 </copy>
110
111                                                                                 <echo message="EXITING 'copy_services_template' ant tasks" />
112                                                                                 <echo message="ENTERING 'copy_runtime_template' ant tasks" />
113                                                                                 <copy todir="target/versioned-runtime">
114                                                                                         <fileset dir="src/main/runtime" includes="**/*" />
115                                                                                 </copy>
116                                                                                 <delete
117                                                                                         file="target/versioned-runtime/context/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.context" />
118                                                                                 <copy flatten="true"
119                                                                                         file="src/main/runtime/context/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.context"
120                                                                                         tofile="target/versioned-runtime/context/${module.ajsc.namespace.name}#${module.ajsc.namespace.version}.context" />
121                                                                                 <delete
122                                                                                         file="target/versioned-runtime/deploymentPackage/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.json" />
123                                                                                 <copy flatten="true"
124                                                                                         file="src/main/runtime/deploymentPackage/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.json"
125                                                                                         tofile="target/versioned-runtime/deploymentPackage/${module.ajsc.namespace.name}#${module.ajsc.namespace.version}.json" />
126                                                                                 <delete
127                                                                                         file="target/versioned-runtime/shiroRole/contextadmin#__module.ajsc.namespace.name__.json" />
128                                                                                 <copy flatten="true"
129                                                                                         file="src/main/runtime/shiroRole/contextadmin#__module.ajsc.namespace.name__.json"
130                                                                                         tofile="target/versioned-runtime/shiroRole/contextadmin#${module.ajsc.namespace.name}.json" />
131                                                                                 <delete
132                                                                                         file="target/versioned-runtime/shiroUserRole/ajsc#contextAdmin#__module.ajsc.namespace.name__.json" />
133                                                                                 <copy flatten="true"
134                                                                                         file="src/main/runtime/shiroUserRole/ajsc#contextadmin#__module.ajsc.namespace.name__.json"
135                                                                                         tofile="target/versioned-runtime/shiroUserRole/ajsc#contextadmin#${module.ajsc.namespace.name}.json" />
136                                                                                 <echo message="EXITING 'copy_runtime_template' ant tasks" />
137                                                                         </target>
138                                                                 </configuration>
139                                                                 <goals>
140                                                                         <goal>run</goal>
141                                                                 </goals>
142                                                         </execution>
143                                                         <execution>
144                                                                 <id>clrf</id>
145                                                                 <phase>package</phase>
146                                                                 <configuration>
147                                                                         <tasks>
148                                                                                 <fixcrlf
149                                                                                         srcdir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}"
150                                                                                         includes="**/*.sh,**/*.xml,**/*.properties,**/*.xsd" />
151                                                                         </tasks>
152                                                                 </configuration>
153                                                                 <goals>
154                                                                         <goal>run</goal>
155                                                                 </goals>
156                                                         </execution>
157                                                         <execution>
158                                                                 <id>prep_home_directory_for_swm_pkgcreate-ajsc-arch-parent</id>
159                                                                 <phase>package</phase>
160                                                                 <configuration>
161                                                                         <target name="prep_home_directory_for_swm_pkgcreate">
162                                                                                 <ant antfile="${basedir}/antBuild/build.xml" target="prep_home_directory_for_swm_pkgcreate" />
163                                                                         </target>
164                                                                 </configuration>
165                                                                 <goals>
166                                                                         <goal>run</goal>
167                                                                 </goals>
168                                                         </execution>
169                                                 </executions>
170                                         </plugin>
171                                         
172                                         <plugin>
173                                                 <groupId>org.codehaus.groovy.maven</groupId>
174                                                 <artifactId>gmaven-plugin</artifactId>
175                                                 <version>1.0</version>
176                                                 <executions>
177                                                         <execution>
178                                                                 <id>gmaven-ajsc-arch-parent</id>
179                                                                 <phase>package</phase>
180                                                                 <goals>
181                                                                         <goal>execute</goal>
182                                                                 </goals>
183                                                                 <configuration>
184                                                                         <sourcepath>src/main/groovy</sourcepath>
185                                                                         <source>
186                                                                                 import ajsc.AssemblyService;
187                                                                                 ajsc.AssemblyService.getBasedir(project.basedir.getAbsolutePath(),"${distFilesRoot}")
188                                                                         </source>
189                                                                 </configuration>
190                                                         </execution>
191                                                 </executions>
192                                         </plugin>
193                                         
194                                         <plugin>
195                                                 <groupId>com.google.code.maven-replacer-plugin</groupId>
196                                                 <artifactId>replacer</artifactId>
197                                                 <version>1.5.2</version>
198                                                 <executions>
199                                                         <execution>
200                                                                 <id>google-replacer-ajsc-arch-parent</id>
201                                                                 <phase>prepare-package</phase>
202                                                                 <goals>
203                                                                         <goal>replace</goal>
204                                                                 </goals>
205                                                                 <configuration>
206                                                                         <basedir>${project.build.directory}</basedir>
207                                                                         <includes>
208                                                                                 <include>staticContent/**/*.html</include>
209                                                                                 <include>CDP/**</include>
210                                                                                 <include>bundleconfig/**</include>
211                                                                                 <include>versioned-runtime/**/*.context</include>
212                                                                                 <include>versioned-runtime/**/*.json</include>
213                                                                                 <include>versioned-ajsc/**/*.route</include>
214                                                                                 <include>versioned-ajsc/**/*.groovy</include>
215                                                                                 <include>versioned-ajsc/**/*.xml</include>
216                                                                                 <include>classes/*.properties</include>
217                                                                                 <include>swm/package/nix/dist_files${distFilesRoot}/etc/*.properties</include>
218                                                                         </includes>
219                                                                         <escape>true</escape>
220                                                                         <replacements>
221                                                                                 <replacement>
222                                                                                         <token>__module_ajsc_namespace_name__</token>
223                                                                                         <value>${module.ajsc.namespace.name}</value>
224                                                                                 </replacement>
225                                                                                 <replacement>
226                                                                                         <token>__module_ajsc_namespace_version__</token>
227                                                                                         <value>${module.ajsc.namespace.version}</value>
228                                                                                 </replacement>
229                                                                                 <replacement>
230                                                                                         <token>__ajscHome__</token>
231                                                                                         <value>${replaceWinFilePath}</value>
232                                                                                 </replacement>
233                                                                                 <replacement>
234                                                                                         <token>__projectGroupId__</token>
235                                                                                         <value>${project.groupId}</value>
236                                                                                 </replacement>
237                                                                                 <replacement>
238                                                                                         <token>__projectArtifactId__</token>
239                                                                                         <value>${project.artifactId}</value>
240                                                                                 </replacement>
241                                                                                 <replacement>
242                                                                                         <token>__projectVersion__</token>
243                                                                                         <value>${project.version}</value>
244                                                                                 </replacement>
245                                                                                 <replacement>
246                                                                                         <token>__basedir__</token>
247                                                                                         <value>${replaceWinBasedirPath}</value>
248                                                                                 </replacement>
249                                                                         </replacements>
250                                                                 </configuration>
251                                                         </execution>
252                                                 </executions>
253                                         </plugin>
254                                         
255                                         <plugin>
256                                                 <groupId>org.apache.maven.plugins</groupId>
257                                                 <artifactId>maven-dependency-plugin</artifactId>
258                                                 <version>2.8</version>
259                                                 <executions>
260                                                         <execution>
261                                                                 <id>copy-dependencies-ajsc-arch-parent</id>
262                                                                 <phase>prepare-package</phase>
263                                                                 <goals>
264                                                                         <goal>copy-dependencies</goal>
265                                                                 </goals>
266                                                                 <configuration>
267                                                                         <includeScope>runtime</includeScope>
268                                                                         <excludeArtifactIds>ajsc-bom,ajsc-core,ajsc-runner,ajsc-war</excludeArtifactIds>
269                                                                         <outputDirectory>${project.build.directory}/userjars</outputDirectory>
270                                                                         <silent>true</silent>
271                                                                 </configuration>
272                                                         </execution>
273                                                         <execution>
274                                                                 <id>copy-dependencies-ajsc-arch-parent-commonLibs</id>
275                                                                 <phase>prepare-package</phase>
276                                                                 <goals>
277                                                                         <goal>copy-dependencies</goal>
278                                                                 </goals>
279                                                                 <configuration>
280                                                                         <includeScope>provided</includeScope>
281                                                                         <includeGroupIds>net.cingular.enterprise,com.att.aft,dom4j</includeGroupIds>
282                                                                         <!-- <includeGroupIds>com.att.aft</includeGroupIds> -->
283                                                                         <outputDirectory>${project.build.directory}/commonLibs</outputDirectory>
284                                                                         <silent>true</silent>
285                                                                 </configuration>
286                                                         </execution>
287                                                         <execution>
288                                                                 <id>copyrunner</id>
289                                                                 <phase>prepare-package</phase>
290                                                                 <goals>
291                                                                         <goal>copy-dependencies</goal>
292                                                                 </goals>
293                                                                 <configuration>
294                                                                         <includeArtifactIds>ajsc-runner</includeArtifactIds>
295                                                                         <outputDirectory>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/lib</outputDirectory>
296                                                                 </configuration>
297                                                         </execution>
298                                                 </executions>
299                                         </plugin>
300                                         
301                                         
302                 <!--    <plugin>
303                                 <groupId>org.apache.maven.plugins</groupId>
304                                 <artifactId>maven-javadoc-plugin</artifactId>
305                                 <version>2.10.4</version>
306                                 <configuration>
307                                         <additionalparam>-Xdoclint:none</additionalparam>
308                                 </configuration>
309                                 <executions>
310                                         <execution>
311                                                 <id>attach-javadocs</id>
312                                                 <goals>
313                                                         <goal>jar</goal>
314                                                 </goals>
315                                         </execution>
316                                 </executions>
317                         </plugin> -->
318                         <plugin>
319                                 <groupId>org.apache.maven.plugins</groupId>
320                                 <artifactId>maven-source-plugin</artifactId>
321                                 <version>3.0.0</version>
322                                 <executions>
323                                         <execution>
324                                                 <id>attach-sources</id>
325                                                 <goals>
326                                                         <goal>jar-no-fork</goal>
327                                                 </goals>
328                                         </execution>
329                                 </executions>
330                         </plugin>               
331                         <plugin>
332                                 <groupId>org.apache.maven.plugins</groupId>
333                                 <artifactId>maven-release-plugin</artifactId>
334                                 <version>2.5.3</version>
335                                 <configuration>
336                                         <autoVersionSubmodules>true</autoVersionSubmodules>
337                                         <checkModificationExcludes>
338                                         </checkModificationExcludes>
339                                 </configuration>
340                                 <dependencies>
341                                         <dependency>
342                                                 <groupId>org.apache.maven.scm</groupId>
343                                                 <artifactId>maven-scm-provider-gitexe</artifactId>
344                                                 <version>1.9.4</version>
345                                         </dependency>
346                                 </dependencies>
347                         </plugin>
348                         <plugin>
349                                 <groupId>org.apache.maven.plugins</groupId>
350                                 <artifactId>maven-deploy-plugin</artifactId>
351                                 <version>2.5</version>
352                                 <configuration>
353                                         <skip>true</skip>
354                                 </configuration>
355                         </plugin>
356                         <plugin>
357                                 <groupId>org.apache.maven.plugins</groupId>
358                                 <artifactId>maven-resources-plugin</artifactId>
359                                 <version>2.7</version>
360                                 <executions>
361                                         <execution>
362                                                 <id>copy-docker-file</id>
363                                                 <phase>package</phase>
364                                                 <goals>
365                                                         <goal>copy-resources</goal>
366                                                 </goals>
367                                                 <configuration>
368                                                         <outputDirectory>${dockerLocation}</outputDirectory>
369                                                         <overwrite>true</overwrite>
370                                                         <resources>
371                                                                 <resource>
372                                                                         <directory>${basedir}/src/main/resources/docker</directory>
373                                                                         <filtering>true</filtering>
374                                                                         <includes>
375                                                                                 <include>**/*</include>
376                                                                         </includes>
377                                                                 </resource>
378                                                         </resources>
379                                                 </configuration>
380                                         </execution>
381                                 </executions>
382                         </plugin>
383                         <plugin>
384                                 <groupId>com.spotify</groupId>
385                                 <artifactId>docker-maven-plugin</artifactId>
386                                 <version>0.4.13</version>
387                                 <configuration>
388                                         <imageName>onap/dmaap/dmaap-mr</imageName>
389                                         <dockerDirectory>${dockerLocation}</dockerDirectory> 
390                                         <serverId>docker-hub</serverId>
391                         <!--    <serverId>docker-hub</serverId> -->
392                                         <imageTags>
393                                                 <imageTag>${dmaapImg}</imageTag>
394                                                 <imageTag>latest</imageTag>
395                                         </imageTags>
396                                         <forceTags>true</forceTags>
397                                 <resources>
398                                         <resource>
399                                           <targetPath>/</targetPath>
400                                           <directory>${dockerLocation}</directory>
401                                           <include>${project.build.finalName}.jar</include>
402                                         </resource>
403                                         <resource>
404                                           <targetPath>/</targetPath>
405                                           <directory>${project.build.directory}</directory>
406                                           <include>**/**</include>
407                                         </resource>
408                                   </resources>
409                                  </configuration>
410                                 <executions>
411                            <execution>
412                                         <id>build-image</id>
413                                         <phase>package</phase>
414                                         <goals>
415                                           <goal>build</goal>
416                                         </goals>
417                                         <configuration>
418                                           <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
419                                         </configuration>
420                                   </execution> 
421
422                                   <execution>
423                                         <id>tag-image-project-version</id>
424                                         <phase>package</phase>
425                                         <goals>
426                                           <goal>tag</goal>
427                                         </goals>
428                                         <configuration>
429                                           <image>onap/dmaap/dmaap-mr</image>
430                                           <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</newName>
431                                           <skipDockerTag>${skip.docker.push}</skipDockerTag>
432                                         </configuration>
433                                   </execution>
434                                   
435                                   <execution>
436                                         <id>tag-image-latest</id>
437                                         <phase>package</phase>
438                                         <goals>
439                                           <goal>tag</goal>
440                                         </goals>
441                                         <configuration>
442                                           <image>onap/dmaap/dmaap-mr</image>
443                                           <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</newName>
444                                           <skipDockerTag>${skip.docker.push}</skipDockerTag>
445                                         </configuration>
446                                   </execution>
447                                   
448                                  <execution>
449                                         <id>push-image-latest</id>
450                                         <phase>deploy</phase>
451                                         <goals>
452                                           <goal>push</goal>
453                                         </goals>
454                                         <configuration>
455                                           <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</imageName>
456                                           <skipDockerPush>${skip.docker.push}</skipDockerPush>
457                                         </configuration>
458                                   </execution>
459                                   
460                                   <execution>
461                                         <id>push-image</id>
462                                         <phase>deploy</phase>
463                                         <goals>
464                                           <goal>push</goal>
465                                         </goals>
466                                         <configuration>
467                                           <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</imageName>
468                                           <skipDockerPush>${skip.docker.push}</skipDockerPush>
469                                         </configuration>
470                                   </execution>
471                                 </executions>
472                         </plugin>                                                                                                                                                                                                                                                                                                        
473                         <plugin>
474                                 <groupId>com.blackducksoftware.integration</groupId>
475                                 <artifactId>hub-maven-plugin</artifactId>
476                                 <version>1.0.4</version>
477                                 <inherited>false</inherited>
478                                 <configuration>
479                                         <target>${project.basedir}</target>
480                                 </configuration>
481                                 <executions>
482                                         <execution>
483                                                 <id>create-bdio-file</id>
484                                                 <phase>package</phase>
485                                                 <goals>
486                                                         <goal>createHubOutput</goal>
487                                                 </goals>
488                                         </execution>
489                                 </executions>
490                         </plugin>
491                                         
492                 </plugins>
493         </build>
494
495         <properties>
496                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
497                 <dockerLocation>${basedir}/target/swm/package/nix/dist_files/</dockerLocation>
498                 <docker.registry>hub.docker.com</docker.registry>
499                 <docker.image.prefix>simpledemo</docker.image.prefix>
500
501                 <module.ajsc.namespace.name>dmaap</module.ajsc.namespace.name>
502                 <module.ajsc.namespace.version>v1</module.ajsc.namespace.version>
503                 <ajscRuntimeVersion>1.0.0</ajscRuntimeVersion>
504
505                 <!-- This will be the Absolute Root of the Project and should contain NO 
506                         Versioning -->
507                 <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
508                 <!-- <absoluteDistFilesRoot>/opt/app/dmaap/${project.artifactId}</absoluteDistFilesRoot> -->
509                 <!-- For Versioning upon installation, add /${project.version} to distFilesRoot. 
510                         For NO Versioning, leave as is -->
511                 <!-- example: /appl/${project.artifactId}/${project.version}. Also, add 
512                         ${project.version} to ${runAjscHome} for running locally. -->
513                 <distFilesRoot>/appl/${project.artifactId}</distFilesRoot>
514                 <!-- <distFilesRoot>/opt/app/dmaap/${project.artifactId}</distFilesRoot> -->
515                 <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
516
517                 <!-- For SOA Cloud Installation <installOwnerUser>aft</installOwnerUser> 
518                         <installOwnerGroup>aft</installOwnerGroup> <ownerManagementGroup>com.att.acsi.saat.dt.dmaap.dev</ownerManagementGroup> -->
519                 <!-- For SOA Cloud Installation -->
520                 <installOwnerUser>msgrtr</installOwnerUser>
521                 <installOwnerGroup>dmaap</installOwnerGroup>
522                 <ownerManagementGroup>com.att.acsi.saat.dt.dmaap.dev</ownerManagementGroup>
523                 <!-- Port Selection. A value of 0 will allow for dynamic port selection. 
524                         For local testing, you may choose to hardcode this value to something like 
525                         8080 -->
526                 <serverPort>3904</serverPort>
527                 <sslport>3905</sslport>
528         
529                 <testRouteOffer>workstation</testRouteOffer>
530                 <testEnv>DEV</testEnv>
531                 <dmaapImg>1.0.2-SNAPSHOT</dmaapImg>
532                 <camel.version>2.15.5</camel.version>
533                 <sitePath>/content/sites/site/org/onap/dmaap/${project.artifactId}/${project.version}</sitePath>
534                 <skip.docker.build>true</skip.docker.build>
535         <skip.docker.push>true</skip.docker.push>
536                 <nexusproxy>https://nexus.onap.org</nexusproxy>
537                 <docker.push.registry>localhost:5000</docker.push.registry>
538         </properties>
539
540         <!-- Distribution management -->
541         <distributionManagement>
542                 <site>
543                         <id>ecomp-site</id>
544                         <url>dav:${nexusproxy}${sitePath}</url>
545                 </site>
546         </distributionManagement>
547
548         <!-- End Distribution management -->
549
550         <!-- The standard build tasks for this project are inherited from the parent. 
551                 Please do not override the build tasks. However tasks and/or profiles can 
552                 be included here as well as additional dependencies for your service. Any 
553                 runtime or compile scope dependencies will be copied to the INSTALLATION_PATH/extJars 
554                 folder and will be made available on the AJSC classpath for your service. 
555                 Please, NOTE: DME2 and CSM related dependencies are EXTERNALIZED within the 
556                 CSI environment. Therefore, they are provided within this project as "provided" 
557                 dependencies. In order for the AJSC to run properly, locally, the CSM and 
558                 DME2 dependencies will be copied into the target/commonLibs folder and will 
559                 be made available to the classpath of the AJSC through the use of the system 
560                 property, "AJSC_EXTERNAL_LIB_FOLDERS". This system property needs to be set 
561                 in the "runAjsc" maven profile within the pom.xml (and, is defaulted to do 
562                 so). If you have a startup failure related to a missing dme2 class not found 
563                 exception, please contact the AJSC team for assistance. You can email support 
564                 at ajsc-Support <DL-ajsc-Support@att.com>. For more information regarding 
565                 the usage of the AJSC service pom.xml and management of dependencies, please 
566                 goto wiki link:http://wiki.web.att.com/display/ajsc/pom.xml -->
567         <dependencies>
568
569                 <!-- cmn-CommonDataModel dependency added to resolve build issue not finding 
570                         version 100.0.64 -->
571                 
572                 <!-- <dependency>
573                         <groupId>csi-schemas-source</groupId>
574                         <artifactId>cmn-CommonDataModel</artifactId>
575                         <version>112.0.50</version>
576                 </dependency> -->
577         <!-- TODO: add open source version here -->
578                 <dependency>
579                         <groupId>com.att.cadi</groupId>
580                         <artifactId>cadi-core</artifactId>
581                         <version>1.3.0</version>
582                 </dependency>
583                 <dependency>
584                         <groupId>commons-io</groupId>
585                         <artifactId>commons-io</artifactId>
586                         <version>2.4</version>
587                 </dependency>
588                 <dependency>
589                         <groupId>org.apache.commons</groupId>
590                         <artifactId>commons-io</artifactId>
591                         <version>1.3.2</version>
592                 </dependency>
593                 <dependency>
594                           <groupId>com.att.nsa</groupId>
595                           <artifactId>msgrtr</artifactId>
596                           <version>0.0.5</version>
597                         <exclusions>
598                                 <exclusion>
599                                         <groupId>org.slf4j</groupId>
600                                         <artifactId>slf4j-log4j12</artifactId>
601                                 </exclusion>
602                                 <exclusion>
603                                         <groupId>com.att.ajsc</groupId>
604                                         <artifactId>ajsc-core</artifactId>
605                                 </exclusion>
606                                 <exclusion>
607                                         <groupId>org.apache.tomcat</groupId>
608                                         <artifactId>tomcat-catalina</artifactId>
609                                 </exclusion>
610
611                                 <exclusion>
612                                         <groupId>org.apache.tomcat.embed</groupId>
613                                         <artifactId>tomcat-embed-core</artifactId>
614                                 </exclusion>
615                                 <exclusion>
616                                         <groupId>org.apache.tomcat</groupId>
617                                         <artifactId>tomcat-util</artifactId>
618                                 </exclusion>
619                                 <!-- <exclusion> <groupId>com.att.nsa</groupId> <artifactId>saToolkit</artifactId> 
620                                         </exclusion> -->
621                                 <exclusion>
622                                         <groupId>com.att.nsa</groupId>
623                                         <artifactId>tomcat-util</artifactId>
624                                 </exclusion>
625
626                         </exclusions>
627                 </dependency>
628
629                 <dependency>
630                         <groupId>org.codehaus.jackson</groupId>
631                         <artifactId>jackson-jaxrs</artifactId>
632                         <version>1.9.13</version>
633                 </dependency>
634                 
635                 <dependency>
636                         <groupId>org.codehaus.jackson</groupId>
637                         <artifactId>jackson-mapper-asl</artifactId>
638                         <version>1.9.13</version>
639                 </dependency>
640                 <dependency>
641                         <groupId>org.codehaus.jackson</groupId>
642                         <artifactId>jackson-core-asl</artifactId>
643                         <version>1.9.13</version>
644                 </dependency>
645                 
646                 <dependency>
647                         <groupId>com.fasterxml.jackson.core</groupId>
648                         <artifactId>jackson-core</artifactId>
649                         <version>2.4.3</version>
650                 </dependency>
651                 
652                 <dependency>
653                     <groupId>com.fasterxml.jackson.core</groupId>
654                     <artifactId>jackson-databind</artifactId>
655                     <version>2.3.3</version>
656                 </dependency>
657                 
658                 <dependency>
659                 <groupId>junit</groupId>
660                 <artifactId>junit</artifactId>
661                 <version>4.11</version>
662                 <scope>test</scope>
663       </dependency>
664
665                 <dependency>
666                         <groupId>org.json</groupId>
667                         <artifactId>json</artifactId>
668                         <version>20131018</version>
669                 </dependency>
670
671                 <!-- CXF JAX-RS extension -->
672                 <dependency>
673                         <groupId>org.apache.cxf</groupId>
674                         <artifactId>cxf-rt-rs-extension-providers</artifactId>
675                         <version>3.0.4</version>
676                 </dependency>
677                 <dependency>
678                         <groupId>org.codehaus.jettison</groupId>
679                         <artifactId>jettison</artifactId>
680                         <version>1.3.7</version>
681                 </dependency>
682
683                 <dependency>
684                         <groupId>dom4j</groupId>
685                         <artifactId>dom4j</artifactId>
686                         <version>1.6.1</version>
687                         <scope>provided</scope>
688                 </dependency>
689                 <dependency>
690                         <groupId>com.att.aft</groupId>
691                         <artifactId>dme2</artifactId>
692                         <version>3.1.200</version>
693                         <!-- <scope>provided</scope> -->
694                 </dependency>
695                 <dependency>
696                   <groupId>com.att.ajsc</groupId>
697                   <artifactId>ajsc-archetype-parent</artifactId>
698                   <version>1.0.0</version>
699                   <type>pom</type>
700                 </dependency>           
701                 
702                 <dependency>
703                         <groupId>com.att.cadi</groupId>
704                         <artifactId>cadi-aaf</artifactId>
705                         <version>1.3.0</version>
706                 </dependency>   
707                 
708                 <dependency>
709                         <groupId>com.att.inno</groupId>
710                         <artifactId>rosetta</artifactId>
711                         <version>1.2.11</version>
712                 </dependency>   
713                 <dependency>
714                         <groupId>com.att.inno</groupId>
715                         <artifactId>env</artifactId>
716                         <version>1.2.11</version>
717                 </dependency>           
718                 <dependency>
719                         <groupId>com.att.inno</groupId>
720                         <artifactId>xgen</artifactId>
721                         <version>1.2.11</version>
722                 </dependency>                           
723                 <dependency>
724                         <groupId>com.att.inno</groupId>
725                         <artifactId>rosetta</artifactId>
726                         <version>1.2.11</version>
727                 </dependency>                   
728                 <dependency>
729                         <groupId>backport-util-concurrent</groupId>
730                         <artifactId>backport-util-concurrent</artifactId>
731                         <version>3.1</version>
732                 </dependency>
733                 <dependency>
734                                 <groupId>org.apache.camel</groupId>
735                                 <artifactId>camel-core</artifactId>
736                                 <version>${camel.version}</version>
737                         </dependency>
738                         <dependency>
739                                 <groupId>org.apache.camel</groupId>
740                                 <artifactId>camel-quartz</artifactId>
741                                 <version>${camel.version}</version>
742                         </dependency>
743                         <dependency>
744                                 <groupId>org.apache.camel</groupId>
745                                 <artifactId>camel-spring</artifactId>
746                                 <version>${camel.version}</version>
747                         </dependency>
748                         <dependency>
749                                 <groupId>org.apache.camel</groupId>
750                                 <artifactId>camel-restlet</artifactId>
751                                 <version>${camel.version}</version>
752                                 <exclusions>
753                                         <exclusion>
754                                                 <artifactId>org.restlet</artifactId>
755                                                 <groupId>org.restlet.jse</groupId>
756                                         </exclusion>
757                                 </exclusions>
758                         </dependency>
759                         <dependency>
760                                 <groupId>org.apache.camel</groupId>
761                                 <artifactId>camel-servlet</artifactId>
762                                 <version>${camel.version}</version>
763                         </dependency>
764                         <dependency>
765                                 <groupId>org.apache.camel</groupId>
766                                 <artifactId>camel-http4</artifactId>
767                                 <version>${camel.version}</version>
768                                 <exclusions>
769                                         <exclusion>
770                                                 <groupId>org.apache.geronimo.specs</groupId>
771                                                 <artifactId>geronimo-servlet_2.5_spec</artifactId>
772                                         </exclusion>
773                                 </exclusions>
774                         </dependency>
775                         <dependency>
776                                 <groupId>org.apache.camel</groupId>
777                                 <artifactId>camel-groovy</artifactId>
778                                 <version>${camel.version}</version>
779                         </dependency>
780                         <dependency>
781                                 <groupId>org.apache.camel</groupId>
782                                 <artifactId>camel-twitter</artifactId>
783                                 <version>${camel.version}</version>
784                         </dependency>
785                         <dependency>
786                                 <groupId>org.apache.camel</groupId>
787                                 <artifactId>camel-mail</artifactId>
788                                 <version>${camel.version}</version>
789                         </dependency>
790                         <dependency>
791                                 <groupId>org.apache.camel</groupId>
792                                 <artifactId>camel-smpp</artifactId>
793                                 <version>${camel.version}</version>
794                         </dependency>
795                         <dependency>
796                                 <groupId>org.apache.camel</groupId>
797                                 <artifactId>camel-jms</artifactId>
798                                 <version>${camel.version}</version>
799                         </dependency>
800                         <dependency>
801                                 <groupId>org.apache.camel</groupId>
802                                 <artifactId>camel-script</artifactId>
803                                 <version>${camel.version}</version>
804                         </dependency>
805                         <dependency>
806                                 <groupId>org.apache.camel</groupId>
807                                 <artifactId>camel-xmpp</artifactId>
808                                 <version>${camel.version}</version>
809                         </dependency>
810                         <dependency>
811                                 <groupId>org.apache.camel</groupId>
812                                 <artifactId>camel-velocity</artifactId>
813                                 <version>${camel.version}</version>
814                         </dependency>
815                         <dependency>
816                                 <groupId>com.att.ajsc</groupId>
817                                 <artifactId>ajsc-runner</artifactId>
818                                 <version>1.0.0</version>
819                                 <scope>runtime</scope>
820                         </dependency>
821                         <dependency>
822                                 <groupId>com.att.ajsc</groupId>
823                                 <artifactId>ajsc-core</artifactId>
824                                 <version>1.0.0</version>
825                                 <scope>provided</scope>
826                         </dependency>
827         </dependencies>
828         <!-- <build> <resources> <resource> <directory>${basedir}/ajsc-shared-config/etc</directory> 
829                 </resource> </resources> </build> -->
830         <profiles>
831                 <!-- Use this profile to run the AJSC locally. This profile can be successfully 
832                         shutdown WITHIN eclipse even in a Windows environment. Debugging is also 
833                         available with this profile. -->
834         <profile>
835       <id>docker</id>
836       <properties>
837         <skip.staging.artifacts>true</skip.staging.artifacts>
838         <skip.docker.build>false</skip.docker.build>
839         <skip.docker.tag>false</skip.docker.tag>
840         <skip.docker.push>false</skip.docker.push>
841       </properties>
842     </profile>
843         
844                 <profile>
845                         <id>runAjsc</id>
846                         <build>
847                                 <defaultGoal>initialize</defaultGoal>
848                                 <plugins>
849                                         <plugin>
850                                                 <groupId>org.codehaus.mojo</groupId>
851                                                 <artifactId>exec-maven-plugin</artifactId>
852                                                 <version>1.3.2</version>
853                                                 <executions>
854                                                         <execution>
855                                                                 <phase>initialize</phase>
856                                                                 <goals>
857                                                                         <goal>java</goal>
858                                                                 </goals>
859                                                                 <configuration>
860                                                                         <!-- In order to better mimic a SOA cloud installation of AJSC (and 
861                                                                                 to help eliminate Maven/Eclipse/AJSC classpath issues that may be difficult 
862                                                                                 to diagnose), within this profile used to run locally, we are NOT including 
863                                                                                 project dependencies. These will be loaded by AJSC from $AJSC_HOME/extJars. 
864                                                                                 The only jar needed to run AJSC is the ajsc-runner.jar, and therefore is 
865                                                                                 the only dependency required by this profile to run locally. -->
866                                                                         <includeProjectDependencies>false</includeProjectDependencies>
867                                                                         <includePluginDependencies>true</includePluginDependencies>
868                                                                         <executable>java</executable>
869                                                                         <mainClass>com.att.ajsc.runner.Runner</mainClass>
870                                                                         <executableDependency>
871                                                                                 <groupId>com.att.ajsc</groupId>
872                                                                                 <artifactId>ajsc-runner</artifactId>
873                                                                         </executableDependency>
874                                                                         <additionalClasspathElements>
875                                                                                 <additionalClasspathElement>${basedir}/ajsc-shared-config/etc</additionalClasspathElement>
876                                                                         </additionalClasspathElements>
877
878                                                                         <environmentVariables>
879                                                                                 <AJSC_HOME>${runAjscHome}</AJSC_HOME>
880                                                                         </environmentVariables>
881
882                                                                         <!-- Main AJSC System Properties below (necessary for proper startup) -->
883                                                                         <systemProperties>
884                                                                                 <systemProperty>
885                                                                                         <key>AJSC_HOME</key>
886                                                                                         <value>${runAjscHome}</value>
887                                                                                 </systemProperty>
888                                                                                 <systemProperty>
889                                                                                         <key>AJSC_HOME</key>
890                                                                                         <value>${runAjscHome}</value>
891                                                                                 </systemProperty>
892                                                                                 <systemProperty>
893                                                                                         <key>AJSC_CONF_HOME</key>
894                                                                                         <value>${basedir}/bundleconfig-local</value>
895                                                                                 </systemProperty>
896                                                                                 <systemProperty>
897                                                                                         <key>logback.configurationFile</key>
898                                                                                         <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
899                                                                                 </systemProperty>
900                                                                                 <systemProperty>
901                                                                                         <key>AJSC_SHARED_CONFIG</key>
902                                                                                         <value>${basedir}/ajsc-shared-config</value>
903                                                                                 </systemProperty>
904
905                                                                                 <!-- Please, NOTE: The following 2 system properties will normally 
906                                                                                         be set within the sys-props.properties file once deployed to a node. We are 
907                                                                                         setting them HERE to run locally to make more efficient use of maven variable 
908                                                                                         replacement for ${basedir} -->
909                                                                                 <!-- AJSC_EXTERNAL_LIB_FOLDERS represents the particular jars that 
910                                                                                         will be externalized on a CSI node. This includes dme2 and csm related artifact. -->
911                                                                                 <sysproperty>
912                                                                                         <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
913                                                                                         <value>${basedir}/target/commonLibs</value>
914                                                                                 </sysproperty>
915                                                                                 <!-- AJSC_EXTERNAL_PROPERTIES_FOLDERS represents the particular 
916                                                                                         files that may need to be added to the classpath. These files will be externalized 
917                                                                                         on a CSI node. This includes dme2 and csm related artifact (such as csm-config-app.properties). 
918                                                                                         Failure to have these files on the classpath may result in errors thrown 
919                                                                                         by csm framework. -->
920                                                                                 <sysproperty>
921                                                                                         <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
922                                                                                         <value>${basedir}/ajsc-shared-config/etc</value>
923                                                                                 </sysproperty>
924
925                                                                                 <systemProperty>
926                                                                                         <key>AJSC_SERVICE_NAMESPACE</key>
927                                                                                         <value>${module.ajsc.namespace.name}</value>
928                                                                                 </systemProperty>
929                                                                                 <systemProperty>
930                                                                                         <key>AJSC_SERVICE_VERSION</key>
931                                                                                         <value>${module.ajsc.namespace.version}</value>
932                                                                                 </systemProperty>
933                                                                                 <systemProperty>
934                                                                                         <key>SOACLOUD_SERVICE_VERSION</key>
935                                                                                         <value>${project.version}</value>
936                                                                                 </systemProperty>
937                                                                                 <systemProperty>
938                                                                                         <key>server.port</key>
939                                                                                         <value>${serverPort}</value>
940                                                                                 </systemProperty>
941                                                                         </systemProperties>
942
943                                                                         <!-- Command Line Arguments to add to the java command. Here, you 
944                                                                                 can specify the port as well as the Context you want your service to run 
945                                                                                 in. Use context=/ to run in an unnamed Context (Root Context). The default 
946                                                                                 configuration of the AJSC is to run under the / Context. Setting the port 
947                                                                                 here can aid during the development phase of your service. However, you can 
948                                                                                 leave this argument out entirely, and the AJSC will default to using an Ephemeral 
949                                                                                 port. -->
950                                                                         <arguments>
951                                                                                 <argument>context=/</argument>
952                                                                                 <argument>port=${serverPort}</argument>
953                                                                                 <argument>sslport=${sslport}</argument>
954                                                                         </arguments>
955                                                                 </configuration>
956                                                         </execution>
957                                                 </executions>
958                                                 <configuration>
959                                                         <executable>java</executable>
960                                                 </configuration>
961                                                 <dependencies>
962                                                         <dependency>
963                                                                 <groupId>com.att.ajsc</groupId>
964                                                                 <artifactId>ajsc-runner</artifactId>
965                                                                 <version>${ajscRuntimeVersion}</version>
966                                                         </dependency>
967                                                 </dependencies>
968                                         </plugin>
969
970                                         <plugin>
971                                                 <groupId>org.apache.maven.plugins</groupId>
972                                                 <artifactId>maven-resources-plugin</artifactId>
973                                                 <version>2.7</version>
974                                                 <executions>
975                                                         <execution>
976                                                                 <id>copy-docker-file</id>
977                                                                 <phase>package</phase>
978                                                                 <goals>
979                                                                         <goal>copy-resources</goal>
980                                                                 </goals>
981                                                                 <configuration>
982                                                                         <outputDirectory>${dockerLocation}</outputDirectory>
983                                                                         <overwrite>true</overwrite>
984                                                                         <resources>
985                                                                                 <resource>
986                                                                                         <directory>${basedir}/src/main/resources/docker</directory>
987                                                                                         <filtering>true</filtering>
988                                                                                         <includes>
989                                                                                                 <include>**/*</include>
990                                                                                         </includes>
991                                                                                 </resource>
992                                                                         </resources>
993                                                                 </configuration>
994                                                         </execution>
995                                                 </executions>
996                                         </plugin>
997                                 </plugins>
998                         </build>
999                 </profile>
1000         </profiles>
1001         
1002 </project>