You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Kevin Doran (Jira)" <ji...@apache.org> on 2021/07/16 15:12:00 UTC

[jira] [Created] (NIFIREG-456) Switch to using maven artifact for bundling Swagger UI

Kevin Doran created NIFIREG-456:
-----------------------------------

             Summary: Switch to using maven artifact for bundling Swagger UI
                 Key: NIFIREG-456
                 URL: https://issues.apache.org/jira/browse/NIFIREG-456
             Project: NiFi Registry
          Issue Type: Improvement
            Reporter: Kevin Doran


*+Background+*
NiFi Registry bundles a Swagger UI as a convenience for documenting/interacting with the REST API. The Swagger UI (ALv2) is currently obtained by downloading a tarball from a github archives location during the build using the download-maven-plugin (which calls wget):
https://github.com/apache/nifi/blob/main/nifi-registry/nifi-registry-core/nifi-registry-web-api/pom.xml#L132
The files needed for hosting a Swagger UI are then extracted and copied to a static asset directory in the NiFi Registry web server, and configured to use the NiFi Registry swagger.json.

The downside of this is that to build NiFi Registry from source, an internet connection is required. To build offline, or on a network without public internet access, the -Pno-swagger-ui profile can be used, but this disables this feature that may be useful. 

A better way to obtain this dependency would be from Maven Central, where on a disconnected network, a nexus mirror could be used for building. The same Swagger UI files can be obtained via the org.webjars::swagger-ui::<version> artifact in Maven Central: https://mvnrepository.com/artifact/org.webjars/swagger-ui

By adding this dependency, and unpacking/repacking the files needed during the build, it makes the build more flexible as alternative repository locations can be specified locally.

*This task is to migrate from using the download-maven-plugin pulling from github archives to using a standard maven dependency and repacking the jar files to achieve the same result for the bundled Swagger UI.*

Related discussion thread: 
https://lists.apache.org/thread.html/r07d6d62663a49ac18cc5cfadc5e549f1a43e7d43ab269fe12dfe1ad0%40%3Cdev.nifi.apache.org%3E



--
This message was sent by Atlassian Jira
(v8.3.4#803005)