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

Use java.io.tmpdir instead of user.home as default #275

Closed
wants to merge 51 commits into from
Closed

Use java.io.tmpdir instead of user.home as default #275

wants to merge 51 commits into from

Commits on May 3, 2017

  1. Throw an IAE if null is used as a key in V8Object

    If null is used as a key when accessing properties of a V8Object,
    an IllegalArgumentException will be thrown. Before this change,
    the entire VM would crash.
    
    This is handled by checking the value of the key before any native
    code is invoked, and fast failing if it's null.
    
    This fixed #249
    
    Change-Id: Ia6ff54f9586aed14179c0c6de1f7ef49d1730c67
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    aa398fa View commit details
    Browse the repository at this point in the history
  2. Add a failing test to test our infrastructure

    Change-Id: I37ccdfd676a92cde2384a840a6acad28d9423977
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    7140594 View commit details
    Browse the repository at this point in the history
  3. Revert "Add a failing test to test our infrastructure"

    This reverts commit 7140594.
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    cd68e4d View commit details
    Browse the repository at this point in the history
  4. Build on linux first

    Since linux is where we run the tests, build on linux first
    so we fast-fail if things go wrong.
    
    Change-Id: I643aaa2416d2f4820a651c2699b5ce110e2a09f7
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    810ebe1 View commit details
    Browse the repository at this point in the history
  5. Remove the v8_version file since it's never correct

    Change-Id: Ie79a450256112f812601c8373dc0597191f7f53e
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    6c7bb0f View commit details
    Browse the repository at this point in the history
  6. Move the OSGi releng stuff to a sub folder

    Change-Id: Icd21372e3f0515c4de89073313001f1f3c4bc956
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    47421ad View commit details
    Browse the repository at this point in the history
  7. Add a script to build and deploy J2V8 for Android

    This script will build and deploy J2V8 aar for android.
    
    Change-Id: Ia2f73db7affe82f9ca6277632d33c1f03128eed9
    irbull committed May 3, 2017
    Configuration menu
    Copy the full SHA
    d3063d6 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2017

  1. Strip symbols once we build the android binaries

    Once the android binaries are built, strip the symbols
    from the shared object files.
    
    Change-Id: Idee2f733a40fa1524e90dd6a5de0e9e794047afd
    irbull committed May 5, 2017
    Configuration menu
    Copy the full SHA
    d5a407a View commit details
    Browse the repository at this point in the history
  2. Added an API to get the SCM Revision ID

    To help determine which version of J2V8 is being executed
    at Runtime, a new method was added on the V8 class.
    This method will return a String representation of the
    SCM Revision ID.
    
    We currently use Git, so this method will return the
    commit ID for the latest commit in a build.
    
    It is expected that the default string will be replaced
    when J2V8 is built for deployment.
    
    Change-Id: I3a2e5f5f8f8cf88283d7ef1b1571257dab6a4fa3
    irbull committed May 5, 2017
    Configuration menu
    Copy the full SHA
    1a5348c View commit details
    Browse the repository at this point in the history
  3. Add the Git ID during the build to getSCMRevision

    During a build and deploy, add the Git ID to the getSCMRevision
    API. This way, you can get the actual J2V8 Source Revision
    you are running.
    
    Change-Id: I5f3907643335b0d0e45babf3beef1c44cb68c7ec
    irbull committed May 5, 2017
    Configuration menu
    Copy the full SHA
    7ae6fe0 View commit details
    Browse the repository at this point in the history
  4. Fix the build and deploy script

    Accidently left in the exit statement we used when
    debugging.
    
    Change-Id: I4ea0ce0e610948b9c571e72f1fc9adc2e4e4ce54
    irbull committed May 5, 2017
    Configuration menu
    Copy the full SHA
    223a889 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2017

  1. Add a Jenkinsfile for building J2V8 on Jenkins

    To support a Jenkins build server, a Jenkinsfile was added
    that specifies the pipeline.
    
    Change-Id: I4f5e0e222954780df2fd40fd185d3e625d90eefd
    irbull committed May 8, 2017
    Configuration menu
    Copy the full SHA
    30c9d95 View commit details
    Browse the repository at this point in the history
  2. Checkout the version revision that started the pipeline

    When running a pipeline, checkout the revision that started it.
    
    Change-Id: I970e92744dfd4e1215c268aba69bf9b439acee96
    irbull committed May 8, 2017
    Configuration menu
    Copy the full SHA
    b53cf82 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2017

  1. Allow the root directory to be specified in the build script

    To allow the build to run in Docker, the root directory
    needs to be specified. This is because the volume
    mount of the container must be used.
    
    Change-Id: Ic55fc3a99f9e6c93d3b2fc3f23f4c70d7de56110
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    aee25d6 View commit details
    Browse the repository at this point in the history
  2. Use the host volume mount for the root directory

    Because we run Jenkins in a container, use the host volume mount
    for the root directory of the build.
    
    Change-Id: Icc58b73add26dfe822fedd672ac87b243ddb1b0e
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    4f38b0e View commit details
    Browse the repository at this point in the history
  3. Correct a typo in the build script

    The build script had a double $$. This fixes that.
    
    Change-Id: I4b3b2c0084081663b78a83ec178faeebdb854a38
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    02314a4 View commit details
    Browse the repository at this point in the history
  4. Use BASH to execute the build script

    Change-Id: I81dccacd5c999b2b5f0b279988941b989a41dcde
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    5cc08f3 View commit details
    Browse the repository at this point in the history
  5. Second attempt to use bash instead of sh in the Jenkinsfile

    Change-Id: Ib9ff8d629a9c0ecaed8b7f51923e5041fae40db6
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    d3e603a View commit details
    Browse the repository at this point in the history
  6. 3rd attempt at using bash

    Change-Id: I2d31acb142027916476923db36b2f1b06288e8d0
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    960aeb3 View commit details
    Browse the repository at this point in the history
  7. Another attempt at bash

    Change-Id: I2e6cd7ab7b09eac1cb2aa46d1fa7ac0f70536680
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    6a9be1a View commit details
    Browse the repository at this point in the history
  8. .

    Change-Id: I8ca5aa86e631cea188b89028de22da3084f300a1
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    8456d5d View commit details
    Browse the repository at this point in the history
  9. .

    Change-Id: I8bbf7d3e475765b37cfab261e36475b23989edf4
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    180e66a View commit details
    Browse the repository at this point in the history
  10. Use bash as the header for the buildAll script

    Change-Id: Ib469e15047d903686b8dc9b14a51ae423434fc33
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    861e04f View commit details
    Browse the repository at this point in the history
  11. Try without the #!/bin/bash in the Jenkinsfile

    Because we have the #!/bin/bash in the header for the script,
    I don't think we need this in the Jenkinsfile too.
    
    Change-Id: I63862252cdfaf6d1fba6c099cd39a72db6a8c850
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    809bc50 View commit details
    Browse the repository at this point in the history
  12. Build the AAR after the platforms are built

    Change-Id: Ib1263a75e15cfa7328ff69286a0d10f94388f82c
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    f718e73 View commit details
    Browse the repository at this point in the history
  13. Collect results after the build finishes in the pipeline

    Change-Id: I91df7ebcac529ccf623c76c29f8d6a84f9ec5a70
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    f2622df View commit details
    Browse the repository at this point in the history
  14. Strip symbols on Linux

    Change-Id: I1b375d4a564f8feeebc6befe53fc93cb753767d6
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    67bfd09 View commit details
    Browse the repository at this point in the history
  15. Update the local build scripts I use while developing

    Change-Id: Iefb0a6075da3c6d7a5c48501797b9b31b23b5e0a
    irbull committed May 9, 2017
    Configuration menu
    Copy the full SHA
    9f3e634 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2017

  1. Provide a configuration option to set the Docker container name

    To allow multiple docker builds to happen in parallel, provide
    an option to the build script which allows a suffix for the
    docker image to be set.
    
    Change-Id: I9dffd0bc268a6326a1146a097a4c629464ae50aa
    irbull committed May 24, 2017
    Configuration menu
    Copy the full SHA
    7790b80 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2017

  1. Use the libraries full name when loading

    When loading the library, attempt the use the full name
    instead of just the short name.
    
    Change-Id: I4608d1d3ae41b1a62d0d9ab10f129bcf634f6ae4
    TonyRice authored and irbull committed May 25, 2017
    Configuration menu
    Copy the full SHA
    c8efb4a View commit details
    Browse the repository at this point in the history
  2. Add a generic push(Object object) to V8Array

    To allow V8Arrays to be constructed more easily, add a generic
    push(Object object) method to V8Array. Push will inspect the type
    of object being used, and properly add that object to the underlying
    V8Array.
    
    If a non-compatible Object is passed to push, then an
    IllegalArgumentException is thrown.
    
    This was originally contributed by @TonyRice in PR #259.
    
    Change-Id: I193bf99a29283899f7315a28c1fe989edd87eb1e
    TonyRice authored and irbull committed May 25, 2017
    Configuration menu
    Copy the full SHA
    e18164a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    43a66da View commit details
    Browse the repository at this point in the history
  4. Provides access to the currently locked thread in the locker

    Allow clients to get the thread that the locker currently has.
    
    Change-Id: Id6000158e0f111eed46ee5c61cca3ab08b214102
    irbull committed May 25, 2017
    Configuration menu
    Copy the full SHA
    dc82323 View commit details
    Browse the repository at this point in the history
  5. Improve the Invalid V8 thread access exception message

    Improve the Invalid V8 thread access exception message. Includes
    information about what thread is currently locked.
    
    Change-Id: I40bfad70ffdfd42fc84c655e61877c0feac0941d
    irbull committed May 25, 2017
    Configuration menu
    Copy the full SHA
    ffaced3 View commit details
    Browse the repository at this point in the history
  6. Implement a tryAcquire in the V8Locker

    The current acquire will try and acquire the lock, and if it fails, 
    an Error will be thrown. tryAcquire is a new method that simply returns
    false if the lock cannot be acquired. This should make it easier
    for clients to program against the locker and handle the case
    where the lock cannot be acquired.
    
    This also fixes a few Locker tests that were broken with the previous
    commit since the error message changed.
    
    Change-Id: I733fff5a48f4a72f9e519ee903bdc30b8a9dc4b8
    irbull committed May 25, 2017
    Configuration menu
    Copy the full SHA
    53981c1 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2017

  1. Release J2V8 4.7.0

    Change-Id: Ibc9ed5974f70c2d0cb6bf23524823d506d504b10
    irbull committed May 26, 2017
    Configuration menu
    Copy the full SHA
    8bd1893 View commit details
    Browse the repository at this point in the history
  2. Update the deploy script to publishing the linux x64 builds

    Currently the J2V8 project will handle the publishing of the
    android and Linux x64 builds. This updated the deployment script
    to include the linux 64 builds.
    
    Change-Id: I9cf006d2e9f53b41cc11748b094f5047b8b0c16a
    irbull committed May 26, 2017
    Configuration menu
    Copy the full SHA
    6e9d327 View commit details
    Browse the repository at this point in the history
  3. Fix a JavaDoc error in ConcurrentV8

    There was a small typo in the JavaDoc in ConcurrentV8.
    
    Change-Id: Id6eece30b84bfc974f4c2c722ac13a3a5ae115fb
    irbull committed May 26, 2017
    Configuration menu
    Copy the full SHA
    5452ed7 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2017

  1. Clean up the automatic deploy script

    There was a line in the deploy script that tried to remove
    a directory that did not exist. This caused the script to fail.
    This fixes that problem by removing this line, and actually
    creating the directory.
    
    Change-Id: Ib19ee61a1b08603c25b3fff1ab95b890935260af
    irbull committed May 29, 2017
    Configuration menu
    Copy the full SHA
    1366cd7 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2017

  1. Start development towards 4.7.1

    Change-Id: I480f2bf45813eb9d68b0761321713105d0184b51
    irbull committed May 31, 2017
    Configuration menu
    Copy the full SHA
    0c4314d View commit details
    Browse the repository at this point in the history
  2. Get the ScriptName from the Frame

    V8 has changed the way the ScriptName must be accessed from the Frame.
    Instead of assuming that the FrameMirror always as a Script Object
    (which now does not appear to always be the case), we also
    need to check if the FrameMirror has a FunctionMirror with a
    script name attached.
    
    In case both there is both a ScriptName attached to the FameMirror
    and a ScriptName attached to the FunctionMirror, the one attached
    to the FrameMirror is chosen.
    
    Fixes #262
    
    Change-Id: Ic6fca5e963bb205268045d33df487d775ea7954f
    irbull committed May 31, 2017
    Configuration menu
    Copy the full SHA
    adc640b View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2017

  1. Release 4.7.1

    Change-Id: I023d97aecb817da476b98f902b4dc1001051bab5
    irbull committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    03589e2 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2017

  1. Start development towards 4.8.0

    Change-Id: Idd0f5bc10daa4c971d769a5051d58bb38dd28070
    irbull committed Jun 2, 2017
    Configuration menu
    Copy the full SHA
    c1a2653 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2017

  1. Add type adapter support to J2V8 conversion

    V8ObjectUtils provides a number of conversion routines to convert from
    V8 Types (V8Object and V8Array) to Java objects. This change-set
    allows the user to influence the conversion by providing a type adapter
    for each conversion. With the type adapter, you can change
    how the types are converted, or use the default type adaption.
    
    This change-set also adds a number of test cases for this and shows
    how it can be used in practice.
    
    Change-Id: I061128986ec4dc9f414424d46b2158e871ab9d39
    irbull committed Jun 5, 2017
    1 Configuration menu
    Copy the full SHA
    27898ae View commit details
    Browse the repository at this point in the history
  2. Add support for toString on ArrayBuffer

    Adds toString support on ArrayBuffer. This does the same thing as
    Chrome Dev tools, that is, it returns "[object ArrayBuffer]" when
    toString is called.
    
    Fixes #264
    
    Change-Id: I4b79496c34758e2385b2dce29de1169247aec589
    irbull committed Jun 5, 2017
    Configuration menu
    Copy the full SHA
    119bb9d View commit details
    Browse the repository at this point in the history
  3. Add support for getting the 'type' of a V8Value

    Since this is implemented on V8Value, it only works for those types
    that inherit V8Value. This method will return an integer, which maps
    to one of the constants defined in V8Value.
    
    Since V8Array already had a method called getType, we called this
    method getV8Type.
    
    Fixes #266
    
    Change-Id: I5de9ceb3b223e5c35091ae9b68d687ec63625189
    irbull committed Jun 5, 2017
    Configuration menu
    Copy the full SHA
    b9dd259 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2017

  1. Add support for getting the 'type' of a V8Value

    This continues b9dd259 since I
    accidently missed some files when I commented that.
    
    Since this is implemented on V8Value, it only works for those types
    that inherit V8Value. This method will return an integer, which maps
    to one of the constants defined in V8Value.
    
    Since V8Array already had a method called getType, we called this
    method getV8Type.
    
    Fixes #266
    
    Change-Id: Icf63239a1e889ddf26fd11ab3b3bfcb92b85a179
    irbull committed Jun 6, 2017
    Configuration menu
    Copy the full SHA
    c867207 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2017

  1. Add an API to convert V8 results to pure Java objects

    We had separate APIs for converting V8 results to Maps and Lists,
    but we didn't have a generic method for converting any result from
    V8 to a Java object using a deep copy.
    
    This includes a number of refactorings, because this method makes it
    easier to perform the other deep copies in V8ObjectUtils.
    
    Fixes #267
    
    Change-Id: Id17424d94144104d40102c6f34a9f6e67a2f6a89
    irbull committed Jun 7, 2017
    1 Configuration menu
    Copy the full SHA
    1ada482 View commit details
    Browse the repository at this point in the history
  2. Added a note about memory management for V8ObjectUtils#getValue

    Adds documentation about memory management for V8ObjectUtils#getValue.
    All intermediate objects are released, but the root is not.
    
    Change-Id: Iae6805d8b280ea0686e831d87d1ab4aba2cd97cf
    irbull committed Jun 7, 2017
    Configuration menu
    Copy the full SHA
    4c0c439 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2017

  1. Add support for Weak references

    In some cases we cannot track references entirely in Java and we
    need Javascript to track the lifecycle of the Object. With setWeak
    a V8Value can be marked as not needed in Java but will remain as
    long as no more references exist to the Object. This allows
    developers to use V8Values as long as they are still referenced
    in Javascript.
    
    V8 does not guarantee that these objects will every be released,
    so Weak references should not used unless absolutely necessary.
    
    Change-Id: I6507e2619f8212b65d4624e1dedff0b84724e355
    irbull committed Jun 13, 2017
    Configuration menu
    Copy the full SHA
    61a10e4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b924630 View commit details
    Browse the repository at this point in the history