plugins { id 'fabric-loom' version "${fabric_loom_version}" apply false } tasks.register('cloneJcef', Exec) { commandLine 'git', 'submodule', 'update', '--init', '--recursive', 'common/java-cef' } // https://gist.github.com/JonasGroeger/7620911 def getCheckedOutGitCommitHash(Project mcefParent) { def gitFolder = "$mcefParent.projectDir/.git/modules/common/java-cef/" def takeFromHash = 40 /* * '.git/HEAD' contains either * in case of detached head: the currently checked out commit hash * otherwise: a reference to a file containing the current commit hash */ def gitHeadFile = new File(gitFolder + "HEAD"); if (gitHeadFile.exists()) { def head = gitHeadFile.text.split(":") // .git/HEAD def isCommit = head.length == 1 // e5a7c79edabbf7dd39888442df081b1c9d8e88fd // def isRef = head.length > 1 // ref: refs/heads/master if (isCommit) return head[0].trim().take(takeFromHash) // e5a7c79edabb def refHead = new File(gitFolder + head[1].trim()) // .git/refs/heads/master refHead.text.trim().take takeFromHash } else { return "" } } tasks.register('publishMaven', GradleBuild) { group = 'mcef' tasks = [ ':common:publish', ':fabric:publish', ':neoforge:publish' ] } tasks.register('publishCurseforge', GradleBuild) { group = 'mcef' tasks = [ ':common:clean', ':neoforge:clean', ':fabric:clean', ':neoforge:curseforge', ':fabric:curseforge' ] } tasks.register('fabricClient', GradleBuild) { group = 'mcef' tasks = [ ':fabric:runClient' ] } tasks.register('neoforgeClient', GradleBuild) { group = 'mcef' tasks = [ ':neoforge:runClient' ] } tasks.register('fabricServer', GradleBuild) { group = 'mcef' tasks = [ ':fabric:runServer' ] } tasks.register('neoforgeServer', GradleBuild) { group = 'mcef' tasks = [ ':neoforge:runServer' ] } tasks.register('cleanAll', GradleBuild) { group = 'mcef' tasks = [ ':common:clean', ':fabric:clean', ':neoforge:clean', ] }