Decouple galaxy-app and galaxy-selenium.

That was a lazy shortcut on my part and should have never happened.

This resolves that and also another task on my todo list of making an easily pip installable, lightweight way of getting access to the tours validation script at the same time by restructuring packages and cleaning up the dependency structure.

The navigation piece of galaxy-selenium has been split out of into its own package and tours now depend on that directly. In order to have that lightweight access to the tour validation code - tours have also been split out of app. This will also encourage that package to continue to be decoupled nicely from the larger galaxy-app package.
This commit is contained in:
John Chilton
2022-06-27 12:56:22 -04:00
parent b111384289
commit db68ac271d
39 changed files with 177 additions and 12 deletions
View File
+4 -4
View File
@@ -26,13 +26,13 @@ import yaml
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.remote.webdriver import WebDriver
from galaxy.util import DEFAULT_SOCKET_TIMEOUT
from . import sizzle
from .components import (
from galaxy.navigation.components import (
Component,
HasText,
)
from .data import load_root_component
from galaxy.navigation.data import load_root_component
from galaxy.util import DEFAULT_SOCKET_TIMEOUT
from . import sizzle
from .has_driver import (
exception_indicates_click_intercepted,
exception_indicates_not_clickable,
+1 -1
View File
@@ -1,4 +1,4 @@
from .components import (
from galaxy.navigation.components import (
Component,
Target,
)
+1 -1
View File
@@ -12,7 +12,7 @@ import yaml
from pydantic import parse_obj_as
from galaxy.exceptions import ObjectNotFound
from galaxy.selenium.data import load_root_component
from galaxy.navigation.data import load_root_component
from galaxy.util import config_directories_from_setting
from ._interface import ToursRegistry
from ._schema import TourList
+1 -1
View File
@@ -4,7 +4,7 @@ import sys
import yaml
from pydantic.error_wrappers import ValidationError
from galaxy.selenium.data import load_root_component
from galaxy.navigation.data import load_root_component
from ._impl import (
get_tour_id_from_path,
load_tour_from_path,
-1
View File
@@ -1 +0,0 @@
../../../lib/galaxy/tours
+1 -1
View File
@@ -38,8 +38,8 @@ install_requires =
galaxy-job-execution
galaxy-job-metrics
galaxy-objectstore
galaxy-selenium
galaxy-tool-util[cwl,edam]
galaxy-tours
galaxy-util
galaxy-web-framework
galaxy-web-stack
+11
View File
@@ -0,0 +1,11 @@
History
-------
.. to_doc
---------------------
22.9.0.dev0
---------------------
* First release from the 22.09 branch of Galaxy.
+1
View File
@@ -0,0 +1 @@
../../LICENSE.txt
+2
View File
@@ -0,0 +1,2 @@
include *.rst *.txt LICENSE
include galaxy/navigation/*yml
+1
View File
@@ -0,0 +1 @@
../package.Makefile
+17
View File
@@ -0,0 +1,17 @@
.. image:: https://badge.fury.io/py/galaxy-naivgation.svg
:target: https://pypi.org/project/galaxy-naivgation/
Overview
--------
The Galaxy_ client DOM navigation framework.
Navigation data that feeds tours generation, Jest testing, and Selenium testing.
* Free software: Academic Free License version 3.0
* Code: https://github.com/galaxyproject/galaxy
.. _Galaxy: http://galaxyproject.org/
+1
View File
@@ -0,0 +1 @@
../package-dev-requirements.txt
+1
View File
@@ -0,0 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
+1
View File
@@ -0,0 +1 @@
../../../lib/galaxy/navigation
+1
View File
@@ -0,0 +1 @@
../../mypy.ini
+1
View File
@@ -0,0 +1 @@
../package-pyproject.toml
+1
View File
@@ -0,0 +1 @@
../build_scripts
+41
View File
@@ -0,0 +1,41 @@
[metadata]
author = Galaxy Project and Community
author_email = galaxy-committers@lists.galaxyproject.org
classifiers =
Development Status :: 5 - Production/Stable
Environment :: Console
Intended Audience :: Developers
License :: OSI Approved :: Academic Free License (AFL)
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Software Development
Topic :: Software Development :: Code Generators
Topic :: Software Development :: Testing
description = Galaxy client DOM navigation framework
keywords =
Galaxy
license = AFL
license_files =
LICENSE
long_description = file: README.rst, HISTORY.rst
long_description_content_type = text/x-rst
name = galaxy-navigation
url = https://github.com/galaxyproject/galaxy
version = 22.5.0.dev0
[options]
include_package_data = True
install_requires =
galaxy-util
PyYAML
packages = find:
python_requires = >=3.7
[options.packages.find]
exclude =
tests*
@@ -0,0 +1 @@
pytest
-1
View File
@@ -1,2 +1 @@
include *.rst *.txt LICENSE
include galaxy/selenium/*yml
+1 -1
View File
@@ -31,7 +31,7 @@ version = 22.5.0.dev0
[options]
include_package_data = True
install_requires =
galaxy-util
galaxy-data
PyYAML
requests
selenium
+4 -1
View File
@@ -17,7 +17,8 @@ virtualenv -p "$TEST_PYTHON" "$TEST_ENV_DIR"
pip install --upgrade pip setuptools wheel
pip install -r../lib/galaxy/dependencies/pinned-lint-requirements.txt
# ensure ordered by dependency dag
# ensure ordered by dependency DAG
# TODO: add selenium in once type issues are cleared up
PACKAGE_DIRS=(
util
objectstore
@@ -30,6 +31,8 @@ PACKAGE_DIRS=(
auth
web_stack
web_framework
navigation
tours
app
webapps
test_base
+11
View File
@@ -0,0 +1,11 @@
History
-------
.. to_doc
---------------------
22.9.0.dev0
---------------------
* First release from the 22.09 branch of Galaxy.
+1
View File
@@ -0,0 +1 @@
../../LICENSE.txt
+1
View File
@@ -0,0 +1 @@
include *.rst *.txt LICENSE
+1
View File
@@ -0,0 +1 @@
../package.Makefile
+17
View File
@@ -0,0 +1,17 @@
.. image:: https://badge.fury.io/py/galaxy-tours.svg
:target: https://pypi.org/project/galaxy-tours/
Overview
--------
The Galaxy_ tours backend framework.
This package includes models, utilities for reading tours from disk, and
tour validation scripting.
* Free software: Academic Free License version 3.0
* Code: https://github.com/galaxyproject/galaxy
.. _Galaxy: http://galaxyproject.org/
+1
View File
@@ -0,0 +1 @@
../package-dev-requirements.txt
+1
View File
@@ -0,0 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
+1
View File
@@ -0,0 +1 @@
../../../lib/galaxy/tours/
+1
View File
@@ -0,0 +1 @@
../../mypy.ini
+1
View File
@@ -0,0 +1 @@
../package-pyproject.toml
+1
View File
@@ -0,0 +1 @@
../build_scripts
+46
View File
@@ -0,0 +1,46 @@
[metadata]
author = Galaxy Project and Community
author_email = galaxy-committers@lists.galaxyproject.org
classifiers =
Development Status :: 5 - Production/Stable
Environment :: Console
Intended Audience :: Developers
License :: OSI Approved :: Academic Free License (AFL)
Natural Language :: English
Operating System :: POSIX
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Software Development
Topic :: Software Development :: Code Generators
Topic :: Software Development :: Testing
description = Galaxy tours backend framework
keywords =
Galaxy
license = AFL
license_files =
LICENSE
long_description = file: README.rst, HISTORY.rst
long_description_content_type = text/x-rst
name = galaxy-tours
url = https://github.com/galaxyproject/galaxy
version = 22.5.0.dev0
[options]
include_package_data = True
install_requires =
galaxy-navigation
pydantic
PyYAML
packages = find:
python_requires = >=3.7
[options.entry_points]
console_scripts =
gx-validate-tours = galaxy.tours.validate:main
[options.packages.find]
exclude =
tests*
+1
View File
@@ -0,0 +1 @@
pytest