Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "OTJPA dependencies"
Olaf.x100.de (Talk | contribs) |
Olaf.x100.de (Talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | The [http://trac.objectteams.org/ot/wiki/Persistence OT/JPA library] enables full JPA persistence support for Object Teams using a lightweight, Object Teams based adaptation of the [http://www.eclipse.org/eclipselink/jpa.php eclipselink JPA implementation].<br> | |
− | <br> | + | However, for migrating the library it must first pass IP review. This page features a first analysis of the OT/JPA dependencies in order to assess necessary changes before migrating to the eclipse repositories.<br> |
− | <br> | + | <br> |
+ | The following analysis was performed using the maven dependency plugin.<br> | ||
+ | |||
+ | <br> | ||
+ | <pre>URL: https://svn.objectteams.org/ot/trunk/src/maven/objectteams-jpa | ||
+ | Revision: 23682 | ||
+ | media/development/objeccteams/otjpa-trunk/objectteams-jpa$ mvn dependency:tree | ||
+ | [INFO] Scanning for projects... | ||
+ | [INFO] Reactor build order: | ||
+ | [INFO] Objectteams JPA projects parent pom | ||
+ | [INFO] Objectteams JPA utils | ||
+ | [INFO] Objectteams eclipselink adapter | ||
+ | [INFO] Objectteams JPA lazyloading | ||
+ | [INFO] Objectteams eclipselink spring-support | ||
+ | [INFO] Searching repository for plugin with prefix: 'dependency'. | ||
+ | [INFO] ------------------------------------------------------------------------ | ||
+ | [INFO] Building Objectteams JPA projects parent pom | ||
+ | [INFO] task-segment: [dependency:tree] | ||
+ | [INFO] ------------------------------------------------------------------------ | ||
+ | [INFO] [dependency:tree {execution: default-cli}] | ||
+ | [INFO] org.objectteams:objectteams-jpa-parent:pom:0.4-SNAPSHOT | ||
+ | [INFO] ------------------------------------------------------------------------ | ||
+ | </pre><pre> | ||
+ | [INFO] Building Objectteams JPA utils | ||
+ | [INFO] task-segment: [dependency:tree] | ||
+ | [INFO] ------------------------------------------------------------------------ | ||
+ | [INFO] [dependency:tree {execution: default-cli}] | ||
+ | [INFO] org.objectteams:objectteams-jpa-utils:jar:0.4-SNAPSHOT | ||
+ | [INFO] +- org.objectteams:objectteams-otre:jar:1.3.5-SNAPSHOT:compile | ||
+ | [INFO] +- log4j:log4j:jar:1.2.15:compile | ||
+ | </pre> | ||
Okay (3815) | Okay (3815) | ||
− | + | <pre>[INFO] +- commons-lang:commons-lang:jar:2.4:compile </pre> | |
− | [INFO] +- commons-lang:commons-lang:jar:2.4:compile | + | |
− | + | ||
Okay (2735) | Okay (2735) | ||
− | + | <pre>[INFO] +- net.sourceforge.collections:collections-generic:jar:4.01:compile | |
− | [INFO] +- net.sourceforge.collections:collections-generic:jar:4.01:compile | + | </pre> |
− | + | ||
No CQ. Suggest switching to google collections (CQ 3679). Effort: Medium. | No CQ. Suggest switching to google collections (CQ 3679). Effort: Medium. | ||
− | + | <pre>[INFO] +- cglib:cglib-nodep:jar:2.2:compile | |
− | [INFO] +- cglib:cglib-nodep:jar:2.2:compile | + | </pre> |
− | + | ||
Not good. No approval for cglib exists. Fix: Remove dependency, refactor CglibProxyHelper. Effort: easy. | Not good. No approval for cglib exists. Fix: Remove dependency, refactor CglibProxyHelper. Effort: easy. | ||
− | + | <pre>[INFO] +- javax.persistence:persistence-api:jar:1.0:compile | |
− | [INFO] +- javax.persistence:persistence-api:jar:1.0:compile | + | </pre> |
− | + | ||
Not in IPZilla. Must be okay - EclipseLink ist the reference implementation! | Not in IPZilla. Must be okay - EclipseLink ist the reference implementation! | ||
− | + | <pre>[INFO] +- org.mockito:mockito-all:jar:1.7:test | |
− | < | + | </pre> |
− | + | ||
CQ 3930 awaits analysis. However, we do not ship this artifact as part of the runtime, it is a test dependency only - "workswith" very likely a solution! | CQ 3930 awaits analysis. However, we do not ship this artifact as part of the runtime, it is a test dependency only - "workswith" very likely a solution! | ||
− | + | <pre>[INFO] \- junit:junit:jar:4.6:test | |
− | [INFO] \- junit:junit:jar:4.6:test | + | </pre> |
− | + | CQ 3437 was withdrawn. Suggesting to switch to newer, approved version, in example CQ 4118.<br> | |
− | CQ 3437 was withdrawn. Suggesting to switch to newer, approved version, in example CQ 4118. | + | <pre>[INFO] ------------------------------------------------------------------------ |
− | + | [INFO] Building Objectteams eclipselink adapter | |
− | <br> | + | [INFO] task-segment: [dependency:tree] |
− | + | [INFO] ------------------------------------------------------------------------ | |
− | < | + | [INFO] [dependency:tree {execution: default-cli}] |
− | + | [INFO] org.objectteams:objectteams-eclipselink:jar:0.4-SNAPSHOT | |
− | [INFO] ------------------------------------------------------------------------ | + | [INFO] +- org.objectteams:objectteams-otre:jar:1.3.5-SNAPSHOT:compile |
− | + | [INFO] +- javax.persistence:persistence-api:jar:1.0:compile | |
− | [INFO] +- org.eclipse.persistence:eclipselink:jar:1.1.3:compile | + | </pre> |
− | + | (See above) | |
+ | <pre>[INFO] +- org.eclipse.persistence:eclipselink:jar:1.1.3:compile | ||
+ | </pre> | ||
Okay- is an eclipse project. | Okay- is an eclipse project. | ||
+ | <pre>[INFO] +- junit:junit:jar:4.6:test | ||
+ | </pre> | ||
+ | (See above) | ||
+ | <pre>[INFO] +- org.mockito:mockito-all:jar:1.7:test | ||
+ | </pre> | ||
+ | (See above) | ||
+ | <pre>[INFO] +- log4j:log4j:jar:1.2.15:compile | ||
+ | </pre> | ||
+ | (See above) | ||
+ | <pre>[INFO] +- commons-lang:commons-lang:jar:2.4:compile | ||
+ | </pre> | ||
+ | (See above) | ||
+ | <pre>[INFO] +- org.objenesis:objenesis:jar:1.1:compile | ||
+ | </pre> | ||
+ | No CQ exists. However in CQ 3931, objenesis 1.0 is reviewed. Effort: this is a core dependency and cannot be removed.<br> | ||
− | + | Suggested solution: Repackage as ot-objenesis, with excluded JRockit support (see CQ 3931) and create IPZilla request for approval.<br> | |
− | + | <pre>[INFO] +- net.sourceforge.collections:collections-generic:jar:4.01:compile | |
− | + | </pre> | |
− | + | (See above) | |
− | + | <pre>[INFO] ------------------------------------------------------------------------ | |
− | + | [INFO] Building Objectteams JPA lazyloading | |
− | + | [INFO] task-segment: [dependency:tree] | |
− | + | [INFO] ------------------------------------------------------------------------ | |
− | + | [INFO] [dependency:tree {execution: default-cli}] | |
− | + | [INFO] org.objectteams:objectteams-jpa-lazyloading:jar:0.4-SNAPSHOT | |
− | [INFO] +- net.sourceforge.collections:collections-generic:jar:4.01:compile< | + | [INFO] +- log4j:log4j:jar:1.2.15:compile |
− | + | </pre> | |
− | < | + | (See above) |
− | + | <pre>[INFO] +- javax.persistence:persistence-api:jar:1.0:provided (scope not updated to compile) | |
− | + | </pre> | |
− | + | (See above) | |
− | [INFO] +- javax.persistence:persistence-api:jar:1.0:provided (scope not updated to compile)< | + | <pre>[INFO] +- junit:junit:jar:4.6:test |
− | + | </pre> | |
− | + | (See above) | |
− | + | <pre>[INFO] +- org.mockito:mockito-all:jar:1.7:test | |
− | [INFO] +- org.mockito:mockito-all:jar:1.7:test< | + | </pre> |
− | + | (See above) | |
− | < | + | <pre>[INFO] ------------------------------------------------------------------------ |
− | + | [INFO] Building Objectteams eclipselink spring-support | |
− | + | [INFO] task-segment: [dependency:tree] | |
− | + | [INFO] ------------------------------------------------------------------------ | |
− | [INFO] ------------------------------------------------------------------------ | + | [INFO] [dependency:tree {execution: default-cli}] |
− | + | [INFO] org.objectteams:objectteams-eclipselink-spring:jar:0.4-SNAPSHOT | |
− | [INFO] +- javax.persistence:persistence-api:jar:1.0:compile< | + | [INFO] +- cglib:cglib-nodep:jar:2.1_3:runtime (scope not updated to compile) |
− | + | </pre> | |
− | [INFO] +- org.springframework:spring-beans:jar:2.5.6:compile< | + | (See above)<br> |
− | + | <pre>[INFO] +- javax.persistence:persistence-api:jar:1.0:compile | |
− | [INFO] +- org.springframework:spring-core:jar:2.5.6:compile< | + | </pre> |
− | + | (See above) | |
− | [INFO] +- org.springframework:spring-agent:jar:2.5.6:compile< | + | <pre>[INFO] +- org.springframework:spring-beans:jar:2.5.6:compile |
− | + | </pre> | |
− | [INFO] +- org.springframework:spring-orm:jar:2.5.6:compile< | + | Okay (CQ 3664) |
− | + | <pre>[INFO] +- org.springframework:spring-core:jar:2.5.6:compile | |
− | [INFO] +- org.springframework:spring-context:jar:2.5.6:compile< | + | </pre> |
− | + | Okay (CQ 3666) | |
− | [INFO] +- org.springframework:spring-jdbc:jar:2.5.6:compile< | + | <pre>[INFO] +- org.springframework:spring-agent:jar:2.5.6:compile |
− | + | </pre> | |
− | [INFO] +- org.springframework:spring-aspects:jar:2.5.6:compile< | + | No CQ. However CQ 2353 approves version 2.5.3. Suggestion: Create IPzilla request. |
− | + | <pre>[INFO] +- org.springframework:spring-orm:jar:2.5.6:compile | |
− | [INFO] +- org.springframework:spring-aop:jar:2.5.6:compile< | + | </pre> |
− | + | No CQ. Suggestion: Create IPzilla request. | |
− | [INFO] +- org.eclipse.persistence:eclipselink:jar:1.1.3:compile< | + | <pre>[INFO] +- org.springframework:spring-context:jar:2.5.6:compile |
− | + | </pre> | |
− | [INFO] +- commons-dbcp:commons-dbcp:jar:1.2.2:runtime< | + | Okay (CQ 3665) |
− | + | <pre>[INFO] +- org.springframework:spring-jdbc:jar:2.5.6:compile | |
− | [INFO] +- commons-collections:commons-collections:jar:3.2.1:compile< | + | </pre> |
− | + | No CQ. Suggestion: Create IPzilla request. | |
− | [INFO] +- log4j:log4j:jar:1.2.15:compile< | + | <pre>[INFO] +- org.springframework:spring-aspects:jar:2.5.6:compile |
− | + | </pre> | |
− | [INFO] +- org.springframework:spring-test:jar:2.5.6:test< | + | No CQ. Suggestion: Create IPzilla request. |
− | + | <pre>[INFO] +- org.springframework:spring-aop:jar:2.5.6:compile | |
− | [INFO] +- junit:junit:jar:4.4:test< | + | </pre> |
− | + | Okay (CQ 3663) | |
− | [INFO] +- hsqldb:hsqldb:jar:1.8.0.7:test< | + | <pre>[INFO] +- org.eclipse.persistence:eclipselink:jar:1.1.3:compile |
− | + | </pre> | |
− | [INFO] \- mysql:mysql-connector-java:jar:5.0.7:compile< | + | Okay |
− | + | <pre>[INFO] +- commons-dbcp:commons-dbcp:jar:1.2.2:runtime | |
− | <br> | + | </pre> |
− | + | Okay (CQ 2765) | |
− | < | + | <pre>[INFO] +- commons-collections:commons-collections:jar:3.2.1:compile |
− | + | </pre> | |
− | [INFO] Building Objectteams plexus-compiler-eclipse plugin | + | No CQ. However, CQ 3817 permits 3.2.0. Suggested Solution: Create IPzilla request |
− | + | <pre>[INFO] +- log4j:log4j:jar:1.2.15:compile | |
− | Not okay. Plexus code was rejected in the past (f.e. CQ 3161).<br>Suggested solution: | + | </pre> |
+ | (See above) | ||
+ | <pre>[INFO] +- org.springframework:spring-test:jar:2.5.6:test | ||
+ | </pre> | ||
+ | Okay (CQ 4148) - used as test dependency. | ||
+ | <pre>[INFO] +- junit:junit:jar:4.4:test | ||
+ | </pre> | ||
+ | Okay (CQ 2027) | ||
+ | <pre>[INFO] +- hsqldb:hsqldb:jar:1.8.0.7:test | ||
+ | </pre> | ||
+ | No CQ. However CQ 4237 approves 1.8.0.8 as workswith. Suggestion: Switch to 1.8.0.8. This is a test dependency. | ||
+ | <pre>[INFO] \- mysql:mysql-connector-java:jar:5.0.7:compile | ||
+ | </pre> | ||
+ | Not okay, later version was rejected (see f.e. CQ 4238). Suggested solution: Make optional. This must not be provided as part of our runtime.<br> | ||
+ | <pre>[INFO] Building Objectteams plexus-compiler-eclipse plugin | ||
+ | [INFO] task-segment: [dependency:tree] | ||
+ | [INFO] ------------------------------------------------------------------------ | ||
+ | [INFO] [dependency:tree {execution: default-cli}] | ||
+ | [INFO] org.objectteams:objectteams-plexus-compiler-eclipse:jar:1.3.5-SNAPSHOT | ||
+ | [INFO] +- org.codehaus.plexus:plexus-compiler-api:jar:1.5.3:compile | ||
+ | [INFO] +- org.codehaus.plexus:plexus-utils:jar:1.0.5:compile | ||
+ | [INFO] | \- classworlds:classworlds:jar:1.1-alpha-2:compile | ||
+ | [INFO] +- org.codehaus.plexus:plexus-container-default:jar:1.0-beta-1.1:compile | ||
+ | [INFO] | +- org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-13:compile | ||
+ | [INFO] | \- org.apache.xbean:xbean-reflect:jar:3.4:compile | ||
+ | [INFO] | +- log4j:log4j:jar:1.2.15:compile (version managed from 1.2.12) | ||
+ | [INFO] | \- commons-logging:commons-logging-api:jar:1.1:compile | ||
+ | </pre> | ||
+ | Not okay. Plexus code was rejected in the past (f.e. CQ 3161).<br>Suggested solution: Rewrite the compiler plugin for maven and drop support for maven 2. Maven 3 uses google guice as a container, which will pass the eclipse IP review. | ||
− | [[Category: | + | [[Category:Object_Teams_Development]] |
Revision as of 07:41, 20 June 2010
The OT/JPA library enables full JPA persistence support for Object Teams using a lightweight, Object Teams based adaptation of the eclipselink JPA implementation.
However, for migrating the library it must first pass IP review. This page features a first analysis of the OT/JPA dependencies in order to assess necessary changes before migrating to the eclipse repositories.
The following analysis was performed using the maven dependency plugin.
URL: https://svn.objectteams.org/ot/trunk/src/maven/objectteams-jpa Revision: 23682 media/development/objeccteams/otjpa-trunk/objectteams-jpa$ mvn dependency:tree [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] Objectteams JPA projects parent pom [INFO] Objectteams JPA utils [INFO] Objectteams eclipselink adapter [INFO] Objectteams JPA lazyloading [INFO] Objectteams eclipselink spring-support [INFO] Searching repository for plugin with prefix: 'dependency'. [INFO] ------------------------------------------------------------------------ [INFO] Building Objectteams JPA projects parent pom [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] org.objectteams:objectteams-jpa-parent:pom:0.4-SNAPSHOT [INFO] ------------------------------------------------------------------------
[INFO] Building Objectteams JPA utils [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] org.objectteams:objectteams-jpa-utils:jar:0.4-SNAPSHOT [INFO] +- org.objectteams:objectteams-otre:jar:1.3.5-SNAPSHOT:compile [INFO] +- log4j:log4j:jar:1.2.15:compile
Okay (3815)
[INFO] +- commons-lang:commons-lang:jar:2.4:compile
Okay (2735)
[INFO] +- net.sourceforge.collections:collections-generic:jar:4.01:compile
No CQ. Suggest switching to google collections (CQ 3679). Effort: Medium.
[INFO] +- cglib:cglib-nodep:jar:2.2:compile
Not good. No approval for cglib exists. Fix: Remove dependency, refactor CglibProxyHelper. Effort: easy.
[INFO] +- javax.persistence:persistence-api:jar:1.0:compile
Not in IPZilla. Must be okay - EclipseLink ist the reference implementation!
[INFO] +- org.mockito:mockito-all:jar:1.7:test
CQ 3930 awaits analysis. However, we do not ship this artifact as part of the runtime, it is a test dependency only - "workswith" very likely a solution!
[INFO] \- junit:junit:jar:4.6:test
CQ 3437 was withdrawn. Suggesting to switch to newer, approved version, in example CQ 4118.
[INFO] ------------------------------------------------------------------------ [INFO] Building Objectteams eclipselink adapter [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] org.objectteams:objectteams-eclipselink:jar:0.4-SNAPSHOT [INFO] +- org.objectteams:objectteams-otre:jar:1.3.5-SNAPSHOT:compile [INFO] +- javax.persistence:persistence-api:jar:1.0:compile
(See above)
[INFO] +- org.eclipse.persistence:eclipselink:jar:1.1.3:compile
Okay- is an eclipse project.
[INFO] +- junit:junit:jar:4.6:test
(See above)
[INFO] +- org.mockito:mockito-all:jar:1.7:test
(See above)
[INFO] +- log4j:log4j:jar:1.2.15:compile
(See above)
[INFO] +- commons-lang:commons-lang:jar:2.4:compile
(See above)
[INFO] +- org.objenesis:objenesis:jar:1.1:compile
No CQ exists. However in CQ 3931, objenesis 1.0 is reviewed. Effort: this is a core dependency and cannot be removed.
Suggested solution: Repackage as ot-objenesis, with excluded JRockit support (see CQ 3931) and create IPZilla request for approval.
[INFO] +- net.sourceforge.collections:collections-generic:jar:4.01:compile
(See above)
[INFO] ------------------------------------------------------------------------ [INFO] Building Objectteams JPA lazyloading [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] org.objectteams:objectteams-jpa-lazyloading:jar:0.4-SNAPSHOT [INFO] +- log4j:log4j:jar:1.2.15:compile
(See above)
[INFO] +- javax.persistence:persistence-api:jar:1.0:provided (scope not updated to compile)
(See above)
[INFO] +- junit:junit:jar:4.6:test
(See above)
[INFO] +- org.mockito:mockito-all:jar:1.7:test
(See above)
[INFO] ------------------------------------------------------------------------ [INFO] Building Objectteams eclipselink spring-support [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] org.objectteams:objectteams-eclipselink-spring:jar:0.4-SNAPSHOT [INFO] +- cglib:cglib-nodep:jar:2.1_3:runtime (scope not updated to compile)
(See above)
[INFO] +- javax.persistence:persistence-api:jar:1.0:compile
(See above)
[INFO] +- org.springframework:spring-beans:jar:2.5.6:compile
Okay (CQ 3664)
[INFO] +- org.springframework:spring-core:jar:2.5.6:compile
Okay (CQ 3666)
[INFO] +- org.springframework:spring-agent:jar:2.5.6:compile
No CQ. However CQ 2353 approves version 2.5.3. Suggestion: Create IPzilla request.
[INFO] +- org.springframework:spring-orm:jar:2.5.6:compile
No CQ. Suggestion: Create IPzilla request.
[INFO] +- org.springframework:spring-context:jar:2.5.6:compile
Okay (CQ 3665)
[INFO] +- org.springframework:spring-jdbc:jar:2.5.6:compile
No CQ. Suggestion: Create IPzilla request.
[INFO] +- org.springframework:spring-aspects:jar:2.5.6:compile
No CQ. Suggestion: Create IPzilla request.
[INFO] +- org.springframework:spring-aop:jar:2.5.6:compile
Okay (CQ 3663)
[INFO] +- org.eclipse.persistence:eclipselink:jar:1.1.3:compile
Okay
[INFO] +- commons-dbcp:commons-dbcp:jar:1.2.2:runtime
Okay (CQ 2765)
[INFO] +- commons-collections:commons-collections:jar:3.2.1:compile
No CQ. However, CQ 3817 permits 3.2.0. Suggested Solution: Create IPzilla request
[INFO] +- log4j:log4j:jar:1.2.15:compile
(See above)
[INFO] +- org.springframework:spring-test:jar:2.5.6:test
Okay (CQ 4148) - used as test dependency.
[INFO] +- junit:junit:jar:4.4:test
Okay (CQ 2027)
[INFO] +- hsqldb:hsqldb:jar:1.8.0.7:test
No CQ. However CQ 4237 approves 1.8.0.8 as workswith. Suggestion: Switch to 1.8.0.8. This is a test dependency.
[INFO] \- mysql:mysql-connector-java:jar:5.0.7:compile
Not okay, later version was rejected (see f.e. CQ 4238). Suggested solution: Make optional. This must not be provided as part of our runtime.
[INFO] Building Objectteams plexus-compiler-eclipse plugin [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] org.objectteams:objectteams-plexus-compiler-eclipse:jar:1.3.5-SNAPSHOT [INFO] +- org.codehaus.plexus:plexus-compiler-api:jar:1.5.3:compile [INFO] +- org.codehaus.plexus:plexus-utils:jar:1.0.5:compile [INFO] | \- classworlds:classworlds:jar:1.1-alpha-2:compile [INFO] +- org.codehaus.plexus:plexus-container-default:jar:1.0-beta-1.1:compile [INFO] | +- org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-13:compile [INFO] | \- org.apache.xbean:xbean-reflect:jar:3.4:compile [INFO] | +- log4j:log4j:jar:1.2.15:compile (version managed from 1.2.12) [INFO] | \- commons-logging:commons-logging-api:jar:1.1:compile
Not okay. Plexus code was rejected in the past (f.e. CQ 3161).
Suggested solution: Rewrite the compiler plugin for maven and drop support for maven 2. Maven 3 uses google guice as a container, which will pass the eclipse IP review.