Описание тега annotation-processing

Обработчик аннотаций - это плагин для компилятора Java. Обработчик аннотаций может делать такие вещи, как анализировать объявления, вызывать ошибки компиляции и создавать новые единицы компиляции.
1 ответ

Процессор аннотаций с библиотекой Android (область)

Я пытаюсь создать процессор аннотаций, который работает поверх realm.io. К сожалению, для использования области вам нужен проект Android, в то время как для создания процессора аннотаций вам нужен Java (для того, чтобы импортировать javax.annotation…
15 авг '17 в 15:08
1 ответ

Передать массив как значение параметра аннотации в JavaPoet

Используя JavaPoet я пытаюсь аннотировать класс с аннотацией, которая имеет массив в качестве значения параметра, т.е. @MyCustom(param = { Bar.class, Another.class }) class Foo { } я использую AnnotationSpec.builder И его addMember() метод: List<…
1 ответ

Как настроить APT для Immutables таким образом, чтобы Intellij Idea распознавала сгенерированный код?

Я смотрю на переход с maven на gradle, в этом случае сам gradle, кажется, работает нормально, но Idea не распознает исходный код, который генерирует Immutables. Я прочитал этот пост в блоге на APT, вот как я получил это. /* * This build file was gen…
1 ответ

Процесс аннотации Java еще не сгенерированные элементы

Я использую последние версии eclipse, java и https://marketplace.eclipse.org/content/m2e-apt для обработки аннотаций. У меня есть процессор, который обрабатывает одну аннотацию и просматривает методы в аннотированном классе, и примет все непривилеги…
0 ответов

Вставка компонентных модулей в Dagger 2 с помощью Gradle

Что мы имеем: Проект Java/Gradle с Dagger 2. И интерфейсом некоторых компонентов: @Singleton @Component(modules = { ConcreteModule1.class, ConcreteModule2.class, ConcreteModule3.class}) public interface CoolComponent { CoolObject getCoolObject(); } …
28 ноя '18 в 08:12
2 ответа

Типы isAssignable и isSubtype недопонимание

При написании процессора аннотаций с использованием API Java 6 я столкнулся с необходимостью обрабатывать все карты определенным образом, но я явно не понимаю, для чего предназначен API или как его вызывать. Вот код, который делает меня несчастным: …
05 окт '12 в 15:32
3 ответа

Привязка к данным не работает после обновления до подключаемого модуля 2.3

После обновления до classpath 'com.android.tools.build:gradle:2.3.0' и переходя на встроенный процессор аннотаций, я получил следующую ошибку для всех сгенерированных DataBinding классов: :app:compileInternalDebugJavaWithJavac E:\Projects\Work-proje…
1 ответ

Процессор аннотаций

У меня проблема с AnnotationProcessor. Сначала мой исходный код: @SupportedAnnotationTypes("*") @SupportedSourceVersion(SourceVersion.RELEASE_8) public class TreeAnnotationProcessor extends AbstractProcessor{ private Trees trees; private Tree tree; …
1 ответ

Проверьте подходящие аргументы для процессора аннотаций с помощью Google Compile-Testing.

Я пишу процессор аннотаций для своего проекта Android и тестирую его с помощью Google Compile-Testing. Все работает нормально, за исключением того, что я могу проверить аргумент apt plugnin на моем процессоре аннотаций. У моего процессора аннотаций …
12 июн '16 в 09:05
1 ответ

Обработка аннотаций Java: ссылка на сгенерированный тип в другом сгенерированном коде

@GenerateInterface class A {} @GenerateInterface class B { void setA(IA a) {} } Мой процессор аннотаций должен генерировать эти интерфейсы: interface IA {} interface IB { void setA(IA a); } B компилируется нормально с правильным оператором импорта. …
15 май '17 в 11:49
1 ответ

Как получить classpath компиляции во время обработки аннотации?

Моя попытка была ClassLoader cl = ClassLoader.getSystemClassLoader(); URL[] currentClassPath = ((URLClassLoader) cl).getURLs(); String[] classPathStrings = Arrays.stream(currentClassPath).map(url -> { try { return Paths.get(url.toURI()).toAbsolut…
16 июл '15 в 11:20
1 ответ

Ссылка на классы, созданные обработкой аннотаций в Java

Можно ли ссылаться на класс, созданный процессором аннотаций? Так в исходном коде что-то вроде этого: GeneratedClass obj = new GeneratedClass(); GeneratedClass отсутствует в sorucefiles, но он будет сгенерирован процессором аннотаций.
15 июл '15 в 22:25
0 ответов

Как получить ресурс в среде eclipse jdt-apt?

Я разрабатываю процессор аннотаций. А вот классический проект maven structrue. project - src/main - java // SOURCE_PATH - resources // SOURCE_PATH - target - classes // CLASS_PATH and CLASS_OUTPUT - generated-sources - annotations // SOURCE_OUTPUT В…
3 ответа

Процессор аннотаций - Как получить класс, который он обрабатывает

Я пытаюсь написать пользовательский процессор Anntoation. Процессор аннотаций будет обрабатывать каждый файл класса во время компиляции для проверки аннотаций. Но как мне получить класс, который он обрабатывает в настоящее время? Я могу получить имя…
0 ответов

Как автоматически запустить задачу gradle, когда я открываю intellij?

У меня есть процессор генерации кода, когда я открываю intellij, я хочу, чтобы код генерировался автоматически вместо создания файла gradle. Также, когда код процессора изменяется, изменения должны появиться в сгенерированном файле.
03 июл '18 в 13:51
0 ответов

SourceTypeCollisionException во время компиляции Eclipse

Моя сборка в Eclipse (Oxygen) завершается с ошибкой: org.eclipse.jdt.internal.compiler.lookup.SourceTypeCollisionException Это происходит только для конкретного проекта. Другие проекты в той же рабочей области строят нормально. Проект использует обр…
22 сен '17 в 19:47
1 ответ

Могу ли я перейти от TypeVariable или VariableElement к списку методов базового класса в процессоре аннотаций во время компиляции

У меня есть аннотированный класс: public class CacheMessageHolder<TestMessage> implements MessageHolder<TestMessage> { protected @MessageHolderType TestMessage message; @Override @SendProtoAll (proto ="protoMessageClass", matchType=Match…
03 авг '11 в 12:44
1 ответ

Разработка плагинов Eclipse, выставление классов плагинов в проекте Java

Я пытаюсь создать процессор аннотаций как плагин Eclipse. Это первый раз, когда я пишу плагин для затмения, поэтому я не уверен, что использую правильную терминологию, и мне жаль, если я не совсем ясен. Моя цель состоит в том, чтобы иметь плагин, ко…
1 ответ

Могу ли я использовать BeanValidation для самих аннотаций?

Я работаю над процессором аннотаций и мне стало любопытно. Есть ли смысл аннотировать подобное и проверять в процессоре аннотаций? @Retention(value = RUNTIME) @Target(value = {FIELD, METHOD, PARAMETER}) public @interface BitProperty { @Min(1) @Max(3…
1 ответ

Android studio - запускать процессор аннотаций вручную

Это возможно? Я изменил несколько основных вещей в своем коде и хочу сделать чистую сборку, чтобы увидеть, сколько вещей нужно отрегулировать сейчас. Это приводит к тысячам cannot find symbol class ... сообщения в моем окне сообщения Gradle Build. П…