Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-1026

Migrate OptaPlanner Workbench to tbroyer's net.ltgt.gwt.maven:gwt-maven-plugin as a PoC for other webapps

    XMLWordPrintable

Details

    • Story
    • Resolution: Done
    • Critical
    • 7.8.0.Final
    • None
    • optaplanner-wb
    • None
    • 2018 Week 09-10, 2018 Week 11-12, 2018 Week 13-14, 2018 Week 15-16, 2018 Week 17-18, 2018 Week 19-22
    • NEW
    • NEW

    Description

      The next generation GWT Maven plugin brings a number of improvements. The most important is easier and less verbose POM+GWT module configuration:

      1. No need to inherit GWT modules in the GWT module configuration. The <inherit> declarations are generated by gwt-maven-plugin from POM dependencies.
      2. Easier configuration of the plugin itself. The <compileSourcesArtifacts> is no longer needed.

      However, the simpler configuration is only possible when the client code dependencies are packaged as gwt-lib and include the GWT module dependency metadata needed to generate the <inherit> declarations. This is currently not the case and will be done in the next phase after success of the PoC.

      Another temporary hassle caused by dependencies not being available as gwt-lib is that now the Java class files and their sources are packaged separately. Source files are needed for the webapp build because they're comiled to JS at that point. gwt-lib artifacts package sources together with class files. Until that, client dependencies need to be declared twice (one regular declaration, one with <classifier>scope</classifier>.

      The second most important benefit of using the new plugin is separating client code build from server code build which makes it impossible for client code artifacts to leak into the final WAR package's WEB-INF/lib.

      See README at https://github.com/tbroyer/gwt-maven-plugin for more info.

      Attachments

        Activity

          People

            jlocker Jiří Locker
            jlocker Jiří Locker
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: