prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Automate Build Process
  Currently we have no automated process for building Addons across python version and operating systems. Going forward we'll want this process to be automated.. but it may be challenging for us to start builds without access to the Google internal tooling.
  
  We could conceivably use Travis... but if we can keep consistent CI that would be ideal.
  
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 # Copyright 2019 The TensorFlow Authors. All Rights Reserved.
  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 # ==============================================================================
  15 """TensorFlow Addons 
  16 
  17 TensorFlow Addons is a repository of contributions that conform to
  18 well-established API patterns,but implement new functionality not available in
  19 core TensorFlow.TensorFlow natively supports a large number of operators,
  20 layers, metrics, losses, and optimizers. However, in a fast movingfield like
  21 ML, there are many interesting new developments that cannot be integrated into
  22 core TensorFlow (because their broad applicability is not yet clear, or it is
  23 mostly used by a smallersubset of the community).
  24 """
  25 
  26 from __future__ import absolute_import
  27 from __future__ import division
  28 from __future__ import print_function
  29 
  30 import os
  31 
  32 from setuptools import find_packages
  33 from setuptools import setup
  34 from setuptools.dist import Distribution
  35 
  36 DOCLINES = __doc__.split('\n')
  37 
  38 version = {}
  39 base_dir = os.path.dirname(os.path.abspath(__file__))
  40 with open(os.path.join(base_dir, "tensorflow_addons", "version.py")) as fp:
  41     # yapf: disable
  42     exec(fp.read(), version)
  43     # yapf: enable
  44 
  45 REQUIRED_PACKAGES = [
  46     'six >= 1.10.0',
  47 ]
  48 
  49 project_name = 'tensorflow-addons'
  50 
  51 
  52 class BinaryDistribution(Distribution):
  53     """This class is needed in order to create OS specific wheels."""
  54 
  55     def has_ext_modules(self):
  56         return True
  57 
  58 
  59 setup(
  60     name=project_name,
  61     version=version['__version__'],
  62     description=DOCLINES[0],
  63     long_description='\n'.join(DOCLINES[2:]),
  64     author='Google Inc.',
  65     author_email='opensource@google.com',
  66     packages=find_packages(),
  67     install_requires=REQUIRED_PACKAGES,
  68     include_package_data=True,
  69     zip_safe=False,
  70     distclass=BinaryDistribution,
  71     classifiers=[
  72         'Development Status :: 4 - Beta',
  73         'Intended Audience :: Developers',
  74         'Intended Audience :: Education',
  75         'Intended Audience :: Science/Research',
  76         'License :: OSI Approved :: Apache Software License',
  77         'Programming Language :: Python :: 2.7',
  78         'Programming Language :: Python :: 3.4',
  79         'Programming Language :: Python :: 3.5',
  80         'Programming Language :: Python :: 3.6',
  81         'Programming Language :: Python :: 3.7',
  82         'Topic :: Scientific/Engineering :: Mathematics',
  83         'Topic :: Software Development :: Libraries :: Python Modules',
  84         'Topic :: Software Development :: Libraries',
  85     ],
  86     license='Apache 2.0',
  87     keywords='tensorflow addons machine learning',
  88 )
  89
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -17,10 +17,10 @@
   TensorFlow Addons is a repository of contributions that conform to
   well-established API patterns,but implement new functionality not available in
   core TensorFlow.TensorFlow natively supports a large number of operators,
  -layers, metrics, losses, and optimizers. However, in a fast movingfield like
  +layers, metrics, losses, and optimizers. However, in a fast moving field like
   ML, there are many interesting new developments that cannot be integrated into
   core TensorFlow (because their broad applicability is not yet clear, or it is
  -mostly used by a smallersubset of the community).
  +mostly used by a smaller subset of the community).
   """
   
   from __future__ import absolute_import
  @@ -28,7 +28,9 @@
   from __future__ import print_function
   
   import os
  +import sys
   
  +from datetime import datetime
   from setuptools import find_packages
   from setuptools import setup
   from setuptools.dist import Distribution
  @@ -46,7 +48,13 @@
       'six >= 1.10.0',
   ]
   
  -project_name = 'tensorflow-addons'
  +if '--nightly' in sys.argv:
  +    project_name = 'tfa-nightly'
  +    nightly_idx = sys.argv.index('--nightly')
  +    sys.argv.pop(nightly_idx)
  +    version['__version__'] += datetime.strftime(datetime.today(), "%Y%m%d")
  +else:
  +    project_name = 'tensorflow-addons'
   
   
   class BinaryDistribution(Distribution):
  @@ -78,7 +86,6 @@
           'Programming Language :: Python :: 3.4',
           'Programming Language :: Python :: 3.5',
           'Programming Language :: Python :: 3.6',
  -        'Programming Language :: Python :: 3.7',
           'Topic :: Scientific/Engineering :: Mathematics',
           'Topic :: Software Development :: Libraries :: Python Modules',
           'Topic :: Software Development :: Libraries',
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -17,10 +17,10 @@\n TensorFlow Addons is a repository of contributions that conform to\n well-established API patterns,but implement new functionality not available in\n core TensorFlow.TensorFlow natively supports a large number of operators,\n-layers, metrics, losses, and optimizers. However, in a fast movingfield like\n+layers, metrics, losses, and optimizers. However, in a fast moving field like\n ML, there are many interesting new developments that cannot be integrated into\n core TensorFlow (because their broad applicability is not yet clear, or it is\n-mostly used by a smallersubset of the community).\n+mostly used by a smaller subset of the community).\n \"\"\"\n \n from __future__ import absolute_import\n@@ -28,7 +28,9 @@\n from __future__ import print_function\n \n import os\n+import sys\n \n+from datetime import datetime\n from setuptools import find_packages\n from setuptools import setup\n from setuptools.dist import Distribution\n@@ -46,7 +48,13 @@\n     'six >= 1.10.0',\n ]\n \n-project_name = 'tensorflow-addons'\n+if '--nightly' in sys.argv:\n+    project_name = 'tfa-nightly'\n+    nightly_idx = sys.argv.index('--nightly')\n+    sys.argv.pop(nightly_idx)\n+    version['__version__'] += datetime.strftime(datetime.today(), \"%Y%m%d\")\n+else:\n+    project_name = 'tensorflow-addons'\n \n \n class BinaryDistribution(Distribution):\n@@ -78,7 +86,6 @@\n         'Programming Language :: Python :: 3.4',\n         'Programming Language :: Python :: 3.5',\n         'Programming Language :: Python :: 3.6',\n-        'Programming Language :: Python :: 3.7',\n         'Topic :: Scientific/Engineering :: Mathematics',\n         'Topic :: Software Development :: Libraries :: Python Modules',\n         'Topic :: Software Development :: Libraries',\n", "issue": "Automate Build Process\nCurrently we have no automated process for building Addons across python version and operating systems. Going forward we'll want this process to be automated.. but it may be challenging for us to start builds without access to the Google internal tooling.\r\n\r\nWe could conceivably use Travis... but if we can keep consistent CI that would be ideal.\r\n\r\n\n", "before_files": [{"content": "# Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ==============================================================================\n\"\"\"TensorFlow Addons \n\nTensorFlow Addons is a repository of contributions that conform to\nwell-established API patterns,but implement new functionality not available in\ncore TensorFlow.TensorFlow natively supports a large number of operators,\nlayers, metrics, losses, and optimizers. However, in a fast movingfield like\nML, there are many interesting new developments that cannot be integrated into\ncore TensorFlow (because their broad applicability is not yet clear, or it is\nmostly used by a smallersubset of the community).\n\"\"\"\n\nfrom __future__ import absolute_import\nfrom __future__ import division\nfrom __future__ import print_function\n\nimport os\n\nfrom setuptools import find_packages\nfrom setuptools import setup\nfrom setuptools.dist import Distribution\n\nDOCLINES = __doc__.split('\\n')\n\nversion = {}\nbase_dir = os.path.dirname(os.path.abspath(__file__))\nwith open(os.path.join(base_dir, \"tensorflow_addons\", \"version.py\")) as fp:\n    # yapf: disable\n    exec(fp.read(), version)\n    # yapf: enable\n\nREQUIRED_PACKAGES = [\n    'six >= 1.10.0',\n]\n\nproject_name = 'tensorflow-addons'\n\n\nclass BinaryDistribution(Distribution):\n    \"\"\"This class is needed in order to create OS specific wheels.\"\"\"\n\n    def has_ext_modules(self):\n        return True\n\n\nsetup(\n    name=project_name,\n    version=version['__version__'],\n    description=DOCLINES[0],\n    long_description='\\n'.join(DOCLINES[2:]),\n    author='Google Inc.',\n    author_email='opensource@google.com',\n    packages=find_packages(),\n    install_requires=REQUIRED_PACKAGES,\n    include_package_data=True,\n    zip_safe=False,\n    distclass=BinaryDistribution,\n    classifiers=[\n        'Development Status :: 4 - Beta',\n        'Intended Audience :: Developers',\n        'Intended Audience :: Education',\n        'Intended Audience :: Science/Research',\n        'License :: OSI Approved :: Apache Software License',\n        'Programming Language :: Python :: 2.7',\n        'Programming Language :: Python :: 3.4',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Topic :: Scientific/Engineering :: Mathematics',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n        'Topic :: Software Development :: Libraries',\n    ],\n    license='Apache 2.0',\n    keywords='tensorflow addons machine learning',\n)\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ==============================================================================\n\"\"\"TensorFlow Addons \n\nTensorFlow Addons is a repository of contributions that conform to\nwell-established API patterns,but implement new functionality not available in\ncore TensorFlow.TensorFlow natively supports a large number of operators,\nlayers, metrics, losses, and optimizers. However, in a fast moving field like\nML, there are many interesting new developments that cannot be integrated into\ncore TensorFlow (because their broad applicability is not yet clear, or it is\nmostly used by a smaller subset of the community).\n\"\"\"\n\nfrom __future__ import absolute_import\nfrom __future__ import division\nfrom __future__ import print_function\n\nimport os\nimport sys\n\nfrom datetime import datetime\nfrom setuptools import find_packages\nfrom setuptools import setup\nfrom setuptools.dist import Distribution\n\nDOCLINES = __doc__.split('\\n')\n\nversion = {}\nbase_dir = os.path.dirname(os.path.abspath(__file__))\nwith open(os.path.join(base_dir, \"tensorflow_addons\", \"version.py\")) as fp:\n    # yapf: disable\n    exec(fp.read(), version)\n    # yapf: enable\n\nREQUIRED_PACKAGES = [\n    'six >= 1.10.0',\n]\n\nif '--nightly' in sys.argv:\n    project_name = 'tfa-nightly'\n    nightly_idx = sys.argv.index('--nightly')\n    sys.argv.pop(nightly_idx)\n    version['__version__'] += datetime.strftime(datetime.today(), \"%Y%m%d\")\nelse:\n    project_name = 'tensorflow-addons'\n\n\nclass BinaryDistribution(Distribution):\n    \"\"\"This class is needed in order to create OS specific wheels.\"\"\"\n\n    def has_ext_modules(self):\n        return True\n\n\nsetup(\n    name=project_name,\n    version=version['__version__'],\n    description=DOCLINES[0],\n    long_description='\\n'.join(DOCLINES[2:]),\n    author='Google Inc.',\n    author_email='opensource@google.com',\n    packages=find_packages(),\n    install_requires=REQUIRED_PACKAGES,\n    include_package_data=True,\n    zip_safe=False,\n    distclass=BinaryDistribution,\n    classifiers=[\n        'Development Status :: 4 - Beta',\n        'Intended Audience :: Developers',\n        'Intended Audience :: Education',\n        'Intended Audience :: Science/Research',\n        'License :: OSI Approved :: Apache Software License',\n        'Programming Language :: Python :: 2.7',\n        'Programming Language :: Python :: 3.4',\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n        'Topic :: Scientific/Engineering :: Mathematics',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n        'Topic :: Software Development :: Libraries',\n    ],\n    license='Apache 2.0',\n    keywords='tensorflow addons machine learning',\n)\n", "path": "setup.py"}]}