blob: 27d74ee60809a02c6e2c3d7519ffc2c3e17aa64f [file] [log] [blame]
/*
* Copyright (c) 2016 Gigatronik Ingolstadt GmbH
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
description = 'MDM API - ODSAdapter'
group = 'org.eclipse.mdm'
version = '1.0.0'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: 'com.google.protobuf'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.1'
}
}
repositories {
jcenter()
mavenLocal()
mavenCentral()
}
sourceSets {
generated {
java {
srcDir 'src/gen/java'
srcDir 'build/generated/source/proto/main/java'
}
}
main {
compileClasspath += generated.output
runtimeClasspath += generated.output
}
test {
compileClasspath += generated.output
runtimeClasspath += generated.output
}
}
dependencies {
compile 'javax:javaee-api:7.0'
// logging
compile 'org.slf4j:slf4j-api:1.7.19'
// MDM5 API
compile 'org.eclipse.mdm:org.eclipse.mdm.api.base:1.0.0'
compile 'org.eclipse.mdm:org.eclipse.mdm.api.default:1.0.0'
// compile CORBA idl using JDK tools
generatedCompile files(System.getenv('JAVA_HOME') + '/lib/tools.jar')
// Peak notification service
compile 'com.google.protobuf:protobuf-java:3.0.0-beta-3'
compile 'com.google.protobuf:protobuf-java-util:3.0.0-beta-3'
compile 'com.google.guava:guava:18.0'
compile 'org.glassfish.jersey.core:jersey-client:2.23.1'
compile 'org.glassfish.jersey.media:jersey-media-sse:2.23.1'
generatedCompile 'com.google.protobuf:protobuf-java:3.0.0-beta-3'
// Avalon notification service
compile 'org.jacorb:jacorb-services:3.8'
// querying es
compile 'commons-httpclient:commons-httpclient:3.1'
compile 'org.apache.commons:commons-lang3:3.4'
// testing
testCompile 'junit:junit:4.12'
testRuntime 'org.slf4j:slf4j-simple:1.7.19'
testCompile 'org.mockito:mockito-core:2.10.0'
testCompile 'org.assertj:assertj-core:3.6.2'
testCompile(group: 'org.elasticsearch', name: 'elasticsearch', version: '2.3.4')
testCompile(group: 'org.elasticsearch', name: 'elasticsearch', version: '2.3.4', classifier: 'tests')
}
test {
if(project.hasProperty('host')) {
systemProperty 'host', project.property('host')
} else {
systemProperty 'host', '<host>'
}
if(project.hasProperty('port')) {
systemProperty 'port', project.property('port')
} else {
systemProperty 'port', '2809'
}
if(project.hasProperty('service')) {
systemProperty 'service', project.property('service')
} else {
systemProperty 'service', '<service>'
}
jvmArgs '-Dorg.slf4j.simpleLogger.defaultLogLevel=debug'
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.0.0-beta-3'
}
}
task compileIDL(type: JavaExec) {
classpath = configurations.generatedCompile
main = 'com.sun.tools.corba.se.idl.toJavaPortable.Compile'
// add 'fallTIE' if <Type>POA & <Type>POATie have to be generated
args '-td', 'src/gen/java/', 'src/main/idl/ods530.idl'
outputs.dir("src/gen/java")
}
compileGeneratedJava {
inputs.dir("build/generated/source")
inputs.dir("src/gen/java")
}
// generate classes from idl and compile them
compileGeneratedJava.dependsOn compileIDL
compileJava.dependsOn compileGeneratedJava
jar {
from sourceSets.generated.output
dependsOn generatedClasses
}
task deleteGenerated(type: Delete) {
delete 'src/gen'
delete 'build'
}
clean.dependsOn deleteGenerated