Project

General

Profile

Actions

Defect #2487

closed

IdmTool - ignore CzechIdM module as maven dependency (more versions for the same third party library in build)

Added by Radek Tomiška over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Continuous development
Target version:
Start date:
09/14/2020
Due date:
% Done:

100%

Estimated time:

Description

Resolving third party dependencies was added in #2157 - prevent to include our modules as maven dependency:
- modules can have another third party dependencies only


Related issues

Related to IdStory Identity Manager - Task #2157: IdmTool - resolve third party module dependenciesClosedRadek Tomiška03/27/2020

Actions
Actions #1

Updated by Radek Tomiška over 3 years ago

  • Related to Task #2157: IdmTool - resolve third party module dependencies added
Actions #2

Updated by Radek Tomiška over 3 years ago

  • Tracker changed from Task to Defect
  • Subject changed from IdmTool - resolve CzechIdM module dependencies to IdmTool - resolve CzechIdM module parent and dependencies
  • Target version set to 10.6.0
  • Affected versions 10.4.0, 10.4.1, 10.4.2, 10.4.3, 10.4.4, 10.5.0 added
Actions #3

Updated by Radek Tomiška over 3 years ago

  • Description updated (diff)
Actions #4

Updated by Radek Tomiška over 3 years ago

  • Subject changed from IdmTool - resolve CzechIdM module parent and dependencies to IdmTool - resolve CzechIdM module parent and dependencies (more versions for the same third party library in build)
Actions #5

Updated by Radek Tomiška over 3 years ago

  • Status changed from New to In Progress
Actions #6

Updated by Radek Tomiška over 3 years ago

  • % Done changed from 0 to 90

CzechIdm modules are not resolved as maven dependendency anymore => parent libraries cannot be excluded effectivelly. This is the main flaw of using IdM parent in our modules => needs to be redesigned in future to avoid it (e.g. by dependency management or any other way).
Third party libraries are resolved from modules placed in "modules" folder only => place all CzechIdM modules into this folder (impl + api).

Doc:
https://github.com/bcvsolutions/CzechIdMng/tree/develop/Realization/backend/tool#build-project

Commit:
https://github.com/bcvsolutions/CzechIdMng/commit/4f39aa355ab6ddfd3ffb5b182af5aea7e99aa68e

Could you provide me a feedback, please?

Actions #7

Updated by Radek Tomiška over 3 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Radek Tomiška to Vít Švanda
Actions #8

Updated by Radek Tomiška over 3 years ago

  • Subject changed from IdmTool - resolve CzechIdM module parent and dependencies (more versions for the same third party library in build) to IdmTool - ignore CzechIdM module as maven dependency (more versions for the same third party library in build)
Actions #9

Updated by Radek Tomiška over 3 years ago

  • Description updated (diff)
Actions #10

Updated by Radek Tomiška over 3 years ago

  • Status changed from Needs feedback to In Progress
  • Assignee changed from Vít Švanda to Radek Tomiška
  • % Done changed from 90 to 50

Another issue is found, when normal third party dependency is used, duplicate libraries are included too, e.g. when scim module dependency is used:
https://github.com/pingidentity/scim2/blob/master/scim2-sdk-common/pom.xml

Actions #11

Updated by Radek Tomiška over 3 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Radek Tomiška to Vít Švanda
  • % Done changed from 50 to 90

I've added parent definition to artificial pom, which is used for build target war. Libraries are resolved properly now:
https://github.com/bcvsolutions/CzechIdMng/commit/8055474e3d053d405babdcc2f03731a4ed50758e

Could you provide me a feedback, please?

Actions #12

Updated by Radek Tomiška over 3 years ago

  • Status changed from Needs feedback to In Progress
  • Assignee changed from Vít Švanda to Radek Tomiška
  • % Done changed from 90 to 50

Next issue occurs - third party dependencies has higher priority than product libraries (https://dzone.com/articles/solving-dependency-conflicts-in-maven).
Try to ensure product libraries will be resolved at first.

Actions #13

Updated by Radek Tomiška over 3 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Radek Tomiška to Vít Švanda
  • % Done changed from 50 to 90
  • Affected versions 10.5.1, 10.4.5, 10.4.6, 10.4.7, 10.5.2, 10.5.3 added

I added core module dependency into artificial pom.xml used in tool => product libraries are resolved at first now.
I changed mechanism for register dependencies - CzechIdM module is registered itself => 3rd party libraries are registed with the modules. This requires to module will be available in nexus or local maven repository - added into documentation.

Commit:
https://github.com/bcvsolutions/CzechIdMng/commit/ed0a1d5f456de55c451a3cfbc7715f3efe670147

Could you provide me a feedback, please?

Note: dom4j library is duplicated by spring, issue: https://github.com/spring-projects/spring-boot/issues/15199 - we are using spring boot 2.1.7, it is fixed in 2.2.0 (update is needed).

Actions #14

Updated by Vít Švanda over 3 years ago

  • Status changed from Needs feedback to Resolved
  • Assignee changed from Vít Švanda to Radek Tomiška

I did reivew and tested build of a project. LGTM

Actions #15

Updated by Radek Tomiška over 3 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 90 to 100
Actions

Also available in: Atom PDF