mirror of
				https://github.com/AdrianKuta/Expandable-RecyclerView.git
				synced 2025-10-31 00:43:39 +01:00 
			
		
		
		
	Publish scripts
This commit is contained in:
		
							
								
								
									
										122
									
								
								scripts/publish-mavencentral.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								scripts/publish-mavencentral.gradle
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,122 @@ | ||||
| task androidSourcesJar(type: Jar) { | ||||
|     archiveClassifier.set("sources") | ||||
|     from android.sourceSets.main.java.source | ||||
| } | ||||
|  | ||||
| artifacts { | ||||
|     archives androidSourcesJar | ||||
| } | ||||
|  | ||||
| apply plugin: 'maven-publish' | ||||
| apply plugin: 'signing' | ||||
|  | ||||
| group = PUBLISH_GROUP_ID | ||||
| version = PUBLISH_VERSION | ||||
|  | ||||
| ext["signing.keyId"] = '' | ||||
| ext["signing.password"] = '' | ||||
| ext["signing.secretKeyRingFile"] = '' | ||||
| ext["ossrhUsername"] = '' | ||||
| ext["ossrhPassword"] = '' | ||||
|  | ||||
| File secretPropsFile = project.rootProject.file('local.properties') | ||||
| if (secretPropsFile.exists()) { | ||||
|     println "Found secret props file, loading props" | ||||
|     Properties p = new Properties() | ||||
|     p.load(new FileInputStream(secretPropsFile)) | ||||
|     p.each { name, value -> | ||||
|         ext[name] = value | ||||
|     } | ||||
| } else { | ||||
|     println "No props file, loading env vars" | ||||
|     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') | ||||
| } | ||||
|  | ||||
| nexusStaging { | ||||
|     packageGroup = PUBLISH_GROUP_ID | ||||
|     stagingProfileId = '2097bad464f778' | ||||
|     username = ossrhUsername | ||||
|     password = ossrhPassword | ||||
| } | ||||
|  | ||||
| publishing { | ||||
|     publications { | ||||
|         release(MavenPublication) { | ||||
|             // The coordinates of the library, being set from variables that | ||||
|             // we'll set up in a moment | ||||
|             groupId PUBLISH_GROUP_ID | ||||
|             artifactId PUBLISH_ARTIFACT_ID | ||||
|             version PUBLISH_VERSION | ||||
|  | ||||
|             // Two artifacts, the `aar` and the sources | ||||
|             artifact("$buildDir/outputs/aar/${project.getName()}-release.aar") | ||||
|             artifact androidSourcesJar | ||||
|  | ||||
|             // Self-explanatory metadata for the most part | ||||
|             pom { | ||||
|                 name = PUBLISH_ARTIFACT_ID | ||||
|                 description = 'Multilevel expandable recyclerView.' | ||||
|                 // If your project has a dedicated site, use its URL here | ||||
|                 url = 'https://github.com/AdrianKuta/Expandable-RecyclerView' | ||||
|                 licenses { | ||||
|                     license { | ||||
|                         name = 'Apache License 2.0' | ||||
|                         url = 'https://github.com/AdrianKuta/Expandable-RecyclerView/blob/master/LICENSE' | ||||
|                     } | ||||
|                 } | ||||
|                 developers { | ||||
|                     developer { | ||||
|                         name = 'Adrian Kuta' | ||||
|                         email = 'adrian.kuta93@gmail.com' | ||||
|                     } | ||||
|                 } | ||||
|                 // Version control info, if you're using GitHub, follow the format as seen here | ||||
|                 scm { | ||||
|                     connection = 'scm:git:github.com/AdrianKuta/Expandable-RecyclerView.git' | ||||
|                     developerConnection = 'scm:git:ssh://github.com/AdrianKuta/Expandable-RecyclerView.git' | ||||
|                     url = 'https://github.com/AdrianKuta/Expandable-RecyclerView/tree/master' | ||||
|                 } | ||||
|                 // A slightly hacky fix so that your POM will include any transitive dependencies | ||||
|                 // that your library builds upon | ||||
|                 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 { | ||||
|         // The repository to publish to, Sonatype/MavenCentral | ||||
|         maven { | ||||
|             // This is an arbitrary name, you may also use "mavencentral" or | ||||
|             // any other name that's descriptive for you | ||||
|             name = "sonatype" | ||||
|  | ||||
|             def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" | ||||
|             def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/" | ||||
|             // You only need this if you want to publish snapshots, otherwise just set the URL | ||||
|             // to the release repo directly | ||||
|             url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl | ||||
|  | ||||
|             // The username and password we've fetched earlier | ||||
|             credentials { | ||||
|                 username ossrhUsername | ||||
|                 password ossrhPassword | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| signing { | ||||
|     sign publishing.publications | ||||
| } | ||||
		Reference in New Issue
	
	Block a user