...similarly to how CppunitTest_odk_checkapi already builds with C++03 to detect
inadvertent uses of newer features in code that is meant to be still compatible
with C++03. And fix any uses of newer features that had already crept in.
Change-Id: I9fb4013099c1dff2c1ad5fba8fc93d9aa4efbde8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158523
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
As a complementer to clang-tidy-12 --checks="-*,misc-unused-using-decls"
Pros:
- simple, fast!
- finds some more unused declarations, somehow
- works on non-linux specific parts of the code
- clang-tidy (for me) trips on files with external headers, this does not
Change-Id: If2db989114ac5c2841ed2e89ff7bd7a9e419f567
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150612
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
...which were used by ildc, which is gone since
a8485d558f "[API CHANGE] Remove deprecated idlc
and regmerge from the SDK", and have always been ignored as legacy by its
unoidl-write replacement.
This change has been carried out (making use of GNU sed extensions) with
> for i in $(git ls-files \*.idl); do sed -i -z -E -e 's/\n\n((#[^\n]*\n)+\n)*(#[^\n]*\n)+\n?/\n\n/g' -e 's/\n(#[^\n]*\n)+/\n/g' "$i"; done && git checkout extensions/source/activex/so_activex.idl odk/examples/OLE/activex/so_activex.idl
which apparently happened to do the work. (The final two files are not UNOIDL
source files.)
Change-Id: Ic9369e05d46e8f7e8a304ab01740b171b92335cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135683
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...after the new types.rdb format that unoidl-write generates has been used
internally since LibreOffice 4.1 in 2013; following up on
6db34b6b33 "Directly build UNOIDL .rdb files from
.idl files" and its "The legacy tools idlc, regcompare, regmerge, and regview
are still contained in the URE or SDK for now."
The tools idlc and regmerge are deprecated but still shipped in the SDK for now.
The plan is to drop them completely for LO 7.5.
odk/examples/ and ure/source/uretest/ are adapted to use unoidl-write instead of
idlc and regmerge:
* unoidl-write does not use a C preprocessor and the # directives in .idl files,
it supports reading a single .idl file (containing an arbitrary number of
declarations) or a directory tree where each directory corresponds to a UNOIDL
module of the same name and each .idl file contains the declaration of the
(non-module) UNOIDL entity of the same name. For some of the odk/examples/,
that required moving individual .idl files into sub-directories named after
the respective modules. In odk/settings/std.mk, definitinos of IDL and
REGMERGE have been replaced with a new UNOIDLWRITE.
* unoidl-write always enforces reserved UNOIDL identifier restrictions (see
04af4e4f55 "[API CHANGE] Fix all bad UNOIDL
identifiers across offapi" and 6201792406
"Enforce the UNOIDL identifier scheme") (which idlc only enforced optionally
with -cid -we). That required renaming "my_module" in
odk/examples/DevelopersGuide/Components/CppComponent/.
* The new types.rdb format is not compatibly with LibreOffice < 4.1. Clients
generating extensions containing such files are advised to use appropriate
LibreOffice-minimal-version elements.
Change-Id: I1a248fd96e86ecbf407f829bc100d44bfe7f4e7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130533
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Fixing the license statement for the 'Convertor.cxx' and 'Makefile'
according to the '/TEMPLATE.SOURCECODE.HEADER'
This example was added in 83b529d883
Change-Id: I654d641999aab6951ad21f84fd75e080bb709ec4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125128
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
* Add Convertor.cxx
* Used Makefile from DocumentLoader with some changes
* Updated odk make files
* output.pdf is generated from the input odt file
Change-Id: I3e46f2895443f75b2f3815280b0f793bca5138e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123736
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(where css.util.Color is a typedef for UNOIDL LONG). This caused issues on
Windows, where in C/C++ sal_Int32 is a typedef for long rather than int.
Change-Id: Ic0407674d06a219210d7f0448100005d7135eb79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122340
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Created Draw.cxx
* Used Makefile from DocumentLoader with some changes
* Updated examples.html to reflect the addition
* Updated odk make files
Change-Id: I37426d63854222ef8bedb5f61edb420baec4d28a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118034
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
GCC 11 trunk g++ defaults to C++17 now, so that CustomTarget_odk/build-examples
and CustomTarget_odk/build-examples_java would now fail with "error: ISO C++17
does not allow dynamic exception specifications".
550e0e42d9 "Remove dynamic exception
specifications from cppumaker-generated code" had long since removed the
exception specifications from the underlying (C++ classes representing) UNO
interface types, so just remove them from the SDK example code, too. An
alternative would have been to make sure those CustomTarget use an old C++
compiler standard. However, testing that the examples work against a new
standard has probably similar merit to testing that they keep working against
some obsolete standard.
Change-Id: I8ec9ac2f9ced7bd1b746fb00d9bce94bf6aedda5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99218
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
On Windows classical "cd" command does not change drive automatically.
So if OO_SDK_OUT folder located on another drive than SDK_HOME we
will receive confusing buid errors.
To avoid this for Windows configuration we should use "cd /d".
Change-Id: I22908d49fc915d3a834972357934349ba82bbec5
Reviewed-on: https://gerrit.libreoffice.org/80827
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Ib420e9216b8313f5ed7634ec375e39ceb741fd45
Reviewed-on: https://gerrit.libreoffice.org/59297
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
...and remove some unncessary using directives/declarations, in preparation of
removing now-unnecessary #includes from cppumaker-generated files, post
e57ca02849 "Remove dynamic exception
specifications".
Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
Revert (parts of) various commits that tried to use LIBO_INTERNAL_ONLY features
in external odk/examples/ code.
Change-Id: I275c3e8979c995430329bca61e51b2841503234f
Searched source for using declarations.
Checked if those symbols reappear in the source file,
even in comments or dead code but not in #include statements.
If they don't reappear, remove the declaration.
Remove includes whose symbol got removed.
Change-Id: Ibb77163f63c1120070e9518e3dc0a78c6c59fab0
Reviewed-on: https://gerrit.libreoffice.org/24148
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Sequence.h(xx), Any.h(xx) and Type.h(xx)
and remove unused using-declarations from these files.
Add a few missing includes provided by them.
Change-Id: I6b91b6d1fdf9d0496dd546c0aab9bdcc6831a5d4
Reviewed-on: https://gerrit.libreoffice.org/23805
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
A ridiculously fast way of doing this is:
for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
--exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
perl -0777 -i -pe 's/^
{3,}/
/gm' $i
done
Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
+ Removed comment cruft
+ Tab formatting in number of files
+ Some commented out code removed
+ Tab characters replaced with spaces
+ Newline cleanup in quite a few files
+ Tweak header guard #endifs
Change-Id: I3208ff2f047da890edcc49b73389aca22442f5fc
Reviewed-on: https://gerrit.libreoffice.org/22221
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>