Skip to content

Instantly share code, notes, and snippets.

@om26er
Last active September 18, 2017 14:59
Show Gist options
  • Save om26er/6629cbab3422dbf6956e89791369e5aa to your computer and use it in GitHub Desktop.
Save om26er/6629cbab3422dbf6956e89791369e5aa to your computer and use it in GitHub Desktop.
Build autobahn with streamsupport (Works on Android 4.0.3+)
#!/bin/sh
set -e
# Uncomment streamsupport gradle library
sed -i "s|// implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:|implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:|g" autobahn/build.gradle
sed -i "s|// implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:|implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:|g" demo-gallery/build.gradle
# Change SDK support to Android 4.0.3
sed -i 's/minSdkVersion.*/minSdkVersion 15/g' autobahn/build.gradle
sed -i 's/minSdkVersion.*/minSdkVersion 15/g' demo-gallery/build.gradle
# Replace imports to streamsupport.
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.concurrent.CompletableFuture;/import java8.util.concurrent.CompletableFuture;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.concurrent.CompletionException;/import java8.util.concurrent.CompletionException;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.concurrent.ForkJoinPool;/import java8.util.concurrent.ForkJoinPool;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.function.BiConsumer;/import java8.util.function.BiConsumer;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.function.BiFunction;/import java8.util.function.BiFunction;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.function.Consumer;/import java8.util.function.Consumer;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.function.Function;/import java8.util.function.Function;/g'
find -name *.java -print0 | xargs -0 sed -i 's/import java.util.function.Supplier;/import java8.util.function.Supplier;/g'
# docker run -it --rm -v $PWD:/workspace -v ~/Android/Sdk:/android-sdk -e ANDROID_HOME=/android-sdk crossbario/autobahn-java:netty gradle -PbuildPlatform=android assemble
@om26er
Copy link
Author

om26er commented Sep 18, 2017

If we ever end up putting this inside autobahn-java, we need a simple CI test to ensure this always works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment