resopt-cli 0.7.0

Find, review and safely apply resource optimizations for Apple and Android projects.
Documentation
+
K
�j���|�Rt^RIt^RIHt^RIt^RIt^RIt^RIt^RItRRlt	Rt
Rt]R8Xd
]!4R#R#)zBSmoke-test and package the native CLI built by this matrix runner.N)�Pathc�4aaa�^RIo^RIoVV3RlpRPV3Rl\V444pVP	RV!RSPRSV^^^^^44,V!RSP
V^44,V!R	R4,4R#)
zBA stored-deflate RGBA gradient: valid, and trivially compressible.Nc�<�W,pSPR\V44V,SPRSPV44,#)z>I)�pack�len�crc32)�kind�data�body�struct�zlibs&& ���J/Users/wendell/Developer/oops-rs/resopt/.github/scripts/package-release.py�chunk�write_png.<locals>.chunks>����{���{�{�4��T��+�d�2�V�[�[��t�z�z�RV�GW�5X�X�X�rc3�p<a"�TF*oR\V3Rl\S444,x�K,	R#5i)�c3�v<"�TF.q^,R,S^,R,^x^�3Fq"x�K	K0	R#5i)��N�)�.0�x�value�ys&  �r
�	<genexpr>�&write_png.<locals>.<genexpr>.<genexpr>s5����f�|�!�a�%�#�+�q�ST�u�WZ�{�\_�ad�Ae���Ae��|�s�69N)�bytes�range)rr�widths&@�r
r�write_png.<locals>.<genexpr>s/������A�	�%�f�u�U�|�f�f�f�f��s�26s�PNG

sIHDRz>IIBBBBBsIDATsIEND)rr�joinr�write_bytesr�compress)�pathr�heightr�rowsrrs&f&  @@r
�	write_pngr's������Y��8�8���v����D�	����
�����Z����1�a��A�N�
O�	P�
�����t�Q�/�
0�	1����
�	�rc��a�^RIp\P!4;_uu_4p\V4P	4pVR,pVR,PRR7VR,R,p\
V4VP4pVR,pV3RlpV!R	4V!R
\V4R\V4RR
R4VPVR,PRR74p	\RV	R,44p
V
R,Uu0uF$q�PR4'gKVR,kK&	ppRR0V8:g\RV24hV!R\V44\VP44\V48�d\R4hV!R\V44VP4V8wd\R4hRRR4R#uupi +'giR#;i)zIAnalyze, batch-apply and restore a tiny project with the packaged binary.N�project�imagesT)�parents�gradient.png�reportc�P<�\P!\S4.VORRRR7#)T)�check�capture_output�text)�
subprocess�run�str)�args�binarys*�r
�<lambda>�%workflow_smoke_test.<locals>.<lambda>-s"���J�N�N�C��K�+?�$�+?�t�\`�gk�lr�doctor�analyzez--outz
--no-cachez--qualities�85z
analysis.jsonzutf-8)�encodingc3�r"�TF-qR,R,PR4'gK)Vx�K/	R#5i)�resourcer$r,N)�endswith)r�rs& r
r�&workflow_smoke_test.<locals>.<genexpr>1s)���f�3���}�V�7L�7U�7U�Vd�7e�1�1�3�s�&7�
7�	resources�
candidates�artifact�format�png�webpz&Expected PNG and WebP candidates, got �applyz,Lossless batch apply did not shrink the file�restorezRestore was not byte-exact)�json�tempfile�TemporaryDirectoryr�resolve�mkdirr'�
read_bytesr4�loads�	read_text�next�get�
SystemExitr)
r6rJ�	temporary�rootr)�source�originalr-r3�analysis�row�c�formatss
f            r
�workflow_smoke_testr]!s�����	�	$�	$�	&�	&�)��I��&�&�(����"��	�8�	�"�"�4�"�0��8�#�n�4���&���$�$�&������l���H�
��I�s�7�|�W�c�&�k�<��X\�]��:�:�v��7�B�B�G�B�T�U���f�h�{�3�f�f��(+�L�(9�O�(9�1�U�U�:�=N�;�1�X�;�;�(9��O��v��'�)��E�g�Y�O�P�P��G�S��[�!��v� � �"�#�s�8�}�4��K�L�L��I�s�6�{�#�����(�*��9�:�:�+�)
'�	&��P�
'�	&�	&�s%�C*G�
G�*
G�7BG�G�G'	c�P�\PR,p\PR,pRVRV2pVPR4pV'dRMRp\\PP	RR44pWP,R	,V,p\
P!\VP44R
.RR7P4pVR
V28wd\RV:24h\
P!\VP44RR.RR7\
P!\VP44RR.RR7\VP44\R4pVPRR7Y�V'dRMR2,p	\P!4;_uu_4p
\V
4V,pVP4V\R4\R43F*p\ P"!W�VP$,4K,	V'dy\&P(!V	R\&P*4;_uu_4p
\-VP/44F#pV
P1W�RVP$24K%	RRR4M:\2P4!V	R4;_uu_4p
V
P7W�R7RRR4RRR4\9V	4R# +'giL%;i +'giL8;i +'giLC;i)�RELEASE_TARGET�RELEASE_VERSIONzresopt-v�-zwindows-msvcz
resopt.exe�resopt�CARGO_TARGET_DIR�target�releasez	--versionT)r1zresopt zWrong binary version: �servez--help)r/�web�dist)�exist_okz.zipz.tar.gzz	README.md�LICENSE�w�/Nzw:gz)�arcname)�os�environr?rrSr2�check_outputr4rM�striprTr3r]rNrKrL�shutil�copy2�name�zipfile�ZipFile�ZIP_DEFLATED�sorted�iterdir�write�tarfile�open�add�print)rd�versionrt�windows�binary_name�
target_dirr6�result�out�archiverU�packagerW�bundles              r
�mainr�=sD��
�Z�Z�(�
)�F��j�j�*�+�G�
�g�Y�a��x�(�D��o�o�n�-�G�")�,�x�K��b�j�j�n�n�%7��B�C�J�
�
 �9�
,�{�
:�F�
�
$�
$�c�&�.�.�*:�&;�[�%I�PT�
U�
[�
[�
]�F�
�7�7�)�$�$��1�&��<�=�=��N�N�C����(�)�7�H�=�T�J��N�N�C����(�)�5�(�;�4�H�����(�)�
�v�,�C��I�I�t�I���f�w�V�I�>�?�?�G�	�	$�	$�	&�	&�)��y�/�D�(���
�
���t�K�0�$�y�/�B�F��L�L��6�;�;�!6�7�C������#�w�/C�/C�D�D��$�W�_�_�%6�7�F��L�L��6��6�;�;�-�)@�A�8�E�D����g�v�.�.�&��
�
�7�
�1�/�
'�
�'�N�
E�D��/�.��
'�	&�sD�8A/L�(.L�AK/	�(L�?L	�L�/K?
�:L�L
�
L�L%	�__main__)�`r�)
�__doc__rn�pathlibrrrr2r{rKrur'r]r��__name__rrr
�<module>r�sA��H�	��
������*;�8�@�z���F�r