簡體   English   中英

來自不同降壓模塊的注釋處理器的匯總輸出

[英]Aggregate output from Annotation Processors of different buck modules

我有一個由幾個 BUCK 模塊組成的項目。 每個模塊使用相同的注釋處理器為每個注釋類生成單個文件。 為簡單起見,對於每個帶注釋的類:

package com.myproject.module1;

@Marker
public class SomeFoo {
  // ... code ...
}

將在同一個包中生成一個類:

package com.myproject.module1;

@Generated
public class SomeFoo$$Marker {
  // ... generated code ...
}

假設我有兩個這樣的模塊: module1module2

最后,我有一個依賴於上述兩個模塊的module3

該模塊包含另一個注釋:

package com.myproject.module3;

@MarkerCollector
public class Bar {
}

我正在嘗試使用相同的注釋處理器(也可以是一個單獨的注釋處理器)來生成一個引用所有先前生成的文件的類(由於用@Marker標記的類。

問題是注釋處理器分別為每個模塊運行,當在模塊 3 中運行時,注釋處理器不會“看到”在其他模塊中生成的文件

我已經嘗試使用注解處理器的Filer創建一個資源文件並寫入所有生成文件的類名,但是這個資源文件也是每個模塊創建的。

聚合/訪問來自不同模塊的生成代碼的最佳方法是什么?

如果您正在使用 gradle,您可以創建一個JavaCompile任務並像我在這里所做的那樣對其進行配置。 我的項目是針對 android 的,所以你會看到variant只要確保你把你的 classPath 放在那里 🤓

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM