Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

User Story #129 (closed)

Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

Get rid of maven for defining classpath

Reported by: sfrank Owned by: jamoore
Priority: minor Milestone: 3.0-Beta2.2
Component: Deployment Keywords: iteration1
Cc: Story Points: n.a.
Sprint: n.a. Importance: n.a.
Total Remaining Time: n.a. Estimated Remaining Time: n.a.

Description

Changing the classpath for a component is currently a two-step-process:

  • trigger a manual rebuild of the classpath via antlib/resources/maven.xml
  • trigger the normal build with the updated classpath

This two-step-process is error-prone, especially on windows. To reduce the number of moving parts in the build, the manual classpath-build should be included in the regular build and changed classpaths should be picked up automatically whenever the build is run.

Change History (7)

comment:1 Changed 13 years ago by jmoore

  • Milestone set to Unscheduled
  • Owner changed from jmoore to sfrank
  • Summary changed from build::get rid of maven.xml for building the classpaths to Get rid of maven for defining classpath

I don't think anyone is overly happy with the current situation. Maven has not proved to be the best tool here. However, we currently have this setup, even if it's not working (well) on Windows. If you can port to Ivy, etc., then by all means, that's fine.

Requirements are:

  1. Central definition. One should only have to change one file to change the classpath. (No changing pom.xml, .classpath, and ivy.xml or whatever)
  2. Transitive dependencies. We should only have to define our direct dependencies.
  3. Definition inheritance. Global definitions should be done at the OMERO_HOME level with a definition done for each component as well.
  4. Components must remain isolated, based on their dependency graph.
  5. No run-time overhead. Once it's working, it shouldn't hit the network anymore.

Bonus: version numbers should be stored externally (in *.properties)

comment:2 Changed 13 years ago by jmoore

#45, #98, and #101 are dependent on this ticket.

comment:3 Changed 13 years ago by sfrank

  • Version changed from 3.0-M1 to 3.0-M3

comment:4 Changed 12 years ago by jmoore

  • Milestone changed from Unscheduled to 3.0-Beta3

See #749

comment:5 Changed 12 years ago by jmoore

  • Keywords iteration1 added
  • Owner changed from sfrank to jmoore

comment:6 Changed 12 years ago by jmoore

  • Resolution set to fixed
  • Status changed from new to closed

Can be considered closed with the closing of #749. Classpaths are now defined by the contensts of <component>/target/libs.

comment:7 Changed 12 years ago by jmoore

  • Milestone changed from 3.0-Beta3 to 3.0-Beta2.2
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.74853 sec.)

We're Hiring!