Relocate everything to make packaging work #8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is an attempt to reconcile the existing problems with packaging, installation, and
PYTHONPATH.This PR takes the existing
relaysubdirectory, which contains the__init__.pyfile and therefore defines therelayPython package, and moves it into asrcsubdirectory. (It also moves the existingtestsdirectory which was a subdirectory ofrelayand makes it a peer of the newsrcdirectory at the top level; and, it moves the existingrelay/requirements.txtfile up a level to thesrcsubdirectory.) With the commensurate changes to thesetup.cfgfile, the packaging now includes the file-relay sources as well as therelaystub-executable, so that, when the package is installed, therelaypackage is copied into thesite-packagesdirectory as it should be and it is available without explicitly definingPYTHONPATH. I'm not exactly sure what magic I've wrought here, but everything now seems to work as expected.This PR also updates the
ci.ymlworkflow to reflect the new directory structure (e.g., the locations of the respectiverequirements.txtfiles have changed, and the tests and sources are no longer in the same directory tree, so we have to request coverage for them separately) and to Pip-install therelaypackage from its sources (and to do it all in a single command). This allows the unit tests to work without aPYTHONPATHdefinition, testing the package as any other client would.