ivanisidrowu / KtRssReader

KtRssReader is a Kotlin library for parsing RSS feed.
Apache License 2.0
99 stars 19 forks source link

Add pure Kotlin parser code generators with annotation support. #66

Closed ivanisidrowu closed 3 years ago

ivanisidrowu commented 3 years ago

此次新增與調整項目

  1. 新增 kapt argument 來讓 annotation processor 決定要產生純 Kotlin 或是 Android 的 parser 。
  2. 調整 extension generator 和 parser generator 的結構,讓某些功能可以共用。
  3. 新增 純 Kotlin annotation processor 的測試,共三個 class ,測項沿用之前的測項。

純。Kotlin Parser Generation

新增用法

在 build.gradle 裡面寫上 kapt 專用的 argument 。

kapt {
    arguments {
        arg("pureKotlinParser", true)
    }
}

這樣就可以讓 annotation processor gen 出純 Kotlin 的 parser 了。 這麼做的好處是可以共用 annotation processor 和 generator 部分功能,不必另開 module 去處理。

Generator 結構調整

Generator   ----> ExtensionGenerator ----> AndroidExtensionGenerator, KotlinExtensionGenerator
<interface>  |
             | -> ParserGenerator    ----> AndroidParserGenerator, KotlinParserGenerator

備註