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
additional Build-System features & fixes #327
Commits on Jul 30, 2017
-
refactoring for multiple build-environments per platform
- moved check_node_builtins to build_utils - added --no-shutdown option for vagrant builds - fixed typo in JNI lib output name on win32 (missing lib prefix) - refactored all existing platform configs to align with new build-env APIs - added graceful handling / shutdown of build-envs if user cancels the build early - added powershell scripts for build dependencies - corrected usage of "smb" mounted folders for macos:vagrant target - added win32:vagrant target
Configuration menu - View commit details
-
Copy full SHA for 4dc98cc - Browse repository at this point
Copy the full SHA 4dc98ccView commit details -
add "j2v8optimize" buildstep (performs execstack & strip on linux)
- register atexit events before cross-builds are started - switched linux & android docker images to Ubuntu Xenial LTS (see eclipsesource#311) - cleaned up and documented switch-to-winrm-plugin that is used in win32:vagrant builds
Configuration menu - View commit details
-
Copy full SHA for 4e6c541 - Browse repository at this point
Copy the full SHA 4e6c541View commit details -
additional build-system features & some j2v8 fixes
Features ------------------------ [Build-System] - replaced default Android instrumentation test runner with Spoon test runner (allows to optionally run individual tests on emulator) - added interactive CLI mode (see build.py, build_interactive.py) - added "--interactive, -i" CLI parameter to start interactive build CLI - added support for specifying "anti-build-steps" via the CLI (for example: "all ~nodejs ~test" runs all steps, except for "nodejs" and "test") - added "--vendor, -v" CLI parameter that allows to build specialized linux vendor binaries, e.g. for alpine-linux - added alpine-linux binary support - added "inject_env" API that is directly callable on a build-step config - added "--sys-image, -img" CLI parameter that can be used to override the used OS image for Docker / Vagrant builds - refactored the original "--cross-compile, -x" parameter into two separate parameters "--docker, -dkr" and "--vagrant, -vgr" (this makes it possible to support both variants for all target platforms) - added "--keep-native-libs, -knl" CLI parameter (can be useful for building bundles that should include multiple platform binaries) - centralized some repeated constant literals & code from build-steps across multiple platforms (into build_utils.py, cmake_utils.py and shared_build_steps.py) - added automatically set "file_abi" property on build-step configs - added more variables for use with "inject_env" API - added "adb logcat" process to Android Docker build (writes realtime output from Android emulator to ./docker/android/logcat.txt) - moved all Node.js utility code to nodejs.py CLI script - added experimental code to package Node.js pre-built binary packages (see nodejs.py) [J2V8] - updated LibraryLoader code to include Linux-Vendor specifier when looking for native libs (vendor-specific libs are preferred over vendor-agnostic ones) - added PlatformDetector as a central place to get normalized string identifiers for OS,Arch,Vendor Fixes & Changes ------------------------ [Build-System] - reorganized some code of the build-system into more separate files (see build.py, build_constants.py, build_executor.py, cli.py) - added missing "bool" type to immutable.py - throw error in CMake scripts if Java-Home could not be found - default Docker base-image for Linux & Android builds is now "debian:jessie" - installation of JDK in install.jdk.sh now checks if a JDK is already installed (needed for alpine-linux build) - refactored win32 Dockerfile (now uses the same PowerShell scripts as the Vagrant build instead of inline commands) [J2V8] - separated LibraryLoader and Platform-Detection code (see PlatformDetector.java) - show native lib-name in IllegalStateException message when native lib could not be loaded - AllTests.java is now called A_RunAheadTests and only includes the V8RuntimeNotLoadedTest (this is the only test that should be run before any other tests) - extended and refactored LibraryLoaderTest / PlatformDetectorTest implementations - added timeout for V8LockerTest - added workaround for V8RuntimeNotLoadedTest (is currently not implemented to run on Android)
Configuration menu - View commit details
-
Copy full SHA for 07fea24 - Browse repository at this point
Copy the full SHA 07fea24View commit details -
set variables in pom.xml directly (no env-vars)
- added build-util that directly sets the required build variables into the pom.xml file without using environment variables - reverted gradle sdk- & target-versions back from 19 to 10 - added alias-functions for the polyfill shell commands to shared_build_steps.py - started documenting the build-system modules & functions - fixed git EOL problems for shell/python scripts used by Docker builds
Configuration menu - View commit details
-
Copy full SHA for 74221c9 - Browse repository at this point
Copy the full SHA 74221c9View commit details
Commits on Aug 1, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 138a693 - Browse repository at this point
Copy the full SHA 138a693View commit details
Commits on Aug 2, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 2520075 - Browse repository at this point
Copy the full SHA 2520075View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6092084 - Browse repository at this point
Copy the full SHA 6092084View commit details
Commits on Aug 14, 2017
-
build-system unit-testing & other extras
- fix install.alpine.packages.sh chmod +x - refactor nodejs.py sub-commands (git-CLI style) - add j2v8-cli convenience scripts with command aliases (for win32/linux/macos) - do not run NodeJsTest when native lib was not compiled with node features included - add check in CMake node js lib scripts if all njs lib files exist, exit with error if any is missing - add node 7.9.0 patch file (works for linux, but not windows currently) - j2v8jni build-step is now called j2v8cpp - j2v8jni is a new build-step using javah to regenerate J2V8 JNI header files - j2v8jni build-step is skipped if the required V8.class file does not yet exist - implement basic unit-testing for build-system - centralize maven build-steps logic and also just run maven pre-build actions once per build-process (e.g. copy native J2V8 libs to the Java directories)
Configuration menu - View commit details
-
Copy full SHA for d372158 - Browse repository at this point
Copy the full SHA d372158View commit details
Commits on Aug 15, 2017
-
more CLI documentation & build-step args
- some more documentation for the build CLI (in BUILDING.md) - j2v8junit build-step is now called j2v8test - added CLI feature to pass custom parameters to build-tools used in build-steps - can now pass Maven/Gradle arguments to "--j2v8test" build-step - reworked NodeJSTest skipping to also work for Android tests (spoon) - fixed & improved shared java build-steps code
Configuration menu - View commit details
-
Copy full SHA for 7ca8618 - Browse repository at this point
Copy the full SHA 7ca8618View commit details -
docs cleanup & link to BUILDING.md
- small fix to Exception message for when the native lib can not be loaded (should show generic libname and vendor specific libname)
Configuration menu - View commit details
-
Copy full SHA for e5e85bc - Browse repository at this point
Copy the full SHA e5e85bcView commit details
Commits on Aug 16, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 01fe088 - Browse repository at this point
Copy the full SHA 01fe088View commit details -
atexit fix & prettier
build -i
listing- we must use atexit to stop Vagrant VMs / Docker containers in case of an error
Configuration menu - View commit details
-
Copy full SHA for 25b7b5c - Browse repository at this point
Copy the full SHA 25b7b5cView commit details
Commits on Aug 19, 2017
-
show V8 & Node.js version on build
- improve merging of pre-defined and user build-params for `build -i`
Configuration menu - View commit details
-
Copy full SHA for c44946c - Browse repository at this point
Copy the full SHA c44946cView commit details
Commits on Aug 28, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 95d4543 - Browse repository at this point
Copy the full SHA 95d4543View commit details