-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
117 lines (99 loc) · 2.94 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
plugins {
id "maven-publish"
id "java"
}
version = project.mod_version
group = project.maven_group
@Grab('org.codehaus.groovy:groovy-xml:3.0.9')
import groovy.xml.MarkupBuilder
repositories {
maven {
name = "Fabric"
url = "https://maven.fabricmc.net/"
}
maven {
name = "jitpack"
url = "https://jitpack.io"
}
maven {
name = "MiniFabric"
url = "https://repo.repsy.io/mvn/distant/minifabric/"
}
maven { url 'https://jitpack.io' }
mavenCentral()
mavenLocal()
}
dependencies {
implementation "com.github.MinicraftPlus:minicraft-plus-revived:${project.minicraftplus_version}"
implementation "io.github.pseudodistant:MinicraftGameProvider:${project.provider_version}"
implementation "net.fabricmc:fabric-loader:${project.loader_version}"
implementation "org.tinylog:tinylog-api:2.4.1"
implementation "org.tinylog:tinylog-impl:2.4.1"
implementation "org.jetbrains:annotations:22.0.0"
implementation "net.fabricmc:sponge-mixin:0.11.0+mixin.0.8.5"
implementation "net.fabricmc:access-widener:2.1.0"
implementation "com.fasterxml.jackson.core:jackson-databind:2.13.1"
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
tasks.withType(JavaCompile).configureEach {
it.options.release = 17
}
java {
withSourcesJar()
}
sourcesJar {
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}"}
}
}
task copyMod {
doLast {
copy {
from jar
into "mods"
}
}
}
build.dependsOn copyMod
task setupIdeaWorkspace {
doLast {
project.file(".idea/runConfigurations").mkdirs()
def writer = new FileWriter(new File(".idea/runConfigurations/Launch_Client.xml"))
def xml = new MarkupBuilder(writer)
def jarPath = "-Dfabric.gameJarPath=\"" + configurations.compileClasspath[0] + "\""
xml.component(name: "ProjectRunConfigurationManager") {
configuration(default: "false", name: "Launch Client", type: "Application", factoryName: "Application") {
option(name: "ALTERNATIVE_JRE_PATH", value: "17")
option(name: "ALTERNATIVE_JRE_PATH_ENABLED", value: "true")
option(name: "MAIN_CLASS_NAME", value: "net.fabricmc.loader.impl.launch.knot.KnotClient")
option(name: "VM_PARAMETERS", value: jarPath)
module(name: "MiniFabric-example-mod-master.main")
method(v: "2") {
option(name: "Gradle.BeforeRunTask", enabled: "true", tasks: "build", externalProjectPath: "\$PROJECT_DIR\$", vmOptions: "", scriptParameters: "")
}
}
}
}
}
// configure the maven publication
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}