Brian Demers created DIR-344: -------------------------------- Summary: Use of shade plugin replaces files required for distribution Key: DIR-344 URL: https://issues.apache.org/jira/browse/DIR-344 Project: Directory Issue Type: Bug Reporter: Brian Demers Assignee: Emmanuel Lécharny
The use of the shade plugin causes a handful of warnings in the `service` module's build. Some of these may have legal concerns. For example, only one `META-INF/NOTICE` file is present in most of the dependencies, but only the one from this project is present. There are multiple LICENSE files - LICENSE (Apache v2.0) - LICENSE-notice.md (refers to other non-existent license files) - LICENSE.md - (EPL) - LICENSE.txt (Apache v2.0) Shading doesn't work with the Java Module System. And also remove many security constraints that may be in place. - Removes signatures - Module isolation - Java Module System - Cannot easily verify the provenance of included artifacts. {noformat} [WARNING] Discovered module-info.class. Shading will break its strong encapsulation. [WARNING] jetty-http-9.4.51.v20230217.jar, jetty-io-9.4.51.v20230217.jar, jetty-security-9.4.51.v20230217.jar, jetty-server-9.4.51.v20230217.jar, jetty-servlet-9.4.51.v20230217.jar, jetty-util-9.4.51.v20230217.jar, jetty-util-ajax-9.4.51.v20230217.jar, jetty-webapp-9.4.51.v20230217.jar, jetty-xml-9.4.51.v20230217.jar define 1 overlapping resource: [WARNING] - about.html [WARNING] junit-jupiter-api-5.9.3.jar, junit-platform-commons-1.9.3.jar define 2 overlapping resources: [WARNING] - META-INF/LICENSE-notice.md [WARNING] - META-INF/LICENSE.md [WARNING] apacheds-core-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-annotations-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-api-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-avl-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-constants-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-jndi-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-directory-bridge-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-integration-2.0.0.AM27-SNAPSHOT.jar, apacheds-i18n-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptor-kerberos-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-admin-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authn-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authz-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-changelog-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-collective-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-event-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-exception-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-hash-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-journal-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-normalization-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-number-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-operational-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-referral-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-schema-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-subtree-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-trigger-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm1-2.0.0-M3.jar, apacheds-kerberos-codec-2.0.0.AM27-SNAPSHOT.jar, apacheds-ldif-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-mavibot-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dhcp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dns-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ldap-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ntp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-server-config-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-builder-2.0.0.AM27-SNAPSHOT.jar, apacheds-xdbm-partition-2.0.0.AM27-SNAPSHOT.jar, api-asn1-api-2.1.3.jar, api-asn1-ber-2.1.3.jar, api-i18n-2.1.3.jar, api-ldap-client-api-2.1.3.jar, api-ldap-codec-core-2.1.3.jar, api-ldap-codec-standalone-2.1.3.jar, api-ldap-extras-aci-2.1.3.jar, api-ldap-extras-codec-2.1.3.jar, api-ldap-extras-codec-api-2.1.3.jar, api-ldap-extras-sp-2.1.3.jar, api-ldap-extras-trigger-2.1.3.jar, api-ldap-extras-util-2.1.3.jar, api-ldap-model-2.1.3.jar, api-ldap-net-mina-2.1.3.jar, api-ldap-schema-data-2.1.3.jar, api-util-2.1.3.jar, mavibot-1.0.0-M8.jar, mina-core-2.2.1.jar, org.apache.servicemix.bundles.antlr-2.7.7_5.jar define 1 overlapping resource: [WARNING] - META-INF/DEPENDENCIES [WARNING] apacheds-core-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-annotations-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-api-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-avl-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-constants-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-jndi-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-directory-bridge-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-integration-2.0.0.AM27-SNAPSHOT.jar, apacheds-i18n-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptor-kerberos-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-admin-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authn-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authz-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-changelog-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-collective-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-event-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-exception-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-hash-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-journal-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-normalization-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-number-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-operational-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-referral-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-schema-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-subtree-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-trigger-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm1-2.0.0-M3.jar, apacheds-kerberos-codec-2.0.0.AM27-SNAPSHOT.jar, apacheds-ldif-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-mavibot-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dhcp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dns-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ldap-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ntp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-server-config-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-builder-2.0.0.AM27-SNAPSHOT.jar, apacheds-xdbm-partition-2.0.0.AM27-SNAPSHOT.jar, api-asn1-api-2.1.3.jar, api-asn1-ber-2.1.3.jar, api-i18n-2.1.3.jar, api-ldap-client-api-2.1.3.jar, api-ldap-codec-core-2.1.3.jar, api-ldap-codec-standalone-2.1.3.jar, api-ldap-extras-aci-2.1.3.jar, api-ldap-extras-codec-2.1.3.jar, api-ldap-extras-codec-api-2.1.3.jar, api-ldap-extras-sp-2.1.3.jar, api-ldap-extras-trigger-2.1.3.jar, api-ldap-extras-util-2.1.3.jar, api-ldap-model-2.1.3.jar, api-ldap-net-mina-2.1.3.jar, api-ldap-schema-data-2.1.3.jar, api-util-2.1.3.jar, apiguardian-api-1.1.2.jar, bcpkix-jdk15on-1.70.jar, bcprov-jdk15on-1.70.jar, bcutil-jdk15on-1.70.jar, caffeine-2.9.3.jar, commons-codec-1.15.jar, commons-collections-3.2.2.jar, commons-collections4-4.4.jar, commons-lang3-3.12.0.jar, commons-pool2-2.11.1.jar, javax.servlet-api-3.1.0.jar, jetty-http-9.4.51.v20230217.jar, jetty-io-9.4.51.v20230217.jar, jetty-security-9.4.51.v20230217.jar, jetty-server-9.4.51.v20230217.jar, jetty-servlet-9.4.51.v20230217.jar, jetty-util-9.4.51.v20230217.jar, jetty-util-ajax-9.4.51.v20230217.jar, jetty-webapp-9.4.51.v20230217.jar, jetty-xml-9.4.51.v20230217.jar, junit-jupiter-api-5.9.3.jar, junit-platform-commons-1.9.3.jar, mavibot-1.0.0-M8.jar, mina-core-2.2.1.jar, opentest4j-1.2.0.jar, org.apache.servicemix.bundles.antlr-2.7.7_5.jar, reload4j-1.2.19.jar, slf4j-api-1.7.36.jar, slf4j-reload4j-1.7.36.jar define 1 overlapping resource: [WARNING] - META-INF/MANIFEST.MF [WARNING] commons-codec-1.15.jar, commons-collections-3.2.2.jar, commons-collections4-4.4.jar, commons-lang3-3.12.0.jar, commons-pool2-2.11.1.jar, javax.servlet-api-3.1.0.jar define 1 overlapping resource: [WARNING] - META-INF/LICENSE.txt [WARNING] apacheds-core-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-annotations-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-api-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-avl-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-constants-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-jndi-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-directory-bridge-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-integration-2.0.0.AM27-SNAPSHOT.jar, apacheds-i18n-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptor-kerberos-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-admin-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authn-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authz-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-changelog-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-collective-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-event-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-exception-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-hash-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-journal-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-normalization-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-number-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-operational-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-referral-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-schema-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-subtree-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-trigger-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm1-2.0.0-M3.jar, apacheds-kerberos-codec-2.0.0.AM27-SNAPSHOT.jar, apacheds-ldif-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-mavibot-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dhcp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dns-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ldap-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ntp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-server-config-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-builder-2.0.0.AM27-SNAPSHOT.jar, apacheds-xdbm-partition-2.0.0.AM27-SNAPSHOT.jar, api-asn1-api-2.1.3.jar, api-asn1-ber-2.1.3.jar, api-i18n-2.1.3.jar, api-ldap-client-api-2.1.3.jar, api-ldap-codec-core-2.1.3.jar, api-ldap-codec-standalone-2.1.3.jar, api-ldap-extras-aci-2.1.3.jar, api-ldap-extras-codec-2.1.3.jar, api-ldap-extras-codec-api-2.1.3.jar, api-ldap-extras-sp-2.1.3.jar, api-ldap-extras-trigger-2.1.3.jar, api-ldap-extras-util-2.1.3.jar, api-ldap-model-2.1.3.jar, api-ldap-net-mina-2.1.3.jar, api-ldap-schema-data-2.1.3.jar, api-util-2.1.3.jar, apiguardian-api-1.1.2.jar, caffeine-2.9.3.jar, jetty-http-9.4.51.v20230217.jar, jetty-io-9.4.51.v20230217.jar, jetty-security-9.4.51.v20230217.jar, jetty-server-9.4.51.v20230217.jar, jetty-servlet-9.4.51.v20230217.jar, jetty-util-9.4.51.v20230217.jar, jetty-util-ajax-9.4.51.v20230217.jar, jetty-webapp-9.4.51.v20230217.jar, jetty-xml-9.4.51.v20230217.jar, mavibot-1.0.0-M8.jar, mina-core-2.2.1.jar, org.apache.servicemix.bundles.antlr-2.7.7_5.jar, reload4j-1.2.19.jar define 1 overlapping resource: [WARNING] - META-INF/LICENSE [WARNING] bcpkix-jdk15on-1.70.jar, bcprov-jdk15on-1.70.jar, bcutil-jdk15on-1.70.jar define 1 overlapping classes: [WARNING] - META-INF.versions.9.module-info [WARNING] apacheds-core-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-annotations-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-api-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-avl-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-constants-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-jndi-2.0.0.AM27-SNAPSHOT.jar, apacheds-core-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-directory-bridge-2.0.0.AM27-SNAPSHOT.jar, apacheds-http-integration-2.0.0.AM27-SNAPSHOT.jar, apacheds-i18n-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptor-kerberos-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-admin-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authn-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-authz-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-changelog-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-collective-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-event-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-exception-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-hash-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-journal-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-normalization-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-number-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-operational-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-referral-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-schema-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-subtree-2.0.0.AM27-SNAPSHOT.jar, apacheds-interceptors-trigger-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-jdbm1-2.0.0-M3.jar, apacheds-kerberos-codec-2.0.0.AM27-SNAPSHOT.jar, apacheds-ldif-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-mavibot-partition-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dhcp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-dns-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ldap-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-ntp-2.0.0.AM27-SNAPSHOT.jar, apacheds-protocol-shared-2.0.0.AM27-SNAPSHOT.jar, apacheds-server-config-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-2.0.0.AM27-SNAPSHOT.jar, apacheds-service-builder-2.0.0.AM27-SNAPSHOT.jar, apacheds-xdbm-partition-2.0.0.AM27-SNAPSHOT.jar, api-asn1-api-2.1.3.jar, api-asn1-ber-2.1.3.jar, api-i18n-2.1.3.jar, api-ldap-client-api-2.1.3.jar, api-ldap-codec-core-2.1.3.jar, api-ldap-codec-standalone-2.1.3.jar, api-ldap-extras-aci-2.1.3.jar, api-ldap-extras-codec-2.1.3.jar, api-ldap-extras-codec-api-2.1.3.jar, api-ldap-extras-sp-2.1.3.jar, api-ldap-extras-trigger-2.1.3.jar, api-ldap-extras-util-2.1.3.jar, api-ldap-model-2.1.3.jar, api-ldap-net-mina-2.1.3.jar, api-ldap-schema-data-2.1.3.jar, api-util-2.1.3.jar, mavibot-1.0.0-M8.jar, mina-core-2.2.1.jar, org.apache.servicemix.bundles.antlr-2.7.7_5.jar, reload4j-1.2.19.jar define 1 overlapping resource: [WARNING] - META-INF/NOTICE [WARNING] commons-codec-1.15.jar, commons-collections-3.2.2.jar, commons-collections4-4.4.jar, commons-lang3-3.12.0.jar, commons-pool2-2.11.1.jar, jetty-http-9.4.51.v20230217.jar, jetty-io-9.4.51.v20230217.jar, jetty-security-9.4.51.v20230217.jar, jetty-server-9.4.51.v20230217.jar, jetty-servlet-9.4.51.v20230217.jar, jetty-util-9.4.51.v20230217.jar, jetty-util-ajax-9.4.51.v20230217.jar, jetty-webapp-9.4.51.v20230217.jar, jetty-xml-9.4.51.v20230217.jar define 1 overlapping resource: [WARNING] - META-INF/NOTICE.txt [WARNING] maven-shade-plugin has detected that some class files are [WARNING] present in two or more JARs. When this happens, only one [WARNING] single version of the class is copied to the uber jar. {noformat} Potential solutions * Use a transformer to merge NOTICES and licenses. https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html NOTE: Non-Apache license may need to be relocated. Replace the use of the shade plugin; for example, the spring-boot-maven-plugin creates a jar-of-jars, (think: a self-executing war). NOTE: This would require additional changes to the ApacheDS Wrapper {code} <!-- Using the Spring Boot plugin to combine all dependencies into a single jar containing everything needed to launch the server. This does NOT require the use of Spring Framework or Spring Boot. --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>uberjar</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org For additional commands, e-mail: dev-h...@directory.apache.org