Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

a #2

Merged
merged 80 commits into from
Mar 22, 2023
Merged

a #2

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
2c87d11
Better support for experimental versions.
modmuss50 Feb 20, 2022
7d08574
Bump version.
modmuss50 Feb 21, 2022
ecfb7b8
Allow arbitrary +build contents in semver parser, warn earlier about …
sfPlayer1 Feb 22, 2022
8f9e772
Jar and PGP sign maven artifacts. (#625)
modmuss50 Mar 22, 2022
ec63637
Add support for pre 1.6 arguments
js6pak Mar 27, 2022
29b38f7
Fix old server version parsing (#633)
js6pak Mar 29, 2022
ccacc83
Parse mc 2.0 versions correctly (#634)
thecatcore Mar 29, 2022
36ed420
Improve class loader isolation (#630)
sfPlayer1 Apr 2, 2022
775120e
Fix Javadoc for ModOrigin.getParentSubLocation
sfPlayer1 Apr 11, 2022
1bbb92a
Handle complex dependency failures more gracefully
sfPlayer1 Mar 10, 2022
d5bd69c
Delay log output until it can be displayed properly, except when erro…
sfPlayer1 Apr 2, 2022
d04c6bf
Always fall back to lexicographical comparison when StringVersion is …
sfPlayer1 Apr 19, 2022
640a7f0
Update ASM, TR and bump version
sfPlayer1 Apr 20, 2022
2858857
Fix release.yml
modmuss50 Apr 20, 2022
1e35669
Remove theoretically superfluous in-dev class loader population
sfPlayer1 Apr 22, 2022
3432be6
Rework URL handling to support special characters better
sfPlayer1 Apr 22, 2022
3132c2d
Bump version
sfPlayer1 Apr 22, 2022
103764a
Fix server launchers leaking their class path to knot CL
sfPlayer1 Apr 22, 2022
eacbf5a
Move everything to Path as URIs still don't compare with sufficient f…
sfPlayer1 Apr 23, 2022
3aea0b7
Fix log replay for very early messages
sfPlayer1 Apr 23, 2022
d96da47
Group class path warnings
sfPlayer1 Apr 23, 2022
7c83b26
Verify Loader's class loader early
sfPlayer1 Apr 23, 2022
f031810
Bump version
sfPlayer1 Apr 24, 2022
2193264
Normalize symlinks
sfPlayer1 Apr 24, 2022
3a69113
Support custom server launch jars with extra libraries
sfPlayer1 Apr 24, 2022
2d6c3c5
Refactor LogCategory handling
sfPlayer1 Apr 25, 2022
09172bb
Bump version
sfPlayer1 Apr 25, 2022
458c46a
Add GitHub action to help manage support issues.
modmuss50 Apr 30, 2022
52d6dc0
Skip code source operations for URLs with unknown protocols (injected…
sfPlayer1 Apr 27, 2022
461fe80
Bump version
sfPlayer1 May 1, 2022
101ebe1
Update mixin
modmuss50 May 3, 2022
c8dd81d
Fix handling of classes defined at runtime.
sfPlayer1 May 2, 2022
4850c7f
Start the game using MethodHandles (#669)
altrisi May 8, 2022
f7ea03d
Bump version
sfPlayer1 May 8, 2022
feb10d6
Ignore class path group entries not on the class path
sfPlayer1 May 19, 2022
ae9cf6f
reduce class path group warnings to debug level
sfPlayer1 May 19, 2022
b07a580
Bump version
sfPlayer1 May 19, 2022
57e0bb8
Fix logging for MC versions without log libs
sfPlayer1 May 24, 2022
89ea814
Bump version
sfPlayer1 Jun 8, 2022
38cb655
Add support for the MC client using a method that forwards to the act…
sfPlayer1 Jun 15, 2022
1fe6f4d
Allow defining additional system libraries through a system property
sfPlayer1 Jun 11, 2022
a553e3f
Fix realms library detection
thecatcore Jun 10, 2022
d713b2a
Bump version
sfPlayer1 Jun 15, 2022
2d9e1b5
Fix locale sensitive formatting with functional impact
sfPlayer1 Jul 15, 2022
8e02185
Support mods from multiple jars and directories. (#704)
modmuss50 Aug 5, 2022
79b034e
Bump version
modmuss50 Aug 5, 2022
6adfe08
Implement version detection for classic/alpha/beta client jars, cleanup
sfPlayer1 Aug 9, 2022
b80af70
Fix server entrypoint patch for 22w42a
sfPlayer1 Oct 19, 2022
755b23b
Extend hardcoded snapshot version to release mapping
sfPlayer1 Oct 19, 2022
281b511
Add support for MC version.json without release entry
sfPlayer1 Oct 19, 2022
6470436
Bump version
sfPlayer1 Oct 19, 2022
f5b4bf2
Fix: Resolve duplicate class definition attempt.
LlamaLad7 Nov 4, 2022
5dadf85
Fix mod metadata parsing tests
haykam821 Nov 28, 2022
354af34
Bump version
sfPlayer1 Nov 29, 2022
55e9897
Update to ASM 9.4 (#749)
modmuss50 Dec 20, 2022
7fde9dc
Fix crash in MixinIntermediaryDevRemapper when trying to remap method…
modmuss50 Dec 20, 2022
97b8445
Don't combine resources from the two classloaders in KnotClassLoader.…
modmuss50 Dec 20, 2022
ff00bf4
Add auto client test and Update build dependencies (#748)
modmuss50 Dec 20, 2022
0a45612
Fixes MixinIntermediaryDevRemapper.mapMethodName unable to map ambigu…
ishland Dec 20, 2022
8ddfc5e
Bump version
modmuss50 Dec 20, 2022
2a378f1
Support 1.19.4 in McVersionLookup
modmuss50 Jan 18, 2023
34b8958
Fix entrypoint location in 1.19.4. (#764)
modmuss50 Feb 4, 2023
96b52a4
Bump version
modmuss50 Feb 4, 2023
1032cfa
Fix forked error window not closing when the parent process is shutdo…
modmuss50 Feb 8, 2023
f6d91ee
Opt of loom remapping
modmuss50 Jan 30, 2023
a936ed6
Fix typo (#763)
xpple Feb 13, 2023
0c5e3f4
Update mixin (#770)
modmuss50 Feb 18, 2023
8765403
Add fabric-loader-junit to allow unit testing of transformed classes.…
modmuss50 Feb 18, 2023
d54566e
Create and run applet on AWT EventQueue thread (#757)
artdeell Feb 18, 2023
9f4ba69
Fix icon objects in mod metadata not being parsed correctly (#743)
haykam821 Feb 18, 2023
a09dbf4
Print mod list as tree (#765)
NebelNidas Feb 22, 2023
ebdc57e
Add more localization support (#772)
apple502j Feb 22, 2023
2291a44
Bump version
modmuss50 Feb 22, 2023
3b057b7
Fix release
modmuss50 Feb 22, 2023
48f6ce7
Switch to ASCII characters for mod list tree formatting (#774)
NebelNidas Feb 24, 2023
ec53d2b
Update mixin
modmuss50 Feb 24, 2023
56fc750
Bump version
modmuss50 Feb 24, 2023
e0caaaa
Fix JUnit run specific log library handling
sfPlayer1 Feb 25, 2023
2f19a54
Bump version
sfPlayer1 Feb 25, 2023
09646a9
Support 1.20 snapshot versions.
modmuss50 Mar 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 24 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,35 @@ jobs:
build:
strategy:
matrix:
java: [8-jdk, 11-jdk, 16-jdk, 17-jdk]
runs-on: ubuntu-20.04
java: [8-jdk, 11-jdk, 16-jdk, 17-jdk, 19-jdk]
runs-on: ubuntu-22.04
container:
image: eclipse-temurin:${{ matrix.java }}
options: --user root
steps:
- uses: actions/checkout@v1
- uses: gradle/wrapper-validation-action@v1
- uses: actions/checkout@v3
- run: ./gradlew build publishToMavenLocal --stacktrace --warning-mode fail
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: Artifacts
path: build/libs/

client_test:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- name: Run Auto test Client
uses: modmuss50/xvfb-action@v1
with:
run: ./gradlew :minecraft:minecraft-test:runProductionAutoTestClient --stacktrace --warning-mode=fail
- uses: actions/upload-artifact@v3
if: always()
with:
name: Client Test Screenshots
path: minecraft/minecraft-test/run/screenshots
14 changes: 14 additions & 0 deletions .github/workflows/manage_issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Manage Issues

on:
issues:
types: [ labeled, unlabeled ]

jobs:
labels:
runs-on: ubuntu-22.04
steps:
- uses: FabricMC/fabric-action-scripts@v2
with:
context: ${{ github.event.action }}
label: ${{ github.event.label.name }}
13 changes: 8 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,28 @@ permissions:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
container:
image: eclipse-temurin:17-jdk
options: --user root
steps:
- run: apt update && apt install git -y && git --version
- uses: actions/checkout@v2
- run: git config --global --add safe.directory /__w/fabric-loader/fabric-loader
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: FabricMC/fabric-action-scripts@v1
- uses: FabricMC/fabric-action-scripts@v2
id: changelog
with:
context: changelog
workflow_id: release.yml
- uses: gradle/wrapper-validation-action@v1
- run: ./gradlew checkVersion build publish github --stacktrace
env:
MAVEN_URL: ${{ secrets.MAVEN_URL }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
CHANGELOG: ${{ steps.changelog.outputs.changelog }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SIGNING_SERVER: ${{ secrets.SIGNING_SERVER }}
SIGNING_PGP_KEY: ${{ secrets.SIGNING_PGP_KEY }}
SIGNING_JAR_KEY: ${{ secrets.SIGNING_JAR_KEY }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@
!/settings.gradle
!/proguard.conf

!/minecraft
!/minecraft
!/junit
27 changes: 15 additions & 12 deletions HEADER
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
Copyright 2016 FabricMC
/*
* Copyright 2016 FabricMC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
62 changes: 45 additions & 17 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
buildscript {
dependencies {
classpath 'org.kohsuke:github-api:1.135'
classpath 'com.guardsquare:proguard-gradle:' + (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_11) ? '7.2.0-beta2' : '7.1.0')
classpath 'com.guardsquare:proguard-gradle:' + (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_11) ? '7.3.0' : '7.1.0')
}
}

Expand All @@ -11,23 +11,24 @@ plugins {
id 'eclipse'
id 'maven-publish'
id 'checkstyle'
id 'org.cadixdev.licenser' version '0.6.1'
id 'fabric-loom' version '0.11-SNAPSHOT' apply false
id 'com.diffplug.spotless' version "6.12.0"
id 'fabric-loom' version '1.1-SNAPSHOT' apply false
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'me.modmuss50.remotesign' version "0.4.0"
}

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

archivesBaseName = "fabric-loader"

// Fetch build number from Jenkins
def ENV = System.getenv()

allprojects {
apply plugin: 'java-library'
apply plugin: 'eclipse'
apply plugin: 'checkstyle'
apply plugin: "com.diffplug.spotless"

def constantsSource = rootProject.file("src/main/java/net/fabricmc/loader/impl/FabricLoaderImpl.java").text
version = (constantsSource =~ /\s+VERSION\s*=\s*"(.*)";/)[0][1] + (ENV.GITHUB_ACTIONS ? "" : "+local")
Expand All @@ -37,7 +38,13 @@ allprojects {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
}
mavenCentral()
mavenCentral() {
content {
// Force ASM to come from the fabric maven.
// This ensures that the ASM version has been mirrored for use by the launcher/installer.
excludeGroupByRegex "org.ow2.asm"
}
}
}
}

Expand Down Expand Up @@ -68,7 +75,7 @@ dependencies {
exclude module: 'guava'
}
api 'net.fabricmc:tiny-mappings-parser:0.3.0+build.17'
api 'net.fabricmc:tiny-remapper:0.8.1'
api 'net.fabricmc:tiny-remapper:0.8.2'
api 'net.fabricmc:access-widener:2.1.0'

include 'org.ow2.sat4j:org.ow2.sat4j.core:2.3.6'
Expand All @@ -77,7 +84,7 @@ dependencies {
testCompileOnly 'org.jetbrains:annotations:23.0.0'

// Unit testing for mod metadata
testImplementation('org.junit.jupiter:junit-jupiter:5.8.2')
testImplementation('org.junit.jupiter:junit-jupiter:5.9.2')
}

processResources {
Expand Down Expand Up @@ -137,7 +144,8 @@ task fatJar(type: ShadowJar, dependsOn: getSat4jAbout) {

manifest {
attributes (
'Main-Class': 'net.fabricmc.loader.impl.launch.server.FabricServerLauncher'
'Main-Class': 'net.fabricmc.loader.impl.launch.server.FabricServerLauncher',
'Fabric-Loom-Remap': 'false'
)
}

Expand All @@ -161,7 +169,6 @@ task proguardJar(type: ProGuardTask, dependsOn: fatJar) {

inputs.files(fatJar, classpath)
outputs.files(proguardFile)
outputs.upToDateWhen { false }

doFirst {
classpath.resolve().forEach {
Expand Down Expand Up @@ -260,12 +267,11 @@ allprojects {
toolVersion = '8.44'
}

license {
header project.rootProject.file("HEADER")
include '**/*.java'

// Exclude gson since it is google's code, we just modify and bundle it
exclude '**/lib/gson/*.java'
spotless {
java {
licenseHeaderFile(rootProject.file("HEADER"))
targetExclude '**/lib/gson/*.java'
}
}
}

Expand All @@ -274,12 +280,34 @@ tasks.withType(GenerateModuleMetadata) {
enabled = false
}

def signingEnabled = ENV.SIGNING_SERVER
File proguardFileSigned = null

if (signingEnabled) {
proguardFileSigned = file("build/libs/fabric-loader-${version}-signed.jar")

remoteSign {
requestUrl = ENV.SIGNING_SERVER
pgpAuthKey = ENV.SIGNING_PGP_KEY
jarAuthKey = ENV.SIGNING_JAR_KEY

sign(proguardFile, proguardFileSigned, "proguard").configure {
dependsOn proguardJar
}

afterEvaluate {
sign publishing.publications.mavenJava
}
}
}

publishing {
publications {
mavenJava(MavenPublication) {
// add all the jars that should be included when publishing to maven
artifact(proguardFile) {
builtBy proguardJar
artifact(signingEnabled ? proguardFileSigned : proguardFile) {
builtBy(signingEnabled ? signProguard : proguardJar)
classifier = null
}
artifact(sourcesJar)
artifact javadocJar
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ group = net.fabricmc
description = The mod loading component of Fabric
url = https://github.com/FabricMC/fabric-loader

asm_version = 9.2
mixin_version = 0.11.2+mixin.0.8.5
asm_version = 9.4
mixin_version = 0.12.4+mixin.0.8.5
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading