examples to manage docs using LibreOffice as a major component

Michael Meeks michael.meeks at collabora.com
Tue Sep 30 07:08:16 PDT 2014


On Tue, 2014-09-30 at 09:31 -0400, nicholas ferguson wrote:
> On Tue, 2014-09-30 at 09:02 -0400, nicholas ferguson wrote:
> > My question... How do I turn these files into a console app, where 
> > filters_test.cxx would have a point of entry, a main function.
...
> >	I would be surprised if people are going to invest lots of time in
> remote debugging your bootstrapping issues here =)
> 
> I am not asking for remote debugging.  Where did I ask for remote debugging?
> Or where did I ask for anyone to invest time ?

	Questions on the mailing list take time to answer =) That process is
hard to automate. To get what you want:

>  My question is:  What are the steps to turn a unit test, such as
> filters_test.cxx into an executable that has a point of entry "main".

	you will need to solve a truck-load of bootstrapping issues - ie.
exactly what I wrote above. ie. there is a big chunk of creaking
infrastructure necessary to get things working inside LibreOffice. It is
extremely unpleasant to debug, and you will hit a lot of corner-cases of
no interest to ~anyone. OTOH it is getting quite a bit better over time
possibly you will be lucky.

> has anyone done that in the libreoffice community.  and if so...can you send
> me details on how to do it

	You might think that an easy approach to start here is to copy/paste
the desktop/source/lib/init.cxx code that does this - but (almost
certainly) you'd be fooling yourself. The LibreOffice bootstrap code
magically 'knows' where your DLL is, and (unless your DLL is in
instdir/program/) - this will almost certainly just get confused. Then
again, it -might- be an interesting place to start.

	But - wait, if you do start - you will immediate hit a problem.

	This problem is known as a bootstrapping problem - getting LibreOffice
infrastructure 'up' to the point that you can eg. read files (via our
VFS, activate components like Calc etc.).

	It is exactly these corner case bootstrapping problems that (to
re-iterate) are unlikely to be interesting to anyone else or possible to
remotely debug. By remote debugging - I mean iteratively helping you to
fix and/or workaround problems in your code - using E-mail as a
transport.

	I hope that is clear.

	ATB,

		Michael.

-- 
 michael.meeks at collabora.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list