Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readme #465

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open

Readme #465

wants to merge 39 commits into from

Conversation

ahmadov
Copy link
Contributor

@ahmadov ahmadov commented Apr 29, 2019

No description provided.

irbull and others added 30 commits January 18, 2019 09:56
The POM specifies we are building with Java 6. The classpath
file should have been the same.

Change-Id: I4525f5b5eab498545ec6b76a479ef5ace62c558f
The x86 binaries were failing at runtime on Android because of
text relocation that existed in the shared object. The text
relocation was a result of the openssl library. This libary
is not needed for J2V8 so it was removed.

This change-set also updates the NDK to version 14 and updates
the version of CMake that is used during the build. With
this change-set applied, x86 and ARM builds should now work.

The version was set to 5.1.0-SNAPSHOT, as we had lots of failed
builds during 5.0.

Change-Id: I1bef1e0226ddf2e209b48d3f6467bb287acc421f
With the new CMake build system, the old hand crafted bash scripts
are no longer needed. This removes he old build tools and docker
files that are no longer needed.

Change-Id: I6761b5176dfc018c5566644f5a7e789d5edbb7ae
Add a gitlab-ci yaml file so J2V8 can be built on GitLab.
The gitlabci uses a base docker-dind image, and adds the
required dependencies. It also sets the commit hash
in the V8 method that returns the SCM ID. This is useful
when debugging.

In addition to the new build, this fixes a typo in the name
of the emulator. Since we updated to a newer NDK build, the emulator
was suffixed with '64'.

Change-Id: I60b420d16ca26f06a4046b9793e31c47de5220cd
In preparation of 64-bit builds, the cross-compiling flag is being
set on the Node.js build. When built on 64-bit platforms (for 64 bit
Android) this flag must be set to avoid mkpeephole build errors.

Change-Id: I7fe21a87443499bbac9e6b7002abebf320f1ca5e
Adds support for both x86_64 and arm64 builds for J2V8. This sets
the API version to 23, as version 17 doesn't support 64-bit builds.

This change-set also updates the gitlab-ci build to produce all
four platforms in a single aar file.

Change-Id: Ie5abc5593a0acc252a1a02f2372af23fae499688
According to [1], API level 21 introduced 64-bit builds. In the
interest of keeping the API level as low as possible, we
are moving to level 21.

[1] https://developer.android.com/ndk/guides/standalone_toolchain
…che.org instead where the binaries will have a permanent home.
The ARM emulator tests were broken for two reasons.
1. We were accidentally including somme i18l in our
builds, but not the required libs.
2. We were not using the right emulator

This change-set fixes both of these. It disables i18l
in the V8 build, and updates the emulator to android-21
to match the build.
To help see which tests are failing, we no longer pipe the arm build
output to a file. Instead, we just pipe the Node.js build output
to a file as we don't really need to see this.
We are producing too much log information and our logs are being
truncated. Use the quite flag during unzip.
Pipe the docker build output to a file
If the build output contains the words BUILD FAILED then
we fail the build on gitlab. In the past it was passing.
Because the build runs in a contained bash env, running on
supervisord, in a container, it was not possiible to check
the status code of gradle. Instead we check the logs.
In Android API-21, allocating empty ByteBuffers in native
code using NULL for the data was leading to seg faults.
Instead, we pass NULL back to Java and let Java use the
`ByteBuffer.allocateDirect(0)` API.
Many of the platform detector tests fail when running
on the emulator. This is because the test attempts to
set the OS property to something else which is not allowed.
Instead, we skip these tests as it doesn't make sense
to try and assume that the android emulator is
Windows, Linux or Mac.
A few tests are still failing on the emulator. In the interest
of trying to get a green build so we can debug these properly, we
have @ignored these.
Now that builds are working again, enable the full build
for all 4 platform.
Instead of piping different parts of the build command to different
files, we pipe the entire build command to a single file. We rediect
standard err to standard out, so everthing ends up in one place.
On each commit to master, auto deploy to maven snapshot repository.
The syntax for standard err redirect was incorrect. This fixes
that.
Adds `bash` and fixes an exit error we had with our .gitlab-ci file.
Bash is needed to run gradle for the artifact deployment. This
adds bash to that stage.
The testNestedExecutorExecution is failing on occasion. It's not clear if
this is new. We have filed issue#443 to look at this.
Add a gradle deploy stage that uses env variables for deploy
credentials.
irbull and others added 9 commits January 18, 2019 10:01
Builing arm "ALL" was performing all the build steps for arm,
including the release to Maven Central. We don't the release
until all 4 platforms are built.
When running builds on MacOS, the docker identifier is "darwin/amd64"
not "linux". This change-set checks if we are running on MacOS
(Darwin) and sets the required docker platform to `darwin/amd64".
On the 4.8-maintenance set the version number to 4.8.3-SNAPSHOT.
Some of the executor tests were failing on the emulator. It's
because the volatile keyword was not being used in the test
results, and the incorrect results were being cached. This fixes
those issues.
The builds were failing because of missing licenses. Hopefully
this fixes that problem.
The executor tests requires some time for the second thread to run.
We now wait 2 seconds in each one of these tests.
The build status is fetched from Travis-CI.
It only indicates the Linux build status for 4.8.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants