Skip to content

الترجمة 🌍

ساهم في ترجمة هذه الصفحة أو تحسينها.

ساهم

الدلائل

ينظم Tuist ملفاته عبر عدة دلائل على نظامك، باتباع [مواصفات الدليل الأساسي لـ XDG] (https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html). يوفر هذا طريقة قياسية ونظيفة لإدارة ملفات التكوين وذاكرة التخزين المؤقت وملفات الحالة.

متغيرات البيئة المدعومة

يدعم تويست كلاً من متغيرات XDG القياسية والمتغيرات المسبقة الخاصة بتويست. تحظى المتغيرات الخاصة بتويست (المسبوقة ببادئة TUIST_) بالأولوية، مما يسمح لك بتهيئة تويست بشكل منفصل عن التطبيقات الأخرى.

دليل التكوين

متغيرات البيئة:

  • TUIST_XDG_CONFIG_HOME (له الأسبقية)
  • xdg_config_home

الإعداد الافتراضي: ~/.config/tuist

تُستخدم لـ

  • بيانات اعتماد الخادم (بيانات الاعتماد/{المضيف}.json)

مثال على ذلك:

bash
# Set Tuist-specific config directory
export TUIST_XDG_CONFIG_HOME=/custom/config
tuist auth login

# Or use standard XDG variable
export XDG_CONFIG_HOME=/custom/config
tuist auth login

دليل ذاكرة التخزين المؤقت

متغيرات البيئة:

  • TUIST_XDG_CACHE_HOME (له الأسبقية)
  • XDG_CACHE_HOME

الإعداد الافتراضي: ~/.cache/tuist الافتراضي

تُستخدم لـ

  • الإضافات: تم تنزيل وتجميع ذاكرة التخزين المؤقت للمكونات الإضافية
  • مساعدو وصف المشروع: أدوات مساعدة وصف المشروع المجمعة
  • بيانات: ملفات البيان المخزنة مؤقتًا
  • المشاريع: ذاكرة التخزين المؤقت لمشروع الأتمتة المُنشأة
  • EditProjects: ذاكرة التخزين المؤقت لأمر التحرير
  • التشغيلات: اختبار وبناء بيانات تحليلات التشغيل
  • الثنائيات: بناء ثنائيات القطع الأثرية (غير قابلة للمشاركة عبر البيئات)
  • اختبارات انتقائية: ذاكرة التخزين المؤقت للاختبارات الانتقائية

مثال على ذلك:

bash
# Set Tuist-specific cache directory
export TUIST_XDG_CACHE_HOME=/tmp/tuist-cache
tuist cache

# Or use standard XDG variable
export XDG_CACHE_HOME=/tmp/cache
tuist cache

دليل الولاية

متغيرات البيئة:

  • TUIST_XDG_STATE_STATE_HOME (له الأسبقية)
  • XDG_STATE_HOME

الإعداد الافتراضي: ~/.loc/.local/state/tuist

تُستخدم لـ

  • السجلات: ملفات السجلات (logs/{uuid}.log)
  • أقفال: ملفات قفل المصادقة ({handle}.sock)

مثال على ذلك:

bash
# Set Tuist-specific state directory
export TUIST_XDG_STATE_HOME=/var/log/tuist
tuist generate

# Or use standard XDG variable
export XDG_STATE_HOME=/var/log
tuist generate

ترتيب الأسبقية

عند تحديد الدليل الذي يجب استخدامه، يتحقق تويست من متغيرات البيئة بالترتيب التالي:

  1. المتغير الخاص بالتويست (على سبيل المثال، TUIST_XDG_CONFIG_HOME)
  2. متغير XDG القياسي (على سبيل المثال، XDG_CONFIG_HOME)
  3. الموقع الافتراضي (على سبيل المثال، ~/.config/tuist)

يسمح لك ذلك بما يلي:

  • استخدام متغيرات XDG القياسية لتنظيم جميع تطبيقاتك بشكل متسق
  • التجاوز بالمتغيرات الخاصة بتويست عندما تحتاج إلى مواقع مختلفة لتويست
  • الاعتماد على الإعدادات الافتراضية المعقولة دون أي تهيئة

حالات الاستخدام الشائعة

عزل تويست لكل مشروع

قد ترغب في عزل ذاكرة التخزين المؤقت لـ Tuist وحالة كل مشروع:

bash
# In your project's .envrc (using direnv)
export TUIST_XDG_CACHE_HOME="$PWD/.tuist/cache"
export TUIST_XDG_STATE_HOME="$PWD/.tuist/state"
export TUIST_XDG_CONFIG_HOME="$PWD/.tuist/config"

بيئات CI/CDD

في بيئات CI، قد ترغب في استخدام الدلائل المؤقتة:

yaml
# GitHub Actions example
env:
  TUIST_XDG_CACHE_HOME: /tmp/tuist-cache
  TUIST_XDG_STATE_HOME: /tmp/tuist-state

jobs:
  build:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v4
      - run: tuist generate
      - name: Upload logs
        if: failure()
        uses: actions/upload-artifact@v4
        with:
          name: tuist-logs
          path: /tmp/tuist-state/logs/*.log

تصحيح الأخطاء مع الدلائل المعزولة

عند تصحيح المشكلات، قد تحتاج إلى سجل نظيف:

bash
# Create temporary directories for debugging
export TUIST_XDG_CACHE_HOME=$(mktemp -d)
export TUIST_XDG_STATE_HOME=$(mktemp -d)
export TUIST_XDG_CONFIG_HOME=$(mktemp -d)

# Run Tuist commands
tuist generate

# Clean up when done
rm -rf $TUIST_XDG_CACHE_HOME $TUIST_XDG_STATE_HOME $TUIST_XDG_CONFIG_HOME

Released under the MIT License.