ifener / javachromiumembedded

Automatically exported from code.google.com/p/javachromiumembedded
0 stars 0 forks source link

Mac: Fix compile.sh in binary distribution #93

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Run compile.sh in its directory.
2. It fails.

What is the expected output? What do you see instead?
Well, simply it refers to a directory tests/detailed which does not exist. The 
directory that exists is tests/tests/detailed.

Original issue reported on code.google.com by philip142au@gmail.com on 24 Jun 2014 at 3:27

GoogleCodeExporter commented 9 years ago
This is what I did to fix it.

Move files in tests/tests to tests so that the tests folder contains detailed 
and simple and optionally a jar file.

Change compile.sh to:

#!/bin/bash
# Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
# reserved. Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file.

# Compile the test program.
javac -cp "./bin/jcef_app.app/Contents/Java/*":"." ./tests/detailed/*.java

# Create the test JAR file.
jar -cf tests/jcef-tests.jar tests/detailed/*.class 
tests/detailed/dialog/*.class tests/detailed/handler/*.class 
tests/detailed/ui/*.class

# Insert the test JAR file into the app bundle.
cp -f tests/jcef-tests.jar "./bin/jcef_app.app/Contents/Java/"

Original comment by philip142au@gmail.com on 24 Jun 2014 at 3:32

GoogleCodeExporter commented 9 years ago
Hi Philip,
Do you have checked out "trunk"? There is no directory called "tests/tests".
See screenshot "directories.png". Do you mean "java/tests"?

"java" is the main directory for all java classes and the subdirectory "tests" 
is the package directory. So please don't move the sources around.

Beside that, compile.sh is a tool for linux compilation only. For the Mac 
platform we're using ANT which is triggered by the Xcode project (see issue #30 
and 
https://code.google.com/p/javachromiumembedded/wiki/BranchesAndBuilding#Manual_B
uilding).

Btw: If you want to build the java code without calling Xcode, you can do the 
following:
1) Open a terminal and go to the directory "<yourJCEFCheckout>/src/" 
2) Execute the following command (ant is already included in your OS X):
ant -Djdk7.path="/path/To/JDK7/Contents/Home" -Dout.path="/out/put/path/" 
-Dout.name="jcef_app" -Dout.id="org.jcef.jcef_app" 
-Dout.mainclass="tests.detailed.MainFrame" bundle

Instead of target "bundle" you can call "compile" or "jar" as well.

Indeed, the compile.sh may be updated to use ant for macosx64 and maybe 
linux32/linux64 as well

Original comment by k...@censhare.de on 25 Jun 2014 at 4:24

Attachments:

GoogleCodeExporter commented 9 years ago
Hi there,

Yes so what I had done was I downloaded jcef_binary_3.1750.1738.91_macosx64.7z 
then I ran compile.sh and it didn't compile and as you said, its not suitable 
to use compile.sh for OSX.

The directory layout on the OSX after downloading the binary is as follows. So 
the cause of the problem for me was assuming compile.sh worked, the directory 
layout didn't fit compile.sh.

Thanks for the instructions, I can compile it now.

Philip

Original comment by philip142au@gmail.com on 27 Jun 2014 at 3:41

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by magreenb...@gmail.com on 1 Jul 2014 at 5:34

GoogleCodeExporter commented 9 years ago
This post is very helpful since, the binary distribution seems to differ from 
the trunk. I was searching for quite a while since i found this post. thanks a 
lot

Original comment by davidlas...@googlemail.com on 23 Nov 2014 at 9:17