Skip to content

Commit

Permalink
Produce Maven Bundle
Browse files Browse the repository at this point in the history
Fixes #1841
  • Loading branch information
Alexandre Lissy committed Jan 24, 2019
1 parent 13c9bab commit 0b7d558
Show file tree
Hide file tree
Showing 9 changed files with 100 additions and 8 deletions.
5 changes: 4 additions & 1 deletion native_client/java/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ libdeepspeech/libs/%/libdeepspeech.so:

apk: apk-clean bindings $(patsubst %,libdeepspeech/libs/%/libdeepspeech.so,$(ARCHS))
./gradlew build
./gradlew writeNewPom

maven-bundle: apk
./gradlew uploadArchives
./gradlew zipMavenArtifacts

bindings: clean
swig -c++ -java -package org.mozilla.deepspeech.libdeepspeech -outdir libdeepspeech/src/main/java/org/mozilla/deepspeech/libdeepspeech/ -o jni/deepspeech_wrap.cpp jni/deepspeech.i
68 changes: 62 additions & 6 deletions native_client/java/libdeepspeech/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,67 @@ task printABIs {
print ABI_FILTERS.split(';').join(" ")
}

group = 'org.mozilla.deepspeech'
version = androidGitVersion.name()
task writeNewPom << {
pom {
project {
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}

artifacts {
archives sourcesJar
}

uploadArchives {
repositories {
mavenDeployer {
pom.packaging = 'aar'
pom.name = 'libdeepspeech'
pom.groupId = 'org.mozilla.deepspeech'
pom.artifactId = 'libdeepspeech'
pom.version = dsVersionString + (project.hasProperty('snapshot') ? '-SNAPSHOT' : '')

pom.project {
description 'Speech recognition library'
url 'https://github.com/mozilla/DeepSpeech'

licenses {
license {
name 'MPL-2.0'
url 'https://www.mozilla.org/en-US/MPL/2.0/'
distribution 'repo'
}
}

developers {
developer {
id 'deepspeech'
name 'Mozilla DeepSpeech Team'
email 'deepspeechs@lists.mozilla.org'
}
}

scm {
connection 'https://github.com/mozilla/DeepSpeech.git'
developerConnection 'https://github.com/mozilla/DeepSpeech.git'
url 'https://github.com/mozilla/DeepSpeech'
}
}

repository(url: "file://${project.buildDir}/maven")
}
}.writeTo("${buildDir}/pom-${dsVersionString}.xml")
}
}

task zipMavenArtifacts(type: Zip) {
from "${project.buildDir}/maven"

include '**/*.aar'
include '**/*.jar'
include '**/*.pom'
include '**/*.md5'
include '**/*.sha1'
include '**/*maven-metadata.xml*'

archiveName "${archivesBaseName}.maven.zip"
includeEmptyDirs = false
destinationDir(file("${project.buildDir}"))
}
2 changes: 1 addition & 1 deletion taskcluster/android-apk-package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ mkdir -p ${TASKCLUSTER_ARTIFACTS} || true

cp ${DS_ROOT_TASK}/DeepSpeech/tf/bazel*.log ${TASKCLUSTER_ARTIFACTS}/

cp ${DS_ROOT_TASK}/DeepSpeech/ds/native_client/java/libdeepspeech/build/pom*.xml ${TASKCLUSTER_ARTIFACTS}/
cp ${DS_ROOT_TASK}/DeepSpeech/ds/native_client/java/app/build/outputs/apk/release/app*.apk ${TASKCLUSTER_ARTIFACTS}/
cp ${DS_ROOT_TASK}/DeepSpeech/ds/native_client/java/libdeepspeech/build/outputs/aar/libdeepspeech*.aar ${TASKCLUSTER_ARTIFACTS}/
cp ${DS_ROOT_TASK}/DeepSpeech/ds/native_client/java/libdeepspeech/build/libdeepspeech-*.maven.zip ${TASKCLUSTER_ARTIFACTS}/
3 changes: 3 additions & 0 deletions taskcluster/scriptworker-task-github.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ build:
- "node-package"
- "android-arm64-cpu-opt"
- "android-armv7-cpu-opt"
- "android-java-opt"
allowed:
- "tag"
ref_match: "refs/tags/"
Expand Down Expand Up @@ -38,6 +39,8 @@ build:
- "linux-arm64-cpu-opt"
- "android-arm64-cpu-opt"
- "android-armv7-cpu-opt"
java_aar:
- "android-java-opt"
metadata:
name: "DeepSpeech GitHub Packages"
description: "Trigger Uploading of DeepSpeech Packages to GitHub release page"
22 changes: 22 additions & 0 deletions taskcluster/scriptworker-task-jcenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
build:
template_file: simple-task.tyml
dependencies:
# Make sure builds are ready
- "android-java-opt"
allowed:
- "tag"
ref_match: "refs/tags/"
routes:
- "notify.irc-channel.${notifications.irc}.on-exception"
- "notify.irc-channel.${notifications.irc}.on-failed"
upload_targets:
- "jcenter"
artifacts_deps:
python: []
cpp: []
javascript: []
java_aar:
- "android-java-opt"
metadata:
name: "DeepSpeech Android lib Packages"
description: "Trigger Uploading of DeepSpeech Android lib to JCenter registry"
1 change: 1 addition & 0 deletions taskcluster/scriptworker-task-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ build:
artifacts_deps:
python: []
cpp: []
java_aar: []
javascript:
# GPU package
- "linux-amd64-gpu-opt"
Expand Down
1 change: 1 addition & 0 deletions taskcluster/scriptworker-task-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ build:
artifacts_deps:
javascript: []
cpp: []
java_aar: []
python:
- "darwin-amd64-cpu-opt"
- "linux-amd64-cpu-opt"
Expand Down
4 changes: 4 additions & 0 deletions taskcluster/simple-task.tyml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ then:
$map: { $eval: build.artifacts_deps.javascript }
each(b):
$eval: as_slugid(b)
java_aar:
$map: { $eval: build.artifacts_deps.java_aar }
each(b):
$eval: as_slugid(b)
cpp:
$map: { $eval: build.artifacts_deps.cpp }
each(b):
Expand Down
2 changes: 2 additions & 0 deletions tc-tests-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,8 @@ do_deepspeech_java_apk_build()
done;

make -C native_client/java/

make -C native_client/java/ maven-bundle
}

package_native_client()
Expand Down

0 comments on commit 0b7d558

Please sign in to comment.