Skip to content

Commit 36e4d4a

Browse files
committed
SayanVanish
0 parents  commit 36e4d4a

File tree

83 files changed

+4298
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+4298
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Publish Snapshots
2+
on:
3+
push:
4+
branches:
5+
- master
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-22.04
10+
steps:
11+
- name: Checkout Repository
12+
uses: actions/checkout@v4
13+
- name: Validate Gradle Wrapper
14+
uses: gradle/wrapper-validation-action@v1
15+
- name: Set up JDK 17
16+
uses: actions/setup-java@v4
17+
with:
18+
distribution: 'temurin'
19+
java-version: 17
20+
- name: Change wrapper permissions
21+
run: chmod +x ./gradlew
22+
- name: Cache Gradle dependencies
23+
uses: actions/cache@v3
24+
with:
25+
path: ~/.gradle/caches
26+
key: ${{ runner.OS }}-gradle-${{ hashFiles('**/*.gradle') }}
27+
restore-keys: |
28+
${{ runner.OS }}-gradle-
29+
- name: Publish to SayanDevelopment snapshot repo
30+
run: ./gradlew publish
31+
env:
32+
REPO_SAYAN_USER: ${{ secrets.REPO_SAYAN_USER }}
33+
REPO_SAYAN_TOKEN: ${{ secrets.REPO_SAYAN_TOKEN }}

.gitignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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
45+
**/run

build.gradle.kts

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3+
4+
plugins {
5+
kotlin("jvm") version "2.0.0"
6+
`java-library`
7+
`maven-publish`
8+
id("io.github.goooler.shadow") version "8.1.7"
9+
}
10+
11+
val slug = "sayanvanish"
12+
description = "A modular vanish system for Minecraft servers"
13+
14+
allprojects {
15+
group = "org.sayandev"
16+
version = "1.0.0-rc.1"
17+
18+
plugins.apply("java-library")
19+
plugins.apply("maven-publish")
20+
plugins.apply("kotlin")
21+
plugins.apply("io.github.goooler.shadow")
22+
23+
repositories {
24+
mavenCentral()
25+
mavenLocal()
26+
27+
// Takenaka
28+
maven("https://repo.screamingsandals.org/public")
29+
30+
maven("https://repo.sayandev.org/snapshots")
31+
maven("https://repo.sayandev.org/releases")
32+
}
33+
34+
tasks {
35+
processResources {
36+
filesMatching(listOf("**plugin.yml", "**plugin.json")) {
37+
expand(
38+
"version" to rootProject.version as String,
39+
"slug" to slug,
40+
"name" to rootProject.name,
41+
"description" to rootProject.description
42+
)
43+
}
44+
}
45+
}
46+
}
47+
48+
subprojects {
49+
java {
50+
withJavadocJar()
51+
withSourcesJar()
52+
53+
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
54+
}
55+
56+
dependencies {
57+
testImplementation(kotlin("test"))
58+
59+
testImplementation("org.xerial:sqlite-jdbc:3.45.3.0")
60+
testImplementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.23.1")
61+
compileOnly(kotlin("stdlib", version = "2.0.0"))
62+
}
63+
64+
tasks {
65+
jar {
66+
archiveClassifier.set("unshaded")
67+
}
68+
69+
kotlin {
70+
jvmToolchain(17)
71+
}
72+
73+
build {
74+
dependsOn(shadowJar)
75+
}
76+
77+
withType<ShadowJar> {
78+
archiveFileName.set("${rootProject.name}-${version}-${this@subprojects.name.removePrefix("sayanvanish-")}.jar")
79+
archiveClassifier.set(null as String?)
80+
destinationDirectory.set(file(rootProject.projectDir.path + "/bin"))
81+
relocate("org.sayandev.stickynote", "org.sayandev.sayanvanish.lib.stickynote")
82+
from("LICENSE")
83+
// minimize()
84+
}
85+
86+
test {
87+
useJUnitPlatform()
88+
}
89+
}
90+
91+
configurations {
92+
"apiElements" {
93+
attributes {
94+
attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage.JAVA_API))
95+
attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.LIBRARY))
96+
attribute(Bundling.BUNDLING_ATTRIBUTE, project.objects.named(Bundling.SHADOWED))
97+
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, project.objects.named(LibraryElements.JAR))
98+
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 17)
99+
}
100+
outgoing.artifact(tasks.named("shadowJar"))
101+
}
102+
"runtimeElements" {
103+
attributes {
104+
attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage.JAVA_RUNTIME))
105+
attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.LIBRARY))
106+
attribute(Bundling.BUNDLING_ATTRIBUTE, project.objects.named(Bundling.SHADOWED))
107+
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, project.objects.named(LibraryElements.JAR))
108+
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 17)
109+
}
110+
outgoing.artifact(tasks.named("shadowJar"))
111+
}
112+
"mainSourceElements" {
113+
attributes {
114+
attribute(Usage.USAGE_ATTRIBUTE, project.objects.named(Usage.JAVA_RUNTIME))
115+
attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.DOCUMENTATION))
116+
attribute(Bundling.BUNDLING_ATTRIBUTE, project.objects.named(Bundling.SHADOWED))
117+
attribute(DocsType.DOCS_TYPE_ATTRIBUTE, project.objects.named(DocsType.SOURCES))
118+
}
119+
}
120+
}
121+
122+
publishing {
123+
publications {
124+
create<MavenPublication>("maven") {
125+
from(components["java"])
126+
setPom(this)
127+
}
128+
}
129+
130+
repositories {
131+
maven {
132+
name = "sayandevelopment-repo"
133+
url = uri("https://repo.sayandev.org/snapshots/")
134+
135+
credentials {
136+
username = System.getenv("REPO_SAYAN_USER") ?: project.findProperty("repo.sayan.user") as String
137+
password = System.getenv("REPO_SAYAN_TOKEN") ?: project.findProperty("repo.sayan.token") as String
138+
}
139+
}
140+
}
141+
}
142+
}
143+
144+
fun setPom(publication: MavenPublication) {
145+
publication.pom {
146+
name.set("sayanvanish")
147+
description.set(project.description)
148+
url.set("https://github.com/syrent/sayanvanish")
149+
licenses {
150+
license {
151+
name.set("GNU General Public License v3.0")
152+
url.set("https://github.com/syrent/sayanvanish/blob/master/LICENSE")
153+
}
154+
}
155+
developers {
156+
developer {
157+
id.set("syrent")
158+
name.set("abbas")
159+
email.set("syrent2356@gmail.com")
160+
}
161+
}
162+
scm {
163+
connection.set("scm:git:github.com/syrent/sayanvanish.git")
164+
developerConnection.set("scm:git:ssh://github.com/syrent/sayanvanish.git")
165+
url.set("https://github.com/syrent/sayanvanish/tree/master")
166+
}
167+
}
168+
}

gradle.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
kotlin.code.style=official
2+
org.gradle.caching=true
3+
org.gradle.parallel=true
4+
org.gradle.vfs.watch=true
5+
systemProp.file.encoding=utf-8

gradle/wrapper/gradle-wrapper.jar

62.2 KB
Binary file not shown.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)