title: Inconsistent behavior with @EqualsAndHashCode between Eclipse JUnit4 and gradle test run
body: <p>I get different results when running unit tests with Eclipse JUnit and gradle test. Having a class like:</p>
  
  <pre><code>@Getter @Setter
  @EqualsAndHashCode
  public class ObjectWithId {
      private Long id;
  }
  </code></pre>
  
  <p>and a test like (compressed cases to one test to save space):</p>
  
  <pre><code>@Test
  public void testObjectWithId() {
  
      ObjectWithId o1 = new ObjectWithId(), o2 = new ObjectWithId();
      o1.setId(1L);
      o2.setId(1L);
      assertEquals(o1.hashCode(), o2.hashCode());
      assertEquals(o1, o2);
  
      o2.setId(2L);
      assertNotEquals(o1, o2);
      assertNotEquals(o1.hashCode(), o2.hashCode());
  
  }
  </code></pre>
  
  <p>everything goes fine as expected.</p>
  
  <p>Then, having a class like:</p>
  
  <pre><code>@Getter @Setter
  @EqualsAndHashCode(onlyExplicitlyIncluded = true)
  public class ObjectWithIdAndDate {
  
      @EqualsAndHashCode.Include
      private Long id;
  
      private LocalDateTime created;
  
  }
  </code></pre>
  
  <p>with a test like:</p>
  
  <pre><code>@Test
  public void testObjectWithIdAndDate() {
  
      ObjectWithIdAndDate o1 = new ObjectWithIdAndDate(), o2 = new ObjectWithIdAndDate();
      o1.setId(1L);
      o2.setId(1L);
      assertEquals(o1.hashCode(), o2.hashCode());
      assertEquals(o1, o2);
  
      o2.setId(2L);
      assertNotEquals(o1, o2);
      assertNotEquals(o1.hashCode(), o2.hashCode());
  
      o2.setId(1L);
      o2.setCreated(LocalDateTime.now());
      // Eclipse JUnit starts failing here because setting the created.
      // Gradle test will pass.
      assertEquals(o1.hashCode(), o2.hashCode());
      assertEquals(o1, o2);
  
      o1.setCreated(LocalDateTime.now());
      assertEquals(o1.hashCode(), o2.hashCode());
      assertEquals(o1, o2);
  
  }
  </code></pre>
  
  <p>it fails when running with Eclipse JUnit but succeeds with gradle test? I run gradle test both from Eclipse and command line, no difference. So, it seems that somehow gradle knows better how <code>@EqualsAndHashCode(onlyExplicitlyIncluded = true)</code> should be treated...?</p>
  
  <p>I have <code>compile 'org.projectlombok:lombok:1.18.2'</code> in my <code>build.gradle</code> and same version of lombok.jar installed in my Eclipse.</p>
  
  <p>Both gradle project and Eclipse use JUnit version 4.12. What am I missing here?</p>
  
  <p>Some further investigations:</p>
  
  <p>I constructed otherwise identical project but with Maven. To my surprise JUnit test also pass with this project.</p>
  
  <p>Does this smell like there is something wrong with Eclipse gradle project facet or some other gradle project specific setting?</p>