From a47048c65b134ed95a93376d9e325e297ca0fd11 Mon Sep 17 00:00:00 2001 From: Daniel Leal Date: Tue, 9 Jan 2018 18:00:18 +0100 Subject: [PATCH] Implement artifactory uploading feature for library module Have defined better the dependencies for 'library', using new gradle options: 'api' and 'implementation' --- README.md | 2 + .../java/ru/noties/markwon/AppModule.java | 3 + build.gradle | 3 +- library/build.gradle | 67 ++++++++++++++++--- 4 files changed, 66 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 876af5e9..14b41586 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ # Markwon +![Image1](https://content-frontend.wkda-test.de/static/consumer_app/article19_image1.png) + [![markwon](https://img.shields.io/maven-central/v/ru.noties/markwon.svg?label=markwon)](http://search.maven.org/#search|ga|1|g%3A%22ru.noties%22%20AND%20a%3A%markwon%22) [![markwon-image-loader](https://img.shields.io/maven-central/v/ru.noties/markwon-image-loader.svg?label=markwon-image-loader)](http://search.maven.org/#search|ga|1|g%3A%22ru.noties%22%20AND%20a%3A%markwon-image-loader%22) [![markwon-view](https://img.shields.io/maven-central/v/ru.noties/markwon-view.svg?label=markwon-view)](http://search.maven.org/#search|ga|1|g%3A%22ru.noties%22%20AND%20a%3A%markwon-view%22) diff --git a/app/src/main/java/ru/noties/markwon/AppModule.java b/app/src/main/java/ru/noties/markwon/AppModule.java index 09c5e230..70c40707 100644 --- a/app/src/main/java/ru/noties/markwon/AppModule.java +++ b/app/src/main/java/ru/noties/markwon/AppModule.java @@ -16,6 +16,9 @@ import okhttp3.Cache; import okhttp3.OkHttpClient; import ru.noties.markwon.il.AsyncDrawableLoader; import ru.noties.markwon.spans.AsyncDrawable; +import ru.noties.markwon.spans.configuration.image.ImageConfig; +import ru.noties.markwon.spans.configuration.image.ImageGravity; +import ru.noties.markwon.spans.configuration.image.ImageWidth; @Module class AppModule { diff --git a/build.gradle b/build.gradle index 9c40b676..5e37b3a8 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,8 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.12" + classpath 'digital.wup:android-maven-publish:3.1.1' } } @@ -29,7 +31,6 @@ task wrapper(type: Wrapper) { } ext { - // Config BUILD_TOOLS = '27.0.1' TARGET_SDK = 26 diff --git a/library/build.gradle b/library/build.gradle index e2ded5d9..a3073b48 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,6 +1,9 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' +apply plugin: 'com.jfrog.artifactory' +apply plugin: 'digital.wup.android-maven-publish' + android { compileSdkVersion TARGET_SDK @@ -14,19 +17,67 @@ android { consumerProguardFiles 'lib-proguard-rules.pro' } + + libraryVariants.all { variant -> + variant.outputs.all { + outputFileName = "${POM_ARTIFACT_ID}-release.aar" + } + } } dependencies { - compile SUPPORT_ANNOTATIONS - compile COMMON_MARK - compile COMMON_MARK_STRIKETHROUGHT - compile COMMON_MARK_TABLE - compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + api SUPPORT_ANNOTATIONS + implementation COMMON_MARK + implementation COMMON_MARK_STRIKETHROUGHT + implementation COMMON_MARK_TABLE + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } -if (project.hasProperty('release')) { - apply from: 'https://raw.githubusercontent.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle' -} repositories { mavenCentral() } + +publishing { + publications { + aar(MavenPublication) { + groupId "${GROUP}.auto1" + version VERSION_NAME + artifactId POM_ARTIFACT_ID + + from components.android + } + } +} + +artifactory { + contextUrl = artifactory_repository + publish { + repository { + repoKey = 'libs-android-local' + + username = artifactory_username + password = artifactory_password + } + defaults { + publications('aar') + publishArtifacts = true + + properties = ['qa.level': 'basic', 'q.os': 'android', 'dev.team': 'mobile-android'] + publishPom = true + } + } +} + +afterEvaluate { + + task cleanBuildPublish { + dependsOn 'clean' + dependsOn 'assembleRelease' + dependsOn 'artifactoryPublish' + tasks.findByName('assembleRelease').mustRunAfter 'clean' + tasks.findByName('artifactoryPublish').dependsOn 'generatePomFileForAarPublication' + tasks.findByName('artifactoryPublish').mustRunAfter 'assembleRelease' + } + + cleanBuildPublish +} \ No newline at end of file