当前位置: 首页 > news >正文

常用的seo网站优化排名免费发布信息平台网

常用的seo网站优化排名,免费发布信息平台网,永久免费补单系统,在线免费设计logo骑车吗,累了吗?到哪里都能躺下 AGP7 loadAddDependencies 加载所有依赖项 implementation 使用 implementation 添加某个依赖 excludedDependencies 排除指定模块 forceDependencies 强制指定模块 existAllDependence 判断某依赖是否存在 import groov…

在这里插入图片描述

骑车吗,累了吗?到哪里都能躺下

AGP7+

loadAddDependencies

加载所有依赖项

implementation

使用 implementation 添加某个依赖

excludedDependencies

排除指定模块

forceDependencies

强制指定模块

existAllDependence

判断某依赖是否存在

import groovy.json.JsonSlurper
import org.gradle.api.Project
import org.gradle.api.artifacts.DependencyResolveDetailsclass PluginDependenceUtils {/*** 加载所有依赖项* - 遍历所有项目配置:project.configurations.all* - 解析依赖信息:resolutionStrategy.eachDependency*** @param project* @param callback*/static void loadAddDependencies(Project project, DependenciesCallback callback) {def dp = new ArrayList()project.configurations.all {resolutionStrategy.eachDependency { DependencyResolveDetails details ->String module = details.requested.module.group + ":" + details.requested.module.name + ":" + details.requested.versionif (!dp.contains(module)) {dp.add(module)}callback.onResult(dp)}}}/*** 使用 implementation 添加某个依赖* - project.dependencies.add("implementation", project.dependencies.create(it))*** @param project* @param dependenciesList*/static void implementation(Project project, List<String> dependenciesList) {if (project == null || CommUtils.isEmptyOrNoExists(dependenciesList)) {return}dependenciesList.each {if (it != null && !it.trim().isEmpty()) {def split = it.split(":")if (!CommUtils.isEmptyOrNoExists(split) && split.length == 3) {project.dependencies.add("implementation", project.dependencies.create(it))}}}}/*** 排除指定模块* - 遍历所有项目配置:project.configurations.all* - 解析依赖:resolutionStrategy* - 排除模块:exclude group: it.first, module: it.second*** @param project* @param excludeList*/static void excludedDependencies(Project project, List<Pair> excludeList) {if (CommUtils.isEmptyOrNoExists(excludeList)) {return}project.configurations.all {resolutionStrategy {excludeList.each {exclude group: it.first, module: it.second}}}}/*** 强制指定模块(版本)* - 遍历所有项目配置:project.configurations.all* - 强制指定版本:resolutionStrategy.force it*** @param project* @param assignList* @param allDependenciesList*/static void forceDependencies(Project project, List<String> assignList) {if (CommUtils.isEmptyOrNoExists(assignList)) {return}project.configurations.all {assignList.each {resolutionStrategy.force it}}}/*** 判断某依赖是否存在** @param project* @param group* @param name* @return*/static boolean existAllDependence(Project project, String group, String name) {existAllDependence(project, group, name, null)}/*** 判断某依赖是否存在* - 获取所有依赖: project.configurations.getByName("implementation").dependencies* - 遍历、解析依赖信息*** @param project* @param group* @param name* @param version* @return*/static boolean existAllDependence(Project project, String group, String name, String version) {if (CommUtils.isEmptyOrNoExists(group) || CommUtils.isEmptyOrNoExists(name)) {return false}def dependencies = project.configurations.getByName("implementation").dependenciesif (dependencies.empty) {return false}boolean existDep = falsedependencies.each {if (!CommUtils.isEmptyOrNoExists(it.name) && !CommUtils.isEmptyOrNoExists(it.group)) {if (!CommUtils.isEmptyOrNoExists(version)) {if (it.name == name && it.group == group && it.version == version) {existDep = true}} else {if (it.name == name && it.group == group) {existDep = true}}}}return existDep}
}

AGP8+

loadAddDependencies

加载所有依赖项

implementation

使用 implementation 添加某个依赖

excludedDependencies

排除指定模块

forceDependencies

强制指定模块

existAllDependence

判断某依赖是否存在

getForcedDependencies

获取强制指定依赖列表

