-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3ba3ac8
commit b4fd96f
Showing
44 changed files
with
1,475 additions
and
1,587 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Automatically build the project and run any configured tests for every push | ||
# and submitted pull request. This can help catch issues that only occur on | ||
# certain platforms or Java versions, and provides a first line of defence | ||
# against bad commits. | ||
|
||
name: build | ||
on: [pull_request, push] | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
matrix: | ||
# Use these Java versions | ||
java: [ | ||
17 # Minimum supported by Minecraft | ||
] | ||
# and run on both Linux and Windows | ||
os: [ubuntu-20.04, windows-latest] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: checkout repository | ||
uses: actions/checkout@v2 | ||
- name: validate gradle wrapper | ||
uses: gradle/wrapper-validation-action@v1 | ||
- name: setup jdk ${{ matrix.java }} | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: ${{ matrix.java }} | ||
- name: make gradle wrapper executable | ||
if: ${{ runner.os != 'Windows' }} | ||
run: chmod +x ./gradlew | ||
- name: build | ||
run: ./gradlew build | ||
- name: capture build artifacts | ||
if: ${{ runner.os == 'Linux' && matrix.java == '16' }} # Only upload artifacts built from the latest java on one OS | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Artifacts | ||
path: build/libs/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,207 +1,63 @@ | ||
plugins { | ||
id 'fabric-loom' version '0.5-SNAPSHOT' | ||
id 'fabric-loom' version '0.11-SNAPSHOT' | ||
id 'maven-publish' | ||
id 'com.matthewprenger.cursegradle' version '1.4.0' | ||
id 'org.ajoberstar.grgit' version '3.1.1' | ||
id 'com.github.breadmoirai.github-release' version '2.2.9' | ||
id 'com.wynprice.cursemaven' version '1.2.3' | ||
} | ||
|
||
sourceCompatibility = JavaVersion.VERSION_1_8 | ||
targetCompatibility = JavaVersion.VERSION_1_8 | ||
// Adds a few utility methods like getProjectProperty | ||
apply from: 'https://raw.githubusercontent.com/NerdHubMC/Gradle-Scripts/master/scripts/utilities.gradle' | ||
apply from: 'https://raw.githubusercontent.com/NerdHubMC/Gradle-Scripts/master/scripts/fabric/publish/changelog.gradle' | ||
sourceCompatibility = JavaVersion.VERSION_17 | ||
targetCompatibility = JavaVersion.VERSION_17 | ||
|
||
archivesBaseName = project.archives_base_name | ||
version = project.mod_version | ||
group = project.maven_group | ||
|
||
minecraft { | ||
} | ||
|
||
repositories { | ||
// Ladysnake bintray | ||
maven { | ||
name = "Ladysnake Libs" | ||
url = "https://dl.bintray.com/ladysnake/libs" | ||
name "Parchment" | ||
url "https://maven.parchmentmc.org" | ||
} | ||
} | ||
|
||
dependencies { | ||
//to change the versions see the gradle.properties file | ||
minecraft "com.mojang:minecraft:${project.minecraft_version}" | ||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" | ||
modCompile "net.fabricmc:fabric-loader:${project.loader_version}" | ||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" | ||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" | ||
|
||
// Fabric API. This is technically optional, but you probably want it anyway. | ||
modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" | ||
//Parchment | ||
mappings loom.layered() { | ||
officialMojangMappings() | ||
parchment("org.parchmentmc.data:parchment-1.18.2:2022.05.02@zip") | ||
} | ||
} | ||
|
||
processResources { | ||
inputs.property "version", project.version | ||
|
||
from(sourceSets.main.resources.srcDirs) { | ||
include "fabric.mod.json" | ||
filesMatching("fabric.mod.json") { | ||
expand "version": project.version | ||
} | ||
|
||
from(sourceSets.main.resources.srcDirs) { | ||
exclude "fabric.mod.json" | ||
} | ||
} | ||
|
||
// ensure that the encoding is set to UTF-8, no matter what the system default is | ||
// this fixes some edge cases with special characters not displaying correctly | ||
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html | ||
tasks.withType(JavaCompile) { | ||
options.encoding = "UTF-8" | ||
tasks.withType(JavaCompile).configureEach { | ||
it.options.release = 17 | ||
} | ||
|
||
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task | ||
// if it is present. | ||
// If you remove this task, sources will not be generated. | ||
task sourcesJar(type: Jar, dependsOn: classes) { | ||
classifier = "sources" | ||
from sourceSets.main.allSource | ||
java { | ||
withSourcesJar() | ||
} | ||
|
||
jar { | ||
from "LICENSE" | ||
from("LICENSE") { | ||
rename { "${it}_${project.archivesBaseName}"} | ||
} | ||
} | ||
|
||
// configure the maven publication | ||
publishing { | ||
publications { | ||
mavenJava(MavenPublication) { | ||
// add all the jars that should be included when publishing to maven | ||
artifact(remapJar) { | ||
builtBy remapJar | ||
} | ||
artifact(sourcesJar) { | ||
builtBy remapSourcesJar | ||
} | ||
from components.java | ||
} | ||
} | ||
|
||
// select the repositories you want to publish to | ||
repositories { | ||
// uncomment to publish to the local maven | ||
// mavenLocal() | ||
} | ||
} | ||
|
||
|
||
task checkGitStatus() { | ||
group = 'publishing' | ||
description = 'Checks that the git repository is in a state suitable for release' | ||
doLast { | ||
if (grgit == null) throw new RuntimeException('No git repository') | ||
if (!grgit.status().isClean()) { | ||
throw new RuntimeException("Git repository not ready for release (${grgit.status()})") | ||
} | ||
def currentBranch = grgit.branch.current().getName() | ||
grgit.fetch() | ||
if (grgit.tag.list().any { it.name == project.version }) { | ||
throw new RuntimeException("A tag already exists for ${project.version}") | ||
} | ||
def status = grgit.branch.status(name: currentBranch) | ||
if (status.aheadCount != 0) { | ||
throw new RuntimeException('Some commits have not been pushed') | ||
} | ||
if (status.behindCount != 0) { | ||
throw new RuntimeException('Some commits have not been pulled') | ||
} | ||
} | ||
} | ||
|
||
githubRelease { | ||
repo "Nomad-Books" | ||
token "${getProjectProperty('github_releases_token')}" | ||
// default owner: last component of maven group | ||
// default repo: name of the project | ||
tagName = project.version | ||
targetCommitish = { grgit.branch.current().name } | ||
body = { project.getChangelogText() } | ||
|
||
FilenameFilter filter = { dir, filename -> filename.contains(project.version) && !filename.contains('-dev.jar') } | ||
releaseAssets = { jar.destinationDirectory.asFile.get().listFiles filter } | ||
} | ||
tasks.githubRelease.dependsOn(checkGitStatus) | ||
|
||
curseforge { | ||
|
||
if (project.getProjectProperty('curse_key') != null) { | ||
apiKey = project.getProjectProperty('curse_key') | ||
} | ||
|
||
if (project.hasProperty('curseforge_id')) { | ||
project { | ||
id = findProperty('curseforge_id') | ||
|
||
releaseType = project.release_type | ||
|
||
//usually automatically determined by the CurseGradle plugin, but won't work with fabric | ||
"${project.curseforge_versions}".split('; ').each { | ||
addGameVersion it | ||
} | ||
addGameVersion 'Fabric' | ||
|
||
mainArtifact(remapJar) { | ||
displayName = "${project.name}-${project.version}.jar" | ||
|
||
if (project.hasProperty('cf_requirements') || project.hasProperty('cf_optionals') || project.hasProperty('cf_embeddeds') || project.hasProperty('cf_tools') || project.hasProperty('cf_incompatibles') || project.hasProperty('cf_includes')) { | ||
relations { | ||
if (project.hasProperty('cf_requirements')) { | ||
"${project.cf_requirements}".split('; ').each { | ||
requiredDependency "${it}" | ||
} | ||
} | ||
if (project.hasProperty('cf_optionals')) { | ||
"${project.cf_optionals}".split('; ').each { | ||
optionalDependency "${it}" | ||
} | ||
} | ||
if (project.hasProperty('cf_embeddeds')) { | ||
"${project.cf_embeddeds}".split('; ').each { | ||
embeddedLibrary "${it}" | ||
} | ||
} | ||
if (project.hasProperty('cf_tools')) { | ||
"${project.cf_tools}".split('; ').each { | ||
tool "${it}" | ||
} | ||
} | ||
if (project.hasProperty('cf_incompatibles')) { | ||
"${project.cf_incompatibles}".split('; ').each { | ||
incompatible "${it}" | ||
} | ||
} | ||
if (project.hasProperty('cf_includes')) { | ||
"${project.cf_includes}".split('; ').each { | ||
include "${it}" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
changelogType = 'markdown' | ||
changelog = project.getChangelogText() | ||
|
||
afterEvaluate { | ||
uploadTask.dependsOn remapSourcesJar | ||
} | ||
} | ||
options { | ||
forgeGradleIntegration = false | ||
} | ||
} | ||
} | ||
|
||
tasks.curseforge.dependsOn(checkGitStatus) | ||
|
||
task release(dependsOn: [tasks.githubRelease, tasks.curseforge]) { | ||
group = 'publishing' | ||
description = 'Releases a new version to Github and Curseforge' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,7 @@ | ||
# Done to increase the memory available to gradle. | ||
org.gradle.jvmargs=-Xmx1G | ||
|
||
# Fabric Properties | ||
minecraft_version=1.16.5 | ||
yarn_mappings=1.16.5+build.1 | ||
loader_version=0.11.1 | ||
|
||
#Fabric api | ||
fabric_version=0.29.4+1.16 | ||
|
||
# Mod Properties | ||
mod_version = 1.0.1 | ||
maven_group = io.github.ladysnake | ||
archives_base_name = nomadbooks | ||
|
||
#Publishing | ||
owners = Ladysnake | ||
license_header = GPL-3.0-or-later | ||
curseforge_id = 356921 | ||
curseforge_versions = 1.16.5 | ||
cf_requirements = fabric-api | ||
release_type = release | ||
changelog_url = https://github.com/Ladysnake/Nomad-Books/blob/master/CHANGELOG.md | ||
minecraft_version=1.18.2 | ||
loader_version=0.14.5 | ||
mod_version = 1.0.1 | ||
maven_group = net.zestyblaze | ||
archives_base_name = nomadbooks-1.18 | ||
fabric_version=0.51.1+1.18.2 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
distributionBase=GRADLE_USER_HOME | ||
distributionPath=wrapper/dists | ||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip | ||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip | ||
zipStoreBase=GRADLE_USER_HOME | ||
zipStorePath=wrapper/dists |
Oops, something went wrong.