axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <samisa_abeysin...@yahoo.com>
Subject Re: Process for renaming .h to .hpp [WAS Re: Fw: RE: Re: 1.3 release]
Date Wed, 20 Oct 2004 10:22:13 GMT
+1 for the process.
Well planned :)

Samisa...

--- Mark Whitlock <mark_whitlock@uk.ibm.com> wrote:

> 
> 
> 
> 
> Hi Samisa,
> I would prefer not to make one *massive* commit, renaming all the external
> .h files, changing all the places where they are included and changing
> wsdl2ws at the same time, since this is error prone and would require a
> superhuman effort. Instead I would prefer to make the change incrementally
> with small commits, making sure that the tests run all the time, never
> breaking the product. So this is how I plan to do it...
> 
> 1) Wait until 1.3 is shipped
> 2) Disable wsdl2ws from generating C artifacts (one line change)
> 3) Notify the mailing list of what I'm doing
> 4) Copy all the external .h files to .hpp files without removing C support
> (so there are 2 identical copies committed in CVS)
> 5) Change all the includes throughout the product to include the .hpp
> headers, committing incrementally
> 6) Change wsdl2ws to make the generated C++ artifacts include the .hpp
> headers
> 7) Make the sure the .hpp headers are up to date by merging in any changes
> that other committers have been making to the .h files
> 8) Replace the contents of the .h files with a suitable #error
> 9) Remove C support from the new .hpp files
> 10) Fix problems with the directory structure (client includes axis/server
> headers, empty classes, etc)
> 11) A couple of weeks later remove the .h files completely
> 
> Mark
> Mark Whitlock
> IBM
> 
> ----- Forwarded by Mark Whitlock/UK/IBM on 10/20/2004 10:11 AM -----
>                                                                            
>              Samisa Abeysinghe                                             
>              <samisa_abeysingh                                             
>              e@yahoo.com>                                               To 
>                                        Apache AXIS C Developers List       
>              10/20/2004 02:44          <axis-c-dev@ws.apache.org>          
>              AM                                                         cc 
>                                                                            
>                                                                    Subject 
>              Please respond to         Re: Fw: RE: Re: 1.3 release         
>               "Apache AXIS C                                               
>              Developers List"                                              
>                                                                            
>                                                                            
>                                                                            
>                                                                            
>                                                                            
>                                                                            
> 
> 
> 
> 
> Hi Mark,
>    Would you be changing C to C++ (including header changes) module by
> module (e.g. one folder in
> src at a time - engine, soap, xml etc.) and commit to CVS or would you do
> all the changes and then
> commit to the CVS at once?
> 
> Thanks,
> Samisa...
> 
> --- Mark Whitlock <mark_whitlock@uk.ibm.com> wrote:
> 
> >
> >
> >
> >
> > Once 1.3 has shipped I intend to remove all the C support. Then make the
> > engine pure C++ which means changing all the mallocs/frees/strdups to
> > news/deletes and changing structs to classes, where possible. I won't add
> > in any STL strings to the external API, but I may use STL strings
> > internally where it makes sense (e.g. AxisConfig.cpp). I will make it
> clear
> > in the API documentation who (Axis or the application) owns the storage
> > that is returned from the Axis APIs, so it is easier for applications to
> > avoid memory leaks. I will attempt to fix memory leaks in the engine, as
> I
> > review the lifecycle of these objects. There are a bunch of JIRAs that I
> > hope to fix along the way such as 190, 191, 202 and 207.
> >
> > In 1.5, I will add back in C support. As was agreed in a previous thread,
> > the new C support would be contained in separate header files, source
> files
> > and built into a separate library which C applications could link
> against.
> > The current C bindings for the dynamic client API are awkward for C
> > programmers to use and need rework. I will discuss major changes on the
> > mailing list to get general agreement.
> >
> > Samisa suggested, I agreed and no one disagreed that the C support should
> > be in .h header files and the C++ support should be in .hpp files. So
> after
> > 1.3 is shipped I intend to rename the existing external C++ header files
> to
> > .hpp. So Call.h will become Call.hpp (without the C support in it). In
> 1.5
> > Call.h will reappear as a C-only header file.
> >
> > I may create a "sandpit" branch so that I can try out the reworked C
> > bindings before externalising them in 1.5. I am primarily focussing on
> the
> > client, but I need to make sure that I don't break the server as I go.
> > Mark
> > Mark Whitlock
> > IBM
> >
> > ----- Forwarded by Mark Whitlock/UK/IBM on 10/19/2004 11:58 AM -----
> >
> 
> >              damitha@opensourc
> 
> >              e.lk
> 
> >
> To
> >              10/19/2004 09:09          "Apache AXIS C Developers List"
> 
> >              AM                        <axis-c-dev@ws.apache.org>
> 
> >
> cc
> >
> 
> >              Please respond to
> Subject
> >               "Apache AXIS C           RE: Re: 1.3 release
> 
> >              Developers List"
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> >
> >
> >
> > Yes a rewriting would be easier. Practically it is very difficult to
> merge
> > back when there is lot of changes
> >
> > thanks
> > damitha
> >
> > > I do not think that we would be able to branch 1.3 and then later
> merger
> > > with 1.5 on C stuff.
> > >
> > > This is because, with the proposed wrapper approach in 1.5 for C
> support,
> > > the API though which the
> > > C client/services talk to the main engine would change considerably.
> > Hence
> > > I doubt the
> > > possibilities of merging. Rather than try and merge, a rewrite would be
> > > easier, I guess.
> > >
> > > Samisa...
> > >
> > > --- Farhaan Mohideen <farhaan@opensource.lk> wrote:
> > >
> > >> Hi Mark;
> > >>
> > >> I was following your thread on cleaning up the engine code so as to
> make
> > >> it
> > >> pure C++. In 1.4 if you were to remove C support and then include it
> > >> back in
> > >> 1.5 by when are we expecting to ship 1.5? This would also mean that we
> > >> should branch at 1.3 and then converge if all goes well in 1.5.
> > >>
> > >> Regards
> > >> Farhaan
> > >>
> > >> -----Original Message-----
> > >> From: Mark Whitlock [mailto:mark_whitlock@uk.ibm.com]
> > >> Sent: 18 October 2004 19:31
> > >> To: axis-c-dev@ws.apache.org
> > >> Subject: Fw: Re: 1.3 release
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> I'm keen that 1.3 gets shipped soon, as I would like to start making
> > >> changes for 1.4 (C/C++ bindings, etc) but I don't want to make these
> > >> changes until 1.3 is shipped as it would destabilise the code.
> > >> Mark
> > >>
> > >> > >
> 
=== message truncated ===



		
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com

Mime
View raw message