Initial search service commit
[aai/search-data-service.git] / pom.xml
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..6ebec57
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,369 @@
+<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>
+        <artifactId>ajsc-archetype-parent</artifactId>
+        <groupId>com.att.ajsc</groupId>
+        <version>2.0.0</version>
+    </parent>
+    <groupId>org.openecomp.aai</groupId>
+    <artifactId>search-data-service</artifactId>
+    <version>1.0.0</version>
+
+    <properties>
+        <module.ajsc.namespace.name>search-data-service</module.ajsc.namespace.name>
+        <module.ajsc.namespace.version>v1</module.ajsc.namespace.version>
+        <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
+        <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
+
+        <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
+            property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"
+            version, THIS will be used as your directory structure. If you do NOT want
+            this, simply remove the "-SNAPSHOT" from your <version> declaration at the
+            top of pom.xml -->
+        <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
+        <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
+
+        <!-- For SOA Cloud Installation -->
+        <installOwnerUser>aaiadmin</installOwnerUser>
+        <installOwnerGroup>aaiadmin</installOwnerGroup>
+        <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
+
+        <!-- Port Selection. A value of 0 will allow for dynamic port selection.
+            For local testing, you may choose to hardcode this value to something like
+            8080 -->
+        <serverPort>8080</serverPort>
+        <sslport>9509</sslport>
+
+        <testRouteOffer>workstation</testRouteOffer>
+        <testEnv>DEV</testEnv>
+        <generatedSourceDir>${basedir}/src/main/java-gen</generatedSourceDir>
+        <checkstyle.config.location>google_checks.xml</checkstyle.config.location>
+    </properties>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.googlecode.json-simple</groupId>
+            <artifactId>json-simple</artifactId>
+            <version>1.1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+            <version>1.6.1</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.att.aft</groupId>
+            <artifactId>dme2</artifactId>
+            <version>3.1.200</version>
+            <scope>provided</scope>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.elasticsearch</groupId>
+            <artifactId>elasticsearch</artifactId>
+            <version>2.3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+        </dependency>
+
+
+        <!-- Common logging framework -->
+        <dependency>
+          <groupId>org.openecomp.aai.logging-service</groupId>
+          <artifactId>common-logging</artifactId>
+          <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+
+        <!--  Jersey Test Framework. -->
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+            <version>2.23.2</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- For JSON Mapping Support. -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.7.8</version>
+        </dependency>
+
+    </dependencies>
+
+    <profiles>
+        <profile>
+            <id>runAjsc</id>
+            <build>
+                <defaultGoal>initialize</defaultGoal>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.3.2</version>
+                        <executions>
+                            <execution>
+                                <phase>initialize</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <includeProjectDependencies>false</includeProjectDependencies>
+                                    <includePluginDependencies>true</includePluginDependencies>
+                                    <executable>java</executable>
+                                    <mainClass>com.att.ajsc.runner.Runner</mainClass>
+                                    <executableDependency>
+                                        <groupId>com.att.ajsc</groupId>
+                                        <artifactId>ajsc-runner</artifactId>
+                                    </executableDependency>
+                                    <additionalClasspathElements>
+                                        <additionalClasspathElement>${basedir}/ajsc-shared-config/etc
+                                        </additionalClasspathElement>
+                                    </additionalClasspathElements>
+
+                                    <environmentVariables>
+                                        <AJSC_HOME>${runAjscHome}</AJSC_HOME>
+                                    </environmentVariables>
+
+                                    <!-- Main AJSC System Properties below (necessary for proper startup) -->
+                                    <systemProperties>
+                                        <systemProperty>
+                                            <key>AJSC_HOME</key>
+                                            <value>${runAjscHome}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>CONFIG_HOME</key>
+                                            <value>${basedir}/appconfig-local/</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>AJSC_CONF_HOME</key>
+                                            <value>${basedir}/bundleconfig-local</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>logback.configurationFile</key>
+                                            <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>AJSC_SHARED_CONFIG</key>
+                                            <value>${basedir}/ajsc-shared-config</value>
+                                        </systemProperty>
+
+                                        <sysproperty>
+                                            <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
+                                            <value>${basedir}/target/commonLibs</value>
+                                        </sysproperty>
+                                        <sysproperty>
+                                            <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
+                                            <value>${basedir}/ajsc-shared-config/etc</value>
+                                        </sysproperty>
+
+                                        <systemProperty>
+                                            <key>AJSC_SERVICE_NAMESPACE</key>
+                                            <value>${module.ajsc.namespace.name}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>AJSC_SERVICE_VERSION</key>
+                                            <value>${module.ajsc.namespace.version}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>SOACLOUD_SERVICE_VERSION</key>
+                                            <value>${project.version}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>server.port</key>
+                                            <value>${serverPort}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+
+                                    <!-- Command Line Arguments to add to the java command. Here, you
+                                        can specify the port as well as the Context you want your service to run
+                                        in. Use context=/ to run in an unnamed Context (Root Context). The default
+                                        configuration of the AJSC is to run under the / Context. Setting the port
+                                        here can aid during the development phase of your service. However, you can
+                                        leave this argument out entirely, and the AJSC will default to using an Ephemeral
+                                        port. -->
+                                    <arguments>
+                                        <argument>context=//</argument>
+                                        <argument>port=${serverPort}</argument>
+                                        <argument>sslport=${sslport}</argument>
+                                    </arguments>
+                                </configuration>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <executable>java</executable>
+                        </configuration>
+                        <dependencies>
+                            <dependency>
+                                <groupId>com.att.ajsc</groupId>
+                                <artifactId>ajsc-runner</artifactId>
+                                <version>${ajscRuntimeVersion}</version>
+                            </dependency>
+                        </dependencies>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-classic</artifactId>
+                <version>1.1.1</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-core</artifactId>
+                <version>2.7.8</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <plugins>
+            <!-- Checkstyle plugin - used to report on compliance with -->
+            <!-- the Google style guide. -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <version>3.3</version>
+                <configuration>
+                    <reportPlugins>
+                        <plugin>
+                            <groupId>org.apache.maven.plugins</groupId>
+                            <artifactId>maven-checkstyle-plugin</artifactId>
+                            <version>2.17</version>
+                            <reportSets>
+                                <reportSet>
+                                    <reports>
+                                        <report>checkstyle</report>
+                                    </reports>
+                                </reportSet>
+                            </reportSets>
+                        </plugin>
+                    </reportPlugins>
+                </configuration>
+            </plugin>
+            <!-- This plugin overrides the compiler settings to use java 1.8 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <compilerId>groovy-eclipse-compiler</compilerId>
+                    <verbose>true</verbose>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.codehaus.groovy</groupId>
+                        <artifactId>groovy-eclipse-compiler</artifactId>
+                        <version>2.9.0-01</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.codehaus.groovy</groupId>
+                        <artifactId>groovy-eclipse-batch</artifactId>
+                        <version>2.3.4-01</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+
+            <!-- This plugin is used to generate Java POJO's from json format schema
+                file. -->
+            <plugin>
+                <groupId>org.jsonschema2pojo</groupId>
+                <artifactId>jsonschema2pojo-maven-plugin</artifactId>
+                <version>0.4.26</version>
+                <configuration>
+                    <addCompileSourceRoot>true</addCompileSourceRoot>
+                    <sourceDirectory>${basedir}/src/main/resources/json/schema</sourceDirectory>
+                    <outputDirectory>${generatedSourceDir}</outputDirectory>
+                    <targetPackage>org.openecomp.sa.rest</targetPackage>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.7</version>
+                <executions>
+                    <execution>
+                        <id>copy-docker-file</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>target</outputDirectory>
+                            <overwrite>true</overwrite>
+                            <resources>
+                                <resource>
+                                    <directory>${basedir}/src/main/docker</directory>
+                                    <filtering>true</filtering>
+                                    <includes>
+                                        <include>**/*</include>
+                                    </includes>
+                                </resource>
+                                <resource>
+                                    <directory>${basedir}/src/main/bin/</directory>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- license plugin -->
+            <plugin>
+                <groupId>com.mycila</groupId>
+                <artifactId>license-maven-plugin</artifactId>
+                <version>3.0</version>
+                <configuration>
+                    <header>License.txt</header>
+                    <includes>
+                        <include>src/main/java/**</include>
+                        <include>src/test/java/**</include>
+                    </includes>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>format</goal>
+                        </goals>
+                        <phase>process-sources</phase>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- This plugin adds the generated sources directory to the clean lifecycle
+                so that automatically generated code will get cleaned up properly. -->
+            <plugin>
+                <artifactId>maven-clean-plugin</artifactId>
+                <version>3.0.0</version>
+                <configuration>
+                    <filesets>
+                        <fileset>
+                            <directory>${generatedSourceDir}</directory>
+                        </fileset>
+                    </filesets>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>