Bug 1411686 - Pre: Fix JNI wrapper dependencies. r=maliu

When built as part of a consuming application, a library's bundle*
target is called but not its assemble* target.  (When built by itself
for distribution, a library's assemble* target is called.)  This
corrects the wrapper dependencies.

MozReview-Commit-ID: 9ooHMNPK2U4

--HG--
extra : rebase_source : 0b9d979a0066eda86ec39e9700a2e11e8073cea6
This commit is contained in:
Nick Alexander 2017-10-23 14:57:53 -07:00
parent 14413d23f3
commit 91774829e6

View File

@ -127,14 +127,13 @@ ext.configureVariantWithGeckoBinaries = { variant ->
}
ext.configureVariantWithJNIWrappers = { variant, module ->
def jarTask
if (module == 'Generated') {
jarTask = tasks["package${variant.name.capitalize()}JarArtifact"]
} else {
jarTask = tasks["jar${variant.name.capitalize()}Classes"]
}
def jarTask = tasks.findByName("jar${variant.name.capitalize()}Classes")
if (jarTask == null) {
jarTask = tasks.findByName("package${variant.name.capitalize()}JarArtifact")
}
if (jarTask == null) {
throw new GradleException("Jar task not found: \"jar${variant.name.capitalize()}Classes\"\t\"package${variant.name.capitalize()}JarArtifact\"" )
}
if (jarTask.outputs.files.size() != 1) {
throw new GradleException("Jar task output multiple files other than one single jar")
}
@ -174,5 +173,9 @@ ext.configureVariantWithJNIWrappers = { variant, module ->
dependsOn prepareDependenciesTask
}
variant.assemble.dependsOn wrapperTask
if (module == 'Generated') {
tasks["bundle${variant.name.capitalize()}"].dependsOn wrapperTask
} else {
tasks["assemble${variant.name.capitalize()}"].dependsOn wrapperTask
}
}