Code Monkey home page Code Monkey logo

Comments (9)

magreenblatt avatar magreenblatt commented on July 17, 2024

Original comment by Anonymous.


Comment 1. originally posted by [email protected] on 2014-01-15T11:36:21.000Z:

Please update the wiki page BranchesAndBuildings as well. See attached patch

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Original comment by Anonymous.


Comment 2. originally posted by [email protected] on 2014-01-17T07:07:22.000Z:

One additional patch-file to avoid problems with Windows compatibility (there is a problem if the library path is corrected within CefContext.cpp).

Please add 2014-01-15_03-moved_to_ant_app_bundle_creation.patch first and afterwards add this attached patch file.

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Comment 3. originally posted by magreenblatt on 2014-01-22T15:28:04.000Z:

Thanks for the patch. A few questions:

  1. 2014-01-15_03-moved_to_ant_app_bundle_creation.patch line 196:
  • const std::string& module_dir = GetJNIString(env, argPathToJavaDLL);
  • std::string module_dir = GetJNIString(env, argPathToJavaDLL);
  • std::size_t endPos = module_dir.find(':');
  • module_dir = module_dir.substr(0,endPos);

Can you explain why this is necessary?

  1. 2014-01-15_03-moved_to_ant_app_bundle_creation.patch line 583:
  •  export CLS\_PATH="$OUT\_PATH/jcef.jar:$OUT\_PATH/jcef-tests.jar:$OUT\_PATH/gluegen-rt.jar:$OUT\_PATH/gluegen-rt-natives-macosx-universal.jar:$OUT\_PATH/jogl-all.jar:$OUT\_PATH/jogl-all-natives-macosx-universal.jar"  
    

Can we use a wildcard ($OUT_PATH/*) instead of specifying the full name of each jar file?

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Original comment by Anonymous.


Comment 4. originally posted by [email protected] on 2014-01-24T11:06:29.000Z:

Thanks for reviewing the patch.
Regarding your questions:

1.)
The function Java_org_cef_CefContext_N_1Initialize is called by Java with
System.getProperty("java.library.path"); as value for the param argPathToJavaDLL.

According Java's definition, the property "java.library.path" can contain more
than one path to search for libraries. These paths are separated by the character
which is stored within the property "path.separator" (":" for UNIX and ";" for Windows).
(see http://docs.oracle.com/javase/7/docs/api/java/lang/System.html\#getProperties())

So if you use JCEF within great projects, you'll get soon or later problems by
interpreting the property value of "java.library.path" as only one path. Most of
the big projects may have not only one lib-path to search in and so you'll get a
non valid path passed to the native world.

As a workaround of this problem I've added that "split" patch to the function, so
that only one (and not a bunch of paths) path is passed to "GetHeplerPath()",
append to "settings.resources_dir_path" and append to "settings.locales_dir_path".

BUT: You're right. There are some problems with this patch:
(1) I forgot that there are different path separators on different systems
(2) Maybe not in every case the first path is that one which contains the jcef lib.
(3) Maybe the file for the patch isn't the best choice.

For that reason I've removed the patch from CefContext.cpp and added a more concrete
one to CefContext.java. The Java-Patch splits "java.library.path" by "path.separator"
and searches within the directory for the JCEF lib. If it contains it, the single
path is passed to the native world.

2.)
Yes you're right. Addressing several JARs within the same directory is nonsense.
So, I've reduced it to the wildcard pattern as suggested by you.

See attached patch-file for my changes.

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Comment 5. originally posted by magreenblatt on 2014-01-30T17:16:29.000Z:

Added in revision 18 with minor style changes. Also updated the distrib scripts.

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Original changes by Anonymous.


  • set attachment to "2014-01-15_ANT_BranchesAndBuilding.wiki.patch"

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Original changes by Anonymous.


  • set attachment to "2014-01-17_03-moved_to_ant_app_bundle_creation_update_for_win_compatibility.patch"

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024

Original changes by Anonymous.


  • set attachment to "2014-01-23_03-moved_to_ant_app_bundle_creation.patch"

from java-cef.

magreenblatt avatar magreenblatt commented on July 17, 2024
  • set state to "resolved"

from java-cef.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.