Closed Bug 333542 Opened 19 years ago Closed 18 years ago

GenerateJavaInterfaces doesn't need to be shipped

Categories

(Core Graveyard :: Java to XPCOM Bridge, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: glandium, Assigned: jhpedemonte)

Details

Attachments

(1 file, 3 obsolete files)

GenerateJavaInterfaces is shipped in dist/bin (thus in tarballs), while it is pretty useless outside the build system. It could just be used directly from its directory and not installed. Patch to be attached
Attached patch Patch (obsolete) — Splinter Review
Attachment #217991 - Flags: review?(jhpedemonte)
Comment on attachment 217991 [details] [diff] [review] Patch Good catch. I had originally intended for this tool to be more general, allowing a user to output a Java interface file for a given interface. But after talking to bsmedberg, I decided to get xpidl working properly. So, yes, this should not be installed in dist/bin.
Attachment #217991 - Flags: review?(jhpedemonte) → review+
Attachment #217991 - Flags: approval-branch-1.8.1+
Attached patch New patch (obsolete) — Splinter Review
Oops, I forgot the most important : NO_DIST_INSTALL
Attachment #218110 - Flags: review?(jhpedemonte)
Attached patch Final (?) patch (obsolete) — Splinter Review
I forgot something else...
Attachment #217991 - Attachment is obsolete: true
Attachment #218110 - Attachment is obsolete: true
Attachment #218132 - Flags: review?(jhpedemonte)
Attachment #218110 - Flags: review?(jhpedemonte)
Attachment #218132 - Attachment is obsolete: true
Attachment #218136 - Flags: review?(jhpedemonte)
Attachment #218132 - Flags: review?(jhpedemonte)
Maybe I should file another bug for that, but running GenerateJavaInterfaces has the side effect to create components/compreg.dat and components/xpti.dat in dist/bin. This may not be desired.
Comment on attachment 218136 [details] [diff] [review] This one might be the one I'm testing this patch, but it's not working for me. First, .iface_done should no longer depend on the GenerateJavaInterfaces executable. Previously, this dependency was on the exe in dist/bin (which was either a symlink, or a copy on Win32). So it was either there or it wasn't, and you'd get a build break if it wasn't. Now, because it depends on the one in tools/genifaces, I was getting the problem where it was trying to build the exe in xpcom/interfaces. So that dependency should be removed. Also, I'm getting errors when running GEnerateJavaInterfaces, such as "Could not write out perisistant registry!" This is because GenerateJavaInterfaces is no longer running from inside the dist/bin directory; its working path is different, causing problems. In fact, the manifest file is listed as: "Type Manifest File: /Users/pedemonte/builds/xulrunner/mozilla/objdbg/extensions/java/xpcom/interfaces/../../../../extensions/java/xpcom/tools/genifaces/components/xpti.dat". But that file should be in dist/bin/components.
Attachment #218136 - Flags: review?(jhpedemonte) → review-
On Linux and Mac OS X, we use the run-mozilla.sh script to set the environment up, before calling GenerateJavaInterfaces. However, that script assumes that the exe is being run from dist/bin, so that's what is failing for me. Win32 will also not work because GenerateJavaInterfaces.exe won't find the dependent libraries in dist/bin. (In reply to comment #6) > running GenerateJavaInterfaces has the side effect to create > components/compreg.dat and components/xpti.dat in dist/bin. This is necessary. GenerateJavaInterfaces uses the nsIInterfaceInfoManager interface, and it makes use of these files.
(In reply to comment #7) > (From update of attachment 218136 [details] [diff] [review] [edit]) > I'm testing this patch, but it's not working for me. > > First, .iface_done should no longer depend on the GenerateJavaInterfaces > executable. Previously, this dependency was on the exe in dist/bin (which was > either a symlink, or a copy on Win32). So it was either there or it wasn't, > and you'd get a build break if it wasn't. > > Now, because it depends on the one in tools/genifaces, I was getting the > problem where it was trying to build the exe in xpcom/interfaces. So that > dependency should be removed. > > Also, I'm getting errors when running GEnerateJavaInterfaces, such as "Could > not write out perisistant registry!" This is because GenerateJavaInterfaces is > no longer running from inside the dist/bin directory; its working path is > different, causing problems. In fact, the manifest file is listed as: > "Type Manifest File: > /Users/pedemonte/builds/xulrunner/mozilla/objdbg/extensions/java/xpcom/interfaces/../../../../extensions/java/xpcom/tools/genifaces/components/xpti.dat". > But that file should be in dist/bin/components. > Mmmmm I'll have to look into that, 'cause it worked perfectly well here... (Linux)
I was wondering. Isn't xpidl able to output the java interfaces from the idl files ?
The current xpidl has bad Java support. I'm working to fix it in bug 333618. Eventually, we'll use that instead of GenerateJavaInterfaces.
With the check in of bug 333618, GenerateJavaInterfaces is no longer built.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: