سؤال

نحن نعمل حاليًا على مشروع مع كل من ActionScript و Java. حتى الآن ، كنا نستخدم ANT كأداة بناء رئيسية لدينا ، ولكن الكمية الغبية من الازدواجية التي ينطوي عليها ونقص المرونة (نحن نبني كمية كبيرة جدًا من المشروعات الفرعية الصغيرة ، ونسخ جميع ملفات الإنشاء في كل مرة هو ألم) يدفعنا نحو تغيير الأدوات.

EDIT3: لقد انتهيت من إعادة كتابة جميع بنياتنا في Gant ، وعلى الرغم من أنها ليست مثالية ، إلا أنها تقلل من ملفات الإنشاء الخاصة بنا بشكل كبير وجعلت إضافة مشروع جديد أكثر وضوحًا ، لذلك أود أن أوصي بكل تأكيد بالأشخاص الذين لا يرغبون في تغييرهم بناء الفلسفة وهيكل المشروع ، ولكن مجرد البحث عن أداة أكثر ملاءمة من النمل. قد ألقي نظرة على Graddle و/أو Ivy في أحد تلك الأيام.

EDIT2: بعد تجربة Buildr ، استبعدنا ذلك لأنه يفعل أشياء أكثر مما نحتاجه بالفعل. أنا الآن أحاول Gant التي تبدو بشكل صحيح ما نحتاجه ولكن الوثائق صغيرة جدًا. هل يستحق الأمر التحرك على طول الطريق إلى Gradle ، أم أن المشروع غير ناضج بما فيه الكفاية بعد؟

تحرير: سأحاول توضيح مشاكلنا مع ANT. لدينا العديد من المشروعات الفرعية مع تخطيطات مماثلة يجب علينا تجميعها وتشغيل الاختبارات لها. بمجرد الانتهاء من ذلك ، يجب تعبئة بعضها معًا لإنتاج المواد التنفيذية (أي العميل والخادم وبعض العروض التوضيحية المستقلة). العمل على وصف تخطيطنا القياسي في ANT طويل جدًا ، ومن الصعب للغاية تقديم اختلافات صغيرة دون إعادة كتابة الماكرو بأكمله. (على سبيل المثال ، يحتاج أحد المشاريع إلى الحصول على أصوله البصرية من مستودع مختلف).

  • جانت مما يسمح لنا بإعادة استخدام مهام النمل الموجودة بالفعل في كل من Flash و Java
  • Gradle لنفس الأسباب على الرغم من أنها تبدو أكثر تعقيدًا قليلاً
  • مجرفة الذي يبدو أنه يوصى بشدة. الجانب السلبي هو الدعم التجريبي لتكامل السيناريو الإجراء وافتقارنا إلى معرفة روبي
  • بناء الذي يبدو رائعًا ، ولكن هنا مرة أخرى ، لا تعرف على روبي
  • الرافعات يبدو أن لديه زخم أقل ، لكن بيثون هي لغة برمجة رائعة

تم النظر في Maven ، ولكن تم القضاء عليه بسبب التعقيد المتأصل وعملية الخطأ الظاهرة. نحن نميل حاليا نحو جانت. هل لدى أي منكم خبرة في استخدام العديد من هذه الأدوات؟ كيف يقارنون؟

احتياجاتنا أساسية إلى حد ما: مشاريع التجميع والحزم ، ونشرها على العديد من الأهداف وبعض إمكانات البرمجة النصية (لتشغيل اختبارات الأداء الخاصة بالمشروع على سبيل المثال). تجدر الإشارة إلى أننا نستخدم هدسون للتعامل مع التكامل المستمر.

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

المحلول

أعلم أن الأشخاص في شركتنا الذين يقومون بجافا من أجل لقمة العيش من قبل Ivy ، ولكن ليس لديهم أي خبرة في ذلك ، ليس لدي ما يكفي من الحقائق لدعم هذا الاقتراح بالحجج التقنية. لقد ذكروا نقص الازدواجية كإضفاء مسؤولية المشتري.

نصائح أخرى

لست متأكدًا من أن التحول إلى Gant سيحل مشاكلك. Gant هو مجرد كتابة ملفات بناء في Groovy بدلا من XML. أعتقد أن مشكلتك تضع أكثر في الطريقة التي تستخدم بها ANT. من الصعب القول بدون مزيد من التفاصيل ، ولكن عبارات مثل "قدر غبي من الازدواجية" و "نسخ ملفات الإنشاء حولها" تجعلني أعتقد أنك قد تستخدم ANT بشكل أكثر كفاءة.

إذا لم تكن قد لم تقم بالفعل ، فابحث عن مهام النمل الخاصة بك ، ومعرفة ما إذا كان يمكنك إعادة تجديدها ، لذا قم بإزالة هذا الازدواجية. أيضا ، الخروج من خيار -find إلى ANT إذا لم تره بالفعل. يجب ألا تحتاج إلى نسخ ملفات الإنشاء حولها.

راجع للشغل ، اللبلاب هو لإدارة التبعية ، وليس البناء.

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