JetBrains / jcef

A simple framework for embedding Chromium-based browsers into Java-based applications.
Other
227 stars 37 forks source link

build(java module): Fix Java Module to build on any platform #19

Open DatL4g opened 8 months ago

DatL4g commented 8 months ago

The previous implementation required the java module to be built on macOS.

Before it loaded the browser handle class on mac only and that dynamically, which is kind of ridiculous, in addition that did nothing to handle building on different platforms.

ujpv commented 8 months ago

Hi @DatL4g, I can't build it on Windows. Probably in linux it'd be the same

    [javac] Compilation arguments:
    [javac] '-J-Xms32m'
    [javac] '-J-Xmx128m'
    [javac] '-nowarn'
    [javac] '-d'
    [javac] 'C:\develop\jcef_rpc_keyboard_master\out\win64'
    [javac] '-classpath'
    [javac] 'C:\develop\jcef_rpc_keyboard_master\out\win64;C:\develop\jcef_rpc_keyboard_master\third_party\jogamp\jar\gluegen-rt-natives-macosx-universal.jar;C:\develop\jcef_rpc_keyboard_master\third_party\jogamp\jar\gluegen-rt.jar;C:\develop\jcef_rpc_keyboard_master\third_party\jogamp\jar\jogl-all-natives-macosx-universal.jar;C:\develop\jcef_rpc_keyboard_master\third_party\jogamp\jar\jogl-all.jar'
    [javac] '-sourcepath'
    [javac] 'C:\develop\jcef_rpc_keyboard_master\java'
    [javac] '-encoding'
    [javac] 'UTF8'
    [javac] '-g'
    [javac] '-XDignore.symbol.file'
    [javac] '--module-path'
    [javac] 'third_party/jogamp/jar'
    [javac] '--add-modules'
    [javac] 'jogl.all,gluegen.rt'
    [javac] '--add-exports'
    [javac] 'jogl.all/com.jogamp.nativewindow=jcef'
    [javac] '--add-exports'
    [javac] 'jogl.all/com.jogamp.opengl.awt=jcef'
    [javac] '--add-exports'
    [javac] 'jogl.all/com.jogamp.opengl.util=jcef'
    [javac] '--add-exports'
    [javac] 'jogl.all/com.jogamp.opengl=jcef'
    [javac] '--add-exports'
    [javac] 'java.desktop/sun.awt=jcef'
    [javac] '--add-exports'
    [javac] 'java.desktop/java.awt.peer=jcef'
    [javac] '--add-exports'
    [javac] 'java.desktop/sun.lwawt.macosx=jcef'
    [javac] '--add-exports'
    [javac] 'java.desktop/sun.lwawt=jcef'
    [javac]
    [javac] The ' characters around the executable and arguments are
    [javac] not part of the command.
    [javac] File to be compiled:
    [javac]     C:\develop\jcef_rpc_keyboard_master\java\org\cef\browser\CefBrowserWr.java
    [javac] C:\develop\jcef_rpc_keyboard_master\java\org\cef\browser\CefBrowserWr.java:436: error: cannot find symbol
    [javac]                 CefBrowserWindow browserWindow = CefBrowserWindowMac();
    [javac]                                                  ^
    [javac]   symbol:   method CefBrowserWindowMac()
    [javac]   location: class CefBrowserWr
    [javac] 1 error
DatL4g commented 8 months ago

@ujpv seems like your build process differs from mine.

Applied previous code to fix this build system, should work now.

ujpv commented 8 months ago

Still not possible to build How we build it on Windows https://github.com/JetBrains/jcef#building-on-windows

DatL4g commented 8 months ago

@ujpv finding all required packages to build on Fedora was a pain, maybe add them to the README.md

However fixed now, were missing imports only.