هل يمكن لـ Gradle التعامل مع التبعيات المحلية إلى غير المخرجين الفرعيين؟

StackOverflow https://stackoverflow.com/questions/3561394

  •  01-10-2019
  •  | 
  •  

سؤال

لا أعرف ما إذا كنت أخطأ تمامًا ، لكنني أريد إنشاء العديد من المشاريع مع تبعيات لمشاريع أخرى ليست جزءًا من هيكل الدليل لمشروع الوالدين. أعلم أن الطريقة العادية للقيام بذلك هي استخدام التبعية الخارجية التي تجلب من بعض المستودعات الخارجية. ولكن في هذه الحالة ، حيث دعنا نقول في المشروع الذي يسمى "F 'A Framework تم تطويره ، والذي يتم استخدامه في Project' P '. يستخدم فقط لاختبار تطوير F (ولكن ليس فقط اختبار الوحدة). في وقت لاحق من هذه العملية ، عندما تكون F مستقرة ، يتم فصل F ويمكن استهلاكها بواسطة مشاريع أخرى عبر مستودع. ولكن أثناء تطوير F مع P كما هي حالة الاختبار ، سيكون من الجيد أن يتم حذف تلك الرحلة المستديرة عبر المستودع.

ومما زاد الطين بلة ، بالنسبة للتطوير الأولي ، يوجد أكثر من مشروع مستهلك يقود اختبار اختبار ، والذي يحتاج جميعًا إلى الاعتماد على F ، ولكن ليس عبر مستودع خارجي.

فكرتي هي تطور F في مكان ما على القرص مع اختصاره. يقيمت المشاريع الأخرى مثل المشاريع في مكان آخر على القرص ولديها تبعية قائمة على نظام الملفات المحلي لـ F. هل سيكون مثل هذا البناء ممكنًا في Gradle؟ إذا كان الأمر كذلك ، من أين أبدأ؟ قمت بمسح أمثلة Java لكنني لم أتمكن من العثور على مثال مناسب.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

التسلسل الهرمي لمشروع Gradle هو افتراضي بالكامل. لديه فقط الافتراضي أن الموقع الفعلي يتوافق مع التسلسل الهرمي الافتراضي. لكن لديك سيطرة كاملة على هذا. نرى: http://gradle.org/0.9-rc-1/docs/userguide/build_lifecycle.html#sec:settings_file

فيما يتعلق بأفكارك الأخرى ، ألق نظرة على Jira التالية: http://jira.codehaus.org/browse/gradle-1014

نصائح أخرى

يمكنك التفكير في التسلسل الهرمي للمجلد مثل هذا:

Main folder
|- F folder
|  |- .git
|  |- sources
|  |- build.gradle (with parts specific to F)
|- P folder
|  |- sources
|  |- build.gradle (with part specific to P)
|- build.gradle (with common parts)
|- settings.gradle

لذلك يمكنك دائمًا أن تقرر تشغيل Gradle على مشروع F أو مشروع P أو اثنين من allteegether. سيتيح لك أيضًا الترويج لك مشروعًا بمفردك بدون P أو أي مشاريع جانبية أخرى.

لمزيد من المعلومات المحدثة ، تحقق من يقوم مشروع متعدد المشروع ببناء الفصل من وثائق Gradle.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top