YC@sdZddlmZddlmZmZddlmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZmZmZddlmZdd lmZdd lmZy&dd lmZmZd d ZWn4ek r0ddlmZmZdd ZYnXddZddZ GdddeZ!e"j#dj$Z%ddZ&ddZ'ddZ(dddd iZ)d!d"Z*d#d$Z+d%d&Z,d'd(d)d*gZ-dddd+d,d-Z.dS).z6setuptools.command.bdist_egg Build .egg distributions)DistutilsSetupError) remove_treemkpath)log)CodeTypeN)get_build_platform Distributionensure_directory) EntryPoint)Library)Command)get_pathget_python_versioncCs tdS)Npurelib)r rrB/tmp/pip-build-3puug3g5/setuptools/setuptools/command/bdist_egg.py _get_purelibsr)get_python_librcCs tdS)NF)rrrrrrscCsEd|kr"tjj|d}|jdrA|dd}|S)N.rmodulei)ospathsplitextendswith)filenamerrr strip_module"s  rc CsCtjdj}t|d}|j||WdQRXdS)NaR def __bootstrap__(): global __bootstrap__, __loader__, __file__ import sys, pkg_resources, imp __file__ = pkg_resources.resource_filename(__name__, %r) __loader__ = None; del __bootstrap__, __loader__ imp.load_dynamic(__name__,__file__) __bootstrap__() w)textwrapdedentlstripopenwrite)resourcepyfileZ_stub_templatefrrr write_stub*sr&c@seZdZdZd*dddefd+d d d dfd,d-gZd ddgZddZddZddZ ddZ ddZ ddZ d d!Z d"d#Zd$d%Zd&d'Zd(d)Zd S). bdist_eggzcreate an "egg" distribution bdist-dir=b1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)exclude-source-filesN+remove all .py files from the generated eggz keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=d-directory to put final built distributions in skip-build2skip rebuilding everything (for testing/debugging)cCsCd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_name keep_tempdist_dir skip_build egg_outputexclude_source_files)selfrrrinitialize_optionsOs      zbdist_egg.initialize_optionscCs|jd}|_|j|_|jdkr[|jdj}tjj|d|_|jdkrvt |_|j dd|j dkrt dd|j |jt|jjo|jj }tjj|j|d|_ dS)Negg_infobdistZeggr7z.egg)dist_dirr?)get_finalized_commandei_cmdr=r4 bdist_baserrjoinr5rset_undefined_optionsr9regg_nameZ egg_versionr distributionhas_ext_modulesr7)r;rArBbasenamerrrfinalize_optionsXs  !zbdist_egg.finalize_optionsc Cs\|j|jd_tjjtjjt}|jj g}|j_ x|D]}t |t rt |dkrtjj |drtjj|d}tjj|}||ks|j|tjr|t |dd|df}|jj j|qVWz0tjd|j|jdddddWd||j_ XdS) Ninstallrzinstalling package data to %s install_dataforceroot)r4r@ install_librrnormcaserealpathrrF data_files isinstancetuplelenisabs startswithsepappendrinfo call_command)r; site_packagesolditemrR normalizedrrrdo_install_dataps ! !$zbdist_egg.do_install_datacCs |jgS)N)r9)r;rrr get_outputsszbdist_egg.get_outputscKsmx!tD]}|j||jqW|jd|j|jd|j|j||}|j||S)z8Invoke reinitialized command `cmdname` with keyword argsr8dry_run)INSTALL_DIRECTORY_ATTRS setdefaultr4r8rcreinitialize_command run_command)r;Zcmdnamekwdirnamecmdrrrr\s  zbdist_egg.call_commandc Cs|jdtjd|j|jd}|j}d|_|jjrg|j rg|jd|j ddd}||_|j \}}g|_ g}xt |D]\}}t jj|\} } t jj|jt| d} |j j| tjd ||js;tt jj|| |j| |jt jd ||.visit compression) zipfilerrrrirr[ ZIP_DEFLATED ZIP_STOREDZipFilerr}) zip_filenamerrsrccompressrtrrrrrirrr)rrcrrs   r)/__doc__distutils.errorsrdistutils.dir_utilrr distutilsrtypesrrrrrr pkg_resourcesrrr r Zsetuptools.extensionr setuptoolsr sysconfigr rr ImportErrordistutils.sysconfigrrr&r'rrsplitrrrrrrrrrdrrrrrsF            "