• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

soundcloud/delect: The Gradle Plugin for Dagger Reflect.

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

soundcloud/delect

开源软件地址(OpenSource Url):

https://github.com/soundcloud/delect

开源编程语言(OpenSource Language):

Kotlin 100.0%

开源软件介绍(OpenSource Introduction):

⚠️ Delect has been retired!

After 2+ years of service it's time to retire Delect. We won’t be developing the plugin further and we won’t provide support but you’re welcome to keep using Delect if it works for you ✌️

Delect - The Gradle Plugin for Dagger Reflect

Delect automatically substitutes Dagger for Dagger Reflect for faster local builds.

Dagger, a dependency injection framework for Java, can slow down compilation with its lengthy annotation processing and code generation.

Dagger Reflect uses the same API as Dagger but swaps the compile time annotation processing for runtime based reflection.

Usage

Delect uses the partial reflection approach.

  1. Add the plugin to your project's root build.gradle:
buildscript {
  classpath 'com.soundcloud.delect:delect-plugin:0.3.0'
}
apply plugin: 'com.soundcloud.delect'
  1. Make sure to use the @Component.Builder or @Component.Factory to create component instances.
  2. Add the runtime retention policy to all @Qualifier, @MapKey and other custom Dagger annotations:
@Retention(RUNTIME)
  1. Add dagger.reflect=true to gradle.properties. You can also add it to ~/.gradle/gradle.properties so it doesn't need to be checked into the project.
  2. Build -- and skip all that pesky code generation!

Plugin Development

To publish to maven local:

./gradlew -b buildSrc/build.gradle.kts publishToMavenLocal

To publish:

./gradlew -b buildSrc/build.gradle.kts publishMavenJavaPublicationToMavenRepository

Found more than one jar in the 'lintChecks' configuration.

This is a bug in AGP. To disable Dagger Reflect lint checks:

delect {
  enableReflectLintCheck = false
}

License

Copyright 2019 SoundCloud

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap