5
5
# gradle/src/main/groovy/net/zhuoweizhang/swiftandroid/SwiftAndroidPlugin.groovy
6
6
#
7
7
8
- SWIFT_INSTALL=" $( dirname$PWD ) "
9
- ARCH =` uname`
8
+ SWIFT_INSTALL=" $( dirname" $PWD " ) "
9
+ UNAME =` uname`
10
10
11
11
SCRIPTS=~ /.gradle/scripts
12
12
@@ -41,10 +41,10 @@ if [[ ! -f "$GLIBC_MODULEMAP.orig" ]]; then
41
41
cp" $GLIBC_MODULEMAP " " $GLIBC_MODULEMAP .orig"
42
42
fi &&
43
43
44
- sed -e s@/usr/local/android/ndk/platforms/android-21/arch-arm/@$SWIFT_INSTALL /ndk-android-21@< " $GLIBC_MODULEMAP .orig" > " $GLIBC_MODULEMAP " &&
44
+ sed -e" s@/usr/local/android/ndk/platforms/android-21/arch-arm/@$SWIFT_INSTALL /ndk-android-21@" < " $GLIBC_MODULEMAP .orig" > " $GLIBC_MODULEMAP " &&
45
45
46
46
rm -f" $SWIFT_INSTALL /usr/bin/swift" &&
47
- if [[" $ARCH " == " Darwin" ]]; then
47
+ if [[" $UNAME " == " Darwin" ]]; then
48
48
SWIFT=" $( xcode-select -p) /Toolchains/XcodeDefault.xctoolchain/usr/bin/swift"
49
49
else
50
50
SWIFT=" $( which swift) "
@@ -117,7 +117,7 @@ SWIFT_INSTALL="$SWIFT_INSTALL"
117
117
export PATH="\$ SWIFT_INSTALL/usr/bin:\$ PATH"
118
118
export SWIFT_EXEC=~/.gradle/scripts/swiftc-android.sh
119
119
120
- swift build
120
+ swift build " \$ @"
121
121
122
122
SCRIPT
123
123
@@ -128,7 +128,7 @@ cat <<SCRIPT >swiftc-android.sh &&
128
128
#
129
129
130
130
SWIFT_INSTALL="$SWIFT_INSTALL "
131
- export PATH="\$ SWIFT_INSTALL/usr/$ARCH :\$ SWIFT_INSTALL/usr/bin:\$ PATH"
131
+ export PATH="\$ SWIFT_INSTALL/usr/$UNAME :\$ SWIFT_INSTALL/usr/bin:\$ PATH"
132
132
133
133
if [[ "\$ *" =~ " -fileno " ]]; then
134
134
swift "\$ @" || (echo "*** Error executing:\$ 0\$ @" && exit 1)
137
137
138
138
ARGS=\$ (echo "\$ *" | sed -E "s@-target [^[:space:]]+ -sdk /[^[:space:]]* (-F /[^[:space:]]* )?@@")
139
139
140
- if [[ "\$ * " =~ " -emit-executable " ]]; then
141
- LINKER_ARGS="-Xlinker -shared -Xlinker -export-dynamic -tools-directory \$ SWIFT_INSTALL/usr/ $ARCH "
140
+ if [[ "\$ ARGS " =~ " -emit-executable " && " \$ ARGS" =~ ".so " ]]; then
141
+ ARGS= \$ (echo " \$ ARGS" | sed -E "s@ (-module-name [^[:space:]]+ )?-emit-executable @ -emit-library @")
142
142
fi
143
143
144
- swiftc -target armv7-none-linux-androideabi\\
145
- -sdk "\$ SWIFT_INSTALL/ndk-android-21 " -L "\$ SWIFT_INSTALL/usr/$ARCH "\\
146
- \$ LINKER_ARGS \$ ARGS || (echo "*** Error executing:\$ 0\$ LINKER_ARGS \$ ARGS" && exit 1)
144
+ swiftc -target armv7-none-linux-androideabi-sdk " \$ SWIFT_INSTALL/ndk-android-21" \\
145
+ -L "\$ SWIFT_INSTALL/usr/ $UNAME " -tools-directory "\$ SWIFT_INSTALL/usr/$UNAME "\\
146
+ \$ ARGS || (echo "*** Error executing:\$ 0\$ ARGS" && exit 1)
147
147
148
148
SCRIPT
149
149