It’s certainly worth discussing. The binary in question is ~6MB, which while not huge, if changed over time (to pull in new versions) could lead to undesirable repository sizes. It's also debatable that it is “necessary” as the bundled Swagger UI is an optional piece of NiFi Registry, which itself is an optional component. Still we could handle it more gracefully.
Options I can think of: - See if there is an alternative Nexus / maven repository location, that hosts the Swagger UI in a Jar format or something we could use as a Maven dependency. - Include the tarball in the source repo as Mark suggested - Add an option to provide the swagger tarball as a local file, eg build property to location - Do what we do now, but detect if the tarball is not reachable via the network and gracefully continue the build without that piece > On Jul 15, 2021, at 3:23 PM, Mark Bean <[email protected]> wrote: > > Thanks. That profile is what I needed to get beyond that point. (I ran into > other dependency issues I still need to resolve, so I don't yet have a > complete build to test.) > > A more general question: should the wget functionality really be part of a > build? It seems to me that if a necessary component or dependency can't be > obtained from the user-configured maven repository, then that resource > should be included in the source for the project. Comments? > > Thanks, > Mark > > On Thu, Jul 15, 2021 at 2:11 PM Kevin Doran <[email protected]> wrote: > >> Hi Mark, >> >> I’m not sure the two errors are related, but for the first one you can >> pass -Pno-swagger-ui to mvn when building: >> >> See: >> https://github.com/apache/nifi/blob/main/nifi-registry/nifi-registry-core/nifi-registry-web-api/pom.xml#L136 >> < >> https://github.com/apache/nifi/blob/main/nifi-registry/nifi-registry-core/nifi-registry-web-api/pom.xml#L136 >>> >> >> Kevin >> >>> On Jul 15, 2021, at 1:54 PM, Mark Bean <[email protected]> wrote: >>> >>> I'm trying to build rel/nifi-1.14.0 on a private, non-Internet connected >>> network. The nifi-registry portion is failing. >>> >>> [ERROR] Failed to execute goal >>> com.googlecode.maven-download-plugin:download-maven-plugin:1.2.1:wget >>> (download-swagger-ui) on project nifi-registry-web-api: IO Error: Error >>> while >>> expalnding >> ~/nifi/nifi-registry/nifi-registry-core/nifi-registry-web-api/target/v3.12.0.tar.gz: >>> Not in GZIP format >>> [ERROR] Failed to execute goal >>> com.github.eirslett:frontend-maven-plugin:1.5:npm (npm-install) on >> project >>> nifi-registry-web-ui: Failed to run task: 'npm --silent ci' failed. >>> org.apache.commons.exec.ExecuteException: Process exited with an error: 1 >>> (Exit value: 1) >>> >>> The two errors may be related (?) Either way, it appears to me that the >>> build is attempting to use wget to reach out to an Internet location to >>> download the v3.12.0.tar.gz. >>> >>> Can someone confirm that is the problem? Is there a way around this? Can >>> this file be provided from a reachable/local source location? >>> >>> Thanks, >>> Mark >> >>
