// Create variables with empty default values // keyId is the last 8 characters of the GPG key ext["signing.keyId"] = '' // password is the passphrase of the GPG key ext["signing.password"] = '' // key is the base64 private GPG key ext["signing.key"] = '' // osshrUsername and ossrhPassword are the account details for MavenCentral // which we’ve chosen at the Jira registration step (Sonatype site)) ext["ossrhUsername"] = '' ext["ossrhPassword"] = '' ext["sonatypeStagingProfileId"] = '' File secretPropsFile = project.rootProject.file('local.properties') if (secretPropsFile.exists()) { // Read local.properties file first if it exists Properties p = new Properties() new FileInputStream(secretPropsFile).withCloseable { is -> p.load(is) } p.each { name, value -> ext[name] = value } } else { // Use system environment variables ext["ossrhUsername"] = System.getenv('OSSRH_USERNAME') ext["ossrhPassword"] = System.getenv('OSSRH_PASSWORD') ext["sonatypeStagingProfileId"] = System.getenv('SONATYPE_STAGING_PROFILE_ID') ext["signing.keyId"] = System.getenv('SIGNING_KEY_ID') ext["signing.password"] = System.getenv('SIGNING_PASSWORD') ext["signing.key"] = System.getenv('SIGNING_KEY') } // Set up Sonatype repository nexusPublishing { repositories { sonatype { stagingProfileId = sonatypeStagingProfileId username = ossrhUsername password = ossrhPassword nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/")) snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")) } } }