من أين يحصل Gradle على إعدادات الوكيل
تتبّع خصائص وكيل JVM في Gradle وإعدادات مجلد المستخدم وبيئة العميل بدل افتراض أن البرنامج الخفي يتجاهل المتغيرات الجديدة دائمًا.
قد يستخدم بناء Gradle الذي يُشغّل من بيئة تطوير متكاملة إعدادًا مختلفًا عن المشروع نفسه عند تشغيله من طرفية. قبل لوم عملية وكيل قديمة، قارن مجلد مستخدم Gradle وJVM وخصائص الوكيل المستخدمة في كل تشغيل.
يوثّق Gradle خصائص وكيل JVM
يمكن أن يحتوي ملف الخصائص لمسارات HTTP وHTTPS على:
systemProp.http.proxyHost=203.0.113.10
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=203.0.113.10
systemProp.https.proxyPort=8080
systemProp.http.nonProxyHosts=localhost|*.example.internal
استخدم نقطة النهاية المعيّنة لك؛ وبالنسبة إلى المسارات المسموح بها للمستودعات العامة، توفر قائمة وكلاء HTTP أزواجًا مرشحة للمضيف والمنفذ. خاصية تجاوز HTTPS هي أيضًا http.nonProxyHosts؛ اختراع https.nonProxyHosts ليس إصلاحًا موثقًا. تحتوي خصائص المضيف على عنوان، لا على عنوان URL كامل للوكيل.
لا يثبت تصدير HTTP_PROXY في الصدفة وحده أن عميل JVM هذا يستخدمه كسياسة وكيل. تحقّق من الخصائص التي يدعمها التطبيق.
البرنامج الخفي يتلقى معلومات البناء فعلًا
تقول وثائق Gradle الحالية إن العميل يرسل معلومات البناء، بما فيها متغيرات البيئة، إلى البرنامج الخفي. لذلك فإن التفسير العام «البرنامج الخفي لا يتلقى متغيرات بيئة جديدة أبدًا» غير دقيق.
بعض خصائص بدء تشغيل JVM، ومنها خصائص مخزن الثقة، غير قابلة للتغيير بالنسبة إلى JVM قيد التشغيل. لذلك قد يهم تغيير Java home أو إعداد بدء مخزن الثقة حتى عندما تُمرَّر قيم بيئة البناء العادية.
قارن التشغيلين
تحقق من توزيع Gradle وبيئة تشغيل Java اللذين تختارهما بيئة التطوير. تحقق مما إذا كانت تستخدم GRADLE_USER_HOME نفسه وخصائص المستخدم نفسها التي تستخدمها الطرفية. لا يثبت إدخال وكيل في إعداد مستخدم واحد ما حمّله سياق آخر.
إذا احتاج متطلب بدء متغيّر إلى برنامج خفي مختلف، فاستخدم عناصر التحكم الموثقة للبرنامج الخفي لإصدار Gradle المعني. لا تجعل إيقاف البرامج الخفية بديلًا عن العثور على خاصية خاطئة أو ملف إعداد مفقود.
أخيرًا، حدّد الطلب الذي فشل. تنزيلات Wrapper وحل تبعيات البناء والطلبات التي تجريها عمليات تطبيق أو اختبار متفرعة ليست تلقائيًا سياقًا شبكيًا واحدًا. تحقّق من العملية التي تنفذ الطلب قبل توقّع أن تتحكم فيها خاصية Gradle.