blob: 97dc454e7719050a0ad6108cd219c1fc87fb4e6a [file] [log] [blame]
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -08001# Copyright 2017-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Zack Williams5c2ea232019-01-30 15:23:01 -070015from __future__ import absolute_import
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -080016
Zack Williams5c2ea232019-01-30 15:23:01 -070017import os
18from shutil import copyfile
19
20from setuptools import setup
21
22
23def version():
24 # Copy VERSION file of parent to module directory if not found
25 if not os.path.exists("xosmigrate/VERSION"):
26 copyfile("../../VERSION", "xosmigrate/VERSION")
27 with open("xosmigrate/VERSION") as f:
28 return f.read().strip()
29
30
31def parse_requirements(filename):
32 # parse a requirements.txt file, allowing for blank lines and comments
33 requirements = []
34 for line in open(filename):
35 if line and not line.startswith("#"):
36 requirements.append(line)
37 return requirements
38
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -080039
40setup(
Zack Williams5c2ea232019-01-30 15:23:01 -070041 name="xosmigrate",
42 version=version(),
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -080043 description="XOS Migrations Toolkit",
44 author="Matteo Scandolo",
45 author_email="teo@opennetworking.org",
Zack Williams5c2ea232019-01-30 15:23:01 -070046 classifiers=["License :: OSI Approved :: Apache Software License"],
47 license="Apache v2",
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -080048 packages=["xosmigrate"],
49 scripts=["bin/xos-migrate"],
Zack Williams5c2ea232019-01-30 15:23:01 -070050 install_requires=parse_requirements("requirements.txt"),
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -080051 include_package_data=True,
Matteo Scandolo57fdb4b2019-02-06 18:27:56 -080052)