Closed Bug 201078 Opened 22 years ago Closed 22 years ago

Create a separate module for web services

Categories

(Core Graveyard :: Web Services, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.4beta

People

(Reporter: harishd, Assigned: harishd)

Details

Attachments

(4 files, 4 obsolete files)

Move proxy/interfaceinfo/schema/soap/wsdl from xmlextras module into webservice module.
Priority: -- → P1
Target Milestone: --- → mozilla1.4beta
Attached patch Patch v1.0_Part1 (obsolete) — Splinter Review
Patch contains the following: 1) Updated allmakefiles.sh, configure.in, configure, and packaging files to include the new module - webservices. Note: The patch also contains changes to MozillaBuild*.pm but am not sure if it's necessary. Also, I have cvs removed ( not commited ) webservices related information from xmlextras module ( files moved into webservices module ) but was not able to post the patch because, apparently, bugzilla does not like patches more that 500KB.
Attachment #120456 - Flags: review?(leaf)
Attachment #120457 - Flags: superreview?(heikki)
Attachment #120457 - Flags: review?(leaf)
Attachment #120456 - Flags: superreview?(heikki)
Sean: Could you please r= xpinstall changes? Thanks
Status: NEW → ASSIGNED
Comment on attachment 120456 [details] [diff] [review] Patch v1.0_Part1 in the following packages files: mozilla\xpinstall\packager\packages-mac mozilla\xpinstall\packager\packages-os2 you forgot to remove 'bin/components/xmlextras_interfaceinfo.xpt' in the following packages files: mozilla\embedding\config\basebrowser-installer-win.pkg mozilla\embedding\config\gre-installer-win.pkg you forgot to remove the following files: components\xmlextras.xpt components\xmlextras_interfaceinfo.xpt There are also package file lists in the ns tree in ns\xpinstall\packager. Please make sure that the same files are removed from there as well. Why are you adding the following to xpinstall\packager\windows\browser.jst: + deleteThisFile("Components", "websrvcs.dll"); + deleteThisFile("Components", "websrvcs.xpt"); You should be adding the files that you are removing (if they're not already in), like: bin/components/xmlextras_interfaceinfo.xpt bin/components/xmlsoap.xpt bin/components/xmlschema.xpt bin/components/wsdl.xpt bin/components/wsproxy.xpt Of the list above, make sure that the following are within the 'if(!gGreLocal)' statement in browser.jst: xmlextras.xpt xmlextras_interfaceinfo.xpt Don't forget about the browser.jst in the ns tree too.
Attachment #120456 - Flags: review?(leaf) → review-
>You should be adding the files that you are removing (if they're not already >in), like: > bin/components/xmlextras_interfaceinfo.xpt > bin/components/xmlsoap.xpt > bin/components/xmlschema.xpt > bin/components/wsdl.xpt > bin/components/wsproxy.xpt These xpts will be gone for good. Should I still add them to deleteThisFile list?
For the files that are 'gone for good', please add them to the (ns/mozilla) browser.jst's deleteThisFile() list, but _outside_ of the 'if(!gGreLocal)' statement. For the files that have been 'moved to GRE package (from the browser package)', please add them to the (ns/mozilla) browser.jst's deleteThisFile() list, but _inside_ the 'if(!gGreLocal)' statement.
Doesn't xmlextras make more sense for the schema stuff?
> Doesn't xmlextras make more sense for the schema stuff? Yes and no :-). The only consumer of schema ( and interfaceinfo as well ) is webservices. And therefore it's ok for schema/interfaceinfo to live under webservices...for now. In the future, if need be, we can consider a more apt module.
Attached patch Patch v1.0.1 (obsolete) — Splinter Review
Addresses Sean's concerns.
Attachment #120598 - Flags: review?(ssu)
Comment on attachment 120456 [details] [diff] [review] Patch v1.0_Part1 Let's see a new patch.
Attachment #120456 - Flags: superreview?(heikki) → superreview-
Comment on attachment 120457 [details] Part2 ( webservices module - tar ball gzipped ) There were some empty directories here, like docs and wsdl/tests. If this is all just moving stuff, why not write a shell script that copies all the files to the new location, and then deletes from the old location if a flag is set. That way we could easily test that all the files are included properly, and leaf could use that script on the CVS server to copy the files (and NOT delete the originals, which is why the separate deletion step with flag;)
Attachment #120457 - Flags: superreview?(heikki) → superreview-
Comment on attachment 120457 [details] Part2 ( webservices module - tar ball gzipped ) And do cvs -uN for the new files (makefiles, anything else?)
>There were some empty directories here, like docs and wsdl/tests I don't know why these dirs are empty...because they are not empty for me. And I have already talked to leaf about the files to be copied to webservices dir.
Attached patch Patch v1.1_Part1Splinter Review
changes to allmakefiles.sh, configure.in, configure, mac build scripts
Attachment #120456 - Attachment is obsolete: true
Attachment #120457 - Attachment is obsolete: true
Attachment #120598 - Attachment is obsolete: true
Attached patch Patch v1.1_Part2Splinter Review
Added and changed files to the new webservices module.
Attached patch Patch v1.1_Part3Splinter Review
Remove webservices related info. from xmlextras module. Unfortunately, I coulnd't attach a patch that contained the files removed ( because bugzilla does not allow patch sizes greater than 500KB )
Attached patch Patch v1.1_Part4 (obsolete) — Splinter Review
Packaging changes
Attachment #121342 - Flags: superreview?(heikki)
Attachment #121342 - Flags: review?(leaf)
Attachment #121343 - Flags: superreview?(jst)
Attachment #121343 - Flags: review?(heikki)
Attachment #121344 - Flags: superreview?(jst)
Attachment #121344 - Flags: review?(heikki)
Attachment #120598 - Flags: review?(ssu)
Attachment #120457 - Flags: review?(leaf)
Attachment #121345 - Flags: superreview?(heikki)
Attachment #121345 - Flags: review?(ssu)
Comment on attachment 121342 [details] [diff] [review] Patch v1.1_Part1 >Index: allmakefiles.sh >=================================================================== >Index: configure.in >=================================================================== >Index: configure >=================================================================== Maybe you don't need to checkin configure changes; there is supposedly a script that does it. But check with leaf. >Index: build/mac/build_scripts/MozillaBuildFlags.txt >=================================================================== >+webservices 1 Yucky tab, use spaces. >Index: build/mac/build_scripts/MozillaBuildList.pm >=================================================================== Yucky tabs, use spaces.
Attachment #121342 - Flags: superreview?(heikki) → superreview+
Comment on attachment 121345 [details] [diff] [review] Patch v1.1_Part4 >Index: xpinstall/packager/windows/browser.jst >=================================================================== >RCS file: /cvsroot/mozilla/xpinstall/packager/windows/browser.jst,v >retrieving revision 1.88 >diff -u -u -r1.88 browser.jst >--- xpinstall/packager/windows/browser.jst 8 Apr 2003 05:11:54 -0000 1.88 >+++ xpinstall/packager/windows/browser.jst 22 Apr 2003 22:04:11 -0000 >@@ -437,6 +437,10 @@ > deleteThisFile("Chrome", "chrome.rdf"); > deleteThisFile("Chrome", "forms.jar"); > deleteThisFile("Chrome", "typeaheadfind.jar"); >+ deleteThisFile("Chrome", "xmlsoap.xpt"); >+ deleteThisFile("Chrome", "xmlschema.xpt"); >+ deleteThisFile("Chrome", "wsdl.xpt"); >+ deleteThisFile("Chrome", "wsproxy.xpt"); > deleteThisFolder("Chrome", "overlayinfo"); > deleteThisFolder("Components", "Netscape/Gecko1.0"); > deleteThisFolder("Components", "Netscape/Netscape6.00"); Aren't those files to be delted from the Components dir instead of the Chrome dir? >@@ -574,6 +578,7 @@ > deleteThisFile("Components", "webbrwsr.dll"); > deleteThisFile("Components", "xmlextras.dll"); > deleteThisFile("Components", "xmlextras.xpt"); >+ deleteThisFile("Chrome", "xmlextras_interfaceinfo.xpt"); > deleteThisFile("Components", "xpc3250.dll"); > deleteThisFile("Components", "xpinstal.dll"); > deleteThisFile("Components", "xppref32.dll"); move the delete of 'xmlextras_interfaceinfo.xpt' next to the above deletes because you had mentioned that this file is gone for good, so it shouldn't be inside the 'if(!gGreLocal)' statement. Also, shouldn't the folder should be Components instead of Chrome?
Comment on attachment 121345 [details] [diff] [review] Patch v1.1_Part4 >Index: xpinstall/packager/windows/browser.jst >=================================================================== What about mac, unix, os2 and XPI_JSTs versions of browser.jst?
Attachment #121345 - Flags: superreview?(heikki) → superreview+
> What about mac, unix, os2 and XPI_JSTs versions of browser.jst? Mac and Unix don't have the upgradeCleanup() function. However OS2 does, but it doesn't have the 'if(!gGreLocal)' statement. The deleteThisFile() calls should just go in the main part of os2\browser.jst::upgradeCleanup(). Harishd should talk to mkaply@us.ibm.com to see if we should do these OS2 updates for him or not. We can ignore everything in the XPI_JSTs because we're not doing anything with them right now. They were a first attempt at trying to generalize the installer build process. It didn't get anywhere :(
Comment on attachment 121344 [details] [diff] [review] Patch v1.1_Part3 I checked in changes in these files so just make sure you resolve any conflicts properly :)
Attachment #121344 - Flags: review?(heikki) → review+
Comment on attachment 121343 [details] [diff] [review] Patch v1.1_Part2 >Index: extensions/webservices/Makefile.in >=================================================================== >Index: extensions/webservices/build/Makefile.in >=================================================================== >Index: extensions/webservices/build/src/Makefile.in >=================================================================== >+srcdir = @srcdir@ tabs >+MODULE = websrvcs tabs >+LIBRARY_NAME = websrvcs >+EXPORT_LIBRARY = 1 >+ifneq ($(OS_ARCH),WINNT) >+SHORT_LIBNAME = websrvcs >+endif I don't think you need the short_libname stuff because the name is 8 chars long. >+MODULE_NAME = nsWebServiceModule Can't this be websrvces? >+GRE_MODULE = 1 I think this is not a GRE module. >+ifdef MOZ_WSP >+REQUIRES += iiextras >+endif Do we still use this? >Index: extensions/webservices/build/src/nsWebServiceModule.cpp >=================================================================== >+ * Version: NPL 1.1/GPL 2.0/LGPL 2.1 Should change license to MPL. Will continue...
Comment on attachment 121343 [details] [diff] [review] Patch v1.1_Part2 >Index: extensions/webservices/build/src/Makefile.in >=================================================================== >+MODULE_NAME = nsWebServiceModule Can't this be websrvcs? (there was typo in my previous comment) >Index: extensions/webservices/build/src/nsWebServiceModule.cpp >=================================================================== >+#define NS_WEB_SRVC_CONTRACTID "@mozilla.org/extension/webservice;1" Nit, SRVCS (notice last s;)
Heikki: I've made all those changes...will post a new patch after you've gone thro' the attached patch ( Patch v1.1_Part2 ) completely.
Our packaged build never delivers separate XPT files, so we would never have a need to delete them.
Comment on attachment 121343 [details] [diff] [review] Patch v1.1_Part2 - In nsWebServiceModule.cpp: +#define NS_WEB_SRVC_CONTRACTID "@mozilla.org/extension/webservice;1" + +class nsWebService : public nsISupports +{ +public: + nsWebService(); + virtual ~nsWebService(); + + NS_DEFINE_STATIC_CID_ACCESSOR(NS_WEB_SRVC_CID); + + // nsISupports + NS_DECL_ISUPPORTS +}; + ... +NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebService) ... +static const nsModuleComponentInfo gComponents[] = { + { "WebService Component", NS_WEB_SRVC_CID, NS_WEB_SRVC_CONTRACTID, + nsWebServiceConstructor, RegisterWebService }, The class nsWebService isn't used for anything, the only reason it's there is to have a hook for the RegisterWebService() function. I'd say remove the dummy class and move the RegisterWebService function reference into the registration of another class (any class where you pass null for the registration callback. Other than that, sr=jst
Attachment #121343 - Flags: superreview?(jst) → superreview+
Comment on attachment 121344 [details] [diff] [review] Patch v1.1_Part3 sr=jst
Attachment #121344 - Flags: superreview?(jst) → superreview+
Comment on attachment 121343 [details] [diff] [review] Patch v1.1_Part2 >Index: extensions/webservices/build/src/nsWebServiceModule.cpp >=================================================================== >Index: extensions/webservices/interfaceinfo/Makefile.in >=================================================================== >Index: extensions/webservices/interfaceinfo/src/Makefile.in >=================================================================== >Index: extensions/webservices/proxy/Makefile.in >=================================================================== >Index: extensions/webservices/proxy/src/Makefile.in >=================================================================== >Index: extensions/webservices/proxy/tests/Makefile.in >=================================================================== >Index: extensions/webservices/public/Makefile.in >=================================================================== >Index: extensions/webservices/schema/Makefile.in >=================================================================== >Index: extensions/webservices/schema/src/Makefile.in >=================================================================== >Index: extensions/webservices/security/Makefile.in >=================================================================== >Index: extensions/webservices/security/src/Makefile.in >=================================================================== >Index: extensions/webservices/soap/Makefile.in >=================================================================== >Index: extensions/webservices/soap/src/Makefile.in >=================================================================== >Index: extensions/webservices/wsdl/Makefile.in >=================================================================== >Index: extensions/webservices/wsdl/src/Makefile.in >=================================================================== Bad tabs in a lot of the makefiles, fix those and r=heikki.
Attachment #121343 - Flags: review?(heikki) → review+
Flags: blocking1.4b?
Comment on attachment 121345 [details] [diff] [review] Patch v1.1_Part4 review- until my questions are answered in comment #19.
Attachment #121345 - Flags: review?(ssu) → review-
>move the delete of 'xmlextras_interfaceinfo.xpt' next to the above deletes >because you had mentioned that this file is gone for good, so it shouldn't be >inside the 'if(!gGreLocal)' statement. Also, shouldn't the folder should be >Components instead of Chrome? Sean, I was just following what you said in comment #4. However, I should have followed comment #6. Will post another patch with your suggested changes. :(
Incorporated Sean's suggestions.
Attachment #121345 - Attachment is obsolete: true
Comment on attachment 121496 [details] [diff] [review] Patch v1.1_Part4.1 Carrying forward heikki's sr=
Attachment #121496 - Flags: superreview+
Attachment #121496 - Flags: review?(ssu)
Comment on attachment 121496 [details] [diff] [review] Patch v1.1_Part4.1 looks great! r=ssu
Attachment #121496 - Flags: review?(ssu) → review+
Comment on attachment 121342 [details] [diff] [review] Patch v1.1_Part1 r=leaf, looks good.
Attachment #121342 - Flags: review?(leaf) → review+
Comment on attachment 121496 [details] [diff] [review] Patch v1.1_Part4.1 a=asa (on behalf of drivers) for checkin to 1.4b.
Attachment #121496 - Flags: approval1.4b+
patch approved to land. 1.4b- because we wouldn't block for this but don't let that stop you from landing (the sooner the better).
Flags: blocking1.4b? → blocking1.4b-
Fix landed.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
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: