كيفية نشر مكتبة Kotlin-Android إلى jCenter

يبدو أن هناك نقصًا في المعلومات حول كيفية نشر مكتبة Android مكتوبة في Kotlin إلى jCenter. إذا بحثت عن كيفية نشر مكتبة Android إلى jCenter ، فربما تكون قد صادفت هذا المنشور الذي يدعي أن لديك حلاً. على الرغم من أن هذا الحل قد يكون ناجحًا في مرحلة ما ، إلا أنه لا يعمل حاليًا. ومع ذلك ، فإنه يوفر تلميحًا مهمًا يمكننا استخدامه لإصلاح طريقتي المفضلة لنشر مكتبة.

مشاركتي المفضلة الشخصية حول كيفية نشر مكتبة في Android هي مقالة على inthecheesefactory.com. إذا كانت مكتبتك مكتوبة في Kotlin ، فسيستمر هذا الحل في حدوث خطأ. هذا المنشور يدور حول التغييرات التي تحتاج إلى إجرائها ، حتى يعمل هذا الحل. أنا متأكد من أن هذا الحل نجح مرة واحدة ، ومع ذلك ، يبدو أنه قديم ولم يعد يعمل.

الخطأ الرئيسي الذي تحصل عليه عند محاولة استخدام الطريقة الموضحة بواسطة inthecheesefactory ، هو عدم إنشاء JavaDoc وهذا يؤدي إلى إحباط البرنامج النصي.

الحل لهذا بسيط

في /lib/build.gradle في الجزء العلوي ، أضف البرنامج المساعد dokka-android بعد المكوّن الإضافي kotlin-android.

طبق المكوّن الإضافي: "com.android.library"
تطبيق البرنامج المساعد: "kotlin-android"
طبق المكوّن الإضافي: "org.jetbrains.dokka-android"

ثم ، قم بتكوين dokka (لا يزال قيد lib / build.gradle).

ذكري المظهر {
    ...
}

دوكا
    outputFormat = 'html'
    outputDirectory = "$ buildDir / javadoc"
}

أخيرًا ، يمنحك inthecheesefactory.com الملفات 2 التالية لتضمينها.

تنطبق من: "https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle"
تقدم من: "https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle"

تحتاج إلى تنزيل ملف bintrayv1.gradle وتحريره ، حيث يجب أن تبدو المجموعة الأولى من التعليمات البرمجية كما يلي:

if (project.hasProperty ("android")) {// مكتبات Android
    مصادر المهمة Jar (النوع: Jar) {
        مصنف = "مصادر"
        من android.sourceSets.main.java.srcDirs
    }

    المهمة javadoc (النوع: Javadoc) {
        المصدر = android.sourceSets.main.java.srcDirs
        classpath + = project.files (android.getBootClasspath (). join (File.pathSeparator))
    }
}

تحتاج إلى إجراء التغييرات أدناه.

if (project.hasProperty ("kotlin")) {// Kotlin libraries
    مصادر المهمة Jar (النوع: Jar) {
        مصنف = "مصادر"
        من android.sourceSets.main.java.srcDirs
    }

    مهمة javadoc (النوع: Javadoc ، dependOn: dokka) {

    }
} if if (project.hasProperty ("android")) {// Android libraries
    مصادر المهمة Jar (النوع: Jar) {
        مصنف = "مصادر"
        من android.sourceSets.main.java.srcDirs
    }

    مهمة javadoc (النوع: Javadoc ، dependOn: dokka) {
        المصدر = android.sourceSets.main.java.srcDirs
        classpath + = project.files (android.getBootClasspath (). join (File.pathSeparator))
    }
}

في الأساس ، نحن نقول أنها تستخدم المهمة javadoc يعتمد على dokka. مهمة javadoc لا تفعل أي شيء آخر غير تشغيل dokka الذي تم تكوينه تحت lib / build.gradle.

تحتاج إلى وضع الملف الذي تم تعديله أسفل دليل lib الخاص بك ، ثم يجب أن يبدو الطلب الخاص بك كما يلي:

تنطبق من: "https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle"
تنطبق من: "bintrayv1.gradle"

ينبغي أن يكون ذلك! يجب أن تكون قادرًا الآن على إنشاء مكتبتك ونشرها في bintray.

أخيرا

لم أقم بترميز الشفرة بالكامل ، وآمل أن أتواصل مع intheesefactory وأن أجعلهم يقومون بتحديث مدونتهم ورمزهم. إذا نجح هذا أو لم ينجح ، فسأبلغ هنا. أعجبني المقال بحيث تكون متأكدًا من عدم تفويت تحديث Android.

وأخيراً ، من أجل إنشاء تطبيقات Android رائعة ، اقرأ المزيد من مقالاتي.

ياي! قمت بها حتى النهاية! يجب ان نخرج معا! لا تتردد في متابعتي على Medium أو LinkedIn أو Google+ أو Twitter.