Skip to content

Commit

Permalink
update for library deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
sparrow007 committed Mar 14, 2021
1 parent 69a0f55 commit a82e81b
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 1 deletion.
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ buildscript {

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
}

Expand Down
12 changes: 11 additions & 1 deletion carouselrecyclerview/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'com.github.dcendents.android-maven'
}
group = 'com.github.sparrow007'

android {
compileSdkVersion 30
Expand Down Expand Up @@ -34,4 +36,12 @@ android {

dependencies {
implementation 'com.google.android.material:material:1.3.0'
}
}

ext {
PUBLISH_GROUP_ID = 'com.github.sparrow007'
PUBLISH_VERSION = '1.0.0'
PUBLISH_ARTIFACT_ID = 'carouselrecyclerview'
}

apply from: "${rootProject.projectDir}/scripts/publish-mavencentral.gradle"
114 changes: 114 additions & 0 deletions scripts/publish-mavencentral.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
apply plugin: 'maven-publish'
apply plugin: 'signing'

task androidSourcesJar(type: Jar) {
archiveClassifier.set('sources')
if (project.plugins.findPlugin("com.android.library")) {
from android.sourceSets.main.java.srcDirs
from android.sourceSets.main.kotlin.srcDirs
} else {
from sourceSets.main.java.srcDirs
from sourceSets.main.kotlin.srcDirs
}
}


artifacts {
archives androidSourcesJar
}


group = PUBLISH_GROUP_ID
version = PUBLISH_VERSION

ext["signing.keyId"] = ''
ext["signing.password"] = ''
ext["signing.secretKeyRingFile"] = ''
ext["ossrhUsername"] = ''
ext["ossrhPassword"] = ''
ext["sonatypeStagingProfileId"] = ''

File secretPropsFile = project.rootProject.file('local.properties')
if (secretPropsFile.exists()) {
Properties p = new Properties()
p.load(new FileInputStream(secretPropsFile))
p.each { name, value ->
ext[name] = value
}
} else {
ext["signing.keyId"] = System.getenv('SIGNING_KEY_ID')
ext["signing.password"] = System.getenv('SIGNING_PASSWORD')
ext["signing.secretKeyRingFile"] = System.getenv('SIGNING_SECRET_KEY_RING_FILE')
ext["ossrhUsername"] = System.getenv('OSSRH_USERNAME')
ext["ossrhPassword"] = System.getenv('OSSRH_PASSWORD')
ext["sonatypeStagingProfileId"] = System.getenv('SONATYPE_STAGING_PROFILE_ID')
}

publishing {
publications {
release(MavenPublication) {
groupId PUBLISH_GROUP_ID
artifactId PUBLISH_ARTIFACT_ID
version PUBLISH_VERSION
if (project.plugins.findPlugin("com.android.library")) {
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
} else {
artifact("$buildDir/libs/${project.getName()}-${version}.jar")
}

artifact androidSourcesJar
pom {
name = PUBLISH_ARTIFACT_ID
description = 'Create carousel effect in recyclerview with the CarouselRecyclerview in a simple way.'
url = 'https://github.com/sparrow007/CarouselRecyclerview'
licenses {
license {
name = 'The Apache Software License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'sparrow007'
name = 'Ankit kumar'
email = '[email protected]'
}
}
scm {
connection = 'scm:git:github.com/sparrow007/CarouselRecyclerview.git'
developerConnection = 'scm:git:ssh://github.com/sparrow007/CarouselRecyclerview.git'
url = 'https://github.com/sparrow007/CarouselRecyclerview/tree/main'
}
withXml {
def dependenciesNode = asNode().appendNode('dependencies')

project.configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
repositories {
maven {
name = "sonatype"

def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl

credentials {
username ossrhUsername
password ossrhPassword
}
}
}
}


signing {
sign publishing.publications
}

0 comments on commit a82e81b

Please sign in to comment.