<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.so.framework</groupId>
		<artifactId>mso-api-handlers</artifactId>
		<version>1.1.0-SNAPSHOT</version>
	</parent>

	<artifactId>mso-requests-db</artifactId>

	<name>mso-requests-db</name>
	<description>MSO Requests Database definition and Hibernate objects</description>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	</properties>

	<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.hibernate</groupId>
			<artifactId>hibernate-entitymanager</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.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.1-api</artifactId>
			<version>1.0.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.openecomp.so.framework</groupId>
			<artifactId>common</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>
	<packaging>jar</packaging>
	<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/InfraActiveRequests.hbm.xml,${project.basedir}/src/main/resources/SiteStatus.hbm.xml</hibernateMapping>
							<target>SCRIPT</target>
							<skip>false</skip>
							<force>true</force>
							<outputFile>${project.build.directory}/MySQL-Requests-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>

</project>