Flutter: Plugin tidak dapat menambahkan dependensi pada repositori pakar khusus

Dibuat pada 8 Mei 2017  ·  3Komentar  ·  Sumber: flutter/flutter

Langkah-langkah untuk Reproduksi

Saat ini plugin image_picker memiliki ketergantungan pada library Android Image Picker Android, yang hidup di GitHub bersama dengan library pembantu Glide. Menarik perpustakaan ini memerlukan penggunaan Jitpack , yang merupakan repositori paket yang mem-proksi permintaan ke GIt. Codelab saat ini memiliki langkah di mana pengembang mengaktifkan Jitpack dengan menambahkan yang berikut ke build.gradle mereka:

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }  // new
    }
}

Alangkah baiknya jika plugin mengetahui bahwa mereka bergantung pada repo Jitpack dan menambahkan ketergantungan ini secara otomatis. Terkait di iOS, mungkin plugin dapat menambahkan dependensi pada repo spesifikasi Cocoapods pihak ketiga juga.

Kelemahan dari memperbaiki batasan ini adalah akan membuatnya kurang dapat diprediksi untuk pengembang Flutter tempat semua kode mereka berasal. Jadi mungkin ini "bekerja sebagaimana dimaksud"? Tetapi jika mereka menggunakan plugin, mereka sudah bergantung pada pub untuk membuat build. Tentu akan menyenangkan jika pengembang dapat menyelesaikan sesuatu dengan plugin tanpa harus mengedit build.gradle.

Prioritas yang agak lebih rendah karena ini mungkin dapat diperbaiki dengan cara yang tidak merusak perubahan API.

/cc @mravn-google @mit-mit @jakobr-google @szakarias

tooling plugin

Komentar yang paling membantu

Menggeneralisasikan bug ini untuk mencakup penentuan ketergantungan pada repositori pakar khusus apa pun:
maven { url '<maven_repo_url>' }

Selain contoh jitpack asli, kasus serupa lainnya termasuk ZenDesk dan fabric.io .

Semua 3 komentar

Menggeneralisasikan bug ini untuk mencakup penentuan ketergantungan pada repositori pakar khusus apa pun:
maven { url '<maven_repo_url>' }

Selain contoh jitpack asli, kasus serupa lainnya termasuk ZenDesk dan fabric.io .

FYI: Masalah ini menyebabkan https://github.com/flutter/plugins/pull/141 menjadi perubahan yang melanggar (meskipun API plugin tidak tersentuh, saya hanya menambahkan dependensi baru ke plugin).

cc @mravn-google

Apakah halaman ini membantu?
0 / 5 - 0 peringkat