As a developer, I can configure the Widgetset so that I can use custom widgets in my app (MGNLUI-1892)

[MGNLUI-1877] Enable usage of Maven's scope:import for magnolia-ui Created: 29/Jul/13  Updated: 08/Oct/13  Resolved: 02/Sep/13

Status: Closed
Project: Magnolia UI
Component/s: build
Affects Version/s: None
Fix Version/s: 5.1

Type: Sub-task Priority: Major
Reporter: Magnolia International Assignee: Mikaël Geljić
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Cloners
clones MAGNOLIA-5207 Enable usage of Maven's scope:import ... Closed
Relates
relates to MAGNOLIA-3545 Enable usage of Maven's scope:import ... Closed
relation
is related to MGNLEE-284 Use scope:import if possible Closed
is related to MAGNOLIA-4728 Add demo-project / demo-features to c... Closed
Template:
Patch included:
Yes
Date of First Response:
Sprint: 5.1 Beta1- Backend

 Description   

This issue was cloned from MAGNOLIA-3545 - work has already been done with bundles and webapps.

See patch attached to MAGNOLIA-3545 which gives an indication of what to do.

When applying, check and compare before/after dependency:tree outputs of webapps and bundles, as well as contents of webapps.

To facilitate project builds, our webapps (magnolia-empty-webapp, magnolia-bundled-webapp, magnolia-enterprise-webapp) should have their dependencies (Magnolia jars) in a dependencyManagement section. Instead of "just" depending on the magnolia-empty-webapp's pom, they should do so with the import scope.

As a consequence, a webapp project would be able to do the following:

    <dependency>
      <groupId>info.magnolia</groupId>
      <artifactId>magnolia-bundled-webapp</artifactId>
      <version>4.3.8</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>

    <dependency>
      <groupId>info.magnolia</groupId>
      <artifactId>magnolia-module-dms</artifactId>
    </dependency>

This essentially "injects" the dependencyManagement section of magnolia-bundled-webapp:4.3.8 into the current project, so the project can now depend on magnolia-module-dms (for example) without specifying its version. This frees project developer from having to dig out exactly which version of each and every module they need was bundled with the Magnolia bundle they want to use. (which is a pita) And of course, they can still specify a specific version it they need to.

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope



 Comments   
Comment by Magnolia International [ 05/Aug/13 ]

See how this was fixed for MAGNOLIA-5207

Comment by Mikaël Geljić [ 02/Sep/13 ]

FYI this introduced changes in dependency:tree. A fair amount of the commons-* libs, as well as slf4j-api, are now resolved with the managed version from main, instead of versions from jackrabbit-core (transitively through core). These versions mostly differ by a few minor releases.

Comment by Mikaël Geljić [ 02/Sep/13 ]

Moved this to a subtask of the widgetset story MGNLUI-1892 because in the next steps, when we want to compile the widgetset outside magnolia_ui, we will need to import the vaadin-compiler with proper version - i.e. as specified in magnolia-ui-parent.

Generated at Mon Feb 12 08:51:00 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.