Skip to content

OMERO versions and describing dependencies in a release package file #103

@manics

Description

@manics

See:


From @joshmoore ome/ansible-role-omero-server#41 (comment)

Versions and their sources that I can think of:

  • bundle: etc/omero.properties
  • omero-py: omero_version.py
  • omero-web: omeroweb/version.py
  • omero-dropbox: (not yet defined)
  • each plugin: (not yet standardized)
  • jars: each manifest

From @joshmoore ome/ansible-role-omero-web#27 (comment)

Another option would be a Pipfile-like approach where a requirements-in.txt lists the unversioned files, and then the output of pip freeze records exact tested versions. (i.e. basically the same but outside of the setup.py file)


We could have an omero-release.json artifact which describes all recommended dependencies (perhaps even including OMERO-server.zip?). The general idea is to have a file that describes all suggested production dependencies separate from any single release artifact.

Note this is in YAML format because it's easier to type and read but the real file would be JSON.

# This is some sort of package version, so dependencies can be bumped
# without a new OMERO.server release
version: 6.0.0-1
server:
  version: 5.6.0-m1
  OMERO.server: https://downloads.openmicroscopy.org/omero/5.6.0-m1/artifacts/OMERO.server-5.6.0-m1-ice36-b125.zip
  python-requirements:
    omero-py: 5.6.dev4
    omero-dropbox: 5.6.dev1
    jinja2: 1.2.3
    numpy: 1.2.3
    pillow: 1.2.3
    tables: 1.2.3
web:
  version: 5.6.dev4-1
  python-requirements:
    omero-web: 5.6.dev4
    omero-py: 5.6.dev4
    redis: 1.2.3

The advantage of a dict instead of the name==version from requirements.txt is it should be easier to parse and override in Ansible and other tools, e.g. by merging the web.python-requirements dictionary with a variable omero_web_python_requirements_override (needs to verify this works).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions