Ai
2 Star 1 Fork 0

Ultra-Dejavu/Router-Android

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
build.gradle.kts 3.89 KB
一键复制 编辑 原始数据 按行查看 历史
liabao 提交于 2021-05-13 19:28 +08:00 . [feat] 调整dsl 语法
import java.util.concurrent.TimeUnit
import org.gradle.*
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven { setUrl("https://maven.aliyun.com/repository/central/") }
maven { setUrl("https://dl.bintray.com/leifzhang/maven") }
google()
}
dependencies {
classpath("com.android.tools.build:gradle:4.2.0")
classpath("com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5")
classpath("com.github.dcendents:android-maven-gradle-plugin:2.1")
classpath(kotlin("gradle-plugin", version = "1.4.30"))
// NOTE: Do not place your application dependencies here;elong
// in the individual module build.gradle files
}
}
plugins {
// 这个 id 就是在 versionPlugin 文件夹下 build.gradle 文件内定义的id
kotlin("jvm") version "1.4.30" apply false
id("router-register") apply false
}
allprojects {
repositories {
maven { setUrl("https://maven.aliyun.com/repository/central/") }
maven { setUrl("https://dl.bintray.com/leifzhang/maven") }
google()
}
configurations.all {
resolutionStrategy.dependencySubstitution.all {
if (requested is ModuleComponentSelector) {
val moduleRequested = requested as ModuleComponentSelector
val p = rootProject.allprojects.find { p ->
(p.group == moduleRequested.group && p.name == moduleRequested.module)
}
if (p != null) {
useTarget(project(p.path), "selected local project")
}
}
}
}
afterEvaluate {
allprojects.forEach {
val depFile = "$rootDir/dependenciesKt.gradle.kts"
it.apply(from = depFile)
}
}
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
}
}
subprojects {
val pluginManager = pluginManager
//if (pluginManager.hasPlugin("java")) {
pluginManager.withPlugin("java-library") {
configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
pluginManager.withPlugin("org.jetbrains.kotlin.jvm") {
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
kotlinOptions {
// jvmTarget = "1.8"
// @Suppress("SuspiciousCollectionReassignment")
// freeCompilerArgs += listOf("-Xjsr305=strict", "-progressive")
}
}
}
pluginManager.withPlugin("com.google.devtools.ksp") {
this.name
}
group = rootProject.properties["PROJ_GROUP"] ?: ""
version = rootProject.properties["PROJ_VERSION"] ?: ""
}
// 耗时统计kt化
class TimingsListener : TaskExecutionListener, BuildListener {
private var startTime: Long = 0L
private var timings = linkedMapOf<String, Long>()
override fun beforeExecute(task: Task) {
startTime = System.nanoTime()
}
override fun afterExecute(task: Task, state: TaskState) {
val ms = TimeUnit.MILLISECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS)
task.path
timings[task.path] = ms
project.logger.warn("${task.path} took ${ms}ms")
}
override fun buildFinished(result: BuildResult) {
project.logger.warn("Task timings:")
timings.forEach {
if (it.value >= 50) {
project.logger.warn("${it.key} cos ms ${it.value}\n")
}
}
}
override fun buildStarted(gradle: Gradle) {
}
override fun settingsEvaluated(settings: Settings) {
}
override fun projectsLoaded(gradle: Gradle) {
}
override fun projectsEvaluated(gradle: Gradle) {
}
}
gradle.addListener(TimingsListener())
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Kotlin
1
https://gitee.com/leifzhang/Router-Android.git
git@gitee.com:leifzhang/Router-Android.git
leifzhang
Router-Android
Router-Android
master

搜索帮助