سؤال

لدينا أباتشي النمل النصي لبناء التطبيق لدينا ، ثم تحقق في الناتج ملف جرة في التحكم في الإصدار (VSS في هذه الحالة).ولكن الآن علينا تغيير هذا يتطلب منا بناء 2 ملفات JAR على هذا المشروع ، ثم تحقق كل الى VSS.

الهدف الحالي الذي يتحقق الأصلي ملف JAR إلى VSS يكتشف اسم ملف جرة من خلال بعض الممتلكات.هل هناك طريقة سهلة "التعميم" هذا الهدف بحيث يمكن إعادة استخدامها للتحقق في ملف جرة مع أي اسم ؟ في اللغة العادية ومن الواضح أن الدعوة وظيفة معلمة ولكن على حد علمي ليس هناك حقا أي ما يعادل مفهوم في النمل.

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

المحلول

أود أن أقترح أن تعمل مع وحدات الماكرو على subant/antcall لأن الميزة الرئيسية وجدت مع وحدات الماكرو هو أن كنت في السيطرة الكاملة على الخصائص التي يتم تمريرها إلى الماكرو (لا سيما إذا كنت ترغب في إضافة خصائص جديدة).

يمكنك ببساطة ريفاكتور النمل الخاص بك النصي بدءا من الهدف الخاص بك:

<target name="vss.check">
    <vssadd localpath="D:\build\build.00012.zip" 
        comment="Added by automatic build"/>
</target>

إنشاء ماكرو (لاحظ نسخ/لصق و استبدال مع @{ملف}):

<macrodef name="private-vssadd">
    <attribute name="file"/>
    <sequential>
        <vssadd localpath="@{file}" 
            comment="Added by automatic build"/>
    </sequential>
</macrodef>

و استدعاء وحدات الماكرو مع الملفات:

<target name="vss.check">
    <private-vssadd file="D:\build\File1.zip"/>
    <private-vssadd file="D:\build\File2.zip"/>
</target>

إعادة بيع ديون ، "النمل الطريق"

نصائح أخرى

ويعتبر عموما فكرة سيئة التحكم في الإصدار الخاص بك الثنائيات و أنا لا أنصح بذلك.ولكن إذا كان لديك على الإطلاق ، يمكنك استخدام antcall جنبا إلى جنب مع المعلمة إلى تمرير المعلمات والدعوة الهدف.

<antcall target="reusable">
    <param name="some.variable" value="var1"/>
</antcall>

<target name="reusable">
    <!-- Do something with ${some.variable} -->
</target>

يمكنك العثور على مزيد من المعلومات حول antcall المهمة هنا.

نلقي نظرة على النمل وحدات الماكرو.أنها تسمح لك لتحديد القابل لإعادة الاستخدام "الروتين" عن النمل يبني.يمكنك العثور على سبيل المثال هنا (البند 15).

أيضا التحقق من subant المهمة ، مما يتيح لك استدعاء نفس الهدف بناء على عدة ملفات:

<project name="subant" default="subant1">
    <property name="build.dir" value="subant.build"/>
    <target name="subant1">
        <subant target="">
            <property name="build.dir" value="subant1.build"/>
            <property name="not.overloaded" value="not.overloaded"/>
            <fileset dir="." includes="*/build.xml"/>
        </subant>
    </target>
</project>

يمكنك استخدام غانت إلى البرنامج النصي الخاص بك بناء مع رائع أن تفعل ما تريد أو إلقاء نظرة على رائع النمل المهمة.

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