1#!/bin/sh
2
3if [ $# != 1 ]; then
4	echo "Usage: prepare.sh [android project path]"
5	echo "(prepare.sh ~/work/mlterm-x.x.x/android => setup at ~/work/mlterm-x.x.x/android)"
6	echo "(prepare.sh . => setup at the current directory)"
7	exit 1
8fi
9
10PROJECT_PATH=$1
11
12echo "Prepare to build for android. (project: ${PROJECT_PATH})"
13echo "Press enter key to continue."
14read IN
15
16mkdir -p ${PROJECT_PATH}/app/src/main
17
18(cd ${PROJECT_PATH}; rm build.gradle settings.gradle app/build.gradle; gradle init)
19if [ $? != 0 ]; then
20	echo "Install and setup gradle in advance."
21	exit 1
22fi
23
24cp build-gradle.sh ${PROJECT_PATH}/
25chmod 755 ${PROJECT_PATH}/build-gradle.sh
26cp AndroidManifest.xml ${PROJECT_PATH}/app/src/main
27
28mkdir -p ${PROJECT_PATH}/app/src/main/jni/baselib/pobl ${PROJECT_PATH}/app/src/main/jni/baselib/src
29cp ../baselib/src/*.[ch] ${PROJECT_PATH}/app/src/main/jni/baselib/src/
30cp jni/bl_*.h ${PROJECT_PATH}/app/src/main/jni/baselib/src/
31cp ${PROJECT_PATH}/app/src/main/jni/baselib/src/*.h ${PROJECT_PATH}/app/src/main/jni/baselib/pobl/
32
33mkdir -p ${PROJECT_PATH}/app/src/main/jni/encodefilter/mef
34cp -R ../encodefilter/src ../encodefilter/module ${PROJECT_PATH}/app/src/main/jni/encodefilter
35cp ${PROJECT_PATH}/app/src/main/jni/encodefilter/src/*.h ${PROJECT_PATH}/app/src/main/jni/encodefilter/mef/
36
37cp -R ../libind ${PROJECT_PATH}/app/src/main/jni/
38
39cp -R ../vtemu ${PROJECT_PATH}/app/src/main/jni/
40
41mkdir -p ${PROJECT_PATH}/app/src/main/jni/uitoolkit/fb
42mkdir -p ${PROJECT_PATH}/app/src/main/jni/uitoolkit/libotl
43cp ../uitoolkit/*.[ch] ${PROJECT_PATH}/app/src/main/jni/uitoolkit
44cp ../uitoolkit/fb/*.[ch] ${PROJECT_PATH}/app/src/main/jni/uitoolkit/fb
45cp ../uitoolkit/libotl/*.[ch] ${PROJECT_PATH}/app/src/main/jni/uitoolkit/libotl
46
47mkdir -p ${PROJECT_PATH}/app/src/main/jni/main
48cp ../main/*.[ch] ${PROJECT_PATH}/app/src/main/jni/main/
49
50mkdir -p ${PROJECT_PATH}/app/src/main/jni/common
51cp ../common/c_imagelib.c ${PROJECT_PATH}/app/src/main/jni/common/
52cp ../common/c_sixel.c ${PROJECT_PATH}/app/src/main/jni/common/
53cp ../common/c_animgif.c ${PROJECT_PATH}/app/src/main/jni/common/
54
55cp jni/Android.mk ${PROJECT_PATH}/app/src/main/jni/
56cp jni/ui_event_source.c ${PROJECT_PATH}/app/src/main/jni/uitoolkit/
57cp jni/ui.h jni/ui_display.[ch] jni/ui_connect_dialog.c ${PROJECT_PATH}/app/src/main/jni/uitoolkit/fb/
58cp jni/main.c jni/version.h ${PROJECT_PATH}/app/src/main/jni/main/
59
60mkdir -p ${PROJECT_PATH}/app/src/main/java/mlterm/native_activity
61cp src/mlterm/native_activity/*.java ${PROJECT_PATH}/app/src/main/java/mlterm/native_activity/
62
63cp -R res ${PROJECT_PATH}/app/src/main
64
65GRADLE_VER=`gradle --version|sed -n 's/Gradle \([0-9.]*\)/\1/p'`
66cat << END > ${PROJECT_PATH}/build.gradle
67buildscript {
68    repositories {
69        jcenter()
70        //google()
71        maven {
72            url 'https://maven.google.com/'
73            name 'Google'
74        }
75    }
76
77    dependencies {
78        classpath 'com.android.tools.build:gradle:$GRADLE_VER'
79    }
80}
81
82allprojects {
83   repositories {
84       jcenter()
85       //google()
86       maven {
87           url 'https://maven.google.com/'
88           name 'Google'
89       }
90   }
91}
92END
93
94echo "include ':app'" > ${PROJECT_PATH}/settings.gradle
95
96cp build.gradle ${PROJECT_PATH}/app
97
98echo "done."
99