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


    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

阅读 3.2k
1 个回答

使用

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

ProcessingEnvironment#options 中获取

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题