diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..313731a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +env.mk +build/ +result.jar +a.jar diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF new file mode 100644 index 0000000..15d9cd3 --- /dev/null +++ b/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Manifest-Version: 1.0 +MIDlet-Vendor: bedohswe +MIDlet-Version: 1.0 +MicroEdition-Configuration: CLDC-1.0 +MIDlet-Name: Hello +MIDlet-Description: Test MIDlet +MicroEdition-Profile: MIDP-2.0 +MIDlet-1: Hello,/icon.png,com.Hello + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..92b3cee --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +include env.mk + +SRC = src + +SRC_DIR := src + +OUT_DIR := build + +SRCS := $(wildcard $(SRC_DIR)/*/*.kt) + +CLS := $(SRCS:$(SRC_DIR)/%.kt=$(OUT_DIR)/%.class) + +KOTLINC = kotlinc +KOTLINOPT = -cp $(HEADERS) -d $(OUT_DIR) -jvm-target 1.8 + +.SUFFIXES: .kt + +.PHONY: all clean + +all: $(CLS) + +$(CLS): $(OUT_DIR)/%.class: $(SRC_DIR)/%.kt + mkdir -p build + $(KOTLINC) $(KOTLINOPT) $< + rm -rf build/META-INF/ + +clean: + rm -rf build/ + rm -f result.jar + rm -f a.jar + +pack: + jar -cmf META-INF/MANIFEST.MF a.jar -C build . -C res . + +translate: + $(RETROTRANSLATOR) -srcjar a.jar -destjar result.jar + +run: + $(EMULATOR) result.jar diff --git a/default.mk b/default.mk new file mode 100644 index 0000000..e46a667 --- /dev/null +++ b/default.mk @@ -0,0 +1,4 @@ +HEADERS = +EMULATOR = java -jar +RETROTRANSLATOR = java -jar + diff --git a/res/icon.png b/res/icon.png new file mode 100644 index 0000000..d1405a4 Binary files /dev/null and b/res/icon.png differ diff --git a/src/com/Hello.kt b/src/com/Hello.kt new file mode 100644 index 0000000..3b1681f --- /dev/null +++ b/src/com/Hello.kt @@ -0,0 +1,17 @@ +@file:JvmName("Hello") +package com + +import javax.microedition.midlet.MIDlet +import javax.microedition.lcdui.TextBox +import javax.microedition.lcdui.Display + +class Hello : MIDlet { + constructor() { + val display = Display.getDisplay(this) + val hello = TextBox("Hello!", "Hello Kotlin!", 256, 0) + display.setCurrent(hello) + } + override public fun startApp() {} + override public fun destroyApp(x: Boolean) {} + override public fun pauseApp() {} +}