Skip to content

Commit

Permalink
Final release.
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin committed Nov 24, 2018
1 parent 96d48a5 commit 5892458
Show file tree
Hide file tree
Showing 11 changed files with 271 additions and 207 deletions.
25 changes: 12 additions & 13 deletions .gitignore
@@ -1,16 +1,15 @@
.gradle
build/

# Ignore Gradle GUI config
gradle-app.setting
# IntelliJ IDEA
.idea
*.iml
out

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Cache of project
.gradletasknamecache
# Gradle
.gradle
build
keystore.properties

# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties
# GitHub
.github

.idea
# Common
.tmp
71 changes: 66 additions & 5 deletions build.gradle
@@ -1,5 +1,7 @@
import java.text.SimpleDateFormat

group 'cz.babi'
version '0.1.4'
version '1.0.0'

apply plugin: 'java'
apply plugin: 'idea'
Expand All @@ -9,10 +11,11 @@ compileJava.options.encoding = 'UTF-8'

ext {
mainClass = 'cz.babi.java.jhungryhamster.Main'
}

// Keystore file.
keystoreFile = 'keystore.properties'

task wrapper(type: Wrapper) {
gradleVersion = '3.2.1'
maintainer = 'Martin Misiarz'
}

repositories {
Expand All @@ -37,11 +40,17 @@ dependencies {
jar {
manifest {
attributes(
"Created-By": project.maintainer,
"Created-On": new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()),
'Implementation-Title': project.name,
'Implementation-Version': version,
'Class-Path': configurations.runtime.collect { 'lib/' + it.getName() }.join(' '),
'Main-Class': project.mainClass,
'SplashScreen-Image': 'res/img/splashscreen/jhungryhamster.png'
'SplashScreen-Image': 'res/img/splashscreen/jhungryhamster.png',
"Build-JDK": System.getProperty('java.version'),
"Source-Compatibility": project.sourceCompatibility,
"Target-Compatibility": project.targetCompatibility,
"License": "Apache-2.0"
)
}
}
Expand Down Expand Up @@ -103,3 +112,55 @@ task createPackage(type: Copy, description: 'Creates package for production.', g
}

createPackage.dependsOn(build)

def keystorePropertiesFile = project.file(keystoreFile)
if (keystorePropertiesFile.exists()) {
// Load keystore properties.
def keystoreProperties = new Properties()
keystoreProperties.load(keystorePropertiesFile.newDataInputStream())

// Default Gradle signing.
if (keystoreProperties['signing.keyId'] && keystoreProperties['signing.password'] && keystoreProperties['signing.secretKeyRingFile']) {
project.ext['signing.keyId'] = keystoreProperties['signing.keyId']
project.ext['signing.password'] = keystoreProperties['signing.password']
project.ext['signing.secretKeyRingFile'] = keystoreProperties['signing.secretKeyRingFile']

project.plugins.apply('signing')

signing {
sign configurations.archives
}
}

// Custom JAR signing.
if (keystoreProperties['jarsigning.keystore'] && keystoreProperties['jarsigning.keystoreType'] && keystoreProperties['jarsigning.keystorePassword'] && keystoreProperties['jarsigning.alias'] && keystoreProperties['jarsigning.keyPassword']) {
project.tasks.create('signedJar') {
group = 'build'
dependsOn = ['jar']

doLast {
String libsDir = file("$buildDir").absolutePath+File.separator+'libs'+File.separator
ant.signjar(
jar: libsDir+project.tasks.jar.archiveName,
signedjar: libsDir+generateSignedArtifactName(project.tasks.jar.archiveName),
alias: keystoreProperties['jarsigning.alias'],
storetype: keystoreProperties['jarsigning.keystoreType'],
keystore: file(keystoreProperties['jarsigning.keystore']).absolutePath,
storepass: keystoreProperties['jarsigning.keystorePassword'],
keypass: keystoreProperties['jarsigning.keyPassword']
)
}
}

project.tasks.getByName('build').dependsOn += ['signedJar']
}
}
/**
* Generates name with '-signed' suffix added to given artifact's name.
* @param artifactName Original artifact's name.
* @return Artifact's name with '-signed' suffix.
*/
private static def generateSignedArtifactName(String artifactName) {
def lastDot = artifactName.lastIndexOf('.')
return artifactName.substring(0, lastDot) + '-signed' + artifactName.substring(lastDot)
}
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

0 comments on commit 5892458

Please sign in to comment.