Alfresco / alfresco-sdk

The Alfresco In-Process SDK is based on Apache Maven, includes support for rapid and standard development, testing, packaging, versioning and release of your Alfresco integration and extension projects
Apache License 2.0
186 stars 113 forks source link

Handling of dependancies of the resulting AMP file #503

Closed skopf closed 3 years ago

skopf commented 6 years ago

Steps to reproduce:

  1. Create a new AMP file with at least one non-provided dependancy.
  2. Check the dependancies of the resulting AMP, e.g. in the artifact repository or in META-INF

Observed outcome: All non-provided dependencies of the AMP project are a dependancy of the AMP file.

Discussion: CON: This behaviour creates some problems: When you use such an AMP in a maven project, then maven will download all the contained non-provided dependancies again and pack them into your own project. This can cause compatibility problems when the AMP is added to a different version of the base war file. PRO: I assume this has been designed like this to help IDEs like Eclipse or IntelliJ. Since these IDEs are not aware of AMP files, they do not automatically add everything in the /lib folder to the classpath of the project. If you have an AMP project that is based on another AMP, then your IDE won't work properly.

Requested change: Introduce an optional parameter to control this behaviour. Default value for this parameter should be the current behaviour.

skopf commented 6 years ago

This behaviour also causes problems like this: https://issues.alfresco.com/jira/browse/ALF-22017