From a6d583dd8951489c301d8230c0420157cd20f5ea Mon Sep 17 00:00:00 2001 From: Daniel Leal Date: Tue, 9 Jan 2018 17:59:49 +0100 Subject: [PATCH 1/5] Upgrade Kotlin (1.2.0 => 1.2.10) and include proguard config file --- build.gradle | 2 +- library/build.gradle | 2 ++ library/lib-proguard-rules.pro | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 library/lib-proguard-rules.pro diff --git a/build.gradle b/build.gradle index e9632def..9c40b676 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.2.0' + ext.kotlin_version = '1.2.10' repositories { jcenter() google() diff --git a/library/build.gradle b/library/build.gradle index b16fa656..e2ded5d9 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -11,6 +11,8 @@ android { targetSdkVersion TARGET_SDK versionCode 1 versionName version + + consumerProguardFiles 'lib-proguard-rules.pro' } } diff --git a/library/lib-proguard-rules.pro b/library/lib-proguard-rules.pro new file mode 100644 index 00000000..6aeb39dd --- /dev/null +++ b/library/lib-proguard-rules.pro @@ -0,0 +1 @@ +-keep class ru.noties.markwon.** { *; } \ No newline at end of file From a47048c65b134ed95a93376d9e325e297ca0fd11 Mon Sep 17 00:00:00 2001 From: Daniel Leal Date: Tue, 9 Jan 2018 18:00:18 +0100 Subject: [PATCH 2/5] 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 From c3e4b6ad509d1031a4ec4994fb174ebf39f277fc Mon Sep 17 00:00:00 2001 From: Daniel Leal Date: Thu, 11 Jan 2018 14:43:07 +0100 Subject: [PATCH 3/5] Update dependencies syntax for library-image-loader (compile => implementation) --- library-image-loader/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library-image-loader/build.gradle b/library-image-loader/build.gradle index 3a909101..026b1f44 100644 --- a/library-image-loader/build.gradle +++ b/library-image-loader/build.gradle @@ -19,10 +19,10 @@ android { } dependencies { - compile project(':library') - compile ANDROID_SVG - compile ANDROID_GIF - compile OK_HTTP + implementation project(':library') + implementation ANDROID_SVG + implementation ANDROID_GIF + implementation OK_HTTP } if (project.hasProperty('release')) { From d7630631b62a93ce338ebaae37f7ac601df1364d Mon Sep 17 00:00:00 2001 From: Daniel Leal Date: Thu, 11 Jan 2018 14:43:21 +0100 Subject: [PATCH 4/5] Extract gradle code to assemble and publish library to external gradle file Adapted library and library-image-loader gradle files --- artifactory-mvn-push.gradle | 44 ++++++++++++++++++++++++++++ library-image-loader/build.gradle | 4 +-- library/build.gradle | 48 +------------------------------ 3 files changed, 46 insertions(+), 50 deletions(-) create mode 100644 artifactory-mvn-push.gradle diff --git a/artifactory-mvn-push.gradle b/artifactory-mvn-push.gradle new file mode 100644 index 00000000..934ddba3 --- /dev/null +++ b/artifactory-mvn-push.gradle @@ -0,0 +1,44 @@ +apply plugin: 'com.jfrog.artifactory' +apply plugin: 'digital.wup.android-maven-publish' + +publishing { + publications { + aar(MavenPublication) { + groupId "${GROUP}.auto1" + version VERSION_NAME + artifactId POM_ARTIFACT_ID + + from components.android + } + } +} + +artifactory { + contextUrl = artifactory_repository_url + publish { + repository { + repoKey = artifactory_repository_name + + 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' + } +} \ No newline at end of file diff --git a/library-image-loader/build.gradle b/library-image-loader/build.gradle index 026b1f44..523c835e 100644 --- a/library-image-loader/build.gradle +++ b/library-image-loader/build.gradle @@ -25,6 +25,4 @@ dependencies { implementation OK_HTTP } -if (project.hasProperty('release')) { - apply from: 'https://raw.githubusercontent.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle' -} \ No newline at end of file +apply from: '../artifactory-mvn-push.gradle' \ No newline at end of file diff --git a/library/build.gradle b/library/build.gradle index a3073b48..6929bf08 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,9 +1,6 @@ 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 @@ -37,47 +34,4 @@ 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 +apply from: '../artifactory-mvn-push.gradle' \ No newline at end of file From 1df893ba0221b8bbfb438f318389feed73a30c69 Mon Sep 17 00:00:00 2001 From: Daniel Leal Date: Thu, 11 Jan 2018 16:18:45 +0100 Subject: [PATCH 5/5] Define proguard rules for 'library-image-loader' in its own file --- app/proguard.pro | 5 ----- library-image-loader/build.gradle | 2 ++ library-image-loader/lib-proguard-rules.pro | 5 +++++ library/build.gradle | 2 -- library/lib-proguard-rules.pro | 1 - 5 files changed, 7 insertions(+), 8 deletions(-) create mode 100644 library-image-loader/lib-proguard-rules.pro delete mode 100644 library/lib-proguard-rules.pro diff --git a/app/proguard.pro b/app/proguard.pro index 9eee5753..e69de29b 100644 --- a/app/proguard.pro +++ b/app/proguard.pro @@ -1,5 +0,0 @@ --dontwarn okhttp3.** --dontwarn okio.** - --keep class com.caverock.androidsvg.** { *; } --dontwarn com.caverock.androidsvg.** \ No newline at end of file diff --git a/library-image-loader/build.gradle b/library-image-loader/build.gradle index 523c835e..a7fd1266 100644 --- a/library-image-loader/build.gradle +++ b/library-image-loader/build.gradle @@ -10,6 +10,8 @@ android { targetSdkVersion TARGET_SDK versionCode 1 versionName version + + consumerProguardFiles 'lib-proguard-rules.pro' } lintOptions { diff --git a/library-image-loader/lib-proguard-rules.pro b/library-image-loader/lib-proguard-rules.pro new file mode 100644 index 00000000..9eee5753 --- /dev/null +++ b/library-image-loader/lib-proguard-rules.pro @@ -0,0 +1,5 @@ +-dontwarn okhttp3.** +-dontwarn okio.** + +-keep class com.caverock.androidsvg.** { *; } +-dontwarn com.caverock.androidsvg.** \ No newline at end of file diff --git a/library/build.gradle b/library/build.gradle index 6929bf08..28d4c12d 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -11,8 +11,6 @@ android { targetSdkVersion TARGET_SDK versionCode 1 versionName version - - consumerProguardFiles 'lib-proguard-rules.pro' } libraryVariants.all { variant -> diff --git a/library/lib-proguard-rules.pro b/library/lib-proguard-rules.pro deleted file mode 100644 index 6aeb39dd..00000000 --- a/library/lib-proguard-rules.pro +++ /dev/null @@ -1 +0,0 @@ --keep class ru.noties.markwon.** { *; } \ No newline at end of file