apply plugin: 'java'
apply plugin: 'eclipse'

jar {
    manifest {
        attributes 'Implementation-Title': 'PDF-AS-4 Library', 'Implementation-Version': version
    }
}

buildscript {
	repositories {
		mavenLocal()
		mavenCentral()
	}
	dependencies {
		classpath("commons-io:commons-io:2.4")
	}
}

configurations {
	generateJavaFromWsdlDeps
}

task generateJavaFromWsdl(type: JavaExec) {
	classpath configurations.generateJavaFromWsdlDeps
	//main "org.apache.cxf.tools.wsdlto.WSDLToJava"
	main "org.apache.axis.wsdl.WSDL2Java"
	args "-o "  + projectDir + "/src/main/java", "-v", "" + projectDir + "/src/main/resources/wsdl/MOA-SPSS-1.3.wsdl"
 
	compileJava.dependsOn += name
 
	def branch = new org.apache.commons.io.output.ByteArrayOutputStream()
	errorOutput = new org.apache.commons.io.output.TeeOutputStream(System.err, branch)
	doLast {
		def str = branch.toString()
		if (str.contains('Usage : wsdl2java') || str.contains('WSDLToJava Error')) {
			throw new TaskExecutionException(
				tasks[name],
				new IOException("WSDLToJava has failed, please see output")
			)
		}
	}
}

repositories {
	mavenLocal()
    mavenCentral()
	maven {
		url "http://nexus.iaik.tugraz.at/nexus/content/groups/internal"
	}
}

dependencies {
	compile project (':pdf-as-common')
	compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.3.1'
	compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.1'
	compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '1.8.2'
	compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
	compile group: 'org.apache.commons', name: 'commons-io', version: '1.3.2'
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
	compile group: 'ognl', name: 'ognl', version: '3.0.6'
	compile group: 'iaik', name: 'iaik_cms', version: '4.1-moa'
	compile group: 'eu.europa.ec.joinup.egovlabs.pdf-as.iaik', name: 'iaik_jce_eval_signed', version: '4.0'
	compile group: 'eu.europa.ec.joinup.egovlabs.pdf-as.iaik', name: 'iaik_ecc_eval_signed', version: '2.19'
    testCompile group: 'junit', name: 'junit', version: '4.+'
	generateJavaFromWsdlDeps('org.apache.axis:axis:1.4')
	generateJavaFromWsdlDeps('org.apache.axis:axis-jaxrpc:1.4')
	generateJavaFromWsdlDeps('axis:axis-wsdl4j:1.5.1')
	generateJavaFromWsdlDeps('commons-codec:commons-codec:1.3')
	generateJavaFromWsdlDeps('commons-logging:commons-logging:1.1.1')
	generateJavaFromWsdlDeps('commons-discovery:commons-discovery:0.2')
	/*generateJavaFromWsdlDeps('org.apache.cxf:cxf-tools-wsdlto-core:2.7.0')
	generateJavaFromWsdlDeps('org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:2.7.0')
	generateJavaFromWsdlDeps('org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:2.7.0')*/
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}