Как предоставить аргумент @javaAnnotation в файле avro idl? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь добавить аннотацию Java в мой файл avro idl (файл avdl).И я не могу понять, как предоставить аргументы для аннотации.Вот упрощенный пример

protocol Message {
    record Message {
        int @javaAnnotation("java.lang.SuppressWarnings") myInt = 0;
    }
}

Когда я пытаюсь скомпилировать это, я получаю

error: annotation @SuppressWarnings is missing a default value for the element 'value'
@java.lang.SuppressWarnings
  ^
1 error

Но на самом деле я не вижу никакого синтаксиса, который позволил бы мне передать параметр.Вот билет, который добавил эту функцию https://issues.apache.org/jira/browse/AVRO-1186 для справки.

Я использую avro версию 1.8.2 и использую версию плагина gradle-avro 0.12.0

Я любоймог бы дать некоторое представление, это было бы очень ценно.

1 Ответ

0 голосов
/ 08 марта 2019

Вы можете написать аннотацию так, как она выглядит, избегая двойных кавычек:

protocol Message {
    record Message {
        int @javaAnnotation("java.lang.SuppressWarnings(\"unused\")") myInt = 0;
    }
}

Компилятор Avro ничего не делает для удаления имен аннотаций.

...