/********************************************************************************
 * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 ********************************************************************************/


description = 'MDM preference service'

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: 'io.github.divinespear.jpa-schema-generate'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
	mavenLocal()
	jcenter()
	mavenCentral()
}

dependencies {
	runtime  'org.glassfish.jersey.containers:jersey-container-servlet:2.23.2'
	compile  'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.9.2'
	compile 'com.google.guava:guava:25.0-jre'
	compileOnly  'javax:javaee-api:7.0'

    compile project(':org.eclipse.mdm.freetextindexer')
	compile project(':org.eclipse.mdm.property')

	testCompile  'org.eclipse.persistence:eclipselink:2.6.4'
	testCompile 'junit:junit:4.12'
	testCompile 'org.assertj:assertj-core:3.6.1'
	testRuntime 'org.apache.derby:derby:10.13.1.1'
}

generateSchema {
	vendor = "eclipselink"
	packageToScan = [
		"org.eclipse.mdm"
	]
	scriptAction = "drop-and-create"
	targets {
		postgres {
			databaseProductName = "PostgreSQL"
			databaseMajorVersion = 9
			databaseMinorVersion = 0
		}
		derby { databaseProductName = "Apache Derby" }
	}
}

buildscript {
	repositories {
		mavenCentral()
		maven { url "https://plugins.gradle.org/m2/" }
	}
	dependencies { classpath 'gradle.plugin.io.github.divinespear:jpa-schema-gradle-plugin:0.3.2' }
}

jar {
	metaInf { from '../NOTICE.txt' }
	metaInf { from '../LICENSE.txt' }
}