/********************************************************************************
 * 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 = 'atfx file importer'

dependencies {
	compile 'org.glassfish.jersey.media:jersey-media-multipart:2.23.2'
	compileOnly 'org.slf4j:slf4j-api:1.7.25'
	compileOnly 'javax:javaee-api:7.0'
	runtime 'ch.qos.logback:logback-classic:1.2.3'

	// MDM5 API
	compile project(':org.eclipse.mdm.application')
	compile project(':org.eclipse.mdm.businessobjects')

	/* ODSAdapter is only needed for workaround in org.eclipse.mdm.apicopy.ClassificationUtil.
	 * Can be removed when classifications are written with org.eclipse.mdm.api.default
	 */
	compile "org.eclipse.mdm:org.eclipse.mdm.api.odsadapter:${version}"

	testCompile 'junit:junit:4.12'
	testCompile 'org.mockito:mockito-core:2.13.0'
	testCompile 'org.assertj:assertj-core:3.6.2'
	testCompile 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2:2.23.2'
	testCompile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.23.2'
}

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