Giter Club home page Giter Club logo

composingbuilds-vs-buildsrc's Introduction

composingbuilds-vs-buildsrc's People

Contributors

hi-dhl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

composingbuilds-vs-buildsrc's Issues

无法自动补全 无法跳转引用

image

创建version-plugin,配置完成后项目运行正常,,但出现两个问题:
1、在app gradle文件中import com.ileo.plugin.version.* 颜色置灰(去掉报错),
2、无法自动补全点击也没有自动跳转到引用位置

Android studio 2021.1
id("com.android.application") version "7.2.0" apply false
id ("com.android.library") version "7.2.0" apply false
id ("org.jetbrains.kotlin.android") version "1.6.10' apply false

common_config.gradle添加的时候出现问题

我想把项目和lib中的build.gradle的内容做一个common_config.gradle进行统一的配置,在common_config.gradle中调用composingBuild中的内容,但是在build.gradle引入apply from: "common_config.gradle"时出现错误
Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'BuildConfig' for object of type org.gradle.internal.extensibility.DefaultExtraPropertiesExtension.
找不到 composingbuild中的内容,不知道是什么情况 ,大神是否遇到或者有解决方案
(去掉composingbuild时common_config.gradle是可用的)

是否有方法可以统一为每个模块引入插件

目前来说,每次引入插件的时候都要在 build.gradle 中添加:
plugins{
id "com.hi.dhl.plugin"
}
是否有方法可以统一为每个 module 引入这个插件呢?

另外有个问题想请教下,为什么用以下引入插件的方式不行呢:
apply plugin : "com.hi.dhl.plugin"

依赖库提示更新的问题

无论是用buildSrc 还是 composing builds 或者说是类似这样
ext {
build_version = [
compileSdkVersion: 29,
minSdkVersion : 21,
targetSdkVersion : 29,
buildToolsVersion: "29.0.3",
]
}

都没有办法在 依赖库有新版本的时候 提示我们?,请问这个有解决方案吗?

使用Composing builds的缓存问题

当lib文件的API发生变化时,会发现已修改的API方法找不到,且External Libraries列表下的版本号还是之前已经缓存的版本,导致找不到新的API,只有在重启AS才能找到新的API,可以优化下吗

ComposingBuilds缺点补充

ComposingBuilds相比buildSrc有一个缺点就是:不支持双向跳转。ComposingBuilds支持引用跳转,但是在VersionPlugin中通过IDE findUsage查询对应版本依赖被引用的地方时是不支持跳转的,而且都显示无引用格式。

ComposingBuild的项目在AS中make project报错

ComposingBuild的项目在AS中make project报错

Project directory '/Users/username/Downloads/ComposingBuilds-vs-buildSrc-master/Project-ComposingBuild/versionPlugin' is not part of the build defined by settings file '/Users/username/Downloads/ComposingBuilds-vs-buildSrc-master/Project-ComposingBuild/settings.gradle'. If this is an unrelated build, it must have its own settings file.

VersionPlugin放外面,多项目引用的问题

VersionPlugin放外面的话。BuildConfig下的versionCode和versionName就失去了意义了。不同项目的版本号应该是不一样。
另外不同的项目引用的lib可能是不一样的, DependencyManager.kt里的数据会越来越多,有些项目不一定会用到lib的都写进来了。

解决方法:
versionCode和versionName的问题应该还是要在项目下的build.gradle中去填写。BuildConfig里面写意义不大
DependencyManager这个文件到后面估计要拆分掉。感觉在项目中填一大堆不相关的lib有点不舒服。显得很多余。。。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.