如何在 apt 中获得 引用的项目的根目录?

pdog
  • 573

    override fun process(set: Set<TypeElement>, roundEnvironment: RoundEnvironment): Boolean {

        if (once.compareAndSet(false, true)) {
            log("once!!")
            val rootProject = File("").absoluteFile
            val build = File(rootProject, "build/keep-build.txt")
            log(build.absolutePath)
            if (build.exists()) {
                build.delete()
            }
            build.createNewFile()
        }


        return false
    }

我写了一个 apt项目 A ,在process() 中想生成一个非java 文件。
然后我另外一个java 项目 B 使用了这个 apt项目 A

我想在这个A 项目里 获取使用它的项目B 的根目录。

我尝试在 process() 获得 File("").absoluteFile

但是返回的是这样的Warning:Note: /Applications/Android Studio.app/Contents/bin/build/keep-build.txt

回复
阅读 1.7k
1 个回答
✓ 已被采纳

使用

kapt {
    arguments {
        arg("key", "value")
    }
}

ProcessingEnvironment#options 中获取

宣传栏