2.9 KiB
2.9 KiB
gradle-mirror
gradle-mirror یک ابزار خط فرمان (CLI) با پایتون است که با ویرایش فایل سراسری Gradle (init.gradle.kts) آینههای مخزن (mirror repositories) را فعال یا غیرفعال میکند.
قابلیتها
- فعالسازی آینهها با درج یک بلاک مدیریتشده داخل
init.gradle.kts - غیرفعالسازی با بازیابی فایل پشتیبان یا حذف بلاک بین markerها
- رفتار idempotent (اجرای چندباره
activeباعث تکرار بلاک نمیشود) - خروجی رنگی در CLI
- لاگگیری از عملیات
- سازگار با Linux، macOS و Windows
ساختار پروژه
gradle_mirror/
__init__.py
init.py
cli.py
mirror_manager.py
gradle_locator.py
constants.py
utils.py
main.py
pyproject.toml
README.md
README.fa.md
پیشنیازها
- Python 3.10 یا بالاتر
- pip
نصب
روش 1 (پیشنهادی): نصب بهصورت ابزار CLI
در ریشه پروژه اجرا کنید:
python -m pip install .
بعد از نصب:
gradle-mirror --help
روش 2: اجرا بدون نصب
python -m gradle_mirror.main --help
استفاده
فعالسازی آینهها
gradle-mirror active
نمونه خروجی:
✅ Gradle mirror activated
📁 Updated /Users/you/.gradle/init.gradle.kts
غیرفعالسازی آینهها
gradle-mirror deactive
نحوه کار ابزار
- مسیر Gradle User Home به این ترتیب تشخیص داده میشود:
- اگر متغیر محیطی
GRADLE_USER_HOMEتنظیم شده باشد، همان استفاده میشود. - در غیر این صورت، مسیر پیشفرض
~/.gradleاستفاده میشود.
- اگر متغیر محیطی
- فایل هدف:
<gradle_home>/init.gradle.kts - markerهای بلاک مدیریتشده:
/* gradle-mirror-start *//* gradle-mirror-end */
- فایل پشتیبان:
init.gradle.kts.bak - فایل لاگ:
gradle-mirror.log
نکات مهم
- فرمان
activeاگر markerها از قبل موجود باشند، محتوای بین آنها را جایگزین میکند (بدون تکرار). - فرمان
deactiveابتدا تلاش میکند از فایل پشتیبان بازیابی کند. - اگر بعد از حذف بلاک، فایل
init.gradle.ktsخالی شود، فایل حذف میشود.
عیبیابی سریع
- اگر خطای
No module named typerگرفتید:
python -m pip install .
یا:
python -m pip install typer
- برای بررسی لاگها، فایل زیر را ببینید:
~/.gradle/gradle-mirror.log
(اگر GRADLE_USER_HOME تنظیم شده باشد، لاگ داخل همان مسیر ساخته میشود.)