/********************************************************************************
 * 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(':nucleus:application')
	compile project(':nucleus:businessobjects')

	testImplementation project(':api:atfxadapter')
	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' }
}
