
    3                        % S SK Jr  S SKrS SKrS SKrS SKrS SKJrJr  S SK	r	S SK
r
SrSrSr/ SQrSr/ S	Qr\\   \S
'   / SQrSS/r\\   \S'   / r\\   \S'   / r\\   \S'   / r\\   \S'   0 r\\\\   4   \S'   S/r\\   \S'   / SQr\\   \S'   / r\\   \S'   / r\\   \S'   / r\\   \S'   / r\\   \S'   0 r\\\\   4   \S'   \R@                  " \!5      RD                  RG                  5       r$/ SQ\
RJ                  l&        S\
RJ                  l'        \
RP                  " \S9S 5       r)\
RP                  " \S9S 5       r*\
RP                  " \S9S  5       r+\
RP                  " \S9S! 5       r,S" r-\
RP                  " \S9S# 5       r.S$ r/\
RP                  " \S9S% 5       r0\
RP                  " \S9S& 5       r1\
RP                  " S'S9S( 5       r2\
RP                  " S'S9S) 5       r3\
RP                  " S*S9S+ 5       r4g),    )absolute_importN)DictListzflake8==6.1.0zblack[jupyter]==23.7.0zisort==5.11.0)docsgoogle_auth_httplib2.pytestsz
noxfile.pysetup.py3.8)z3.7r
   z3.93.10z3.11z3.123.13UNIT_TEST_PYTHON_VERSIONS)mock	asyncmockpytest
