Android gradle uploadArchives al construir
Tengo mi uploadArhives
a Maven repositorio .aar
publicación.
Pero tengo que ejecutar gradlew uploadArhives
desde la consola todo el tiempo, cómo código para hacer que invocar con cada construcción o con la versión de construcción?
- Cambio de los colores de fondo de degradado en Android en tiempo de ejecución
- Android LinearLayout Gradiente de fondo
- ¿Soporta Android la progresión no lineal en gradientes?
- Especificación del nombre de archivo desplegado para el artefacto AAR en el proyecto de biblioteca de Android
- Cómo obtener de forma programática una lista de colores de un degradado en Android
uploadArchives { repositories { mavenDeployer { def credentials = [ userName: NEXUS_USERNAME, password: NEXUS_PASSWORD ] repository(url: MAVEN_REPO_URL, authentication: credentials) pom.artifactId = 'aaa' pom.version = version pom.packaging = 'aar' pom.groupId = 'bbb' } } }
EDIT :
Como creo, podemos definir la función:
def uploadToMaven = { uploadArchives }
¿Pero cómo ejecutarlo con cada compilación?
- Azure Mobile Services SDK disponible a través de Gradle para Android?
- Alpha-gradient en Android
- Android-cómo hacer un gradiente de 4 colores de alta calidad?
- Uso de un gradienteDibujable con más de tres colores
- Cómo subir varios archivos de Android (uno para cada sabor)
- ¿Cómo puedo agregar efecto de degradado al color de fondo de TextView en un ListView?
- Android XML dibujable degradado transparente
- Gradiente de pan de jengibre
Tengo un proyecto complejo con muchos módulos y una aplicación principal. He añadido "uploadArchives" en dos de estos módulos (porque son las bibliotecas de Android). De esta manera puedo publicar mis bibliotecas en Maven simplemente ejecutando la tarea uploadArchives desde mi aplicación principal, o usando gradle y llamando a esta tarea "uploadArchives".
Puede usar esto en su build.gradle (de la biblioteca que desea publicar) "build.finalizedBy (uploadArchives)".
Por ejemplo:
android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 17 targetSdkVersion 23 versionCode 2 versionName "2.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } lintOptions { abortOnError false } } build.finalizedBy(uploadArchives) task wrapper(type: Wrapper) { gradleVersion = "2.8" } dependencies { compile project(':spfshared') compile 'com.google.code.gson:gson:2.4' } //task for Sonatype Nexus OSS uploadArchives { repositories { mavenDeployer { repository( url: "${nexusUrl}/content/repositories/releases") { authentication(userName: nexusUsername, password: nexusPassword) } snapshotRepository( url: "${nexusUrl}/content/repositories/snapshots") { authentication(userName: nexusUsername, password: nexusPassword) } pom.version = "2.0.0.1" pom.artifactId = "spflib" pom.groupId = "it.polimi.spf" } } }
Después de cada compilación, uploadArchives se iniciará.
He intentado esta solución y funciona.
También probé algunas soluciones con "build.dependsOn myTaskName" sin éxito. Si quieres puedes probar, pero en mi AndroidStudio, la primera solución que funciona.
PS: He probado mi solución usando el comando "gradlew -q build" y también ejecuto específicamente la tarea "build" de mi módulo principal en Android Studio (que es mi aplicación principal).
Si desea llamar a "uploadArchives" en cada versión, simplemente reemplace "build" con la tarea de lanzamiento.
Actualización: He intentado también con estas codelines:
defaultTasks 'uploadArchives' clean.finalizedBy(uploadArchives) assembleDebug.finalizedBy(uploadArchives) assembleRelease.finalizedBy(uploadArchives)
Pero a veces llaman "uploadArchives" muchas veces y creo que no es una buena idea.
Lo que usted está pidiendo es muy difícil … He intentado por una hora entera 🙂
Simplemente agregue esta línea a su build.gradle:
build.finalizedBy(uploadArchives)
Esto crea una tarea de dependencia entre la tarea de construcción y la tarea uploadArchives, de forma que uploadArchives se llama automáticamente cada vez que la compilación se ejecuta correctamente.
- Espresso 2 en Android, las pruebas intermedias fallan después de no iniciar la actividad bajo prueba mientras las actividades de las pruebas anteriores aún están vivas
- ¿Cómo puedo usar Active Android con una base de datos en memoria para las pruebas de unidad usando Robolectric?