|
apply plugin: 'maven-publish' |
|
apply plugin: 'com.jfrog.bintray' |
|
apply from: '../secrets.gradle' |
|
|
|
/** |
|
* This script is responsible for SDK publishing to maven repository. |
|
*/ |
|
ext { |
|
sdkGroupId = 'com.heershingenmosiken' |
|
sdkVersion = '0.0.1' |
|
|
|
/** |
|
* This is list of libraries that we are going to publish. |
|
* Also it declares mapping from local module names to public names. |
|
*/ |
|
sdkLibNames = [ |
|
'multimodule-analytics': 'multimodule-analytics', |
|
] |
|
} |
|
|
|
bintray { |
|
user = getSecretValue('MM_ANALYTICS_BINTRAY_USER') |
|
key = getSecretValue('MM_ANALYTICS_BINTRAY_API_KEY') |
|
publications = ['maven'] |
|
publish = true |
|
pkg { |
|
repo = 'heershingenmosiken' |
|
name = sdkLibNames[project.name] |
|
userOrg = 'dekalo-stanislav' |
|
vcsUrl = 'https://github.com/heershingenmosiken/multimodule-analytics' |
|
|
|
version { |
|
name = sdkVersion |
|
released = new Date() |
|
} |
|
} |
|
} |
|
|
|
publishing { |
|
publications { |
|
maven(MavenPublication) { |
|
|
|
groupId sdkGroupId |
|
artifactId sdkLibNames[project.name] |
|
version sdkVersion |
|
|
|
pom { |
|
name = 'Multimodule Analytics' |
|
description = 'Library that allow easier multimodule analytics setup for Android applications' |
|
url = 'https://github.com/heershingenmosiken/multimodule-analytics' |
|
|
|
licenses { |
|
license { |
|
name = 'The Apache License, Version 2.0' |
|
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
|
} |
|
} |
|
|
|
withXml { |
|
def dependenciesNode = asNode().appendNode('dependencies') |
|
// api already included in configurations.implementation dependencies list. |
|
configurations.implementation.allDependencies.each { |
|
|
|
if (it.group != null && (it.name != null && "unspecified" != it.name) && (it.version != null && "unspecified" != it.version)) { |
|
/** |
|
* Iterate over the compile dependencies (we don't want the test ones), adding a <dependency> node for each |
|
*/ |
|
def dependencyNode = dependenciesNode.appendNode('dependency') |
|
dependencyNode.appendNode('groupId', it.group) |
|
dependencyNode.appendNode('artifactId', it.name) |
|
dependencyNode.appendNode('version', it.version) |
|
} else if (sdkLibNames[it.name]) { |
|
/** |
|
* It is local project dependency and it is declared in sdkLibNames above. |
|
*/ |
|
def dependencyNode = dependenciesNode.appendNode('dependency') |
|
dependencyNode.appendNode('groupId', sdkGroupId) |
|
dependencyNode.appendNode('artifactId', sdkLibNames[it.name]) |
|
dependencyNode.appendNode('version', sdkVersion) |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
repositories { |
|
/** |
|
* Install to local repository |
|
*/ |
|
maven { |
|
url System.getProperty("user.home") + "/.m2/repository" |
|
} |
|
} |
|
} |