diff --git a/Jenkinsfile b/Jenkinsfile index efe45d3..ce1cda5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,10 +10,9 @@ parallel 'centos7': { // --------------------------- Network Stacks (Linux) --------------------------- // ------------------------------------------------------------------------------ - // (lwIP IPv4) try { checkout scm - stage('lwIP IPv4') { + stage('linux lwIP IPv4') { sh 'make clean; make lwip SDK_IPV4=1' } } @@ -22,11 +21,9 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } - - // (lwIP IPv6) try { checkout scm - stage('lwIP IPv6') { + stage('linux lwIP IPv6') { sh 'make clean; make lwip SDK_IPV6=1' } } @@ -35,11 +32,9 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } - - // (picoTCP IPv4) try { checkout scm - stage('picoTCP IPv4') { + stage('linux picoTCP IPv4') { sh 'make clean; make pico SDK_IPV4=1' } } @@ -48,11 +43,9 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } - - // (picoTCP IPv6) try { checkout scm - stage('picoTCP IPv6') { + stage('linux picoTCP IPv6') { sh 'make clean; make pico SDK_IPV6=1' } } @@ -66,7 +59,6 @@ parallel 'centos7': { // ------------------------ SDK Service Library (Linux) ------------------------- // ------------------------------------------------------------------------------ - // service (lwIP IPv4) try { checkout scm stage('linux_sdk_service (lwIP IPv4)') { @@ -78,8 +70,6 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } - - // service (lwIP IPv6) try { checkout scm stage('linux_sdk_service (lwIP IPv6)') { @@ -91,8 +81,6 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } - - // service (picoTCP IPv4) try { checkout scm stage('linux_sdk_service (picoTCP IPv4)') { @@ -104,8 +92,6 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } - - // service (picoTCP IPv6) try { checkout scm stage('linux_sdk_service (picoTCP IPv6)') { @@ -122,7 +108,6 @@ parallel 'centos7': { // --------------------------- Intercept Library (Linux) ------------------------ // ------------------------------------------------------------------------------ - // intercept try { checkout scm stage('linux_intercept') { @@ -134,6 +119,23 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" throw err } + + // ------------------------------------------------------------------------------ + // ------------------------------ Unit tests (linux) ---------------------------- + // ------------------------------------------------------------------------------ + + try { + checkout scm + stage('linux tests') { + sh 'make tests' + } + } + catch (err) { + currentBuild.result = "FAILURE" + slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)" + throw err + } + } }, 'macOS': { node('macOS') { @@ -144,10 +146,9 @@ parallel 'centos7': { // --------------------------- Network Stacks (macOS) --------------------------- // ------------------------------------------------------------------------------ - // (lwIP IPv4) try { checkout scm - stage('lwIP IPv4') { + stage('macOS lwIP IPv4') { sh 'make clean; make lwip SDK_IPV4=1' } } @@ -156,11 +157,9 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" throw err } - - // (lwIP IPv6) try { checkout scm - stage('lwIP IPv6') { + stage('macOS lwIP IPv6') { sh 'make clean; make lwip SDK_IPV6=1' } } @@ -169,11 +168,9 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" throw err } - - // (picoTCP IPv4) try { checkout scm - stage('picoTCP IPv4') { + stage('macOS picoTCP IPv4') { sh 'make clean; make pico SDK_IPV4=1' } } @@ -182,11 +179,9 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" throw err } - - // (picoTCP IPv6) try { checkout scm - stage('picoTCP IPv6') { + stage('macOS picoTCP IPv6') { sh 'make clean; make pico SDK_IPV6=1' } } @@ -201,7 +196,6 @@ parallel 'centos7': { // -------------------------- Intercept Library (macOS) ------------------------- // ------------------------------------------------------------------------------ - // osx_intercept try { checkout scm stage('osx_intercept') { @@ -218,7 +212,6 @@ parallel 'centos7': { // -------------------------- SDK Service Library (macOS) ----------------------- // ------------------------------------------------------------------------------ - // osx_service_and_intercept try { checkout scm stage('osx_service_and_intercept (lwIP IPv4)') { @@ -230,7 +223,6 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" throw err } - try { checkout scm stage('osx_service_and_intercept (lwIP IPv6)') { @@ -242,8 +234,6 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" throw err } - - try { checkout scm stage('osx_service_and_intercept (picoTCP IPv4)') { @@ -269,10 +259,9 @@ parallel 'centos7': { } // ------------------------------------------------------------------------------ - // -------------------------- App Frameworks (macOS/iOS) ------------------------ + // ---------------------------- App Frameworks (macOS) -------------------------- // ------------------------------------------------------------------------------ - // osx_app_framework try { checkout scm stage('macOS App Framework') { @@ -284,8 +273,6 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" throw err } - - // ios_app_framework try { checkout scm stage('iOS App Framework') { @@ -297,6 +284,39 @@ parallel 'centos7': { slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on iOS (<${env.BUILD_URL}|Open>)" throw err } + + // ------------------------------------------------------------------------------ + // --------------------------- Android JNI Lib (macOS) -------------------------- + // ------------------------------------------------------------------------------ + + //try { + // checkout scm + // stage('macOS android_jni_lib') { + // sh 'make android_jni_lib SDK_LWIP=1 SDK_IPV4=1' + // } + //} + //catch (err) { + // currentBuild.result = "FAILURE" + // slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" + // throw err + //} + + + // ------------------------------------------------------------------------------ + // ------------------------------ Unit tests (macOS) ---------------------------- + // ------------------------------------------------------------------------------ + + try { + checkout scm + stage('macOS tests') { + sh 'make tests' + } + } + catch (err) { + currentBuild.result = "FAILURE" + slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)" + throw err + } } } diff --git a/integrations/android/android_jni_lib/java/jni/Android.mk b/integrations/android/android_jni_lib/java/jni/Android.mk index f936b45..a495bf3 100644 --- a/integrations/android/android_jni_lib/java/jni/Android.mk +++ b/integrations/android/android_jni_lib/java/jni/Android.mk @@ -8,23 +8,26 @@ ZT := ../../../../../zerotierone LOCAL_MODULE := ZeroTierOneJNI LOCAL_C_INCLUDES := $(ZT1)/include LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include -LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/ipv4 +LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/lwip +LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/lwip/priv LOCAL_C_INCLUDES += $(ZT1)/node LOCAL_C_INCLUDES += $(ZT1)/ LOCAL_C_INCLUDES += $(ZT1)/service LOCAL_C_INCLUDES += $(ZT1)/osdep LOCAL_C_INCLUDES += $(ZTSDK)/src +LOCAL_C_INCLUDES += $(ZTSDK)/stack_drivers/lwip + LOCAL_LDLIBS := -llog # LOCAL_CFLAGS := -g # Netcon files LOCAL_SRC_FILES := \ - $(ZTSDK)/SDK_RPC.c \ - $(ZTSDK)/SDK_Proxy.cpp \ - $(ZTSDK)/SDK_Sockets.c \ - $(ZTSDK)/SDK_Service.cpp \ - $(ZTSDK)/SDK_EthernetTap.cpp + $(ZTSDK)/rpc.c \ + $(ZTSDK)/proxy.cpp \ + $(ZTSDK)/sockets.c \ + $(ZTSDK)/service.cpp \ + $(ZTSDK)/tap.cpp # ZeroTierOne ext files LOCAL_SRC_FILES += \ diff --git a/integrations/android/android_jni_lib/java/jni/Application.mk b/integrations/android/android_jni_lib/java/jni/Application.mk index baeb866..d28c397 100644 --- a/integrations/android/android_jni_lib/java/jni/Application.mk +++ b/integrations/android/android_jni_lib/java/jni/Application.mk @@ -1,6 +1,6 @@ NDK_TOOLCHAIN_VERSION := clang APP_STL := c++_static -APP_CPPFLAGS := -g -O3 -DSDK_BUNDLED -DZT_DEBUG -DSDK_DEBUG -DLWIP_DEBUG -DSDK -fPIC -fPIE -fvectorize -Wall -fstack-protector -fexceptions -fno-strict-aliasing -Wno-deprecated-register -DZT_NO_TYPE_PUNNING=1 +APP_CPPFLAGS := -g -O3 -DSDK_BUNDLED -DZT_DEBUG -DSDK_DEBUG -DLWIP_DEBUG -DSDK_LWIP=1 -DSDK_IPV4=1 -DSDK -fPIC -fPIE -fvectorize -Wall -fstack-protector -fexceptions -fno-strict-aliasing -Wno-deprecated-register -DZT_NO_TYPE_PUNNING=1 APP_CFLAGS := -g -DSDK_BUNDLED APP_PLATFORM := android-14 diff --git a/make-linux.mk b/make-linux.mk index 1d40485..1e58963 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -337,7 +337,7 @@ clean_basic: clean_thorough: clean_basic -rm -rf .depend -clean: clean_basic clean_android +clean: clean_basic clean_for_production: -find . -type f \( -name '*.identity'\) -delete \ No newline at end of file diff --git a/make-mac.mk b/make-mac.mk index 9c06e8e..f45e50f 100644 --- a/make-mac.mk +++ b/make-mac.mk @@ -243,7 +243,7 @@ android: android_jni_lib # Build library for Android Unity integrations # Build JNI library for Android app integration android_jni_lib: - ./increment.sh + -./increment.sh cd $(INT)/android/android_jni_lib/proj; ./gradlew assembleDebug mkdir -p $(BUILD)/android_jni_lib cp docs/android_zt_sdk.md $(BUILD)/android_jni_lib/README.md @@ -318,7 +318,7 @@ clean_basic: -find . -type f \( -name $(ONE_SERVICE_NAME) -o -name $(SDK_SERVICE_NAME) \) -delete -find . -type f \( -name '*.o' -o -name '*.so' -o -name '*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete -clean: clean_basic clean_android +clean: clean_basic clean_for_production: -find . -type f \( -name '*.identity'\) -delete