View of /PEAK/setup.py
Parent Directory
| Revision Log
Revision:
1115 -
(
download)
(
as text)
Wed May 14 02:52:51 2003 UTC (20 years, 11 months ago) by
pje
File size: 3632 byte(s)
Began the move of 'peak.interface' to a separate 'protocols' package for
ease of distribution independently of PEAK. Also, removed caching of
success/failed adapter lookups, because there was no way for them to be
cleared when declarations were made for base classes of a class whose
lookup was cached. (To do caching, I'll have to add a separate cache.)
In the next pass, I'll add the new declaration API that Ty and I designed,
and then change PEAK to use it, factoring out the interim API, and changing
the few remaining introspections in PEAK to work via adapation. Then, it's
off to documentation, unit tests, and packaging for the 'protocols'
package.
#!/usr/bin/env python
"""Distutils setup file"""
execfile('src/setup/prologue.py')
include_tests = True # edit this to stop installation of test modules
include_metamodels = True # edit this to stop installation of MOF, UML, etc.
include_fcgiapp = True # edit this to stop installation of 'fcgiapp'
# Metadata
PACKAGE_NAME = "PEAK"
PACKAGE_VERSION = "0.5a1"
HAPPYDOC_IGNORE = [
'-i', 'examples', '-i', 'old', '-i', 'tests', '-i', 'setup',
'-i', 'kjbuckets', '-i', 'ZConfig', '-i', 'persistence',
]
# Base packages for installation
packages = [
'peak', 'peak.api', 'peak.binding', 'peak.config', 'peak.model',
'peak.naming', 'peak.naming.factories', 'peak.running',
'peak.storage', 'peak.util', 'protocols',
]
extensions = [
Extension("kjbuckets", ["src/kjbuckets/kjbucketsmodule.c"]),
Extension(
"peak.binding._once", [
"src/peak/binding/_once" + EXT,
"src/peak/binding/getdict.c"
]
),
Extension("peak.util.buffer_gap", ["src/peak/util/buffer_gap" + EXT]),
Extension("peak.util._Code", ["src/peak/util/_Code" + EXT]),
]
# Base data files
data_files = [
('peak', ['src/peak/peak.ini']),
]
if include_tests:
packages += [
'peak.tests', 'peak.binding.tests', 'peak.config.tests',
'peak.model.tests', 'peak.naming.tests', 'peak.running.tests',
'peak.storage.tests', 'peak.util.tests',
]
data_files += [
('peak/running/tests', ['src/peak/running/tests/test_cluster.txt']),
]
if include_metamodels:
packages += [
'peak.metamodels',
'peak.metamodels.UML13',
'peak.metamodels.UML13.model',
'peak.metamodels.UML13.model.Foundation',
'peak.metamodels.UML13.model.Behavioral_Elements',
]
if include_tests:
packages += [ 'peak.metamodels.tests' ]
data_files += [
('peak/metamodels/tests',
['src/peak/metamodels/tests/MetaMeta.xml']
),
]
try:
# Check if Zope X3 is installed; we use zope.component
# because we don't install it ourselves; if we used something we
# install, we'd get a false positive if PEAK was previously installed.
import zope.component
zope_installed = True
except ImportError:
zope_installed = False
if not zope_installed:
packages += [
'persistence', 'ZConfig',
]
extensions += [
Extension("persistence._persistence", ["src/persistence/persistence.c"])
]
if include_tests:
packages += [
'persistence.tests', 'ZConfig.tests',
]
data_files += findDataFiles('src/ZConfig/tests', 1, '*.xml', '*.txt', '*.conf')
import os
if os.name=='posix':
# install 'peak' script on Unix-like OS's (including cygwin)
scripts = ['scripts/peak']
# install 'fcgiapp' module, too
if include_fcgiapp:
extensions += [
Extension("fcgiapp", [
"src/fcgiapp/fcgiappmodule.c", "src/fcgiapp/fcgiapp.c"
])
]
else:
# Nothing to see here, move along...
scripts = []
execfile('src/setup/common.py')
setup(
name=PACKAGE_NAME,
version=PACKAGE_VERSION,
description="The Python Enterprise Application Kit",
author="Phillip J. Eby",
author_email="transwarp@eby-sarna.com",
url="http://peak.telecommunity.com/",
license="PSF or ZPL",
platforms=['UNIX','Windows'],
package_dir = {'':'src'},
packages = packages,
cmdclass = SETUP_COMMANDS,
data_files = data_files,
ext_modules = extensions,
scripts = scripts,
)