1+ // Create variables with empty default values
2+ ext[" signing.keyId" ] = ' '
3+ ext[" signing.password" ] = ' '
4+ ext[" signing.secretKeyRingFile" ] = ' '
5+ ext[" ossrhUsername" ] = ' '
6+ ext[" ossrhPassword" ] = ' '
7+ ext[" sonatypeStagingProfileId" ] = ' '
8+
9+ File secretPropsFile = project. rootProject. file(' local.properties' )
10+ if (secretPropsFile. exists()) {
11+ // Read local.properties file first if it exists
12+ Properties p = new Properties ()
13+ new FileInputStream (secretPropsFile). withCloseable { is -> p. load(is) }
14+ p. each { name , value -> ext[name] = value }
15+ } else {
16+ // Use system environment variables
17+ ext[" ossrhUsername" ] = System . getenv(' OSSRH_USERNAME' )
18+ ext[" ossrhPassword" ] = System . getenv(' OSSRH_PASSWORD' )
19+ ext[" sonatypeStagingProfileId" ] = System . getenv(' SONATYPE_STAGING_PROFILE_ID' )
20+ ext[" signing.keyId" ] = System . getenv(' SIGNING_KEY_ID' )
21+ ext[" signing.password" ] = System . getenv(' SIGNING_PASSWORD' )
22+ ext[" signing.secretKeyRingFile" ] = System . getenv(' SIGNING_SECRET_KEY_RING_FILE' )
23+ }
24+
25+ // Set up Sonatype repository
26+ nexusPublishing {
27+ repositories {
28+ sonatype {
29+ stagingProfileId = sonatypeStagingProfileId
30+ username = ossrhUsername
31+ password = ossrhPassword
32+ nexusUrl. set(uri(" https://s01.oss.sonatype.org/service/local/" ))
33+ snapshotRepositoryUrl. set(uri(" https://s01.oss.sonatype.org/content/repositories/snapshots/" ))
34+ }
35+ }
36+ }
0 commit comments