contrib/jwrapper: add an example that generates an API for Android
authorAlexis Laferrière <alexis.laf@xymus.net>
Thu, 23 Jul 2015 21:59:53 +0000 (17:59 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Fri, 24 Jul 2015 19:45:56 +0000 (15:45 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

contrib/jwrapper/Makefile
contrib/jwrapper/examples/android_api/.gitignore [new file with mode: 0644]
contrib/jwrapper/examples/android_api/Makefile [new file with mode: 0644]

index 0822be5..5503d32 100644 (file)
@@ -38,3 +38,4 @@ check-libs: bin/jwrapper
        bin/jwrapper -v -u ignore -o tests/java_tools.nit /usr/lib/jvm/default-java/lib/tools.jar
        bin/jwrapper -v -u ignore -o tests/sablecc.nit ~/apps/sablecc-3-beta.3.altgen.20041114/lib/sablecc.jar
        bin/jwrapper -v -u ignore -o tests/android.nit ~/sdks/android-sdk/platforms/android-10/android.jar
+       make -C examples/android_api/ check
diff --git a/contrib/jwrapper/examples/android_api/.gitignore b/contrib/jwrapper/examples/android_api/.gitignore
new file mode 100644 (file)
index 0000000..6e83ff1
--- /dev/null
@@ -0,0 +1,3 @@
+android.nit
+std.nit
+tmp/
diff --git a/contrib/jwrapper/examples/android_api/Makefile b/contrib/jwrapper/examples/android_api/Makefile
new file mode 100644 (file)
index 0000000..e26ba9c
--- /dev/null
@@ -0,0 +1,19 @@
+ANDROID_JAR ?= ~/sdks/android-sdk/platforms/android-10/android.jar
+
+all: android_api.nit
+
+java_api.nit:
+       mkdir -p tmp
+       ../../bin/jwrapper -v -u comment -o java_api.nit -r "^java" $(ANDROID_JAR)
+
+android_api.nit: java_api.nit
+       ../../bin/jwrapper -v -u comment -o android_api.nit -r "^android" -i java_api.nit $(ANDROID_JAR)
+       echo "+ Disabled functions: `grep '#    fun' $@ | wc -l` / `grep '^     fun' $@ | wc -l`"
+
+       # Insert an import between the 2 modules
+       sed -i -e "s/import java/import java\nimport java_api/" android_api.nit
+
+check: android_api.nit
+       ../../../../bin/nitpick android_api.nit
+
+.PHONY: android_api.nit java_api.nit