Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-10876

Align jar file provided for MP OpenTracing into right modules

    Details

      Description

      With recent addition of MicroProfile OpenTracing implementation we currently have following set of jar files that are in the build to provide various MicroProfile features:

      $ find modules | grep smallrye | grep jar$ | xargs ls -hl
      -rw-rw-r--. 1 jstourac jstourac  39K Aug 16 15:13 modules/system/layers/base/io/smallrye/config/main/smallrye-config-1.3.3.jar
      -rw-rw-r--. 1 jstourac jstourac 8.9K Aug 16 15:13 modules/system/layers/base/io/smallrye/health/main/smallrye-health-1.0.2.jar
      -rw-rw-r--. 1 jstourac jstourac  38K Aug 16 15:13 modules/system/layers/base/org/wildfly/extension/microprofile/config-smallrye/main/wildfly-microprofile-config-smallrye-14.0.0.CR1-SNAPSHOT.jar
      -rw-rw-r--. 1 jstourac jstourac  27K Aug 16 15:13 modules/system/layers/base/org/wildfly/extension/microprofile/health-smallrye/main/wildfly-microprofile-health-smallrye-14.0.0.CR1-SNAPSHOT.jar
      -rw-rw-r--. 1 jstourac jstourac 228K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/gson-2.8.2.jar
      -rw-rw-r--. 1 jstourac jstourac 123K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/jaeger-core-0.30.4.jar
      -rw-rw-r--. 1 jstourac jstourac 2.8M Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/jaeger-thrift-0.30.4.jar
      -rw-rw-r--. 1 jstourac jstourac  14K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-api-0.31.0.jar
      -rw-rw-r--. 1 jstourac jstourac 7.5K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-concurrent-0.1.0.jar
      -rw-rw-r--. 1 jstourac jstourac  41K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-jaxrs2-0.1.6.jar
      -rw-rw-r--. 1 jstourac jstourac  11K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-noop-0.31.0.jar
      -rw-rw-r--. 1 jstourac jstourac 7.4K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-tracerresolver-0.1.5.jar
      -rw-rw-r--. 1 jstourac jstourac 7.9K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-util-0.31.0.jar
      -rw-rw-r--. 1 jstourac jstourac  13K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-web-servlet-filter-0.1.0.jar
      -rw-rw-r--. 1 jstourac jstourac 5.4K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/smallrye-opentracing-1.1.1.jar
      -rw-rw-r--. 1 jstourac jstourac  11K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar
      

      It looks like the opentracing-smallrye module could be split up into a few separate modules. There at least two motivations:

      1. particular implementation into its own module separate from the e.g. microprofile specification
      2. because of the way how current patching mechanism works in WildFly, if we leave current opentracing-smallrye module as is, in case of a one-off patch it would mean to replace all files in the module - currently 3.3MB:
        $ du -h modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/
        3.3M	modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/
        

      My proposal how to align the jar files is following:

      1. jaeger specific files should go into separate jaeger module
      2. wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar should be moved to new modules/system/layers/base/org/wildfly/extension/microprofile/opentracing-smallrye module so it matches what is done for health-smallrye and config-smallrye in extension subdir
      3. smallrye-opentracing-1.1.1.jar should be moved to base/io as is done for config and health - modules/system/layers/base/io/smallrye/opentracing/main/smallrye-opentracing-1.1.1.jar
      4. what about that gson-2.8.2.jar dependency? Shall it be moved to some more generic place?

      This would give us following structure:

      modules/system/layers/base/io/smallrye/config/main/smallrye-config-1.3.3.jar
      modules/system/layers/base/io/smallrye/health/main/smallrye-health-1.0.2.jar
      modules/system/layers/base/io/smallrye/opentracing/main/smallrye-opentracing-1.1.1.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-api-0.31.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-jaxrs2-0.1.6.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-concurrent-0.1.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-web-servlet-filter-0.1.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-noop-0.31.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-tracerresolver-0.1.5.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-util-0.31.0.jar
      modules/system/layers/base/org/wildfly/extension/microprofile/health-smallrye/main/wildfly-microprofile-health-smallrye-14.0.0.CR1-SNAPSHOT.jar
      modules/system/layers/base/org/wildfly/extension/microprofile/config-smallrye/main/wildfly-microprofile-config-smallrye-14.0.0.CR1-SNAPSHOT.jar
      modules/system/layers/base/org/wildfly/extension/microprofile/opentracing-smallrye/main/wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar
      
      ---- I have no idea how this module for jaeger should be named...
      modules/system/layers/base/org/wildfly/microprofile/jaeger/opentracing-smallrye/main/jaeger-thrift-0.30.4.jar
      modules/system/layers/base/org/wildfly/microprofile/jaeger/opentracing-smallrye/main/jaeger-core-0.30.4.jar
      
      ---- I have no idea how this module for gson should be named...
      modules/system/layers/base/org/wildfly/gson/main/gson-2.8.2.jar
      

      One additional piece for consideration - maybe we should also split up jar files that are just the microprofile-opentracing specification (api at least I guess) apart from the others in the modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/

      What do you think?

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jamezp James Perkins
                  Reporter:
                  jstourac Jan Stourac
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: