سؤال

تتبعت هذا الدليل من Apple لإنشاء وثائق دوكسيجين.لقد كنت بحاجة إلى تعديل البرنامج النصي لوضع المتغيرات بين علامتي اقتباس، لذلك عندما يقوم بتوزيع دليل بمسافات، فإنه لا يعامله كوسيطين منفصلين.

ومع ذلك، فقد قمت مؤخرًا بالتبديل لاستخدام التخريب في XCODE بدلاً من استخدام عناصر Snapshot، التي لها تاريخ سيء السمعة في إفساد نفسها وفقدان سجلك.كانت العملية التي قمت بها للقيام بذلك هي إنشاء نسخة تخريبية مثل بنية الدليل لمشروعي، والتحقق من ذلك في SVN، ثم التحقق من السحب من صندوق السيارة.

مشكلتي هي أنه عندما أقوم بإنشاء الوثائق، بغض النظر عن كيفية تعديل ملف تكوين Doxygen الخاص بي (exclude_parameters، وما إلى ذلك ...)، في المرة الأولى التي أقوم فيها بإنشاء مجموعة المستندات للتوثيق، فلا بأس.في المرة الثانية، تواجه مشكلات أثناء محاولة النسخ باستخدام الأمر cp إلى دليل وثائق مكتبتي حيث تم تثبيته ليرجع إليه XCODE.

لقد حاولت الإضافة إلى Except_parameters .svn *.svn* */.svn* */.svn/* ولكن يبدو أن لا شيء يساعد أو يؤثر على الوثائق.لقد فعلت ذلك ل chmod على docset الخاص بي بعد تثبيته، وهذا يحل المشكلة، لكنه في الحقيقة مجرد إخفاء حقيقة أن أدلة .svn لا تزال موجودة في الوثائق.

اعتقدت أن إنشاء إجراء مجلد قد يفي بالغرض، لكنني لم أعبث كثيرًا ببرامج Apple النصية.سيكون ذلك بمثابة اختراق، لكنه سينجز المهمة بالتأكيد.

للقيام بذلك بشكل صحيح، هل لدى أي شخص فكرة عن كيفية القيام بذلك بأمان (بالطريقة الصحيحة)؟

شكرًا!

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

المحلول

وأنا لا أعرف بالضبط أين المشكلة هي، لذلك سأحاول أن أصف كيف أعمل مع إس، doxygen وكسكودي. كنت قد كتبت يختلط <لأ href = "http://mouviciel.free.fr/blog/index.php؟2009/02/07/46-bien-documenter-son-code-avec-doxygen-et-xcode" = "نوفولو noreferrer"> دليل أكثر اكتمالا من هذه الإجابة، ولكن لسوء الحظ أنها باللغة الفرنسية.

وبخصوص الملفات المصدر، يا بنية دليل المشروع مسطح: لا الشيفرة المصدرية في المجلدات الفرعية (هذا هو الافتراضي عند إدارة الرمز مع كسكودي فقط). بلدي Doxyfile يحتوي هذا الإعداد:

RECURSIVE = NO

وبهذه الطريقة، لا يتم تحليل الدلائل .svn التي كتبها doxygen.

وفيما يتعلق docsets يا Doxyfile تحتوي على هذه الإعدادات:

GENERATE_DOCSET        = YES
DOCSET_FEEDNAME        = "My wonderful Application"
DOCSET_BUNDLE_ID       = com.example.mywonderfulapp

وومخطوطتي يبدو مثل هذا:

# Where are doxygen and dot (assuming in my own Applications folder)
DOXYGEN_PATH=${HOME}/Applications/Doxygen.app/Contents/Resources
PATH=${DOXYGEN_PATH}:${PATH}
export PATH

# Doxygen documentation generation
doxygen || exit 1

# DOCSET generation
make -C html install || exit 1

# Open DOCSET in Xcode
DOCSET_PATH=Library/Developer/Shared/Documentation/DocSets
open $HOME/$DOCSET_PATH/fr.exemple.doxygentutorial.docset || exit 1

ومع هذه الإعدادات أنا لم تواجه مشكلات مثل تلك التي يصف.

نصائح أخرى

لا ينبغي أن يكون لديك بنية دليل مسطحة في مشروعك.ماذا لو كنت ترغب في تدويلها؟

طريقة تجنب أخطاء cp هذه هي إضافة حزمة DocSet إلى قائمة الملفات التي تجاهلها SVN.إذا تم تجاهله، فلن يتم إصداره، وإذا لم يتم إصداره، فلا توجد ملفات .svn يمكن لـ cp الشكوى منها.

أنا أستخدم عميل سطر الأوامر SVN لذلك YMMV، ولكن إليك ما فعلته:

  • أولاً، قم بتحديث svn نسخة العمل الخاصة بك للتأكد من مزامنتك مع المستودع.
  • ثانيًا، يقوم svn بحذف دليل DocSet من المستودع والالتزام.
  • ثالثًا، أنشئ المشروع لإنشاء دليل DocSet جديد (لم يتم إصدار هذا الدليل).
  • قم بإضافته إلى SVN للتجاهل والالتزام
  • قم بعمل حالة svn للتأكد من أن كل شيء على ما يرام.يجب أن تكون الآن قادرًا على العمل دون مشاكل.

لقد أمضيت بضع ساعات في اكتشاف ذلك، ولكن الآن يمكنني إنشاء مشروعي حسب الرغبة دون أن تضللني تلك الأخطاء الزائفة ولدي DocSet الخاص بي.

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