Remove the build-logic module
Summary: As now we have a single module to publish, I'm removing the build-logic folder and moving everything inside the java/build.gradle file. I've also converted it to Kotlin, Reviewed By: NickGerleman Differential Revision: D47259204 fbshipit-source-id: 2378d9e9598d7816f230db5f763f2b0f4cdf01d0
This commit is contained in:
committed by
Facebook GitHub Bot
parent
f7324fb71e
commit
dbd8e915d5
@@ -1,63 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
id("publish")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.facebook.yoga'
|
||||
|
||||
compileSdkVersion rootProject.compileSdkVersion
|
||||
buildToolsVersion rootProject.buildToolsVersion
|
||||
ndkVersion rootProject.ndkVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.minSdkVersion
|
||||
targetSdkVersion rootProject.targetSdkVersion
|
||||
|
||||
consumerProguardFiles 'proguard-rules.pro'
|
||||
|
||||
ndk {
|
||||
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path 'CMakeLists.txt'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
targetCompatibility rootProject.targetCompatibilityVersion
|
||||
sourceCompatibility rootProject.sourceCompatibilityVersion
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDir 'com'
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
res.srcDirs = ['res']
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
multipleVariants {
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
includeBuildTypeValues('debug', 'release')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.google.code.findbugs:jsr305:3.0.2'
|
||||
implementation 'com.facebook.soloader:soloader:0.10.4'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
}
|
127
java/build.gradle.kts
Normal file
127
java/build.gradle.kts
Normal file
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
id("maven-publish")
|
||||
id("signing")
|
||||
}
|
||||
|
||||
group = "com.facebook.yoga"
|
||||
|
||||
val compileSdkVersionProperty: Int by rootProject.extra
|
||||
val minSdkVersionProperty: Int by rootProject.extra
|
||||
val targetSdkVersionProperty: Int by rootProject.extra
|
||||
val buildToolsVersionProperty: String by rootProject.extra
|
||||
val ndkVersionProperty: String by rootProject.extra
|
||||
|
||||
android {
|
||||
namespace = "com.facebook.yoga"
|
||||
compileSdk = 33
|
||||
buildToolsVersion = "33.0.0"
|
||||
ndkVersion = "23.1.7779620"
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 21
|
||||
consumerProguardFiles("proguard-rules.pro")
|
||||
|
||||
ndk { abiFilters.addAll(setOf("x86", "x86_64", "armeabi-v7a", "arm64-v8a")) }
|
||||
}
|
||||
|
||||
externalNativeBuild { cmake { path("CMakeLists.txt") } }
|
||||
|
||||
compileOptions {
|
||||
targetCompatibility(JavaVersion.VERSION_1_8)
|
||||
sourceCompatibility(JavaVersion.VERSION_1_8)
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
named("main") {
|
||||
java.srcDir("com")
|
||||
manifest.srcFile("AndroidManifest.xml")
|
||||
res.srcDir("res")
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
multipleVariants {
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
includeBuildTypeValues("debug", "release")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
||||
implementation("com.facebook.soloader:soloader:0.10.5")
|
||||
testImplementation("junit:junit:4.12")
|
||||
}
|
||||
|
||||
version =
|
||||
if ("USE_SNAPSHOT".byProperty.toBoolean()) {
|
||||
"${"VERSION_NAME".byProperty}-SNAPSHOT"
|
||||
} else {
|
||||
"VERSION_NAME".byProperty.toString()
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
register<MavenPublication>("default") {
|
||||
groupId = project.group.toString()
|
||||
artifactId = project.name
|
||||
version = project.version.toString()
|
||||
afterEvaluate { from(components["default"]) }
|
||||
pom {
|
||||
description.set(
|
||||
"An embeddable and performant flexbox layout engine with bindings for multiple languages")
|
||||
name.set(project.name)
|
||||
url.set("https://github.com/facebook/yoga.git")
|
||||
licenses {
|
||||
license {
|
||||
name.set("MIT License")
|
||||
url.set("https://github.com/facebook/yoga/blob/main/LICENSE")
|
||||
distribution.set("repo")
|
||||
}
|
||||
}
|
||||
developers {
|
||||
developer {
|
||||
id.set("Meta Open Source")
|
||||
name.set("Meta Open Source")
|
||||
email.set("opensource@meta.com")
|
||||
}
|
||||
}
|
||||
scm { url.set("scm:git:git@github.com:facebook/yoga.git") }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val signingKey = "SIGNING_KEY".byProperty
|
||||
val signingPwd = "SIGNING_PWD".byProperty
|
||||
|
||||
if (signingKey.isNullOrBlank() || signingPwd.isNullOrBlank()) {
|
||||
logger.info("Signing disabled as the GPG key was not found")
|
||||
} else {
|
||||
logger.info("GPG Key found - Signing enabled")
|
||||
}
|
||||
|
||||
signing {
|
||||
useInMemoryPgpKeys(signingKey, signingPwd)
|
||||
sign(publishing.publications)
|
||||
isRequired = !(signingKey.isNullOrBlank() || signingPwd.isNullOrBlank())
|
||||
}
|
||||
|
||||
// Fix for https://youtrack.jetbrains.com/issue/KT-46466/
|
||||
// On Gradle 8+, the signing task is not correctly wired to the publishing tasks.
|
||||
// This requires a fix on KGP that is currently pending.
|
||||
val signingTasks = tasks.withType<Sign>()
|
||||
|
||||
tasks.withType<AbstractPublishToMaven>().configureEach { dependsOn(signingTasks) }
|
||||
|
||||
val String.byProperty: String?
|
||||
get() = providers.gradleProperty(this).orNull
|
Reference in New Issue
Block a user