From abf912b729a46bed480753969a00236a75c9ce44 Mon Sep 17 00:00:00 2001 From: Robert Spencer Date: Tue, 7 Mar 2017 03:52:51 -0800 Subject: [PATCH] Gradle version bump and POM details Summary: This improves the quality of the published POM files, adding dependencies and marking the object as an 'aar'. It also bumps the version to 1.2.0 for JCenter. Reviewed By: emilsjolander Differential Revision: D4620150 fbshipit-source-id: 968f1cea21af4b2f19aeff3f32ad575b185fa1bb --- android/build.gradle | 11 ++-------- build.gradle | 1 + gradle/android-jcenter-install.gradle | 29 ++++++++++++++++++--------- java/build.gradle | 2 +- scripts/build_natives_for_gradle.sh | 15 +++++++++----- 5 files changed, 34 insertions(+), 24 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 3b4c5aff..565b9aaf 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,7 +6,7 @@ apply plugin: 'maven-publish' targetCompatibility = '1.7' sourceCompatibility = '1.7' -version = '1.0.0' +version = '1.2.0' group = 'com.facebook.yoga.android' android { @@ -22,17 +22,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } - - sourceSets.main { - jni.srcDirs = [] // disalbe NDK auto build (not sure why this is necessary) - // The alternative, fat-aar does an equivalent thing to this hack - // seehttps://github.com/adwiv/android-fat-aar/blob/master/fat-aar.gradle#L307 - jniLibs.srcDirs = ['build/intermediates/exploded-aar/com.facebook.yoga/yoga/1.0.0/jni'] - } } dependencies { - compile project(':yoga') + compile 'com.facebook.yoga:yoga:1.2.0' } task sourcesJar(type: Jar) { diff --git a/build.gradle b/build.gradle index afc336f1..45df8f9b 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,7 @@ buildscript { allprojects { repositories { + jcenter() flatDir { dirs "${rootDir}/lib/jsr-305" dirs "${rootDir}/lib/soloader" diff --git a/gradle/android-jcenter-install.gradle b/gradle/android-jcenter-install.gradle index 0b6098ed..51c66319 100644 --- a/gradle/android-jcenter-install.gradle +++ b/gradle/android-jcenter-install.gradle @@ -41,15 +41,26 @@ def pomConfig = { publishing { publications { primaryPublication(MavenPublication) { - groupId group - artifact(sourcesJar) - artifact(javadocJar) - pom.withXml { - def root = asNode() - root.appendNode('name', 'Yoga') - root.appendNode('url', siteURL) - root.children().last() + pomConfig - } + groupId group + artifact(sourcesJar) + artifact(javadocJar) + pom.packaging='aar' + pom.withXml { + def root = asNode() + root.appendNode('name', 'Yoga') + root.appendNode('url', siteURL) + root.children().last() + pomConfig + def dependenciesNode = root.appendNode('dependencies') + //Iterate over the compile dependencies (we don't want the test ones), adding a node for each + configurations.compile.allDependencies.each { + if(it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) { + def dependencyNode = dependenciesNode.appendNode('dependency') + dependencyNode.appendNode('groupId', it.group) + dependencyNode.appendNode('artifactId', it.name) + dependencyNode.appendNode('version', it.version) + } + } + } } } } diff --git a/java/build.gradle b/java/build.gradle index 8434c8d2..f8ae3635 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -6,7 +6,7 @@ apply plugin: 'maven-publish' targetCompatibility = '1.7' sourceCompatibility = '1.7' -version = '1.0.0' +version = '1.2.0' group = 'com.facebook.yoga' // We currently build the native libraries with buck and bundle them together diff --git a/scripts/build_natives_for_gradle.sh b/scripts/build_natives_for_gradle.sh index b6448103..6699d2ad 100755 --- a/scripts/build_natives_for_gradle.sh +++ b/scripts/build_natives_for_gradle.sh @@ -3,14 +3,19 @@ buck build //android:android X86_DEST=build/buck-out/jniLibs/x86 -ARMV7_DEST=build/buck-out/jniLibs/armabi-v7a +ARMV7_DEST=build/buck-out/jniLibs/armeabi-v7a mkdir -p $X86_DEST mkdir -p $ARMV7_DEST -cp ../buck-out/gen/java/jni#android-armv7,shared/libyoga.so $ARMV7_DEST -cp ../buck-out/gen/java/jni#android-x86,shared/libyoga.so $X86_DEST +cp ../buck-out/gen/java/jni#ARMV7,android-armv7,android-strip,libyoga.so,shared/libyoga.so $ARMV7_DEST +cp ../buck-out/gen/java/jni#X86,android-strip,android-x86,libyoga.so,shared/libyoga.so $X86_DEST -cp ../buck-out/gen/yoga#android-armv7,shared/libyogacore.so $ARMV7_DEST -cp ../buck-out/gen/yoga#android-x86,shared/libyogacore.so $X86_DEST +cp ../buck-out/gen/yoga#ARMV7,android-armv7,android-strip,libyogacore.so,shared/libyogacore.so $ARMV7_DEST +cp ../buck-out/gen/yoga#X86,android-strip,android-x86,libyogacore.so,shared/libyogacore.so $X86_DEST +cp ../buck-out/gen/lib/fb/fbjni#ARMV7,android-armv7,android-strip,liblib_fb_fbjni.so,shared/liblib_fb_fbjni.so $ARMV7_DEST +cp ../buck-out/gen/lib/fb/fbjni#X86,android-strip,android-x86,liblib_fb_fbjni.so,shared/liblib_fb_fbjni.so $X86_DEST + +cp ../buck-out/gen/android/android#ARMV7,android-strip,libgnustl_shared.so/libgnustl_shared.so $ARMV7_DEST +cp ../buck-out/gen/android/android#X86,android-strip,libgnustl_shared.so/libgnustl_shared.so $X86_DEST