Closed Bug 189098 Opened 22 years ago Closed 19 years ago

Get BlackConnect to Work with Latest Version of Mozilla

Categories

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

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bkn3, Assigned: bkn3)

Details

Attachments

(12 files, 1 obsolete file)

User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.2a) Gecko/20020910 Build Identifier: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.2a) Gecko/20020910 BlackConnect, the Java-XPCOM bridge, hasn't been worked on for about two years. This RFE involves getting it to use the newer Autoconf build system to build and changing it to be able to work with the latest version of Mozilla (1.3a at this time). Reproducible: Always Steps to Reproduce: 1. 2. 3.
Per Brad's request....
Assignee: idk → bkn3
Status: UNCONFIRMED → NEW
Ever confirmed: true
I believe that Igor is no longer working on the codebase; I was told that Sun disbanded the Blackwood team and orphaned the project.
There is also a patch somewhere in an open bug.
Attachment #128396 - Attachment description: 2003_07_24 patch → connector.patch 2003_07_22
Attachment #128397 - Attachment description: 2003_07_24 patch → java_config.patch 2003_07_22
Attachment #128398 - Attachment description: 2003_07_24 patch → java_side.patch 2003_07_22
Attachment #128399 - Attachment description: 2003_07_24 patch → java_xpcom_root.patch 2003_07_22
Attachment #128400 - Attachment description: 2003_07_24 patch → mozilla_root.patch 2003_07_22
Attached file xpidl.patch 2003_07_22
I have made significant progress in forward-porting BlackConnect to Mozilla 1.4 and JDK 1.3.1_06 over the last few months. Source and binary builds are available at http://java.mozdev.org/blackconnect, which I would like to be the new repository for BlackConnect news, source, and builds. Sun, the initial developer of BlackConnect, has not maintained the project since 2001 or updated their <a href="http://www.mozilla.org/projects/blackwood/connect/">info page</a>. This repository is part of a <a href="http://java.mozdev.org">larger initiative</a> started by Kevin Burton and I to more deeply integrate Java and the Mozilla XUL technologies; news and info on this initiative can be found at java.mozdev.org. The last time BlackConnect built and work was with Mozilla M4 in 2001. Here is a summary of the changes I have made to get things working and the current status of the system: BlackConnect has been forward-ported to Mozilla 1.4 on the Windows platform only. Creating Java XPCOM components now works and can be called from JavaScript and C++, and calling XPCOM components from Java also works. BlackConnect only works correctly on debug, non-optimized builds. BlackConnect's build system has been fully forward-ported to Mozilla's modern build system, not the old Mozilla system that was used on M4. Exceptions need more robust testing, thread-safety seems to be correct (I created a unit test to test for this). Passing null values currently does not work. A new Java build system has been integrated into Mozilla's build system that makes creating Java XPCOM components very easy. Code has been added to pass human-friendly error messages when XPCOM exceptions are thrown over the BlackConnect boundary, but needs to be tested more fully. A tutorial has also been added to the README file stepping the user through creating their own Java XPCOM components and calling XPCOM components written in other languages from Java. Known issues: * BlackConnect has serious breakage when run against optimized, non-debug builds; however, it runs fine when run against non-optimized, debug builds. Can't figure out why. * The following types are used in IDL but are either not currently supported by the bridge or haven't been tested: * AString (not supported) * ACString (not supported) * AUTF8String (not supported) * DOMString (not tested) * IID, CID, and ContractID ptr and ref types (not tested) * nsIID (not supported) * BlackConnect does not currently build on Linux, Solaris, and OS X. The Makefile.in's need to be updated to get this going. * BlackConnect probably doesn't work with internationalized file systems, where the component name or the pathname is Unicode. * Earlier code from Sun might not be triple licensed under LGPL/GPL/MPL, since it was developed when Mozilla was at release M4 (2001). * Right now running an applet with a BlackConnect enabled build of Mozilla fails; this is because we are linking right to the jvm.dll and not through OJI (Open Java Interface). * Giving a null value to a Java XPCOM component does not work (such as calling "JavaComponent.Foo(null);" from JavaScript on a Java XPCOM component. I have attached the following patch files to this bug: * java_config.patch - Changes made to mozilla/config to deeply integrate using Java as an XPCOM technology (see the README file for details on how to use this Java build system). * mozilla_root.patch - Changes made to mozilla/Makefile.in and mozilla/allmakefiles.sh to provide awareness of BlackConnect and a MOZ_BLACKCONNECT build flag * java_xpcom_root.patch - Changes made to files located in the root of the mozilla/java/xpcom directory. Basicly this is the README, RecentChanges, and makefile.in files. * java_side.patch - Changes made to mozilla/java/xpcom/java, which is the Java side of the XPCOM bridge. * xpcom_side.patch - Changes made to mozilla/java/xpcom/xpcom, which is the XPCOM side of the bridge * connector.patch - Changes made to mozilla/java/xpcom/connect, which has XPCOM code to link the two sides of the bridge. * wrappers.patch - Changes made to mozilla/java/xpcom/wrapper, which has various XPCOM wrappers needed by the bridge. * sample.patch - Changes made to mozilla/java/xpcom/sample, which contains a sample Java XPCOM component referenced by the tutorial in the README. * thread_test.patch - Changes made to mozilla/java/xpcom/thread-test, which contains a unit test to ensure that the BlackConnect bridge is thread-safe and correctly proxying thread-calls over the BlackConnect boundry. I have also attached the following files to this bug: * README - The readme file accompanying BlackConnect; read this to get a good scope of where we are at and what remains to be done to get BlackConnect stable, documentation on the technical layout of BlackConnect, and a tutorial on how to use the system as a developer. * blackconnect_src_2003_07_24.tar.gz - A source-drop of just the BlackConnect module. * blackconnect_patches_2003_07_24.tar.gz - Grab all the patches at once to look them over. * RecentChanges - a list of files added, changed, and deprecated. The URP (UNO Remote Protocol) portion of the bridge (mozilla/java/xpcom/urp) has not been touched or forward ported; this portion of the bridge was created to make interacting with UNO, the OpenOffice component technology, easier. This portion of BlackConnect is not well-documented. There are also a set of unit tests in mozilla/java/xpcom/test that have not been touched either; these are also not documented and very complex, with many recursive directories.
Attached file README 2003_07_22
Attachment #128408 - Attachment description: README 2003_07_22 → RecentChanges 2003_07_22
Note that the work I did depends a great deal on some patches posted by Marcus Fellinger in bug 124606 and bug 123651 in order to get Mozilla's build system and xpidl compilers more up to date in relation to the Java-XPCOM bridge. The patches I posted actually pick up these changes since they were never merged into the main BlackConnect branch. Thanks Marcus, especially for your Java/XPCOM xpidl work.
Note that the work I did depends a great deal on some patches posted by Marcus Fellinger in bug 124606 and bug 123651 in order to get Mozilla's build system and xpidl compilers more up to date in relation to the Java-XPCOM bridge. The patches I posted actually pick up these changes since they were never merged into the main BlackConnect branch. Thanks Marcus, especially for your Java/XPCOM xpidl work.
What's the status of this? Any chance of hitting 1.8a with it?
Andrew, I have stopped work on this and am looking for a new maintainer.
Darn. Okay. Here's an interesting Usenet post. It says that getting BlackConnect working would be a big boost in our competitiveness, especially with Longhorn coming out. http://groups.google.com/groups?selm=408F3891.7030302%40cox.net
Attachment #128398 - Attachment description: java_side.patch 2003_07_22 → patch to set referrers in history
Attachment #128398 - Attachment filename: java_side.patch → foo
Attachment #128398 - Attachment is obsolete: true
Attachment #128398 - Attachment is patch: true
Blackconnect no longer builds and hasn't been worked on since 2001. -> WONTFIX
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: