Initial work toward separate galaxy-lib, galaxy-app, galaxy, and

tool-shed packages (see #1396). Lots of path fixing to be done still.
This commit is contained in:
Nate Coraor
2016-07-07 13:49:27 -04:00
parent 362b27ed2f
commit cfc3bee2a2
+99 -20
View File
@@ -1,3 +1,4 @@
import os
import sys
from setuptools import setup, find_packages
@@ -11,6 +12,91 @@ readme = open('README.rst').read()
requirements = [
]
GALAXY_PACKAGE = os.environ.get("GALAXY_PACKAGE", "galaxy-lib")
def _find_packages(base):
r = []
for sub in find_packages(os.sep.join(['lib'] + base.split('.'))):
print 'Found package', '.'.join([base, sub])
r.append('.'.join([base, sub]))
return r
if GALAXY_PACKAGE == "galaxy-lib":
requirements = []
base_packages = [
'galaxy.datatypes',
'galaxy.exceptions',
'galaxy.jobs.metrics',
'galaxy.objectstore',
'galaxy.tools',
'galaxy.util',
]
package_data = [
'exceptions/error_codes.json',
'datatypes/converters/*.xml',
'datatypes/set_metadata_tool.xml',
'tools/imp_exp/imp_history_from_archive.xml',
'tools/imp_exp/exp_history_to_archive.xml',
]
elif GALAXY_PACKAGE == "galaxy-app":
requirements = [
'galaxy-lib',
]
base_packages = [
'galaxy.auth',
'galaxy.dependencies',
'galaxy.external_services',
'galaxy.jobs',
'galaxy.model',
'galaxy.quota',
'galaxy.security',
'galaxy.work',
]
package_data = [
'jobs/runners/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh',
'jobs/runners/util/job_script/CLUSTER_SLOTS_STATEMENT.sh',
'model/migrate/migrate.cfg',
'dependencies/*.txt',
# FIXME: web/proxy/js/lib doesn't exist
#'web/proxy/js/*',
]
elif GALAXY_PACKAGE == "galaxy":
requirements = [
'galaxy-app',
]
base_packages = [
'galaxy.actions',
'galaxy.dataset_collections',
'galaxy.forms',
'galaxy.managers',
'galaxy.openid',
'galaxy.sample_tracking',
'galaxy.tags',
'galaxy.tours',
'galaxy.visualization',
'galaxy.web',
'galaxy.webapps',
'galaxy.workflow',
]
package_data = []
elif GALAXY_PACKAGE == 'tool-shed':
requirements = [
'galaxy-app',
]
packages = ['tool_shed'] + _find_packages('tool_shed')
package_data = []
else:
sys.stderr.write('ERROR: Unknown package name: {}\n'.format(GALAXY_PACKAGE))
sys.exit(1)
if GALAXY_PACKAGE.startswith('galaxy'):
packages = ['galaxy']
for base_package in base_packages:
packages.append(base_package)
packages.extend(_find_packages(base_package))
# sets VERSION (also VERSION_MAJOR and VERSION_MINOR)
execfile('lib/galaxy/version.py')
@@ -18,38 +104,31 @@ execfile('lib/galaxy/version.py')
scripts = ["scripts/galaxy"]
setup(
name='galaxy',
#name='galaxy',
name=GALAXY_PACKAGE,
version=VERSION,
description='Galaxy (http://galaxyproject.org/).',
long_description=readme,
author='Galaxy Project',
author_email='galaxy-dev@lists.galaxyproject.org',
url='https://github.com/galaxyproject/galaxy',
packages=find_packages('lib'),
#packages=find_packages('lib'),
packages=packages,
entry_points='''
[console_scripts]
galaxy-paster=galaxy.util.pastescript.serve:run
galaxy-main=galaxy.main:main
''',
scripts=scripts,
package_data={'galaxy': [
'exceptions/error_codes.json',
'jobs/runners/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh',
'jobs/runners/util/job_script/CLUSTER_SLOTS_STATEMENT.sh',
'model/migrate/migrate.cfg',
'dependencies/*.txt',
'datatypes/converters/*.xml',
'datatypes/set_metadata_tool.xml',
'tools/imp_exp/imp_history_from_archive.xml',
'tools/imp_exp/exp_history_to_archive.xml',
# FIXME: web/proxy/js/lib doesn't exist
#'web/proxy/js/*',
], 'tool_shed': [
'galaxy_install/migrate/migrate.cfg',
'scripts/bootstrap_tool_shed/parse_run_sh_args.sh',
'scripts/bootstrap_tool_shed/bootstrap_tool_shed.sh',
'scripts/bootstrap_tool_shed/user_info.xml',
]},
package_data={
'galaxy': package_data,
'tool_shed': [
'galaxy_install/migrate/migrate.cfg',
'scripts/bootstrap_tool_shed/parse_run_sh_args.sh',
'scripts/bootstrap_tool_shed/bootstrap_tool_shed.sh',
'scripts/bootstrap_tool_shed/user_info.xml',
],
},
package_dir={'': 'lib'},
include_package_data=True,
install_requires=requirements,