pytest-covzpytest-asyncioflaskzpytest-localserverUNIT_TEST_EXTERNAL_DEPENDENCIESUNIT_TEST_LOCAL_DEPENDENCIESUNIT_TEST_DEPENDENCIESUNIT_TEST_EXTRASUNIT_TEST_EXTRAS_BY_PYTHONSYSTEM_TEST_PYTHON_VERSIONS)r   r   zgoogle-cloud-testutils!SYSTEM_TEST_STANDARD_DEPENDENCIES!SYSTEM_TEST_EXTERNAL_DEPENDENCIESSYSTEM_TEST_LOCAL_DEPENDENCIESSYSTEM_TEST_DEPENDENCIESSYSTEM_TEST_EXTRASSYSTEM_TEST_EXTRAS_BY_PYTHON)	unitsystemcoverlintlint_setup_pyblackenr   docfxformatT)pythonc                     U R                  [        [        5        U R                  " SS/[        Q76   U R                  SSS5        g)zpRun linters.

Returns a failure if the linters find linting errors or sufficiently
serious code quality issues.
blackz--checkflake8r   r   N)installFLAKE8_VERSIONBLACK_VERSIONrun
LINT_PATHSsessions    Jplatform/gsutil/third_party/google-auth-library-python-httplib2/noxfile.pyr"   r"   \   sA     OONM2KK 

 KK3W=    c                 \    U R                  [        5        U R                  " S/[        Q76   g)z+Run black. Format code to uniform standard.r)   N)r+   r-   r.   r/   r0   s    r2   r$   r$   l   s'     OOM"KK	r3   c                     U R                  [        [        5        U R                  " SS/[        Q76   U R                  " S/[        Q76   g)zO
Run isort to sort imports. Then run black
to format code to uniform standard.
isortz--fssr)   N)r+   r-   ISORT_VERSIONr.   r/   r0   s    r2   r&   r&   v   sI     OOM=1 KK 

 KK	r3   c                 R    U R                  SS5        U R                  SSSSS5        g)	z4Verify that setup.py is valid (including RST check).docutilspygmentsr'   r	   checkz--restructuredtextz--strictNr+   r.   r0   s    r2   r#   r#      s'     OOJ
+KK*g/CZPr3   c                    [         [        -   nU R                  " / UQUQ76   [        (       a3  [        R
                  " S[        5        U R                  " / [        QUQ76   [        (       a  U R                  " / [        QUQ76   [        (       a!  [        R                  U R                  / 5      nO[        (       a  [        nO/ nU(       a(  U R                  " SSSR                  U5       S3/UQ76   g U R                  " SS/UQ76   g )Nz'unit_test_external_dependencies' is deprecated. Instead, please use 'unit_test_dependencies' or 'unit_test_local_dependencies'.-e.[,].)UNIT_TEST_STANDARD_DEPENDENCIESr   r+   r   warningswarnDeprecationWarningr   r   getr'   r   join)r1   constraintsstandard_depsextrass       r2   install_unittest_dependenciesrL      s    36LLMOO1]1[1&&N	

 	G8G;G##D5DD!!+//C		!388F#3"4A6EEc0K0r3   c                     [        [        S-  SU R                   S3-  5      n[        U SU5        U R                  " SSSU R                   S3S	S
SSSSS/
U R
                  Q76   g )Ntestingconstraints-.txt-cpy.test--quietz--junitxml=unit__sponge_log.xmlz--cov=google_auth_httplib2z--cov=testsz--cov-appendz--cov-config=.coveragercz--cov-report=z--cov-fail-under=0r   )strCURRENT_DIRECTORYr'   rL   r.   posargs)r1   constraints_paths     r2   r   r      s     I%,w~~6Fd(KK "'41AB KK
7>>*/:$" 
r3   c                 4   U R                  SS5        U R                   " / [        QUQ76   [        (       a  U R                   " / [        QUQ76   [        (       a  U R                   " S/[        QUQ76   [        (       a  U R                   " S/[        QUQ76   [
        (       a!  [
        R                  U R                  / 5      nO[        (       a  [        nO/ nU(       a(  U R                   " SSSR                  U5       S3/UQ76   g U R                   " SS/UQ76   g )N--prezgrpcio!=1.52.0rc1r>   r?   r@   rA   rB   )
r+   r   r   r   r   r   rG   r'   r   rH   )r1   rI   rK   s      r2   install_systemtest_dependenciesr[      s     OOG01OOE6EE((I:I[I%%L=LLF7F+F##-11'.."E		#388F#3"4A6EEc0K0r3   c                 H   [        [        S-  SU R                   S3-  5      n[        R                  R                  SS5      n[        R                  R                  SS5      n[        R                  R                  SS5      S	:X  a  U R                  S
5        [        R                  R                  SS	5      S:X  a  U R                  S5        [        R                  R                  U5      n[        R                  R                  U5      nU(       d  U(       d  U R                  S5        [        U SU5        U(       a.  U R                  " SSSU R                   S3U/U R                  Q76   U(       a/  U R                  " SSSU R                   S3U/U R                  Q76   gg)zRun the system test suite.rN   rO   rP   r   	system.pyr    RUN_SYSTEM_TESTStruefalsez*RUN_SYSTEM_TESTS is set to false, skipping!GOOGLE_API_USE_CLIENT_CERTIFICATE	pyopensslzSystem tests were not foundrQ   rR   rS   --junitxml=system_rT   N)rU   rV   r'   ospathrH   environrG   skipr+   existsr[   r.   rW   )r1   rX   system_test_pathsystem_test_folder_pathsystem_test_existssystem_test_folder_existss         r2   r    r       s`    I%,w~~6Fd(KK ww||G[9 ggll7H= 
zz~~(&1W<AB	zz~~97CvM$(89 "/F G&?23#GT3CD   0@		

 __	
 !  0@#		

 __	
 !r3   c                 t    U R                  SS5        U R                  SSSS5        U R                  SS5        g)zRun the final coverage report.

This outputs the coverage report aggregating coverage from the unit
test runs (not system test runs), and then erases coverage data.
coverager   reportz--show-missingz--fail-under=100eraseNr<   r0   s    r2   r!   r!     s4     OOJ-KK
H&68JKKK
G$r3   r   c                    U R                  SS5        U R                  SSSSSSS	S
5        [        R                  " [        R                  R                  SS5      SS9  U R                  SSSSSSS[        R                  R                  SSSS5      [        R                  R                  SS5      [        R                  R                  SSSS5      5
        g)z Build the docs for this library.r>   rB   sphinxcontrib-applehelp==1.0.4sphinxcontrib-devhelp==1.0.2sphinxcontrib-htmlhelp==2.0.1sphinxcontrib-qthelp==1.0.3$sphinxcontrib-serializinghtml==1.1.5zsphinx==4.5.0	alabasterrecommonmarkr   _buildTignore_errorssphinx-buildz-W-T-N-bhtml-ddoctrees Nr+   shutilrmtreerd   re   rH   r.   r0   s    r2   r   r     s     OOD#OO
 	)&'%. MM"'',,vx0EKK
VXz26
VR 
VXvr2r3   c                    U R                  SS5        U R                  SSSSSSS	S
5        [        R                  " [        R                  R                  SS5      SS9  U R                  SSSSSSSS[        R                  R                  SSSS5      [        R                  R                  SS5      [        R                  R                  SSSS5      5        g)z,Build the docfx yaml files for this library.r>   rB   rr   rs   rt   ru   rv   zgcp-sphinx-docfx-yamlrw   rx   r   ry   Trz   r|   r}   r~   z-Dzextensions=sphinx.ext.autodoc,sphinx.ext.autosummary,docfx_yaml.extension,sphinx.ext.intersphinx,sphinx.ext.coverage,sphinx.ext.napoleon,sphinx.ext.todo,sphinx.ext.viewcode,recommonmarkr   r   r   r   r   Nr   r0   s    r2   r%   r%   ?  s     OOD#OO
 	)&'%. MM"'',,vx0EKK 	
VXz26
VR 
VXvr2+r3   r   c                 T   U R                  SS5        [        [        -   nU R                   " U6   [        [        -   nU R                   " U6   [        [        S-  S[        S    S3-  SS9 nUR                  5       nS	S	S	5        [        R                  " S
W[        R                  S9 Vs/ s H  nUR                  S5      PM     nnU R                   " U6   SS/nU H  nU R                  SSSU5        M     S/n	U R                   " U	6   U R                  SSS5        U R                  SS5        [        R                  R!                  SS5      n
[        R                  R!                  SS5      n[        R                  R#                  U
5      (       a.  U R                  " SSSU R$                   S3U
/U R&                  Q76   [        R                  R#                  U5      (       a/  U R                  " SSSU R$                   S3U/U R&                  Q76   g	g	! , (       d  f       GN= fs  snf )zARun all tests with prerelease versions of dependencies installed.r>   z.[all, tests, tracing]rN   rO   r   rP   zutf-8)encodingNz^\s*(\S+)(?===\S+))flags   zgoogle-authhttplib2rZ   z	--no-depsz	--upgraderequestsr'   rQ   z2import google.auth; print(google.auth.__version__)rR   r   r]   r    z	--verboserc   rT   )r+   rC   r   r   r   openrV   r   readrefinditer	MULTILINEgroupr.   rd   re   rH   rh   r'   rW   )r1   unit_deps_allsystem_deps_allconstraints_fileconstraints_textmatchconstraints_depsprerel_depsdep
other_depsri   rj   s               r2   prerelease_depsr   m  s$   
 OOD2336UUMOO]#),MM  OO_%
 

	2156d
;	< 	

 
+002
 [[!#32<<

E 	A
   OO%& 	K
 k3? 
 	J OOZ  KK$ TUKK
 ww||G[9 ggll7H= 
ww~~&''  0@		

 __	
 
ww~~-..  0@#		

 __	
 /i
 
s   *H)H%
H")5
__future__r   rd   pathlibr   r   typingr   r   rD   noxr,   r-   r7   r/   DEFAULT_PYTHON_VERSIONr   rU   __annotations__rC   r   r   r   r   r   r   r   r   r   r   r   r   Path__file__parentabsoluterV   optionssessionserror_on_missing_interpretersr1   r"   r$   r&   r#   rL   r   r[   r    r!   r   r%   r    r3   r2   <module>r      s  & ' 	  	    
 (S
 ( 49 #  . c  +- d3i ,$& S	 &  $s)  35 Dd3i0 5*/ T#Y 00 !49 
 02 !49 1,. S	 .&( $s) ( " DI "57 d3S	>2 7LL*11::< 
  -1 ) *+> ,> *+ , *+ ,& *+Q ,Q18 -. /01< /0'
 1'
T *+	% ,	% F D F* *Z FJ
 J
r3   