U �V�Y � @ s� d Z ddlmZ ddlmZ ddlmZ ddlZddl Z ddl Z ddlZddlZddl Z ddlmZ ddlmZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddlZddlmZ ddlmZ dZdZdd� Zdd� Zdd� Zdd� Z dOdd�Z!dPdd�Z"G dd � d ej�Z#G d!d"� d"ej�Z$G d#d$� d$ej%�Z&G d%d&� d&e j'�Z(d'd(� Z)z&dd)l*m+Z+ G d*d+� d+e+j,�Z-d,Z.W n e/k �r� dZ.Y nX d-d.� Z0d/Z1d0Z2e2e2e1d1�Z3e j4�5ej6�dfd2d3�Z7G d4d5� d5ej�Z8G d6d7� d7ej�Z9G d8d9� d9ej:�Z;G d:d;� d;ej�Z<d<d=� Z=G d>d?� d?ej�Z>z dd@lm?Z? d,Z@e?jAZAe?jBZBW n" e/k �r� dZ@dZAdZBY nX dAdB� ZCdCdD� ZDdEdF� ZEdGdH� ZFdQdIdJ�ZGdKdL� ZHdRdMdN�ZIejJjKZKdS )Sz4 Utilities with minimum-depends for use in setup.py � )�unicode_literals)�install)�logN)�develop)�easy_install)�egg_info)�install_scripts)�sdist)�extra_files)�git)�options)� testr_command)�version)zrequirements.txtztools/pip-requires)ztest-requirements.txtztools/test-requiresc C sX t j�d�} | r(tdd� | �d�D ��S ttdttj d � j tt jjt ���tt � S )NZPBR_REQUIREMENTS_FILESc s s | ]}|� � V qd S �N��strip��.0�f� r � /packaging.py� <genexpr>5 s z)get_requirements_files.<locals>.<genexpr>�,z-pyr )�os�environ�get�tuple�split�list�map�str�sys�version_info�join�path�splitext�REQUIREMENTS_FILES)�filesr r r �get_requirements_files2 s ��r( c C s: g }| � |d�}|r|�|� |�|� d�|�| |<