mirror of
				https://github.com/InsanusMokrassar/TelegramBotAPI.git
				synced 2025-11-03 21:50:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
apply plugin: 'maven-publish'
 | 
						|
 | 
						|
task javadocsJar(type: Jar) {
 | 
						|
    archiveClassifier = 'javadoc'
 | 
						|
}
 | 
						|
 | 
						|
publishing {
 | 
						|
    publications.all {
 | 
						|
        artifact javadocsJar
 | 
						|
 | 
						|
        pom {
 | 
						|
            description = "${project.description}"
 | 
						|
            name = "${project.name}"
 | 
						|
            url = "https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI"
 | 
						|
 | 
						|
            scm {
 | 
						|
                developerConnection = "scm:git:[fetch=]https://github.com/insanusmokrassar/TelegramBotAPI.git[push=]https://github.com/insanusmokrassar/TelegramBotAPI.git"
 | 
						|
                url = "https://github.com/insanusmokrassar/TelegramBotAPI.git"
 | 
						|
            }
 | 
						|
 | 
						|
            developers {
 | 
						|
                developer {
 | 
						|
                    id = "InsanusMokrassar"
 | 
						|
                    name = "Ovsiannikov Aleksei"
 | 
						|
                    email = "ovsyannikov.alexey95@gmail.com"
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            licenses {
 | 
						|
                license {
 | 
						|
                    name = "Apache Software License 2.0"
 | 
						|
                    url = "https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    repositories {
 | 
						|
        if ((project.hasProperty('GITHUB_USER') || System.getenv('GITHUB_USER') != null) && (project.hasProperty('GITHUB_TOKEN') || System.getenv('GITHUB_TOKEN') != null)) {
 | 
						|
            maven {
 | 
						|
                name = "GithubPackages"
 | 
						|
                url = uri("https://maven.pkg.github.com/InsanusMokrassar/ktgbotapi")
 | 
						|
        
 | 
						|
                credentials {
 | 
						|
                    username = project.hasProperty('GITHUB_USER') ? project.property('GITHUB_USER') : System.getenv('GITHUB_USER')
 | 
						|
                    password = project.hasProperty('GITHUB_TOKEN') ? project.property('GITHUB_TOKEN') : System.getenv('GITHUB_TOKEN')
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        if ((project.hasProperty('INMONEXUS_USER') || System.getenv('INMONEXUS_USER') != null) && (project.hasProperty('INMONEXUS_PASSWORD') || System.getenv('INMONEXUS_PASSWORD') != null)) {
 | 
						|
            maven {
 | 
						|
                name = "InmoNexus"
 | 
						|
                url = uri("https://nexus.inmo.dev/repository/maven-releases/")
 | 
						|
        
 | 
						|
                credentials {
 | 
						|
                    username = project.hasProperty('INMONEXUS_USER') ? project.property('INMONEXUS_USER') : System.getenv('INMONEXUS_USER')
 | 
						|
                    password = project.hasProperty('INMONEXUS_PASSWORD') ? project.property('INMONEXUS_PASSWORD') : System.getenv('INMONEXUS_PASSWORD')
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != null) && (project.hasProperty('SONATYPE_PASSWORD') || System.getenv('SONATYPE_PASSWORD') != null)) {
 | 
						|
            maven {
 | 
						|
                name = "sonatype"
 | 
						|
                url = uri("https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/")
 | 
						|
        
 | 
						|
                credentials {
 | 
						|
                    username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER')
 | 
						|
                    password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD')
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
    
 | 
						|
if (project.hasProperty("signing.gnupg.keyName")) {
 | 
						|
    apply plugin: 'signing'
 | 
						|
 | 
						|
    signing {
 | 
						|
        useGpgCmd()
 | 
						|
 | 
						|
        sign publishing.publications
 | 
						|
    }
 | 
						|
 | 
						|
    task signAll {
 | 
						|
        tasks.withType(Sign).forEach {
 | 
						|
            dependsOn(it)
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    // Workaround to make android sign operations depend on signing tasks
 | 
						|
    project.getTasks().withType(AbstractPublishToMaven.class).configureEach {
 | 
						|
        def signingTasks = project.getTasks().withType(Sign.class)
 | 
						|
        mustRunAfter(signingTasks)
 | 
						|
    }
 | 
						|
    // Workaround to make test tasks use sign
 | 
						|
    project.getTasks().withType(Sign.class).configureEach { signTask ->
 | 
						|
        def withoutSign = (signTask.name.startsWith("sign") ? signTask.name.minus("sign") : signTask.name)
 | 
						|
        def pubName = withoutSign.endsWith("Publication") ? withoutSign.substring(0, withoutSign.length() - "Publication".length()) : withoutSign
 | 
						|
        // These tasks only exist for native targets, hence findByName() to avoid trying to find them for other targets
 | 
						|
 | 
						|
        // Task ':linkDebugTest<platform>' uses this output of task ':sign<platform>Publication' without declaring an explicit or implicit dependency
 | 
						|
        def debugTestTask = tasks.findByName("linkDebugTest$pubName")
 | 
						|
        if (debugTestTask != null) {
 | 
						|
            signTask.mustRunAfter(debugTestTask)
 | 
						|
        }
 | 
						|
        // Task ':compileTestKotlin<platform>' uses this output of task ':sign<platform>Publication' without declaring an explicit or implicit dependency
 | 
						|
        def testTask = tasks.findByName("compileTestKotlin$pubName")
 | 
						|
        if (testTask != null) {
 | 
						|
            signTask.mustRunAfter(testTask)
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |