Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
070f8a7
Bump org.slf4j:slf4j-api from 2.0.15 to 2.0.16 (#41)
dependabot[bot] Aug 12, 2024
b3a49f8
Update Gradle Wrapper from 8.9 to 8.10. (#42)
github-actions[bot] Aug 18, 2024
a56d467
Check whole token chain for expiry
RaphiMC Aug 22, 2024
e64c5d5
Use java crypto when signing requests if possible
RaphiMC Aug 25, 2024
6b29b4a
Throw nicer error message if HTML parsing failed
RaphiMC Sep 12, 2024
c8308a7
Update Gradle Wrapper from 8.10 to 8.10.1. (#43)
github-actions[bot] Sep 15, 2024
04390ba
Use Java 21 in gradle wrapper update action
RaphiMC Sep 15, 2024
4595077
Updated gradle wrapper update action
RaphiMC Sep 16, 2024
7c4758c
Release 4.1.1
RaphiMC Sep 24, 2024
6fa996f
Bump version to 4.1.2-SNAPSHOT
RaphiMC Sep 24, 2024
81d6648
Bump org.jetbrains:annotations from 24.1.0 to 25.0.0 (#44)
dependabot[bot] Sep 26, 2024
2b40778
Updated github actions to use ubuntu 24.04
RaphiMC Sep 28, 2024
404ec40
Update Gradle Wrapper from 8.10.1 to 8.10.2 (#45)
github-actions[bot] Sep 29, 2024
b7f504e
Bump org.jetbrains:annotations from 25.0.0 to 26.0.0 (#46)
dependabot[bot] Oct 9, 2024
b498ec0
Fixed local webserver auth flow
RaphiMC Oct 13, 2024
a220a0d
Bump org.jetbrains:annotations from 26.0.0 to 26.0.1 (#47)
dependabot[bot] Oct 15, 2024
09c84d3
Bump net.lenni0451.commons:httpclient from 1.6.0 to 1.6.1 (#48)
dependabot[bot] Oct 21, 2024
98805b6
Moved JWT code into separate class to allow exclusion of the JWT library
RaphiMC Nov 6, 2024
d6e6f74
Updated gradle to 8.11
RaphiMC Nov 13, 2024
8e5499c
Bump org.projectlombok:lombok from 1.18.34 to 1.18.36 (#50)
dependabot[bot] Nov 15, 2024
97e6f27
Updated gradle to 8.11.1
RaphiMC Nov 20, 2024
a8926cd
Bump org.gradle.toolchains.foojay-resolver-convention
RaphiMC Dec 2, 2024
60ee212
Don't persist credentials in github actions
RaphiMC Dec 15, 2024
411243a
Updated gradle to 8.12
RaphiMC Dec 22, 2024
3b3fa6e
Improved credentials login flow
RaphiMC Dec 26, 2024
b407332
[ci skip] Removed update-gradle-wrapper.yml
RaphiMC Dec 27, 2024
2727f91
[ci skip] Updated copyright: 2025
RaphiMC Jan 1, 2025
95dffbe
Bump org.jetbrains:annotations from 26.0.1 to 26.0.2 (#53)
dependabot[bot] Jan 23, 2025
c6fc688
Updated gradle to 8.12.1
RaphiMC Jan 24, 2025
b9def82
Bump com.google.code.gson:gson from 2.11.0 to 2.12.0 (#55)
dependabot[bot] Jan 30, 2025
4e5fa6c
Bump net.lenni0451.commons:httpclient from 1.6.1 to 1.7.0 (#54)
dependabot[bot] Jan 30, 2025
d4c6b48
Bump com.google.code.gson:gson from 2.12.0 to 2.12.1 (#56)
dependabot[bot] Jan 31, 2025
975afa4
Throw a nicer error message if the account doesn't have a game profil…
RaphiMC Feb 18, 2025
c75bbb1
Updated gradle to 8.13
RaphiMC Feb 25, 2025
ba0cab5
Bump org.slf4j:slf4j-api from 2.0.16 to 2.0.17 (#57)
dependabot[bot] Feb 26, 2025
70a19c4
Bump net.raphimc.class-token-replacer from 1.1.3 to 1.1.4 (#58)
dependabot[bot] Mar 5, 2025
adb1435
Bump org.projectlombok:lombok from 1.18.36 to 1.18.38 (#59)
dependabot[bot] Apr 1, 2025
d7a060d
Replaced deprecated HttpClient API usage
RaphiMC Apr 2, 2025
1320964
Added NoOpLogger
RaphiMC Apr 7, 2025
0c38eb8
Bump org.gradle.toolchains.foojay-resolver-convention (#60)
dependabot[bot] Apr 10, 2025
8dcd1f0
Bump com.google.code.gson:gson from 2.12.1 to 2.13.0 (#61)
dependabot[bot] Apr 14, 2025
4ed1aa1
Bump com.google.code.gson:gson from 2.13.0 to 2.13.1 (#62)
dependabot[bot] Apr 24, 2025
1bde0b8
Updated gradle to 8.14
RaphiMC Apr 26, 2025
70b5d8d
Split monolithic gradle files into modular gradle snippets
RaphiMC May 3, 2025
822edb0
Enable gradle configuration cache
RaphiMC May 4, 2025
18445c2
Sync gradle scripts between projects
RaphiMC May 4, 2025
8e8a195
Bump net.lenni0451.commons:httpclient from 1.7.0 to 1.7.1 (#63)
dependabot[bot] May 6, 2025
cd7c3ae
Use project name for jar file name
RaphiMC May 7, 2025
635ee97
Fixed dependabot config
RaphiMC May 17, 2025
adcd670
Bump net.raphimc.class-token-replacer from 1.1.5 to 1.1.6 (#64)
dependabot[bot] May 17, 2025
0a7efac
Bump org.gradle.toolchains.foojay-resolver-convention (#65)
dependabot[bot] May 20, 2025
b734f88
Updated gradle to 8.14.1
RaphiMC May 22, 2025
152aeea
Merge branch 'main' into update-from-upstream
MrXiaoM Jun 7, 2025
0553b2b
use gradle 8.5 is enough
MrXiaoM Jun 7, 2025
b32f542
Update minecraftauth.publishing-conventions.gradle
MrXiaoM Jun 7, 2025
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
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
version: 2
registries:
maven-central:
type: maven-repository
url: "https://repo.maven.apache.org/maven2/"
updates:
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "daily"
registries:
- maven-central
- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ on: [push, pull_request, workflow_dispatch]

jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 21
Expand Down
14 changes: 0 additions & 14 deletions .github/workflows/update-gradle-wrapper.yml

This file was deleted.

6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ hs_err_pid*
/.idea/*
!/.idea/copyright/
/.gradle/
/build/
/out/
/buildSrc/.gradle/
build/
out/
/run/
96 changes: 12 additions & 84 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,97 +1,25 @@
plugins {
id "java-library"
id "maven-publish"
id "signing"
id "net.raphimc.class-token-replacer" version "1.1.3"
id "base.base-conventions"
id "base.fill-build-constants"
id "minecraftauth.publishing-conventions"
id "net.raphimc.class-token-replacer" version "1.1.6"
}

base {
java.toolchain.languageVersion = JavaLanguageVersion.of(8)
compileJava.options.encoding = compileTestJava.options.encoding = javadoc.options.encoding = "UTF-8"

group = project.maven_group ?: rootProject.maven_group
archivesName = project.maven_name ?: rootProject.maven_name
version = project.maven_version ?: rootProject.maven_version
}

repositories {
mavenCentral()
sourceSets {
javaFxStub // Java 11+ does not include JavaFX anymore, so the JavaFX stubs are needed for the compiler
}

dependencies {
compileOnly(annotationProcessor("org.projectlombok:lombok:1.18.34"))
compileOnly "org.jetbrains:annotations:24.1.0"
compileOnly(annotationProcessor("org.projectlombok:lombok:1.18.38"))
compileOnly "org.jetbrains:annotations:26.0.2"
compileOnly sourceSets.javaFxStub.output

api "com.google.code.gson:gson:2.11.0"
api "net.lenni0451.commons:httpclient:1.7.1"
api "com.google.code.gson:gson:2.13.1"
api "io.jsonwebtoken:jjwt-impl:0.12.6"
api("io.jsonwebtoken:jjwt-gson:0.12.6") {
exclude group: "com.google.code.gson", module: "gson"
}
}

sourceSets {
main {
classTokenReplacer {
property("\${version}", project.version)
property("\${impl_version}", "git-${project.name}-${project.version}:${project.latestCommitHash()}")
}
}
}

java {
withSourcesJar()
withJavadocJar()
}

jar {
from("LICENSE") {
rename { "${it}_${project.name ?: rootProject.name}" }
}
}

artifacts {
archives javadocJar, sourcesJar
}

publishing {
publications {
maven(MavenPublication) {
groupId = project.maven_group
artifactId = project.maven_name
version = project.maven_version

from components.java

pom {
name = "MinecraftAuth"
description = "Simple and easy to use Minecraft microsoft authentication library (Java and Bedrock)"
url = "https://github.com/RaphiMC/MinecraftAuth"
licenses {
license {
name = "LGPL-3.0 License"
url = "https://github.com/RaphiMC/MinecraftAuth/blob/main/LICENSE"
}
}
developers {
developer {
id = "RK_01"
}
}
scm {
connection = "scm:git:git://github.com/RaphiMC/MinecraftAuth.git"
developerConnection = "scm:git:ssh://github.com/RaphiMC/MinecraftAuth.git"
url = "https://github.com/RaphiMC/MinecraftAuth.git"
}
}
}
}
}

String latestCommitHash() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine "git", "rev-parse", "--short", "HEAD"
standardOutput = stdout
}
return stdout.toString().trim()
api "org.slf4j:slf4j-api:2.0.17"
}
7 changes: 7 additions & 0 deletions buildSrc/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
plugins {
id "groovy-gradle-plugin"
}

repositories {
gradlePluginPortal()
}
34 changes: 34 additions & 0 deletions buildSrc/src/main/groovy/base.base-conventions.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
base {
java.toolchain.languageVersion = JavaLanguageVersion.of(project.java_version)

group = project.maven_group
archivesName = project.name
version = project.maven_version
}

repositories {
mavenCentral()
}

jar {
if (layout.projectDirectory.file("LICENSE").asFile.exists()) {
def projectName = project.name
from(layout.projectDirectory.file("LICENSE")) {
rename { "${it}_${projectName}" }
}
} else if (rootProject.layout.projectDirectory.file("LICENSE").asFile.exists()) {
def projectName = rootProject.name
from(rootProject.layout.projectDirectory.file("LICENSE")) {
rename { "${it}_${projectName}" }
}
}
}

tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
}

tasks.withType(Javadoc).configureEach {
it.options.encoding = "UTF-8"
it.options.addStringOption("Xdoclint:none", "-quiet")
}
16 changes: 16 additions & 0 deletions buildSrc/src/main/groovy/base.fill-build-constants.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
plugins {
id "net.raphimc.class-token-replacer"
}

sourceSets.configureEach {
it.classTokenReplacer {
property("\${version}", project.version)
property("\${commit_hash}", latestCommitHash().get())
}
}

Provider<String> latestCommitHash() {
return providers.exec {
commandLine = ["git", "rev-parse", "--short", "HEAD"]
}.standardOutput.getAsText().map(String::trim)
}
13 changes: 13 additions & 0 deletions buildSrc/src/main/groovy/base.lenni0451-maven-publishing.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
publishing {
repositories {
maven {
name = "reposilite"
url = "https://maven.lenni0451.net/" + (project.maven_version.endsWith("SNAPSHOT") ? "snapshots" : "releases")

credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
}
13 changes: 13 additions & 0 deletions buildSrc/src/main/groovy/base.maven-central-publishing.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
publishing {
repositories {
maven {
name = "ossrh"
url = "https://s01.oss.sonatype.org/" + (project.maven_version.endsWith("SNAPSHOT") ? "content/repositories/snapshots/" : "service/local/staging/deploy/maven2/")

credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
}
30 changes: 30 additions & 0 deletions buildSrc/src/main/groovy/base.publishing-conventions.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
plugins {
id "maven-publish"
id "signing"
}

java {
withSourcesJar()
withJavadocJar()
}

publishing {
publications {
mavenJava(MavenPublication) {
from(components.java)

groupId = project.maven_group
artifactId = project.maven_name
version = project.maven_version
}
}
}

signing {
setRequired(false)
sign(publishing.publications.mavenJava)
}

tasks.withType(PublishToMavenRepository).configureEach {
it.dependsOn(tasks.withType(Sign))
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
plugins {
id "base.publishing-conventions"
id "base.maven-central-publishing"
id "base.lenni0451-maven-publishing"
}

publishing {
publications {
mavenJava {
pom {
name = "MinecraftAuthHeadless"
description = "Simple and easy to use Minecraft microsoft authentication library (Java and Bedrock)"
url = "https://github.com/mcio-dev/MinecraftAuthHeadless"
licenses {
license {
name = "LGPL-3.0 License"
url = "https://github.com/mcio-dev/MinecraftAuthHeadless/blob/main/LICENSE"
}
}
developers {
developer {
id = "RK_01"
}
}
scm {
connection = "scm:git:git://github.com/mcio-dev/MinecraftAuthHeadless.git"
developerConnection = "scm:git:ssh://github.com/mcio-dev/MinecraftAuthHeadless.git"
url = "https://github.com/mcio-dev/MinecraftAuthHeadless.git"
}
}
}
}
}
5 changes: 3 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.configuration-cache=true

java_version=8
maven_group=net.raphimc
maven_name=MinecraftAuthHeadless
maven_version=4.1.1-SNAPSHOT
maven_version=4.1.2-SNAPSHOT
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
10 changes: 6 additions & 4 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -84,7 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down Expand Up @@ -112,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
CLASSPATH="\\\"\\\""


# Determine the Java command to use to start the JVM.
Expand Down Expand Up @@ -203,15 +205,15 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.

set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"

# Stop when "xargs" is not available.
Expand Down
Loading