mirror of
https://github.com/HighCapable/SweetDependency.git
synced 2025-09-05 18:25:48 +08:00
refactor: standardize Gradle project naming
This commit is contained in:
@@ -49,23 +49,23 @@ import org.gradle.plugin.use.PluginDependency
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取指定项目的完整名称
|
* 获取指定项目的完整名称
|
||||||
|
* @param isUseColon 是否在子项目前使用冒号 - 默认是
|
||||||
* @return [String]
|
* @return [String]
|
||||||
*/
|
*/
|
||||||
internal val Project.fullName
|
internal fun Project.fullName(isUseColon: Boolean = true): String {
|
||||||
get(): String {
|
val isRoot = this == rootProject
|
||||||
val baseNames = mutableListOf<String>()
|
val baseNames = mutableListOf<String>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 递归子项目
|
* 递归子项目
|
||||||
* @param project 当前项目
|
* @param project 当前项目
|
||||||
*/
|
*/
|
||||||
fun fetchChild(project: Project) {
|
fun fetchChild(project: Project) {
|
||||||
project.parent?.also { if (it != it.rootProject) fetchChild(it) }
|
project.parent?.also { if (it != it.rootProject) fetchChild(it) }
|
||||||
baseNames.add(project.name)
|
baseNames.add(project.name)
|
||||||
}
|
}; fetchChild(project = this)
|
||||||
fetchChild(project = this)
|
return buildString { baseNames.onEach { append(":$it") }.clear() }.let { if (isUseColon && isRoot.not()) it else it.drop(1) }
|
||||||
return buildString { baseNames.onEach { append(":$it") }.clear() }.drop(1)
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 向构建脚本添加自定义依赖
|
* 向构建脚本添加自定义依赖
|
||||||
|
@@ -75,13 +75,14 @@ internal object DependencyMigrationTemplateTransaction {
|
|||||||
internal fun createTemplate() {
|
internal fun createTemplate() {
|
||||||
SLog.info("Starting analyze projects dependencies structure", SLog.ANLZE)
|
SLog.info("Starting analyze projects dependencies structure", SLog.ANLZE)
|
||||||
GradleHelper.allProjects.forEach { subProject ->
|
GradleHelper.allProjects.forEach { subProject ->
|
||||||
|
val projectName = subProject.fullName()
|
||||||
subProject.plugins().onEach {
|
subProject.plugins().onEach {
|
||||||
if (exclusionPluginPrefixs.any { prefix -> it.id.startsWith(prefix) }) return@onEach
|
if (exclusionPluginPrefixs.any { prefix -> it.id.startsWith(prefix) }) return@onEach
|
||||||
if (Dependencies.hasPlugin { key, _ -> key.current == it.id }) return@onEach
|
if (Dependencies.hasPlugin { key, _ -> key.current == it.id }) return@onEach
|
||||||
if (document.plugins == null) document.plugins = mutableMapOf()
|
if (document.plugins == null) document.plugins = mutableMapOf()
|
||||||
val declareDocument = DependencyDocument(version = DependencyVersion.AUTOWIRE_VERSION_NAME)
|
val declareDocument = DependencyDocument(version = DependencyVersion.AUTOWIRE_VERSION_NAME)
|
||||||
document.plugins?.set(it.id, declareDocument)
|
document.plugins?.set(it.id, declareDocument)
|
||||||
}.apply { if (isNotEmpty()) SLog.info("Found $size plugins in project \"${subProject.fullName}\"", SLog.LINK) }
|
}.apply { if (isNotEmpty()) SLog.info("Found $size plugins in project \"$projectName\"", SLog.LINK) }
|
||||||
subProject.libraries().onEach {
|
subProject.libraries().onEach {
|
||||||
if (Dependencies.hasLibrary { key, _ -> key.current == it.toString() }) return@onEach
|
if (Dependencies.hasLibrary { key, _ -> key.current == it.toString() }) return@onEach
|
||||||
if (document.libraries == null) document.libraries = mutableMapOf()
|
if (document.libraries == null) document.libraries = mutableMapOf()
|
||||||
@@ -90,7 +91,7 @@ internal object DependencyMigrationTemplateTransaction {
|
|||||||
val declareDocument = DependencyDocument(version = it.version.existed)
|
val declareDocument = DependencyDocument(version = it.version.existed)
|
||||||
entities[it.groupId]?.set(it.artifactId, declareDocument)
|
entities[it.groupId]?.set(it.artifactId, declareDocument)
|
||||||
}
|
}
|
||||||
}.apply { if (isNotEmpty()) SLog.info("Found $size libraries in project \"${subProject.fullName}\"", SLog.LINK) }
|
}.apply { if (isNotEmpty()) SLog.info("Found $size libraries in project \"$projectName\"", SLog.LINK) }
|
||||||
}; saveTemplateFile()
|
}; saveTemplateFile()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -152,24 +152,24 @@ internal object RuntimeDebugTransaction {
|
|||||||
if (vfExclusionList.isNotEmpty()) versionFilterMap["exclusionList"] = mutableMapOf<String, Any>()
|
if (vfExclusionList.isNotEmpty()) versionFilterMap["exclusionList"] = mutableMapOf<String, Any>()
|
||||||
vfExclusionList.forEach { versionFilterMap["exclusionList"]?.addAsMap(it) }
|
vfExclusionList.forEach { versionFilterMap["exclusionList"]?.addAsMap(it) }
|
||||||
GradleHelper.allProjects.forEach { subProject ->
|
GradleHelper.allProjects.forEach { subProject ->
|
||||||
projectPluginsMap[subProject.fullName] = mutableMapOf<String, Any>()
|
projectPluginsMap[subProject.fullName()] = mutableMapOf<String, Any>()
|
||||||
projectLibrariesMap[subProject.fullName] = mutableMapOf<String, Any>()
|
projectLibrariesMap[subProject.fullName()] = mutableMapOf<String, Any>()
|
||||||
subProject.plugins().forEach { projectPluginsMap[subProject.fullName]?.addAsMap(it.id) }
|
subProject.plugins().forEach { projectPluginsMap[subProject.fullName()]?.addAsMap(it.id) }
|
||||||
subProject.libraries().forEach {
|
subProject.libraries().forEach {
|
||||||
val prefix = "(${it.configurationName})"
|
val prefix = "(${it.configurationName})"
|
||||||
when (it.type) {
|
when (it.type) {
|
||||||
LibraryDependencyType.EXTERNAL, LibraryDependencyType.EXTERNAL_DELEGATE -> {
|
LibraryDependencyType.EXTERNAL, LibraryDependencyType.EXTERNAL_DELEGATE -> {
|
||||||
val suffix = it.version.deployed.noBlank()?.let { e -> ":$e" } ?: ""
|
val suffix = it.version.deployed.noBlank()?.let { e -> ":$e" } ?: ""
|
||||||
projectLibrariesMap[subProject.fullName]?.addAsMap("$prefix ${it.groupId}:${it.artifactId}$suffix")
|
projectLibrariesMap[subProject.fullName()]?.addAsMap("$prefix ${it.groupId}:${it.artifactId}$suffix")
|
||||||
}
|
}
|
||||||
LibraryDependencyType.PROJECT -> projectLibrariesMap[subProject.fullName]?.addAsMap("$prefix (project) ${it.project?.fullName}")
|
LibraryDependencyType.PROJECT -> projectLibrariesMap[subProject.fullName()]?.addAsMap("$prefix (project) ${it.project?.fullName()}")
|
||||||
LibraryDependencyType.FILES -> {
|
LibraryDependencyType.FILES -> {
|
||||||
val filesMap = mutableMapOf<String, String>()
|
val filesMap = mutableMapOf<String, String>()
|
||||||
it.files?.noEmpty()?.forEach { e -> filesMap.addAsMap(e.absolutePath) }?.also {
|
it.files?.noEmpty()?.forEach { e -> filesMap.addAsMap(e.absolutePath) }?.also {
|
||||||
projectLibrariesMap[subProject.fullName] = mapOf("$prefix (files)" to filesMap)
|
projectLibrariesMap[subProject.fullName()] = mapOf("$prefix (files)" to filesMap)
|
||||||
} ?: projectLibrariesMap[subProject.fullName]?.addAsMap("$prefix (files) not found or empty folder")
|
} ?: projectLibrariesMap[subProject.fullName()]?.addAsMap("$prefix (files) not found or empty folder")
|
||||||
}
|
}
|
||||||
LibraryDependencyType.OTHERS -> projectLibrariesMap[subProject.fullName]?.addAsMap("$prefix unknown type dependency")
|
LibraryDependencyType.OTHERS -> projectLibrariesMap[subProject.fullName()]?.addAsMap("$prefix unknown type dependency")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user