@VisibleForTesting
  Optional<Xpp3Dom> getSpringBootRepackageConfiguration() {
    Plugin springBootPlugin =
        project.getPlugin("org.springframework.boot:spring-boot-maven-plugin");
    if (springBootPlugin != null) {
      for (PluginExecution execution : springBootPlugin.getExecutions()) {
        if (execution.getGoals().contains("repackage")) {
          Xpp3Dom configuration = (Xpp3Dom) execution.getConfiguration();
          if (configuration == null) {
            return Optional.of(new Xpp3Dom("configuration"));
          }

          boolean skip = Boolean.parseBoolean(getChildValue(configuration, "skip").orElse("false"));
          return skip ? Optional.empty() : Optional.of(configuration);
        }
      }
    }
    return Optional.empty();
  }
@Test
  public void testGetSpringBootRepackageConfiguration_repackageGoal() {
    when(mockMavenProject.getPlugin("org.springframework.boot:spring-boot-maven-plugin"))
        .thenReturn(mockPlugin);
    when(mockPlugin.getExecutions()).thenReturn(Arrays.asList(mockPluginExecution));
    when(mockPluginExecution.getGoals()).thenReturn(Arrays.asList("goal", "repackage"));
    when(mockPluginExecution.getConfiguration()).thenReturn(pluginConfiguration);
    assertThat(mavenProjectProperties.getSpringBootRepackageConfiguration())
        .isEqualTo(Optional.of(pluginConfiguration));
  }