adobe / aem-guides-wknd

Tutorial Code companion for Getting Started Developing with AEM Sites WKND Tutorial
https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-wknd-tutorial-develop/overview.html
MIT License
286 stars 550 forks source link

Cloud Manager CICD PackageOverlap bug #272

Open knennigtri opened 3 years ago

knennigtri commented 3 years ago

Expected Behaviour

The WKND code should have less than 1 number of open issues when the code is run through the Cloud Manager CICD pipeline

Actual Behaviour

When including the WKND code as a 3rd party maven embed in my all/pom.xml, the Cloud Manager CICD code quality produces 2 Major bugs for PackageOverlap with ui.content.sample and ui.content. I have this occurring on 2 separate demo projects with the same Open issues. These issues are not blockers of the pipeline, but if the filter statements can be updated to remove these issues, that would be helpful!

File Location Line Number Issue Type Severity Effort Rule Tags Documentation
com.adobe.aem.guides:aem-guides-wknd.ui.content.sample:1.0.0 0 affected path /content/wknd/jcr:content/image/file/jcr:content/dam:thumbnails overlaps [com.adobe.aem.guides:aem-guides-wknd.ui.content:1.0.0] Bug Major   PackageOverlaps aem https://www.adobe.com/go/aem_cmcq_packageoverlaps_en
com.adobe.aem.guides:aem-guides-wknd.ui.content.sample:1.0.0 0 affected path /content/wknd overlaps [com.adobe.aem.guides:aem-guides-wknd.ui.content:1.0.0] Bug Minor   PackageOverlaps aem https://www.adobe.com/go/aem_cmcq_packageoverlaps_en

Reproduce Scenario (including but not limited to)

  1. Create a project based on archetype 27
  2. Include WKND as a 3rd party embed in all/pom.xml
  3. load code into a Cloud Manager pipeline
  4. Observe the two errors above

Platform and Version

davidjgonzalez commented 3 years ago

@gknobloch do you have a clean way of doing this?

My initial thought was repo init of course, but it seems unreasonable to try to model such a complex data structure there.

I dont think filters would work (since we want some replacement if ui.content.sample is installed; and even if not - that seems like it would get very complex quickly (hard for ppl to understand what's going on when looking at codebase as a reference).

We'd like to keep these base nodes in ui.apps in case someone doesn't want to install the full sample content.

Any thoughts?