Ticket #5151 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

CustomInterfaces is linked to MDAlgorithms when it shouldn't be

Reported by: Martyn Gigg Owned by: Russell Taylor
Priority: major Milestone: Release 3.0
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Michael Reuter

Description (last modified by Russell Taylor) (diff)

The CustomInterfaces library is linked to stuff in MDAlgorithms. Investigate whether this is necessary or whether the code can be moved/changed to remove the dependency.

This is mostly an issue on the Mac as extra steps have to be performed on packaging to set the library links correctly.

Change History

comment:1 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.1 to Release 2.2

Moved at end of release 2.1

comment:2 Changed 8 years ago by Russell Taylor

This dependency should be removed. It's true that it's only the Mac where things immediately break because of this kind of thing, but there are other reasons for avoiding a spaghetti of dependencies building up.

comment:3 Changed 8 years ago by Nick Draper

  • Owner set to Russell Taylor
  • Status changed from new to assigned

comment:4 Changed 8 years ago by Alex Buts

refs #5336 enabling CreateMDWorkspaceAlgDialog

and fixing small bug in ConvertToMDEvents

refs #5151 removing dependence form MDAlgorithms

but adding dependence on MDEvents

Changeset: e4ddb6140e3f3ddd223fbda91c9274235acdd85c

comment:5 Changed 8 years ago by Alex Buts

refs #5336 enabling CreateMDWorkspaceAlgDialog

and fixing small bug in ConvertToMDEvents

refs #5151 removing dependence form MDAlgorithms

but adding dependence on MDEvents

Changeset: e4ddb6140e3f3ddd223fbda91c9274235acdd85c

comment:6 Changed 8 years ago by Alex Buts

Recent implementation allows easy fix for this ticket if MD Q-conversion factory (MDTransfFactory) moved into API.

The question remains if API should be aware of this (MD) factory and if is not, the ticket should be resolved as invalid.

comment:7 Changed 8 years ago by Alex Buts

refs #5336 enabling CreateMDWorkspaceAlgDialog

and fixing small bug in ConvertToMDEvents

refs #5151 removing dependence form MDAlgorithms

but adding dependence on MDEvents

Changeset: e4ddb6140e3f3ddd223fbda91c9274235acdd85c

comment:8 Changed 8 years ago by Alex Buts

refs #5336 enabling CreateMDWorkspaceAlgDialog

and fixing small bug in ConvertToMDEvents

refs #5151 removing dependence form MDAlgorithms

but adding dependence on MDEvents

Changeset: e4ddb6140e3f3ddd223fbda91c9274235acdd85c

comment:9 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.2 to Release 2.3

Moved at the end of release 2.2

comment:10 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.3 to Release 2.4

Moved to milestone 2.4

comment:11 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.4 to Release 2.5

Moved at the code freeze for release 2.4

comment:12 Changed 7 years ago by Russell Taylor

  • Milestone changed from Release 2.5 to Release 2.6

Move the tickets I'm definitely not going to do this iteration so that I can better see the ones that I might.

comment:13 Changed 7 years ago by Nick Draper

  • Status changed from assigned to new

comment:14 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:15 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to backlog at the code freeze for R2.6

comment:16 Changed 7 years ago by Russell Taylor

  • Keywords Maintenance added

comment:16 Changed 7 years ago by Russell Taylor

  • Status changed from new to inprogress
  • Keywords Maintenance removed
  • Description modified (diff)
  • Milestone changed from Backlog to Release 3.0

comment:18 Changed 7 years ago by Russell Taylor

Re #5151. Get the required values from the ConvertToMD algorithm.

This removes the use of MDEvents in CustomInterfaces and will allow us to drop the dependency. The item being retrieved is the same as the allowed values on the ConvertToMD properties that this is in the end being used to set.

Changeset: 4343d7f92c58817b015edd238ee84d2c3f1a2439

comment:19 Changed 7 years ago by Russell Taylor

