Skip to content
This repository was archived by the owner on Mar 8, 2020. It is now read-only.

Commit 198e7ba

Browse files
authored
Merge pull request #99 from bzz/crosscompile-test-fix
HOTFIX for release profile on CI
2 parents 7ab2478 + 6c7d803 commit 198e7ba

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

.travis.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,29 +34,32 @@ jobs:
3434
- docker run --privileged -d -p 9432:9432 --name bblfsh bblfsh/bblfshd
3535
- docker exec -it bblfsh bblfshctl driver install --recommended
3636
- sudo apt-get update
37-
- sudo apt-get install -y --no-install-recommends clang g++ gcc gcc-multilib libc6-dev libc6-dev-i386 mingw-w64 patch xz-utils
37+
- sudo apt-get install -y --no-install-recommends g++ gcc gcc-multilib libc6-dev libc6-dev-i386 patch xz-utils
3838
script:
3939
- ./sbt assembly test
4040
after_failure: &failure_logs_anchor
4141
- docker logs bblfsh
4242

43-
- name: 'Cross-compile, release & publish to Sonatype'
43+
- &release
44+
name: 'Cross-compile, release & publish to Sonatype'
4445
stage: release
4546
env:
4647
- OSXCROSS_PATH="$HOME/osxcross"
4748
before_install:
49+
- sudo apt-get install -y --no-install-recommends clang mingw-w64
50+
install:
4851
- mkdir -p /tmp/osxcross
4952
- cd /tmp/osxcross
50-
- curl -sSL "https://codeload.github.com/tpoechtrager/osxcross/tar.gz/${OSXCROSS_REV}" | tar -C /tmp/osxcross --strip=1 -xzf -
51-
- curl -s -S -L -o tarballs/MacOSX${SDK_VERSION}.sdk.tar.xz ${OSXCROSS_SDK_URL}
53+
- curl -sSL "https://codeload.github.com/tpoechtrager/osxcross/tar.gz/${OSXCROSS_REV}" | tar -C "${PWD}" --strip=1 -xzf -
54+
- curl -sSL -o tarballs/MacOSX${SDK_VERSION}.sdk.tar.xz ${OSXCROSS_SDK_URL}
5255
- UNATTENDED=yes ./build.sh >/dev/null
5356
- mv target "${OSXCROSS_PATH}"
54-
- curl -S -L "https://github.com/karalabe/xgo/blob/647f256c447ee20f9bf13ebc42e612d55994a383/docker/base/patch.tar.xz?raw=true" | xz -dc - | tar -xf -
57+
- curl -sSL "https://github.com/karalabe/xgo/blob/647f256c447ee20f9bf13ebc42e612d55994a383/docker/base/patch.tar.xz?raw=true" | xz -dc - | tar -xf -
5558
- mv v1 "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/include/c++/v1"
5659
- rm -rf /tmp/osxcross "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/share/man"
5760
script:
5861
- cd $TRAVIS_BUILD_DIR
59-
- ./sbt assembly
62+
- ./sbt assembly || travis_terminate 1
6063
- ./sbt publishLocal
6164
- openssl aes-256-cbc -K $encrypted_97aef7f4ae04_key -iv $encrypted_97aef7f4ae04_iv -in key.asc.enc -out key.asc -d
6265
- gpg --no-default-keyring --primary-keyring ./project/.gnupg/pubring.gpg --secret-keyring ./project/.gnupg/secring.gpg --keyring ./project/.gnupg/pubring.gpg --fingerprint --import key.asc

build.sbt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,15 @@ getProtoFiles := {
111111

112112
val getLibuast = TaskKey[Unit]("getLibuast", "Retrieve libuast")
113113
getLibuast := {
114+
val os = if (System.getProperty("os.name").toLowerCase.contains("mac os x")) "darwin" else "linux"
115+
116+
downloadUnpackLibuast(os)
117+
}
118+
119+
def downloadUnpackLibuast(os: String) = {
114120
import sys.process._
115121

116122
val ghUrl = "https://github.com/bblfsh/libuast"
117-
val os = if (System.getProperty("os.name").toLowerCase.contains("mac os x")) "darwin" else "linux"
118123
val binaryReleaseUrl = s"${ghUrl}/releases/download/v${libuastVersion}/libuast-${os}-amd64.tar.gz"
119124
println(s"Downloading libuast binary from ${binaryReleaseUrl}")
120125

@@ -124,7 +129,8 @@ getLibuast := {
124129
"mkdir -p src/main/resources" #&&
125130
"rm -rf src/main/resources/libuast" #&&
126131
"mv libuast src/main/resources" #&&
127-
"rm src/main/resources/libuast/libuast.so" #&& // always a static build
132+
"rm -f src/main/resources/libuast/libuast.so" #&& // always a static build
133+
"rm -f src/main/resources/libuast/libuast.dylib" #&&
128134
"rm libuast-bin.tar.gz" !
129135

130136
"find src/main/resources"!
@@ -133,7 +139,7 @@ getLibuast := {
133139

134140
"nm src/main/resources/libuast/libuast.a" #| "wc -l"!
135141

136-
println("Done unpacking libuast")
142+
println(s"Done unpacking libuast for ${os}")
137143
}
138144

139145
val compileScalaLibuast = TaskKey[Unit]("compileScalaLibuast", "Compile libScalaUast JNI library")
@@ -200,11 +206,13 @@ def crossCompileMacOS(sourceFiles: String): Unit = {
200206
return
201207
}
202208

203-
val cmd = osxHome + "/bin/o64-clang++-libc++ -shared -Wall -fPIC -O2 -lxml2 -std=c++11 " +
209+
downloadUnpackLibuast("darwin")
210+
211+
val cmd = osxHome + "/bin/o64-clang++-libc++ -shared -Wall -fPIC -O2 -std=c++11 " +
204212
"-I" + osxHome + "/SDK/MacOSX10.11.sdk/usr/include/ " +
205213
"-I/usr/lib/jvm/java-8-openjdk-amd64/include " +
206214
"-I/usr/lib/jvm/java-8-openjdk-amd64/include/linux " +
207-
"-Isrc/libuast-native/ " +
215+
"-Isrc/main/resources/libuast " +
208216
"-o src/main/resources/lib/libscalauast.dylib " +
209217
sourceFiles +
210218
"src/main/resources/libuast/libuast.a "

0 commit comments

Comments
 (0)