/********************************************************************************
 * 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.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.preferences"
	]
	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' }
}