Re #5151. Remove inclusion of (unused) DataObjects header.

Also remove other unused headers and move one to the places where it is actually being used.

Changeset: 27100a2af023896fa956fb52dcf16b0082bb4b64

comment:20 Changed 7 years ago by Russell Taylor

Re #5151. Remove uses of DataObjects classes.

We can use the API interfaces IPeak(sWorkspace) instead, though I did have to add one method to the IPeaksWorkspace interface.

Changeset: 1296b0370bb83c84b2d1b1b4308e7262a94a270e

comment:21 Changed 7 years ago by Russell Taylor

Re #5151. Remove dependencies on MDEvents and DataObjects.

Changeset: 726833e07b115f51d8c73adb3376b9db43ce260a

comment:22 Changed 7 years ago by Russell Taylor

Re #5151. Add a unit test for CreateMDWorkspaceAlgDialog.

This is to ensure that the polling of the ConvertToMD algorithm for property allowed values continues to work. Also put the class itself into the correct namespace.

Changeset: 7df303a3648b4bad608b41071b83732aa4333bbc

comment:23 Changed 7 years ago by Russell Taylor

Re #5151. Drop the test until I can figure out the symbol export

for Windows. If I can.

Changeset: ca1a93d4a91669a0a287a51f36830e8711dfa126

comment:24 Changed 7 years ago by Russell Taylor

Re #5151. Remove spurious file.

Nothing to do with this ticket, but just noticed that this file had obviously been added by accident.

Changeset: baece9c1dce74c7de940e430b69406f3f23f5284

comment:25 Changed 7 years ago by Russell Taylor

Re #5151. Drop the test until I can figure out the symbol export

for Windows. If I can.

Changeset: 38d33af62f68465044893af240390f79a2a4e609

comment:26 Changed 7 years ago by Russell Taylor

Re #5151. Add back the unit test.

And add a DllConfig file to deal with the symbol import/export on Windows so that the test can link to it. Note that there's a QT macro that's used for this here rather than our own DllImport/Export ones.

Changeset: e13be1cd7cee1e0052f87d56f0b6a56d39906051

comment:27 Changed 7 years ago by Russell Taylor

Re #5151. Amend method names to conform to standards.

Changeset: 94e6504653add1de05ae71085d055123943fd7c4

comment:28 Changed 7 years ago by Russell Taylor

Re #5151. Clear cppcheck complaint about variable scope.

Changeset: 4af0ec8bd4c8f8d342e4194f6b08480dc1440c32

comment:29 Changed 7 years ago by Russell Taylor

  • Status changed from inprogress to verify
  • Resolution set to fixed

Tester: Branch is feature/5151_remove_custominterfaces_dependencies

I made a few peripheral housekeeping changes around here, but the main things to check are:

  • That the 'CreateMDWorkspaceAlgDialog' is still working OK and has entries in the first 2 combo-boxes (Access it via Interfaces -> Create MD Workspace -> Create MD Workspace(s)).
  • That an install of the Mac kit starts up without complaining about not being able to load libraries.
  • If you want, you could use otool/ldd to verify that libMantidQtCustomInterfaces no longer depends on the MDEvents or DataObjects libraries.

comment:30 Changed 7 years ago by Michael Reuter

  • Status changed from verify to verifying
  • Tester set to Michael Reuter

comment:31 Changed 7 years ago by Michael Reuter

This all looks in order.

comment:32 Changed 7 years ago by Russell Taylor

  • Status changed from verifying to closed

Merge branch 'feature/5151_remove_custominterfaces_dependencies' of https://github.com/mantidproject/mantid into feature/5151_remove_custominterfaces_dependencies

comment:33 Changed 7 years ago by Michael Reuter

Merge remote-tracking branch 'origin/feature/5151_remove_custominterfaces_dependencies'

comment:34 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5997

Note: See TracTickets for help on using tickets.