| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // 部分源码来自 kotlinx.coroutines
- def pomConfig = {
- licenses {
- license {
- name "AGPL-V3"
- url "https://www.gnu.org/licenses/agpl-3.0.txt"
- distribution "repo"
- }
- }
- developers {
- developer {
- id "mamoe"
- name "Mamoe Technologies"
- }
- }
- scm {
- url "https://github.com/mamoe/mirai"
- }
- }
- bintray {
- def keyProps = new Properties()
- def keyFile = file("../keys.properties")
- if (keyFile.exists()) keyFile.withInputStream { keyProps.load(it) }
- user = keyProps.getProperty("bintrayUser")
- key = keyProps.getProperty("bintrayKey")
- pkg {
- repo = 'mirai'
- name = "mirai-japt"
- licenses = ['AGPL']
- vcsUrl = 'https://github.com/mamoe/mirai'
- }
- }
- afterEvaluate {
- project.publishing.publications.forEach { publication ->
- publication.pom.withXml {
- def root = asNode()
- //root.appendNode('groupId', project.group)
- //root.appendNode('artifactId', project.name)
- //root.appendNode('version', project.version)
- root.appendNode('name', project.name)
- root.appendNode('description', project.description)
- root.appendNode('url', 'https://github.com/mamoe/mirai')
- root.children().last() + pomConfig
- }
- }
- }
- bintrayUpload.doFirst {
- publications = project.publishing.publications
- }
- bintrayUpload.dependsOn {
- def list = new LinkedList<Task>()
- list.add(tasks.getByName("build"))
- list.addAll(tasks.findAll { task -> task.name.contains('Jar') })
- list.addAll(tasks.findAll { task -> task.name.startsWith('generateMetadataFileFor') })
- list.addAll(tasks.findAll { task -> task.name.startsWith('generatePomFileFor') })
- list
- }
- // empty xxx-javadoc.jar
- task javadocJar(type: Jar) {
- archiveClassifier = 'javadoc'
- }
- publishing {
- publications.all {
- // add empty javadocs (no need for MPP root publication which publishes only pom file)
- if (it.name != 'kotlinMultiplatform') {
- it.artifact(javadocJar)
- }
- // Rename MPP artifacts for backward compatibility
- def type = it.name
- switch (type) {
- case 'kotlinMultiplatform':
- it.artifactId = "$project.name"
- break
- case 'metadata':
- it.artifactId = "$project.name-common"
- break
- case 'jvm':
- it.artifactId = "$project.name"
- break
- case 'js':
- case 'native':
- it.artifactId = "$project.name-$type"
- break
- }
- // disable metadata everywhere, but in native modules
- if (type == 'maven' || type == 'metadata' || type == 'jvm' || type == 'js') {
- moduleDescriptorGenerator = null
- }
- }
- }
|