Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
Bruce0203 committed Aug 7, 2023
1 parent 69f950b commit 069ebb4
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 13 deletions.
36 changes: 34 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ jobs:
- name: Buid
run: |
./gradlew :client:jsBrowserProductionWebpack
# brew install wine-stable
# ./gradlew :client:linkReleaseExecutableMingwX64
- name: server.zip
run: ./gradlew :server:distZip

Expand All @@ -57,3 +55,37 @@ jobs:
- shell: bash
run: |
curl -d "${{ secrets.ADMIN_KEY }}" -X POST ${{ env.url }}/shutdown
buildExe:
name: Release .exe
runs-on: windows-latest
needs: release
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: set properties value of server
run: |
echo "import java.io.File;import java.io.FileInputStream;import java.util.Arrays;import java.util.Iterator;import java.util.Properties;public class Prop {public static void main(String[] args) throws Exception {Iterator<String> iterator = Arrays.stream(args).iterator();if (!iterator.hasNext()) return;String fileName = iterator.next();File file = new File(fileName);Properties props = new Properties();props.load(new FileInputStream(file));while (true) {if (!iterator.hasNext()) return;String key = iterator.next();if (!iterator.hasNext()) return;String value = iterator.next();props.setProperty(key, value);}}}" > Prop.java
java Prop.java gradle.properties server ${{ env.url }}
java Prop.java gradle.properties version v0.0.${{github.run_number}}
- run: git tag ${{github.run_number}}

- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Buid
run: |
brew install wine-stable
./gradlew :client:linkReleaseExecutableMingwX64
- name: Build
run: cargo build --release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: client/build/**
tag: ${{ github.ref }}
overwrite: true

10 changes: 4 additions & 6 deletions client/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@ korge {
targetJs()
targetDesktopCross()
targetDesktop()
entryPoint = "startMain"
entryPoint = "runMain"
}

kotlin {
mingwX64()
sourceSets {
val commonMain by getting {
dependencies {
Expand All @@ -26,10 +25,9 @@ kotlin {
api(project(":deps"))
}
}
val jsMain by getting
val jvmMain by getting
val mingwX64Main by getting
val macosArm64Main by getting
runCatching { val jvmMain by getting }
runCatching { val mingwX64Main by getting }
runCatching { val macosArm64Main by getting }
}
}

Expand Down
4 changes: 4 additions & 0 deletions client/src/commonMain/kotlin/start.kt
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
import korlibs.image.font.Font
import korlibs.image.font.readWoffFont
import korlibs.image.format.*
import korlibs.io.async.runBlockingNoSuspensions
import korlibs.io.file.std.resourcesVfs
import korlibs.korge.Korge
import korlibs.korge.scene.SceneContainer
import korlibs.korge.scene.sceneContainer
import korlibs.math.geom.ScaleMode
import korlibs.math.geom.Size
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.withContext
import network.client
import org.koin.core.qualifier.named
import org.koin.dsl.bind
import org.koin.dsl.module
import org.koin.mp.KoinPlatform.getKoin
import scene.MainScene
import util.ColorPalette
import util.launchNow
import websocket.startWebSocket
import kotlin.coroutines.coroutineContext
import kotlin.random.Random
Expand Down
37 changes: 37 additions & 0 deletions client/src/macosArm64Main/kotlin/main.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import io.ktor.client.engine.cio.*
import korlibs.io.async.runBlockingNoSuspensions
import korlibs.io.file.std.resourcesVfs
import korlibs.io.lang.readProperties
import kotlinx.coroutines.withContext
import network.ClientEngineFactory
import network.URLProvider
import org.koin.core.context.startKoin
import org.koin.core.qualifier.named
import org.koin.dsl.bind
import org.koin.dsl.module
import org.koin.mp.KoinPlatform

class Main

fun runMain() = main()

fun main() {
runBlockingNoSuspensions {
val clientProps = resourcesVfs["client.properties"].readProperties()
val url = clientProps["server"]!!
val version = clientProps["version"]!!
startKoin {}
KoinPlatform.getKoin().loadModules(listOf(module {
single(named("version")) { version }
factory {
object : URLProvider {
override val url: String get() = url
}
} bind URLProvider::class
factory {
object : ClientEngineFactory { override fun getEngine() = CIO }
} bind ClientEngineFactory::class
}))
start()
}
}
5 changes: 2 additions & 3 deletions shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,11 @@ plugins {
korge {
targetJvm()
targetJs()
targetDesktop()
targetDesktopCross()
targetDesktop()
entryPoint = "startMain"
entryPoint = "runMain"
}
kapt { generateStubs = true }

kotlin {
linuxArm64().apply {
configurations.filter { it.name.contains("linuxArm64") }.forEach {
Expand Down
4 changes: 2 additions & 2 deletions shared/src/commonMain/kotlin/start.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
fun startMain() {
fun runMain() {
println("A")
}
}

0 comments on commit 069ebb4

Please sign in to comment.