Specify version information using Java 8's Package Version system.

This commit is contained in:
LexManos 2018-10-01 19:19:25 -07:00
parent e8329ad2c2
commit 2b4f7b1a86
1 changed files with 50 additions and 50 deletions

View File

@ -13,6 +13,7 @@ import groovy.json.JsonSlurper
import groovy.json.JsonBuilder import groovy.json.JsonBuilder
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Date import java.util.Date
import java.util.LinkedHashMap
import java.security.MessageDigest import java.security.MessageDigest
import java.net.URL import java.net.URL
import net.minecraftforge.gradle.common.task.ArchiveChecksum import net.minecraftforge.gradle.common.task.ArchiveChecksum
@ -90,6 +91,8 @@ project(':forge') {
mavenCentral() mavenCentral()
} }
ext { ext {
MC_VERSION = '1.13'
SPEC_VERSION = '15.24.0'
MCP_ARTIFACT = project(':mcp').mcp.config MCP_ARTIFACT = project(':mcp').mcp.config
MCP_VERSION = project(':mcp').mcp.config.version.split('-')[1] // The timestamp only. MCP_VERSION = project(':mcp').mcp.config.version.split('-')[1] // The timestamp only.
} }
@ -117,10 +120,21 @@ project(':forge') {
target: 'fmldevserver' target: 'fmldevserver'
] ]
} }
mcVersion = '1.13'
} }
def getVersion = {
def out = MC_VERSION.replace('-', '_') + '-' + SPEC_VERSION + '.' + (System.getenv('BUILD_NUMBER') ?: project.ext.properties.buildNumber ?: 0)
def branch = grgit.branch.current().name
if (branch != null && branch != 'master' && branch != 'HEAD' && branch != MC_VERSION && branch != MC_VERSION + '.0') {
if (!(branch.endsWith('.x') && MC_VERSION.startsWith(branch.substring(0, branch.length() -2))))
out += "-${branch}"
}
println('Version: ' + out)
return out
}
group = 'net.minecraftforge' group = 'net.minecraftforge'
version = getVersion(patcher.mcVersion, '15.24.0') version = getVersion()
applyPatches { applyPatches {
canonicalizeAccess true canonicalizeAccess true
canonicalizeWhitespace true canonicalizeWhitespace true
@ -186,24 +200,6 @@ project(':forge') {
workingDir 'runserver' workingDir 'runserver'
} }
task ciWriteBuildNumber {
doLast {
def file = file("$rootDir/src/main/java/net/minecraftforge/common/ForgeVersion.java")
def bn = System.getenv('BUILD_NUMBER') ?: project.ext.properties.buildNumber ?: 0
def outfile = ''
file.eachLine{ String s ->
if (s.matches('^ public static final int buildVersion = [\\d]+;\$'))
s = " public static final int buildVersion = ${bn};"
if (s.matches('^ public static final String mcVersion = "[^\\"]+";'))
s = " public static final String mcVersion = \"${patcher.mcVersion}\";"
outfile += (s+'\n')
}
file.write(outfile)
}
}
def extraTxts = [ def extraTxts = [
rootProject.file('CREDITS.txt'), rootProject.file('CREDITS.txt'),
rootProject.file('LICENSE.txt') rootProject.file('LICENSE.txt')
@ -341,7 +337,7 @@ project(':forge') {
releaseTime: timestamp, releaseTime: timestamp,
type: 'release', type: 'release',
mainClass: 'cpw.mods.modlauncher.Launcher', mainClass: 'cpw.mods.modlauncher.Launcher',
inheritsFrom: patcher.mcVersion, inheritsFrom: MC_VERSION,
logging: [:], logging: [:],
arguments: [ arguments: [
game: json_vanilla.arguments.game + ['--launchTarget', 'fmlclient'] game: json_vanilla.arguments.game + ['--launchTarget', 'fmlclient']
@ -391,7 +387,7 @@ project(':forge') {
json: '/version.json', json: '/version.json',
path: "${project.group}:${project.name}:${project.version}", path: "${project.group}:${project.name}:${project.version}",
logo: '/big_logo.png', logo: '/big_logo.png',
minecraft: patcher.mcVersion, minecraft: MC_VERSION,
welcome: "Welcome to the simple ${project.name.capitalize()} installer.", welcome: "Welcome to the simple ${project.name.capitalize()} installer.",
data: [ data: [
MAPPINGS: [ MAPPINGS: [
@ -403,20 +399,20 @@ project(':forge') {
server: '/data/server.lzma' server: '/data/server.lzma'
], ],
MC_SLIM: [ MC_SLIM: [
client: "[net.minecraft:client:${patcher.mcVersion}:slim]", client: "[net.minecraft:client:${MC_VERSION}:slim]",
server: "[net.minecraft:server:${patcher.mcVersion}:slim]" server: "[net.minecraft:server:${MC_VERSION}:slim]"
], ],
MC_DATA: [ MC_DATA: [
client: "[net.minecraft:client:${patcher.mcVersion}:data]", client: "[net.minecraft:client:${MC_VERSION}:data]",
server: "[net.minecraft:server:${patcher.mcVersion}:data]" server: "[net.minecraft:server:${MC_VERSION}:data]"
], ],
MC_EXTRA: [ MC_EXTRA: [
client: "[net.minecraft:client:${patcher.mcVersion}:extra]", client: "[net.minecraft:client:${MC_VERSION}:extra]",
server: "[net.minecraft:server:${patcher.mcVersion}:extra]" server: "[net.minecraft:server:${MC_VERSION}:extra]"
], ],
MC_SRG: [ MC_SRG: [
client: "[net.minecraft:client:${patcher.mcVersion}-${MCP_VERSION}:srg]", client: "[net.minecraft:client:${MC_VERSION}-${MCP_VERSION}:srg]",
server: "[net.minecraft:server:${patcher.mcVersion}-${MCP_VERSION}:srg]" server: "[net.minecraft:server:${MC_VERSION}-${MCP_VERSION}:srg]"
], ],
PATCHED: [ PATCHED: [
client: "[${project.group}:${project.name}:${project.version}:client]", client: "[${project.group}:${project.name}:${project.version}:client]",
@ -479,7 +475,7 @@ project(':forge') {
universalJar { universalJar {
from extraTxts from extraTxts
/* TODO: Annotation Cache? need to talk to cpw about his new design. /* TODO: Annotation Cache? need to talk to cpw about his new design.
from(fixAnnotationsJson){ from(fixAnnotationsJson){
into 'META-INF' into 'META-INF'
} }
@ -506,16 +502,31 @@ project(':forge') {
artifacts.each { key, lib -> artifacts.each { key, lib ->
classpath += "libraries/${lib.downloads.artifact.path} " classpath += "libraries/${lib.downloads.artifact.path} "
} }
classpath += "minecraft_server.${patcher.mcVersion}.jar" classpath += "minecraft_server.${MC_VERSION}.jar"
manifest.attributes([ manifest.attributes([
"Main-Class": "net.minecraftforge.fml.relauncher.ServerLaunchWrapper", 'Main-Class': 'net.minecraftforge.server.ServerMain',
"TweakClass": "net.minecraftforge.fml.common.launcher.FMLTweaker", 'Class-Path': classpath.toString(),
"Class-Path": classpath.toString(), 'Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
"Minecraft-Version": patcher.mcVersion, 'GitCommit': grgit.head().getAbbreviatedId(8),
"Forge-Version": project.version.substring(patcher.mcVersion.length() + 1), 'Git-Branch': grgit.branch.current().getName()
"MCP-Version": MCP_VERSION ] as LinkedHashMap)
]) manifest.attributes([
'Specification-Title': 'Forge',
'Specification-Vendor': 'Forge Development LLC',
'Specification-Version': SPEC_VERSION,
'Implementation-Title': 'Forge',
'Implementation-Version': project.version.substring(MC_VERSION.length() + 1),
'Implementation-Vendor': 'Forge Development LLC'
] as LinkedHashMap, 'net/minecraftforge/common/')
manifest.attributes([
'Specification-Title': 'Minecraft',
'Specification-Vendor': 'Mojang',
'Specification-Version': MC_VERSION,
'Implementation-Title': 'MCP',
'Implementation-Version': MCP_VERSION,
'Implementation-Vendor': 'Forge'
] as LinkedHashMap, 'net/minecraftforge/mcp/')
} }
} }
@ -682,17 +693,6 @@ project(':forge') {
} }
} }
def getVersion(mcver, ver) {
def out = mcver.replace('-', '_') + '-' + ver + '.' + (System.getenv('BUILD_NUMBER') ?: project.ext.properties.buildNumber ?: 0)
def branch = grgit.branch.current().name
if (branch != null && branch != 'master' && branch != 'HEAD' && branch != mcver && branch != mcver + '.0') {
if (!(branch.endsWith('.x') && mcver.startsWith(branch.substring(0, branch.length() -2))))
out += "-$branch"
}
println('Version: ' + out)
return out
}
def dateToIso8601(date) { def dateToIso8601(date) {
def format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ") def format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
def result = format.format(date) def result = format.format(date)