mapstruct / mapstruct/mapstruct-idea

Converter implementation is not refreshed in IDEA

Aberta
#13 10 comentários 3 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
Java
Estrelas
168
Forks
41
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Using https://github.com/mapstruct/mapstruct-examples/tree/master/mapstruct-lombok as a reference, I tried to add a field to both `Source` and `Target` and then modified the test to cover the new field.

```
@Test
public void testMapping() {
Source s = new Source();
s.setTest( "5" );
s.setField( "5" );

Target t = Mappers.getMapper(SourceTargetMapper.class).toTarget( s );
assertEquals( 5, (long) t.getTesting() );
assertEquals( "5", t.getField() );
}
```

However this leads to the test to fail, being `t.getField()` still `null`.

Another relevant change I did (which I am not sure about) is to add `mapstruct-processor` to the `compile` configuration in `build.gradle`, ie: `compile "org.mapstruct:mapstruct-jdk8:${mapstructVersion}", "org.mapstruct:mapstruct-processor:${mapstructVersion}", "org.projectlombok:lombok:${lombokVersion}"` as per http://mapstruct.org/documentation/ide-support/

Also removing a field from both objects leads to an error, this time a `java.lang.NoSuchMethodError`.

Versions used:
- IDEA 2017.2.5 (with annotation processor manually enabled, no other customization)
- lombok 1.16.18 (instead of 1.16.14)

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Use o exemplo mapstruct-lombok e seu Source, Target e test como reprodução; inspecione primeiro build.gradle e a configuração do processador de anotações do IDEA. Reproduza os casos de campo adicionado e campo removido e, em seguida, verifique se o conversor gerado reflete as alterações e se o test não relata mais null ou NoSuchMethodError.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
developer-experience, tooling
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.