import com.android.build.api.variant.AndroidComponentsExtension
import kotlinx.serialization.json.Json
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.internal.artifacts.ivyservice.dependencysubstitution.DefaultDependencyResolveDetailsclass PluginDependenceUtils {companion object {@JvmStaticprivate val forcedModuleMap = mutableSetOf<String>()@JvmStaticfun clearCollect() {if (forcedModuleMap.isNotEmpty()) {forcedModuleMap.clear()}}/*** 获取强制指定依赖的列表* - 获得 AndroidComponentsExtension:project.extensions.getByType(AndroidComponentsExtension::class.java)* - 遍历变体 components:variants.components.forEach* - 获得、遍历强制模块:component.runtimeConfiguration.resolutionStrategy.forcedModules**/@JvmStaticfun getForcedDependencies(project: Project, callback: DependenciesCallback) {val dp = ArrayList<String>()val androidExt =project.extensions.getByType(AndroidComponentsExtension::class.java)androidExt.onVariants { variants ->variants.components.forEach { component ->component.runtimeConfiguration.resolutionStrategy.forcedModules.forEach {val module = it.group + ":" + it.name + ":" + it.versionif (!dp.contains(module)) {dp.add(module)}callback.onResult(dp)}}}}/*** 加载所有依赖* - 获得 AndroidComponentsExtension* - 变体遍历:variants.components.forEach* - 解析依赖:component.runtimeConfiguration.resolutionStrategy.eachDependency**/@JvmStaticfun loadAddDependencies(project: Project, callback: DependenciesCallback) {val dp = ArrayList<String>()val androidExt =project.extensions.getByType(AndroidComponentsExtension::class.java)androidExt.onVariants { variants ->variants.components.forEach { component ->component.runtimeConfiguration.resolutionStrategy.eachDependency {val details = it as DefaultDependencyResolveDetailsval module =details.requested.module.group + ":" + details.requested.module.name + ":" + details.requested.versionif (!dp.contains(module)) {dp.add(module)}callback.onResult(dp)}}}}@JvmStaticfun parserDependencies(str: String): List<Pair<String, String>> {if (CommUtils.isEmptyOrNoExists(str)) {return emptyList()}val list = Json.decodeFromString<List<String>>(str)if (list.isEmpty()) {return emptyList()}val result = mutableListOf<Pair<String, String>>()for (item in list) {if (!CommUtils.isEmptyOrNoExists(item) && item.contains(":")) {val split = item.split(":")if (split.size == 2) {result.add(Pair(split[0], split[1]))}}}return result}/*** 使用 implementation 添加某个依赖* - 直接添加依赖:project.dependencies.add* - 模块创建:project.dependencies.create(module)**/@JvmStaticfun implementation(project: Project, module: String) {if (module.isEmpty()) {return}project.dependencies.add("implementation",project.dependencies.create(module))}/*** 使用 implementation 添加某个依赖* - 直接添加依赖:project.dependencies.add* - 模块创建:project.dependencies.create(module)**/@JvmStaticfun implementation(project: Project, dependenciesList: List<String>) {if (CommUtils.isEmptyOrNoExists(dependenciesList)) {return}dependenciesList.forEach {if (it.trim().isNotEmpty()) {val split = it.split(":")if (!CommUtils.isEmptyOrNoExists(split) && split.size == 3) {project.dependencies.add("implementation", project.dependencies.create(it))}}}}/*** 排除指定模块* - 解析项目配置:project.configurations.all* - 直接排除指定依赖:config.exclude**/@JvmStaticfun excludedDependencies(project: Project, excludeList: List<Pair<String, String>>) {if (CommUtils.isEmptyOrNoExists(excludeList)) {return}val excludes = mutableListOf<ExclusionRuleData>()excludeList.forEach {excludes.add(ExclusionRuleData(it.first, it.second))}project.configurations.all { config: Configuration ->excludes.forEach { exc ->config.exclude(exc.toMap())}}}/*** 强制指定模块* - 解析项目配置:project.configurations.all* - 解析依赖:config.resolutionStrategy* - 直接指定依赖:rule.force(it)**/@JvmStaticfun forceDependencies(project: Project, assignList: List<String>) {if (CommUtils.isEmptyOrNoExists(assignList)) {return}project.configurations.all { config: Configuration ->config.resolutionStrategy { rule ->assignList.forEach {rule.force(it)if (!forcedModuleMap.contains(it)) {forcedModuleMap.add(it)}}}}}/*** 判断某依赖是否存在*/@JvmStaticfun existAllDependence(project: Project, group: String, name: String): Boolean {return existAllDependence(project, group, name, null)}/*** 获取到的没有 component.runtimeConfiguration.resolutionStrategy 全* 判断某依赖是否存在* - 解析项目依赖:project.configurations.getByName("implementation").dependencies* */@JvmStaticfun existAllDependence(project: Project,group: String,name: String,version: String?): Boolean {if (CommUtils.isEmptyOrNoExists(group) || CommUtils.isEmptyOrNoExists(name)) {return false}val dependencies = project.configurations.getByName("implementation").dependenciesif (dependencies.isEmpty()) {return false}var existDep = falsedependencies.forEach {if (!CommUtils.isEmptyOrNoExists(it.name) && !CommUtils.isEmptyOrNoExists(it.group)) {if (!CommUtils.isEmptyOrNoExists(version)) {if (it.name == name && it.group == group && it.version == version) {existDep = true}} else {if (it.name == name && it.group == group) {existDep = true}}}}return existDep}}
}
http://www.dtcms.com/a/543795.html

相关文章:

  • 手机版网站如何做网站服务器最好的
  • 一级a做爰片i免费网站太原网站建设价格低
  • 在百度上做网站找谁食品网站设计方案
  • amp 网站开发头条搜索是百度引擎吗
  • vs2010网站开发示例西安房价
  • 东莞阳性最新消息google seo 营销网站
  • 华亭县门户网站vps主机上搭建网站
  • 上海平台网站开发网站建站建设上海黔文信息科技有限公司30
  • 学科网站建设管理装修网站建设摘要
  • seo费用价格重庆网络优化平台
  • 网站建设纳千网络网络seo软件
  • 网站建设服务商有哪些南昌市有帮做网站的吗
  • 网站开发毕业设计说明主流软件开发平台
  • 网站设计实训心得海外直购网站建设方案书范文
  • 英文网站注册开发公司网签物料
  • 伊利网站规划与建设数字营销传播
  • 南昌做网站后台投票编程教学入门教程
  • 做时尚网站的目的ui设计参考网站
  • 手机网站 制作教程网站如何免费推广
  • 聊城手机网站建设服务棕色网站设计
  • 建建设网站的企业网站上怎样做超链接
  • 广东企业网站制作做网站1万多块钱
  • ppt网站有哪些网站规划建设与管理维护论文
  • 自己建网站怎样建正规的网站制作开发
  • 喀喇沁旗网站建设公司wordpress style.
  • 网站建设实例pdf下载河北邢台wap网站建设
  • 常州网站设计公司金华市网站建设最低价
  • 百度一下你就知道官方网站网站评测的作用
  • 个人网站 备案 名称wordpress改wp admin
  • 网站建设服务哪里便宜抖音开放平台怎么注册