Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixup packaging requirements #191

Closed
svenevs opened this issue Mar 29, 2023 · 8 comments · Fixed by #205
Closed

Fixup packaging requirements #191

svenevs opened this issue Mar 29, 2023 · 8 comments · Fixed by #205

Comments

@svenevs
Copy link
Owner

svenevs commented Mar 29, 2023

  • Undo the hacks you needed to bypass whatever release of breathe you had to workaround whenever it was (just depend on breathe>=???).
    • Legacy debt: excluding python / sphinx versions.
    • Strategy: do a more permissive release.
    • Followup with updates to README about compatibility notes, pin to latest breathe and implicitly depend on min sphinx / python they support. Do so in a separate release.
  • Maybe: remove six.

followup to #179.

@Rotzbua
Copy link
Contributor

Rotzbua commented Sep 14, 2023

I would currently recommend:

@clalancette
Copy link
Collaborator

* Drop sphinx 4

Please don't drop Sphinx 4. It is what is shipped in Ubuntu 22.04, and what we are using to generate our documentation with https://github.com/ros-infrastructure/rosdoc2 .

@Rotzbua
Copy link
Contributor

Rotzbua commented Sep 16, 2023

@clalancette You still can use release 0.3.6, which still works with sphinx 4.

For cross OS interoperability and reproduction pip and venv should be chosen as the installation method for sphinx anyway and not the OS package repository.

Meanwhile sphinx7 is released. In my experience, supporting more than 3 versions of a dependency can quickly become a development hassle.

@svenevs
Copy link
Owner Author

svenevs commented Sep 16, 2023

We will continue to support jammy until Rosdoc updates. That project contributed heavily to exhale, but the ros ecosystem takes time to update (for good reason). While it may be old, the things exhale has to do with sphinx directly are minimal and we should be able to keep that support around.

I'm hoping to get to this tomorrow and start looking at what can be done to patch this project up for a new release.

@Rotzbua
Copy link
Contributor

Rotzbua commented Sep 26, 2023

According to: https://packages.ubuntu.com/jammy/sphinx-common
No support for sphinx<4.3 required.

@svenevs
Copy link
Owner Author

svenevs commented Oct 6, 2023

I haven't forgotten about this. I'll be on vacation soon and will be able to carve out some time to give this project a small facelift. Thanks for your patience, I look forward to help testing things 😅

@svenevs
Copy link
Owner Author

svenevs commented Oct 19, 2023

@clalancette could you please help me understand your minimum requirements?

I'm planning to require:

  • sphinx>=4
    • There was a historical reason why I made the sphinx versions pinned to breathe releases, but I don't even remember it anymore. This project has very very little to do with sphinx directly, the breathe version will constrain as it sees fit since they're the ones emitting nodes. This project dumps the same thing regardless of the breathe version...
  • breathe>=4.33.1
  • python 3.8+ (EOSL 10/2024)
    • I don't have a good enoug reason to disable it, technically this project still works with 2.7 lol. 3.8 will give me enough shiny new tools to be satisfied.
  • Remove docutils. Eventually six.

svenevs added a commit that referenced this issue Oct 19, 2023
Exhale now requires:

- Python 3.8+
- Sphinx>=4
- Breathe>=4.33.1

See #191 for more information.
@Rotzbua
Copy link
Contributor

Rotzbua commented Oct 19, 2023

sphinx>=4

There was a historical reason why I made the sphinx versions pinned to breathe releases, but I don't even remember it anymore. This project has very very little to do with sphinx directly, the breathe version will constrain as it sees fit since they're the ones emitting nodes. This project dumps the same thing regardless of the breathe version...

The early v4.0 v4.1 versions of sphinx are bugged with python3.10.
https://github.com/breathe-doc/breathe/blob/42d731b67d71df05596163554d8dd6815ebe980b/.github/workflows/unit_tests.yml#L22-L30

So I would recommend to not support them, since it normally easy for users to migrate minor versions.

svenevs added a commit that referenced this issue Oct 22, 2023
Exhale now requires:

- Python 3.8+
- Sphinx>=4.3.2
- Breathe>=4.33.1

See #191 for more information.
svenevs added a commit that referenced this issue Jan 21, 2024
Exhale now requires:

- Python 3.8+
- Sphinx>=4.3.2
- Breathe>=4.33.1

See #191 for more information.
svenevs added a commit that referenced this issue Jan 21, 2024
Exhale now requires:

- Python 3.8+
- Sphinx>=4.3.2
- Breathe>=4.33.1

See #191 for more information.
svenevs added a commit that referenced this issue Jan 21, 2024
Exhale now requires:

- Python 3.8+
- Sphinx>=4.3.2
- Breathe>=4.33.1

See #191 for more information.
svenevs added a commit that referenced this issue Jan 21, 2024
Exhale now requires:

- Python 3.8+
- Sphinx>=4.3.2
- Breathe>=4.33.1

See #191 for more information.
svenevs added a commit that referenced this issue Jan 21, 2024
Exhale now requires:

- Python 3.8+
- Sphinx>=4.3.2
- Breathe>=4.33.1

See #191 for more information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants