mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
162 lines
3.8 KiB
Groovy
162 lines
3.8 KiB
Groovy
apply plugin: 'com.android.library'
|
|
apply plugin: 'maven-publish'
|
|
|
|
def jniLibsDir = System.properties['jniLibsDir']
|
|
def buildDir = System.properties['buildDir']
|
|
def publishDir = System.properties['publishDir']
|
|
def minSdkVer = System.properties['minSdkVer']
|
|
def targetSdkVer = System.properties['targetSdkVer']
|
|
|
|
// Since Android requires a higher numbers indicating more recent versions
|
|
// This function assume ORT version number will be in formart of A.B.C such as 1.7.0
|
|
// We generate version code A[0{0,1}]B[0{0,1}]C,
|
|
// for example '1.7.0' -> 10700, '1.6.15' -> 10615
|
|
def getVersionCode(String version){
|
|
String[] codes = version.split('\\.');
|
|
// This will have problem if we have 3 digit [sub]version number, such as 1.7.199
|
|
// but it is highly unlikely to happen
|
|
String versionCodeStr = String.format("%d%02d%02d", codes[0] as int, codes[1] as int, codes[2] as int);
|
|
return versionCodeStr as int;
|
|
}
|
|
|
|
project.buildDir = buildDir
|
|
project.version = rootProject.file('../VERSION_NUMBER').text.trim()
|
|
project.group = "com.microsoft.onnxruntime"
|
|
|
|
def mavenArtifactId = project.name + '-mobile'
|
|
|
|
buildscript {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:3.5.3'
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 29
|
|
buildToolsVersion "29.0.2"
|
|
|
|
defaultConfig {
|
|
minSdkVersion minSdkVer
|
|
targetSdkVersion targetSdkVer
|
|
versionCode = getVersionCode(project.version)
|
|
versionName = project.version
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
android {
|
|
lintOptions {
|
|
abortOnError false
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
debuggable false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
jniLibs.srcDirs = [jniLibsDir]
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
task sourcesJar(type: Jar) {
|
|
classifier "sources"
|
|
from android.sourceSets.main.java.srcDirs
|
|
}
|
|
|
|
task javadoc(type: Javadoc) {
|
|
source = android.sourceSets.main.java.srcDirs
|
|
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
artifacts {
|
|
archives javadocJar
|
|
archives sourcesJar
|
|
}
|
|
|
|
dependencies {
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
|
|
testImplementation 'com.google.protobuf:protobuf-java:3.10.0'
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven(MavenPublication) {
|
|
groupId = project.group
|
|
artifactId = mavenArtifactId
|
|
version = project.version
|
|
|
|
// Three artifacts, the `aar`, the sources and the javadoc
|
|
artifact("$buildDir/outputs/aar/${project.name}-release.aar")
|
|
artifact javadocJar
|
|
artifact sourcesJar
|
|
|
|
pom {
|
|
name = 'onnx-runtime'
|
|
description = 'ONNX Runtime is a performance-focused inference engine for ONNX (Open Neural Network Exchange) models.'
|
|
url = 'https://microsoft.github.io/onnxruntime/'
|
|
licenses {
|
|
license {
|
|
name = 'MIT License'
|
|
url = 'https://opensource.org/licenses/MIT'
|
|
}
|
|
}
|
|
organization {
|
|
name = 'Microsoft'
|
|
url = 'http://www.microsoft.com'
|
|
}
|
|
scm {
|
|
connection = 'scm:git:git://github.com:microsoft/onnxruntime.git'
|
|
developerConnection = 'scm:git:ssh://github.com/microsoft/onnxruntime.git'
|
|
url = 'http://github.com/microsoft/onnxruntime'
|
|
}
|
|
developers {
|
|
developer {
|
|
id = 'onnxruntime'
|
|
name = 'ONNX Runtime'
|
|
email = 'onnxruntime@microsoft.com'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//publish to filesystem repo
|
|
repositories{
|
|
maven {
|
|
url "$publishDir"
|
|
}
|
|
}
|
|
}
|