Skip to content

MeDeity/Poetry

Repository files navigation

Poetry(Android 日志织入框架)

Poetry 是仿照JakeWharton的Hugo项目实现的AOP日志框架.核心AOP的使用方法都来自Hugo.Hugo在

com.android.tools.build:gradle:3.0+ 

及以上的版本无法使用,但JakeWharton好像并没有像维护Hugo项目的意思.所以在此复刻了该项目的实现.(功能还有缺失,后续会加上)

使用方式

gradle(project)

buildscript {
    
    repositories {
        google()
        jcenter()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        ...
        //TODO how did i cancel this import? Unable to load class 'org.aspectj.bridge.MessageHandler'.
        classpath 'org.aspectj:aspectjtools:1.8.9'
        classpath "com.deity.poetry:poetry:1.0.12"
    }
}

build.gradle(app)

apply plugin: 'com.deity.poetry'
@DebugLog
public String getName(String first, String last) {
  SystemClock.sleep(15); // Don't ever really do this!
  return first + " " + last;
}
    V/Example: ⇢ getName(first="Jake", last="Wharton")
V/Example: ⇠ getName [16ms] = "Jake Wharton"

毕竟复刻,使用方式跟Hugo是一致的.弄这个项目主要是学习Gradle插件的开发. 以下参考资料给我提供了很大的帮助:

感谢 JakeWharton/hugo开源项目

  1. 阿拉神农-深入理解Android之AOP
  2. 在 Android Studio 中自定义 Gradle 插件
  3. 深入理解Android之Gradle
  4. Hugo源码分析
  5. Groovy中文文档
  6. 如何使用Android Studio开发Gradle插件
  7. multi-library-bintray
  8. 如何上传插件
  9. Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )
  10. 转载Gradle 插件 发布到本地和远程仓库
  11. Writing Custom Plugins
  12. 发布时如何不带gradle.plugin前缀 How do I use the Plugin Publishing Plugin?

About

AOP Android 日志织入框架(仿Hugo)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published