|
|
@@ -0,0 +1,104 @@
|
|
|
+// 部分源码来自 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|