Skip to content

Commit 0437729

Browse files
committed
First working commit
0 parents  commit 0437729

18 files changed

+2514
-0
lines changed

.gitignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
.gradle
2+
build/
3+
!gradle/wrapper/gradle-wrapper.jar
4+
!**/src/main/**/build/
5+
!**/src/test/**/build/
6+
7+
### IntelliJ IDEA ###
8+
.idea/modules.xml
9+
.idea/jarRepositories.xml
10+
.idea/compiler.xml
11+
.idea/libraries/
12+
*.iws
13+
*.iml
14+
*.ipr
15+
out/
16+
!**/src/main/**/out/
17+
!**/src/test/**/out/
18+
19+
### Eclipse ###
20+
.apt_generated
21+
.classpath
22+
.factorypath
23+
.project
24+
.settings
25+
.springBeans
26+
.sts4-cache
27+
bin/
28+
!**/src/main/**/bin/
29+
!**/src/test/**/bin/
30+
31+
### NetBeans ###
32+
/nbproject/private/
33+
/nbbuild/
34+
/dist/
35+
/nbdist/
36+
/.nb-gradle/
37+
38+
### VS Code ###
39+
.vscode/
40+
41+
### Mac OS ###
42+
.DS_Store
43+
44+
.idea

HEADER

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/*
2+
* This file is part of ModFusioner, licensed under the GNU Lesser General Public License v2.1.
3+
*
4+
* This project is based on, and contains code from https://github.com/PacifistMC/Forgix, licensed under the same license.
5+
* See their license here: https://github.com/PacifistMC/Forgix/blob/main/LICENSE
6+
*
7+
* Copyright HypherionSA and Contributors
8+
* Forgix Code Copyright by their contributors and Ran-Mewo
9+
*/

LICENSE

Lines changed: 458 additions & 0 deletions
Large diffs are not rendered by default.

build.gradle

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
plugins {
2+
id 'java'
3+
id 'idea'
4+
id 'java-gradle-plugin'
5+
id 'com.github.johnrengelman.shadow' version '7.0.0'
6+
id 'com.gradle.plugin-publish' version '1.2.1'
7+
id "com.diffplug.spotless" version "6.13.0"
8+
}
9+
apply plugin: 'maven-publish'
10+
11+
group = 'com.hypherionmc.modutils'
12+
version = "${version_base}.${version_patch}"
13+
description = "Gradle plugin to merge multiloader/architectury multiplatform mods into a single jar file"
14+
archivesBaseName = 'ModFusioner'
15+
java.toolchain.languageVersion = JavaLanguageVersion.of(8)
16+
17+
if (System.getenv('BUILD_NUMBER') != null) {
18+
version = "${version_base}." + System.getenv('BUILD_NUMBER')
19+
}
20+
21+
configurations {
22+
shadeMe
23+
implementation.extendsFrom shadeMe
24+
}
25+
26+
repositories {
27+
mavenCentral()
28+
maven {
29+
url "https://maven.firstdarkdev.xyz/releases"
30+
}
31+
}
32+
33+
dependencies {
34+
implementation gradleApi()
35+
36+
// Shaded Deps
37+
shadeMe 'org.jetbrains:annotations:24.0.1'
38+
shadeMe 'commons-io:commons-io:2.11.0'
39+
40+
shadeMe('me.lucko:jar-relocator:1.5') {
41+
exclude group: 'org.ow2.asm'
42+
}
43+
shadeMe 'org.ow2.asm:asm:9.3'
44+
shadeMe 'org.ow2.asm:asm-commons:9.3'
45+
shadeMe "fr.stevecohen.jarmanager:JarManager:0.5.0"
46+
shadeMe 'org.apache.commons:commons-compress:1.24.0'
47+
shadeMe 'org.apache.tika:tika-core:1.28'
48+
49+
compileOnly 'org.projectlombok:lombok:1.18.30'
50+
annotationProcessor 'org.projectlombok:lombok:1.18.30'
51+
}
52+
53+
shadowJar {
54+
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
55+
configurations = [project.configurations.getByName("shadeMe")]
56+
archiveClassifier.set(null)
57+
}
58+
59+
gradlePlugin {
60+
plugins {
61+
modPublisherPlugin {
62+
id = 'com.hypherionmc.modutils.modfusioner'
63+
description = project.description
64+
displayName = 'ModFusioner'
65+
version = project.version
66+
implementationClass = "com.hypherionmc.modfusioner.plugin.ModFusionerPlugin"
67+
}
68+
}
69+
}
70+
71+
pluginBundle {
72+
website = 'https://github.com/firstdarkdev/modfusioner'
73+
vcsUrl = 'https://github.com/firstdarkdev/modfusioner'
74+
description = 'Gradle plugin to merge multiloader/architectury multiplatform mods into a single jar file'
75+
tags = ['minecraft', 'forge', 'fabric', 'quilt', 'merge', 'mod']
76+
}
77+
78+
jar {
79+
manifest {
80+
attributes([
81+
'Timestamp' : System.currentTimeMillis(),
82+
'Specification-Title' : project.archivesBaseName,
83+
'Specification-Version' : project.version,
84+
'Implementation-Title' : project.archivesBaseName,
85+
'Implementation-Version' : project.version,
86+
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
87+
'Built-On-Java' : "${System.getProperty('java.vm.version')} (${System.getProperty('java.vm.vendor')})"
88+
])
89+
}
90+
}
91+
92+
spotless {
93+
java {
94+
targetExclude("src/test/**")
95+
licenseHeaderFile(rootProject.file("HEADER")).yearSeparator("-")
96+
}
97+
}
98+
99+
publishing {
100+
repositories {
101+
maven {
102+
url System.getenv('MAVEN_URL')
103+
credentials {
104+
username System.getenv('MAVEN_USER')
105+
password System.getenv('MAVEN_PASS')
106+
}
107+
}
108+
}
109+
}

gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
version_base=1.0
2+
version_patch=0

gradle/wrapper/gradle-wrapper.jar

59.3 KB
Binary file not shown.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Sun Oct 29 20:46:13 SAST 2023
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
5+
zipStoreBase=GRADLE_USER_HOME
6+
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)