|  | // Based on the code from TinkersConstruct and Cazzar's repo. | 
|  | // Thanks ProgWML6 and Cazzar! | 
|  |  | 
|  | // verify the properties exist... or initialize. | 
|  | if (!project.hasProperty("keystore_location")) // keystore stuff | 
|  | ext.keystore_location = "" | 
|  |  | 
|  | if (!project.hasProperty("keystore_alias")) // keystore stuff | 
|  | ext.keystore_alias = "" | 
|  |  | 
|  | if (!project.hasProperty("keystore_password")) // keystore stuff | 
|  | ext.keystore_password = "" | 
|  |  | 
|  | task("signJar", dependsOn: "reobf") { | 
|  | inputs.file jar.getArchivePath() | 
|  | inputs.file keystore_location | 
|  | inputs.property "keystore_alias", keystore_alias | 
|  | inputs.property "keystore_password", keystore_password | 
|  | outputs.file jar.getArchivePath() | 
|  |  | 
|  | // only sign if the keystore exists | 
|  | onlyIf { | 
|  | return !keystore_location.empty | 
|  | } | 
|  |  | 
|  | // the actual action - sign the jar. | 
|  | doLast { | 
|  | ant.signjar( | 
|  | destDir: jar.destinationDir, | 
|  | jar: jar.getArchivePath(), | 
|  | keystore: keystore_location, | 
|  | alias: keystore_alias, | 
|  | storepass: keystore_password, | 
|  | keypass: keystore_password | 
|  | ) | 
|  | } | 
|  | } |