mirror of
https://github.com/corda/corda.git
synced 2025-01-03 19:54:13 +00:00
176 lines
3.2 KiB
Groovy
176 lines
3.2 KiB
Groovy
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
}
|
|
|
|
dependencies {
|
|
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:2.2.4'
|
|
}
|
|
}
|
|
|
|
apply plugin: 'native-component'
|
|
apply plugin: 'ivy-publish'
|
|
apply plugin: 'java'
|
|
apply plugin: 'artifactory-publish'
|
|
|
|
model {
|
|
platforms {
|
|
create("linux-x86_64") {
|
|
operatingSystem "linux"
|
|
architecture "x86_64"
|
|
}
|
|
|
|
create("linux-i386") {
|
|
operatingSystem "linux"
|
|
architecture "i386"
|
|
}
|
|
|
|
create("windows-x86_64") {
|
|
operatingSystem "windows"
|
|
architecture "x86_64"
|
|
}
|
|
|
|
create("windows-i386") {
|
|
operatingSystem "windows"
|
|
architecture "i386"
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
platforms.each { platform ->
|
|
task "build${platform.name}"(type: Exec) {
|
|
executable "make"
|
|
args "platform=${platform.operatingSystem.name}",
|
|
"arch=${platform.architecture.name}"
|
|
environment JAVA_HOME: "/usr/local/java"
|
|
}
|
|
|
|
assemble {
|
|
dependsOn "build${platform.name}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
sourceCompatibility = "1.6"
|
|
targetCompatibility = "1.6"
|
|
|
|
options.with {
|
|
encoding = "UTF-8"
|
|
bootClasspath = sourceSets.main.output.classesDir
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDir 'classpath'
|
|
}
|
|
resources {
|
|
srcDir 'classpath'
|
|
}
|
|
}
|
|
}
|
|
|
|
javadoc {
|
|
title = "Avian v${version} Class Library API"
|
|
}
|
|
|
|
task javadocJar(type: Jar) {
|
|
dependsOn javadoc
|
|
classifier = 'javadoc'
|
|
from {
|
|
javadoc.destinationDir
|
|
}
|
|
}
|
|
|
|
task install {
|
|
dependsOn assemble, publish
|
|
}
|
|
|
|
publishing {
|
|
repositories {
|
|
ivy {
|
|
url "${System.env.HOME}/.ivy2/local"
|
|
layout 'maven'
|
|
}
|
|
}
|
|
|
|
publications {
|
|
def binSuffix=""
|
|
def publishBinSuffix="bin"
|
|
|
|
ivy(IvyPublication) {
|
|
from components.java
|
|
|
|
artifact(javadocJar)
|
|
}
|
|
|
|
platforms.each { platform ->
|
|
create(platform.name, IvyPublication) {
|
|
def nativeBuildDir = "${buildDir}/${platform.operatingSystem.name}-${platform.architecture.name}"
|
|
|
|
if(platform.operatingSystem.name == "windows") {
|
|
publishBinSuffix = "exe"
|
|
binSuffix = ".${publishBinSuffix}"
|
|
}
|
|
|
|
module "${project.name}-${platform.name}"
|
|
|
|
artifact("${nativeBuildDir}/avian${binSuffix}") {
|
|
name "avian"
|
|
type publishBinSuffix
|
|
extension publishBinSuffix
|
|
}
|
|
|
|
artifact("${nativeBuildDir}/binaryToObject/binaryToObject") {
|
|
name "binaryToObject"
|
|
type publishBinSuffix
|
|
extension publishBinSuffix
|
|
}
|
|
|
|
artifact("${nativeBuildDir}/libavian.a") {
|
|
name "libavian"
|
|
type "a"
|
|
extension "a"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
artifactoryPublish {
|
|
dependsOn assemble
|
|
}
|
|
|
|
artifactory {
|
|
contextUrl = "http://oss.jfrog.org"
|
|
|
|
resolve {
|
|
repository {
|
|
repoKey = 'libs-releases'
|
|
}
|
|
}
|
|
|
|
publish {
|
|
repository {
|
|
repoKey = 'oss-snapshot-local'
|
|
username = System.env.BINTRAY_USER
|
|
password = System.env.BINTRAY_API_KEY
|
|
ivy {
|
|
ivyLayout = "[organisation]/[module]/[revision]/ivy-[revision].xml"
|
|
}
|
|
}
|
|
|
|
defaults {
|
|
platforms.each {
|
|
publications it.name
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
task wrapper(type: Wrapper) {
|
|
gradleVersion = '2.0'
|
|
} |