<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.openecomp</groupId>
		<artifactId>mso</artifactId>
		<version>1.1.0-SNAPSHOT</version>
	</parent>

	<groupId>org.openecomp.mso</groupId>
	<artifactId>mso-catalog-db</artifactId>
	<name>mso-catalog-db</name>
	<description>MSO Catalog Database definition and Hibernate objects</description>

	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>de.juplo</groupId>
				<artifactId>hibernate4-maven-plugin</artifactId>
				<version>1.1.0</version>
				<executions>
					<!-- MySQL -->
					<execution>
						<id>MySQL</id>
						<goals>
							<goal>export</goal>
						</goals>
						<configuration>
							<hibernateDialect>org.hibernate.dialect.MySQL5Dialect</hibernateDialect>
							<hibernateMapping>
								${project.basedir}/src/main/resources/AllottedResourceCustomization.hbm.xml,
								${project.basedir}/src/main/resources/HeatEnvironment.hbm.xml,
								${project.basedir}/src/main/resources/HeatNestedTemplate.hbm.xml,
								${project.basedir}/src/main/resources/HeatTemplate.hbm.xml,
								${project.basedir}/src/main/resources/ModelRecipe.hbm.xml,
								${project.basedir}/src/main/resources/NetworkRecipe.hbm.xml,
								${project.basedir}/src/main/resources/NetworkResource.hbm.xml,
								${project.basedir}/src/main/resources/NetworkResourceCustomization.hbm.xml,
								${project.basedir}/src/main/resources/Service.hbm.xml,
								${project.basedir}/src/main/resources/ServiceToAllottedResources.hbm.xml,
								${project.basedir}/src/main/resources/ServiceToNetworks.hbm.xml,
								${project.basedir}/src/main/resources/VfModule.hbm.xml,
								${project.basedir}/src/main/resources/VfModuleToHeatFiles.hbm.xml,
								${project.basedir}/src/main/resources/VnfComponent.hbm.xml,
								${project.basedir}/src/main/resources/VnfComponentsRecipe.hbm.xml,
								${project.basedir}/src/main/resources/VnfRecipe.hbm.xml,
								${project.basedir}/src/main/resources/VnfResource.hbm.xml
							</hibernateMapping>
							<target>SCRIPT</target>
							<skip>false</skip>
							<force>true</force>
							<outputFile>${project.build.directory}/MySQL-Catalog-schema.sql</outputFile>
						</configuration>
					</execution>
				</executions>
			</plugin>
			   <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.1</version>
                    <executions>

                        <execution>
                            <id>copy-sql-file</id>
                            <phase>install</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                               <overwrite>true</overwrite>

                                <outputDirectory>${project.basedir}/../packages/root-pack-extras/config-resources/mariadb/db-sql-scripts/main-schemas</outputDirectory>

                                <resources>
                                    <resource>
                                      <directory>${project.build.directory}</directory>
                                      <filtering>false</filtering>
                                      <includes>
                                           <include>*.sql</include>
                                      </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>de.juplo</groupId>
										<artifactId>
											hibernate4-maven-plugin
										</artifactId>
										<versionRange>
											[1.0.3,)
										</versionRange>
										<goals>
											<goal>export</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<dependencies>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>4.3.6.Final</version>
			<exclusions>
				<!-- Avoid hibernate inclusion as provided in Jboss -->
				<exclusion>
					<groupId>org.jboss</groupId>
					<artifactId>jandex</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.javassist</groupId>
					<artifactId>javassist</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.logging</groupId>
					<artifactId>jboss-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.logging</groupId>
   					<artifactId>jboss-logging-annotations</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.jboss.spec.javax.transaction</groupId>
  					<artifactId>jboss-transaction-api_1.2_spec</artifactId>
				</exclusion>
				<exclusion>
				 	<groupId>antlr</groupId>
  					<artifactId>antlr</artifactId>
				</exclusion>
				<exclusion>
				 	<groupId>dom4j</groupId>
  					<artifactId>dom4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
             <groupId>org.evosuite</groupId>
             <artifactId>evosuite-standalone-runtime</artifactId>
             <version>${evosuiteVersion}</version>
             <scope>test</scope>
        </dependency>
		<dependency>
			<groupId>org.openecomp.mso</groupId>
			<artifactId>common</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>
</project>
