How can one go about setting up a local maven repo.
UWAGA: następujący przepis działa, ale prawdopodobnie może wykorzystać poprawę, jak ja daleko od eksperta Maven. W zeszłym roku zastosowałem to podejście do użytku z moimi bibliotekami CWAC.
Krok 1: Dodaj classpath 'com.github.dcendents:android-maven-plugin:1.0'
do buildscript
dependencies
bloku w projekcie biblioteki build.gradle
pliku. Dodaj także oświadczenia version
i group
, aby przekazać te informacje o swoim rocznym sprawozdaniu z działalności.
Krok # 2: Użyj gradle install
do kompilacji AAR i zainstalowania go w domyślnym lokalnym repozytorium Maven.
Krok 3: Zazwyczaj dodajemy mavenLocal()
do bloku dependencies
w projekcie aplikacji, aby pobrać AAR za pomocą jego identyfikatora artefaktu. To może znowu działać, chociaż zostało przerwane na chwilę. Zamiast tego zastosuj maven { url "${System.env.HOME}/.m2/repository" }
jako krótkoterminowe obejście.
Tak więc, na przykład, biblioteka projekt build.gradle
plik może zawierać:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
classpath 'com.github.dcendents:android-maven-plugin:1.0'
}
}
apply plugin: 'android-library'
apply plugin: 'android-maven'
version '0.4.0'
group 'some.likely.group.name.goes.here'
repositories {
mavenCentral()
}
dependencies {
compile 'com.squareup.picasso:picasso:2.2.0'
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
// as normal
}
byłoby użyć gradle install
opublikować JAR do lokalnego repo Maven. Twój projekt aplikacja musiałaby wówczas następujące rzeczy w swojej build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
maven { url "${System.env.HOME}/.m2/repository" } // mavenLocal()
}
dependencies {
compile 'some.likely.group.name.goes.here:name-of-library:0.4.0'
}
android {
// as normal
}
gdzie można wymienić:
some.likely.group.name.goes.here
coś
0.4.0
z numerem wersji w formacie XYZ
name-of-library
będzie nazwą katalogu, który zawiera projekt biblioteki Androida (np. presentation
lub foo
)
W jaki sposób korzystasz z rocznego sprawozdania z działalności w innym projekcie? – CommonsWare
Jak to: 'repozytoria { flatDir { 'libs' dirs} mavenCentral() }' a następnie włączając je za pomocą zwykłego formatu GroupID – redDragonzz
To ma być oczekiwane zachowanie Przypuszczam: https: // groups.google.com/forum/#!topic/adt-dev/0ZAP8AVUZVw! Myślę, że muszę pobrać słoik picasso, a następnie gradle włącza go automatycznie, w przeciwnym razie nie robi. Wypróbuje i opublikuje odpowiedź. – redDragonzz