আমি mavencentral থেকে আমার lib এর মাস্টার সংস্করণ ব্যবহার করতে চাই।
অ্যান্ড্রয়েড গ্রেডের নির্ভরতা হিসাবে গিট সংগ্রহস্থলটিকে ঘোষণা করা কি সম্ভব?
আমি mavencentral থেকে আমার lib এর মাস্টার সংস্করণ ব্যবহার করতে চাই।
অ্যান্ড্রয়েড গ্রেডের নির্ভরতা হিসাবে গিট সংগ্রহস্থলটিকে ঘোষণা করা কি সম্ভব?
উত্তর:
আমার জন্য সবচেয়ে ভাল উপায়:
পদক্ষেপ 1. সংগ্রহস্থলের শেষে build.gradle- এ জিটপ্যাক সংগ্রহস্থল যুক্ত করুন:
repositories {
// ...
maven { url "https://jitpack.io" }
}
পদক্ষেপ 2. ফর্মের মধ্যে নির্ভরতা যুক্ত করুন
dependencies {
compile 'com.github.User:Repo:Tag'
}
মাস্টার শাখায় সর্বশেষ প্রতিশ্রুতি তৈরি করা সম্ভব, উদাহরণস্বরূপ:
dependencies {
compile 'com.github.jitpack:gradle-simple:master-SNAPSHOT'
}
-SNAPSHOT
jitpack.io/docs/#snapshots
buildscript
অথবা আপনি এটির মতো একটি সাবমডিউল হিসাবে একটি সংগ্রহস্থল নিবন্ধন করতে পারেন
$ git submodule add my_sub_project_git_url my-sub-project
তারপরে আপনার সেটিংস.gradle ফাইলটিতে প্রকল্পটি অন্তর্ভুক্ত করুন যা দেখতে এটির মতো হওয়া উচিত
include ':my-app', ':my-sub-project'
শেষ অবধি, আপনার অ্যাপ্লিকেশন বিল্ড.gradle ফাইলের মতো নির্ভরতা হিসাবে প্রকল্পটি সংকলন করুন
dependencies {
compile project(':my-sub-project')
}
তারপরে, আপনার প্রকল্পটি ক্লোন করার সময়, আপনাকে কেবল --recursive
গিটটি স্বয়ংক্রিয়ভাবে মূল সংগ্রহস্থল এবং তার সমস্ত সাবমডিউলগুলি ক্লোন করার বিকল্প যুক্ত করতে হবে।
git clone --recursive my_sub_project_git_url
আমি আসা করি এটা সাহায্য করবে.
গ্রেডে এখন একটি নতুন বৈশিষ্ট্য রয়েছে যা আপনাকে গিট থেকে উত্স নির্ভরতা যুক্ত করতে দেয়।
আপনাকে প্রথমে settings.gradle
ফাইলটিতে রেপো সংজ্ঞায়িত করতে হবে এবং মডিউল শনাক্তকারীকে এটি মানচিত্র করতে হবে:
sourceControl {
gitRepository("https://github.com/gradle/native-samples-cpp-library.git") {
producesModule("org.gradle.cpp-samples:utilities")
}
}
এবং এখন আপনার মধ্যে build.gradle
আপনি একটি নির্দিষ্ট ট্যাগকে নির্দেশ করতে পারেন (উদাহরণস্বরূপ: 'v1.0'):
dependencies {
...
implementation 'org.gradle.cpp-samples:utilities:v1.0'
}
অথবা একটি নির্দিষ্ট শাখায়:
dependencies {
...
implementation('org.gradle.cpp-samples:utilities') {
version {
branch = 'release'
}
}
}
আদেশ সহকারে:
তথ্যসূত্র:
আমার মনে হয় না গ্রেডল নির্ভরতা হিসাবে গিট সংগ্রহস্থল যোগ করতে সমর্থন করে। আমার কাজটি হ'ল:
আমি ধরে নিয়েছি যে আপনি মূল প্রকল্প রেপোর ফোল্ডারের বাইরে লাইব্রেরি রেপো চান, সুতরাং প্রতিটি প্রকল্প স্বতন্ত্র গিট রেপো হবে এবং আপনি লাইব্রেরিতে এবং মূল প্রকল্প গিট সংগ্রহস্থলগুলিতে স্বতন্ত্রভাবে কমিট করতে পারেন।
ধরে নিই যে আপনি লাইব্রেরি প্রকল্পের ফোল্ডারটি একই ফোল্ডারে রাখতে চান যা মূল প্রকল্পের ফোল্ডার,
আপনি করতে পারেন:
শীর্ষ-স্তরের সেটিংসে উদাহরণস্বরূপ, ফাইল সিস্টেমের অবস্থানের ভিত্তিতে গ্রন্থাগার সংগ্রহস্থলটিকে একটি প্রকল্প হিসাবে ঘোষণা করুন
// Reference: https://looksok.wordpress.com/2014/07/12/compile-gradle-project-with-another-project-as-a-dependency/
include ':lib_project'
project( ':lib_project' ).projectDir = new File(settingsDir, '../library' )
গিট সংগ্রহস্থল থেকে গ্রন্থাগার ক্লোন করতে গ্রেড-গিট প্লাগইন ব্যবহার করুন
import org.ajoberstar.gradle.git.tasks.*
buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' }
}
task cloneLibraryGitRepo(type: GitClone) {
def destination = file("../library")
uri = "https://github.com/blabla/library.git"
destinationPath = destination
bare = false
enabled = !destination.exists() //to clone only once
}
আপনার প্রকল্পের নির্ভরতাগুলিতে, বলুন যে আপনার প্রকল্পের কোড গিট প্রকল্পের ফোল্ডারের উপর নির্ভর করে
dependencies {
compile project(':lib_project')
}
আমি যে নিকটতম জিনিসটি পেয়েছি তা হ'ল https://github.com/bat-cha/gradle-plugin-git-d dependferences তবে আমি এটিকে অ্যান্ড্রয়েড প্লাগইনের সাথে কাজ করতে পারি না, গিটের পরেও ম্যাভেন থেকে টানতে চেষ্টা করে চলেছি repos বোঝা হয়।