Test repository to check push and ssh key
Find a file
Muhammet Kara 4b5d046ca3 Upgrade .gitpod.dockerfile to Ubuntu focal
and add vnc support

Change-Id: Ibf037eb8fb4f3c2b9389d60d675728f57c994373
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115992
Tested-by: Jenkins
Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2021-05-22 19:35:47 +02:00
.git-hooks git pre-commit hook: fix typo 2021-04-28 12:30:34 +02:00
.github add .github/lockdown.yml to auto-close issues/pull-requests 2021-01-27 11:20:04 +01:00
.vscode tell vscode to treat our patch.<level> files as diffs 2021-05-19 15:40:33 +02:00
accessibility Revert "simplify the vcl<->toolkit connection" 2021-05-13 14:48:24 +02:00
android tdf#106893 android: Show whole doc when closing soft keyboard 2021-05-21 22:00:24 +02:00
animations throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
apple_remote Updated README.md files 2021-04-19 11:13:41 +02:00
avmedia unnecessary cast 2021-05-15 08:56:56 +02:00
basctl add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
basegfx Updated README.md files 2021-04-19 11:13:41 +02:00
basic Improve loplugin:stringview 2021-05-14 13:11:50 +02:00
bean Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
bin move some headers inside modules 2021-05-20 14:59:02 +02:00
binaryurp small perf improvement in readMemberValues 2021-05-17 10:39:05 +02:00
bridges loplugin:noexcept (clang-cl) 2021-05-19 08:53:34 +02:00
canvas ImplPlayWithRenderer never checks its OutputDevice against nullptr 2021-05-19 09:45:46 +02:00
chart2 add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
cli_ure Updated README.md files 2021-04-19 11:13:41 +02:00
codemaker Use implicit conversion from OStringBuffer to std::string_view 2021-05-18 08:29:18 +02:00
comphelper loplugin:stringadd improvement for appending numbers 2021-05-03 15:32:53 +02:00
compilerplugins Adapt loplugin:noexcept to system macro BEGIN_COM_MAP (clang-cl) 2021-05-19 07:27:59 +02:00
config_host vcl PDFiumLibraryTest: clean up not needed HAVE_FEATURE_PDFIUM ifdefs 2021-04-15 09:07:48 +02:00
configmgr Directly partly initialize vector in access.cxx 2021-05-14 23:13:59 +02:00
connectivity loplugin:noexcept (clang-cl) 2021-05-19 08:53:34 +02:00
cppcanvas split OutputDevice from Window 2021-05-17 12:56:51 +02:00
cppu throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
cppuhelper throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
cpputools Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
cui Don't upcast only to downcast immediately 2021-05-21 20:30:19 +02:00
dbaccess add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
desktop fix leak in desktop test 2021-05-22 14:35:39 +02:00
dictionaries@4fa94195b8 Update git submodules 2021-05-12 15:36:01 +02:00
distro-configs Adapt Flatpak build to switch from qrcodegen to zxing 2021-05-19 08:44:50 +02:00
drawinglayer properly draw only parts of FillGradientPrimitive2D (tdf#139000) 2021-05-21 16:53:21 +02:00
editeng add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
embeddedobj loplugin:external (clang-cl) 2021-05-19 07:27:09 +02:00
embedserv Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
emfio tdf#127145 WMF Fix displaying line width in ROUNDRECT record 2021-05-22 10:02:56 +02:00
eventattacher Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
extensions add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
external libxml2: upgrade to release 2.9.12 2021-05-21 15:31:22 +02:00
extras Delete duplicated item in Korean autocorr list 2021-05-19 16:21:52 +02:00
filter add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
forms ImplPlayWithRenderer never checks its OutputDevice against nullptr 2021-05-19 09:45:46 +02:00
formula add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
fpicker add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
framework split OutputDevice from Window 2021-05-17 12:56:51 +02:00
helpcompiler Use GetShortPathNameW workaround on Windows for help indexer 2021-01-02 07:25:45 +01:00
helpcontent2@6a10fe0b51 Update git submodules 2021-05-22 17:02:39 +02:00
hwpfilter Improve loplugin:stringview 2021-05-14 13:11:50 +02:00
i18nlangtag Add English (Denmark) {en-DK} locale data 2021-05-06 17:46:52 +02:00
i18npool don't leak ICU transliterator 2021-05-17 19:43:49 +02:00
i18nutil WASM: add initial support for Emscripten cross build 2021-05-05 21:14:54 +02:00
icon-themes Sukapura: Update Undo & Redo, Repeat icons 2021-05-19 17:46:10 +02:00
idl WASM: add initial support for Emscripten cross build 2021-05-05 21:14:54 +02:00
idlc Improve loplugin:stringview 2021-05-14 13:11:50 +02:00
include document how the on-demand treeview entries work 2021-05-22 18:00:21 +02:00
instsetoo_native tdf#141760 Increase a label box in Windows installer dialog 2021-04-20 14:25:04 +02:00
io throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
ios Updated README.md files 2021-04-19 11:13:41 +02:00
javaunohelper Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
jurt Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
jvmaccess Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
jvmfwk Improve loplugin:stringview 2021-05-14 13:11:50 +02:00
l10ntools use more string_view in OString API 2021-04-19 12:11:43 +02:00
librelogo Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
libreofficekit Updated README.md files 2021-04-19 11:13:41 +02:00
lingucomponent Don't use the macOS system German spelling dictionary for Swiss German 2021-05-17 09:25:07 +02:00
linguistic tdf#79049 speed up OOXML workbook load (4) 2021-05-02 10:00:43 +02:00
lotuswordpro loplugin:stringadd improvement for appending numbers 2021-05-03 15:32:53 +02:00
m4 Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
nlpsolver clean up some Java warnings 2021-05-03 12:33:33 +02:00
o3tl add o3tl version of hash_combine to not depend on boost for this 2021-05-11 12:23:48 +02:00
odk Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
offapi tdf#60382 sw track changes: add test for Undo of IsNotTracked 2021-05-22 17:40:07 +02:00
officecfg tdf#102255 tdf#90101 remove trailing space in labels 2021-05-21 09:47:57 +02:00
onlineupdate Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
oovbaapi [API-CHANGE] tdf#141543 VBA Range.Formula Range.FormulaR1C1 non-localized 2021-04-09 16:27:09 +02:00
oox fix leak in CppunitTest_oox_crypto 2021-05-20 13:11:35 +02:00
opencl use more string_view in tools/stream 2021-04-27 09:27:44 +02:00
osx Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
package speed up package test 2021-05-16 20:46:09 +02:00
pch Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
postprocess fix component handling for ucpdav1 when --with-webdav=serf 2021-04-22 23:45:55 +02:00
pyuno loplugin:stringadd replace OUStringLiteral temporaries with OUString::Concat 2021-04-21 13:15:32 +02:00
qadevOOo split OutputDevice from Window 2021-05-17 12:56:51 +02:00
readlicense_oo update credits 2021-05-06 15:27:25 +02:00
registry Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
remotebridges Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
reportbuilder clean up some Java warnings 2021-05-03 12:33:33 +02:00
reportdesign add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
ridljar Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
sal Lets assume general availability of POSIX poll.h 2021-05-21 08:04:56 +02:00
salhelper Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
sax Improve loplugin:stringview 2021-05-14 13:11:50 +02:00
sc tdf#142395: sc: Add UItest 2021-05-22 17:22:11 +02:00
scaddins loplugin:stringliteralvar look for assignments 2021-04-15 13:54:53 +02:00
sccomp don't leak on error path in Coin solver 2021-05-17 19:43:56 +02:00
schema Add proposal link 2021-05-04 16:28:08 +02:00
scp2 Add Mongolian dictionary 2021-04-27 21:00:36 +02:00
scripting inline some typedefs 2021-05-13 17:03:26 +02:00
sd add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
sdext LineParser::readNextToken gets called with m_nCharIndex==npos after all 2021-05-21 14:50:14 +02:00
setup_native Add Mongolian dictionary 2021-04-27 21:00:36 +02:00
sfx2 add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
shell shell : use std::mutex in CmdMailMsg 2021-05-20 12:02:32 +02:00
slideshow remove support for BITMASK in vcl backends 2021-04-29 08:40:56 +02:00
smoketest Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
solenv drop unused suppression 2021-05-21 18:19:05 +02:00
soltools Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
sot convert sal_uLong in sot 2021-05-07 11:02:56 +02:00
starmath add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
stoc throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
store Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
svgio svgio: instead of assert(false && ...) rather use SAL_WARN instead 2021-05-04 04:47:26 +02:00
svl tdf#129878: svl_qa_cppunit: Add unittest 2021-05-21 12:15:16 +02:00
svtools add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
svx Simplify GetModuleFieldUnit a bit 2021-05-21 20:30:51 +02:00
sw tdf#60382 sw track changes: add test for Undo of IsNotTracked 2021-05-22 17:40:07 +02:00
swext Get rid of apache-commons-logging 2021-04-11 10:35:04 +02:00
sysui apparmor: Fix "oopslash" typo 2021-04-29 05:51:08 +02:00
test loplugin:stringadd replace OUStringLiteral temporaries with OUString::Concat 2021-04-21 13:15:32 +02:00
testtools throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
toolkit fix VCLXWindow related leaks 2021-05-20 16:47:10 +02:00
tools tdf#55007 tdf#142263 tdf#142268 EMF ARC, PIE, CHORD allow to draw circle 2021-05-21 07:30:28 +02:00
translations@48ffdf216a Update git submodules 2021-05-14 21:31:21 +02:00
ucb throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
ucbhelper inline some typedefs 2021-05-13 17:03:26 +02:00
udkapi Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
uitest uitest: sd: simplify code 2021-05-04 15:07:14 +02:00
UnoControls throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
unodevtools Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
unoidl throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
unoil Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
unotest loplugin:stringadd replace OUStringLiteral temporaries with OUString::Concat 2021-04-21 13:15:32 +02:00
unotools reduce cost of locking in SvtModuleOptions 2021-05-10 20:20:28 +02:00
unoxml throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
ure Updated README.md files 2021-04-19 11:13:41 +02:00
uui add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
vbahelper fix shutdown leak VbaGlobalsBase 2021-05-21 14:29:09 +02:00
vcl tdf#142061 Add window scaling to XOR emulation on macOS 2021-05-22 18:02:29 +02:00
wasm-qt WASM: add Emscripten demo application 2021-05-05 21:15:22 +02:00
winaccessibility Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
wizards ScriptForge - (SF_Basic) Add new CDate() method 2021-05-22 17:45:47 +02:00
writerfilter inline some typedefs 2021-05-13 17:03:26 +02:00
writerperfect EPUB export: make sure txtparai.hxx is self-contained 2021-05-17 10:13:20 +02:00
xmerge Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
xmlhelp throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite 2021-05-02 17:02:28 +02:00
xmloff simplify some XMLPropertyState memory management 2021-05-20 10:47:35 +02:00
xmlreader Revert "improve perf of xmlreader::Pad" 2021-05-14 21:31:04 +02:00
xmlscript loplugin:unusedfields 2021-05-18 21:42:10 +02:00
xmlsecurity add Toggleable as a separate thing to a Button 2021-05-21 18:19:58 +02:00
.buckconfig Add build toolchain to upload LibreOffice API to Maven Central 2015-12-03 23:32:11 +00:00
.buckversion Add build toolchain to upload LibreOffice API to Maven Central 2015-12-03 23:32:11 +00:00
.clang-format clang-format: don't sort using declarations 2020-02-26 09:12:49 +01:00
.editorconfig We have some Objective-C source files, too 2017-12-01 12:59:43 +02:00
.git-blame-ignore-revs put clang-format commits to .git-blame-ignore-revs 2020-10-18 22:35:07 +02:00
.gitattributes Ignore schema files for src tarball generation 2016-08-30 23:59:15 +00:00
.gitignore WASM: add initial support for Emscripten cross build 2021-05-05 21:14:54 +02:00
.gitmodules gitmodules: use relative paths 2020-10-21 21:51:54 +02:00
.gitpod.dockerfile Upgrade .gitpod.dockerfile to Ubuntu focal 2021-05-22 19:35:47 +02:00
.gitpod.yml Install C++ VSCode extension for Gitpod 2020-03-09 15:54:14 +01:00
.gitreview git-review: Use the hostname instead of alias. 2019-05-15 15:13:47 +02:00
antivirusDetection.vbs tdf#84553 Correctly handle failures while getting a WMI Object. 2020-02-12 09:14:03 +01:00
autogen.sh WASM: add initial support for Emscripten cross build 2021-05-05 21:14:54 +02:00
BUCK Adapt buck build to jars merged into libreoffice.jar 2020-11-30 11:27:47 +01:00
config.guess Update config.{guess,sub} with latest versions and handle fallout of that 2020-08-07 11:34:28 +02:00
config.sub Fix typo 2020-08-07 17:11:39 +02:00
config_host.mk.in bodge a gtk4 starting point into existence 2021-05-10 10:57:57 +02:00
config_host_lang.mk.in gbuild: allow to react on change in configured langs 2015-03-25 17:52:20 +01:00
configure.ac upload libetonyek 0.1.10 2021-05-20 08:46:37 +02:00
COPYING Licencing files 2011-01-11 21:49:39 +00:00
COPYING.LGPL Licencing files 2011-01-11 21:49:39 +00:00
COPYING.MPL Targetted text updates, with seasonable changes before l10n freeze. 2013-12-13 17:00:07 +00:00
download.lst libxml2: upgrade to release 2.9.12 2021-05-21 15:31:22 +02:00
g Workaround a problem in Git for Windows' bash 2021-03-04 15:16:55 +01:00
hardened_runtime.xcent.in Explicitly require com.apple.security.cs.allow-jit 2020-12-08 15:35:29 +01:00
install-sh Fix typos 2019-08-12 22:12:57 +02:00
install_deps.sh Initial version of script to install dependencies 2021-03-31 17:38:48 +02:00
leak-suppress.txt suppress more leaks in external libraries 2021-05-21 13:45:19 +02:00
Library_merged.mk gbuild: Remove MSVC 2013 legacy code 2017-04-21 18:18:44 +02:00
lo.xcent Add the com.apple.security.cs.disable-executable-page-protection here, too 2020-04-29 17:15:15 +02:00
logerrit fix logerrit on mac 2021-04-06 15:22:41 +02:00
Makefile.fetch Get rid of apache-commons-logging 2021-04-11 10:35:04 +02:00
Makefile.gbuild Fix the minimal build-tools target 2020-09-11 18:34:48 +02:00
Makefile.in Run checks also on cross build toolchain 2021-05-05 21:14:12 +02:00
README.cross Add missing autogen.input entries to README.cross 2020-03-25 16:25:14 +01:00
README.md WASM: add initial support for Emscripten cross build 2021-05-05 21:14:54 +02:00
README.Solaris remove use of Archive::Zip 2016-06-04 08:09:56 +02:00
README.wasm Fix typos 2021-05-06 11:54:18 +02:00
Repository.mk bodge a gtk4 starting point into existence 2021-05-10 10:57:57 +02:00
RepositoryExternal.mk Switch OPENSSL config var from negative to positive 2021-05-05 21:14:30 +02:00
RepositoryFixes.mk Rename Mac OS X to official name macOS in comments and documentation 2018-11-29 14:08:26 +01:00
RepositoryModule_build.mk Don't lock galleries build into DESKTOP 2020-12-23 01:52:11 +01:00
RepositoryModule_host.mk add --disable-librelogo to disable LibreLogo at build time 2021-01-19 13:55:08 +01:00
sanitize-ubsan-excludelist replace usage of blacklist with denylist 2020-07-10 01:34:54 +02:00
setup.cfg pep8 -> pycodestyle 2018-10-16 14:29:06 +02:00
TEMPLATE.SOURCECODE.HEADER Make it clear that the text is in addition to the previous 2021-01-27 08:02:35 +01:00

LibreOffice

Coverity Scan Build Status CII Best Practices Translation status

LibreOffice is an integrated office suite based on copyleft licenses and compatible with most document formats and standards. Libreoffice is backed by The Document Foundation, which represents a large independent community of enterprises, developers and other volunteers moved by the common goal of bringing to the market the best software for personal productivity. LibreOffice is open source, and free to download, use and distribute.

A quick overview of the LibreOffice code structure.

Overview

You can develop for LibreOffice in one of two ways, one recommended and one much less so. First the somewhat less recommended way: it is possible to use the SDK to develop an extension, for which you can read the API docs here and here. This re-uses the (extremely generic) UNO APIs that are also used by macro scripting in StarBasic.

The best way to add a generally useful feature to LibreOffice is to work on the code base however. Overall this way makes it easier to compile and build your code, it avoids any arbitrary limitations of our scripting APIs, and in general is far more simple and intuitive - if you are a reasonably able C++ programmer.

The Build Chain and Runtime Baselines

These are the current minimal operating system and compiler versions to run and compile LibreOffice, also used by the TDF builds:

  • Windows:
    • Runtime: Windows 7
    • Build: Cygwin + Visual Studio 2019 version 16.5
  • macOS:
    • Runtime: 10.10
    • Build: 10.14.4 + Xcode 11.3
  • Linux:
    • Runtime: RHEL 7 or CentOS 7
    • Build: either GCC 7.0.0; or Clang 5.0.2 with libstdc++ 7.3.0
  • iOS (only for LibreOfficeKit):
    • Runtime: 11.4 (only support for newer i devices == 64 bit)
    • Build: Xcode 9.3 and iPhone SDK 11.4
  • Android:
    • Build: NDK r19c and SDK 22.6.2
  • Emscripten / WASM:
    • Runtime: a browser with SharedMemory support (threads + atomics)
    • Build: Qt 5.15 with Qt supported Emscripten 1.39.8
    • See README.wasm

If you want to use Clang with the LibreOffice compiler plugins, the minimal version of Clang is 5.0.2. Since Xcode doesn't provide the compiler plugin headers, you have to compile your own Clang to use them on macOS.

You can find the TDF configure switches in the distro-configs/ directory.

To setup your initial build environment on Windows and macOS, we provide the LibreOffice Development Environment (LODE) scripts.

For more information see the build instructions for your platform in the TDF wiki.

The Important Bits of Code

Each module should have a README.md file inside it which has some degree of documentation for that module; patches are most welcome to improve those. We have those turned into a web page here:

https://docs.libreoffice.org/

However, there are two hundred modules, many of them of only peripheral interest for a specialist audience. So - where is the good stuff, the code that is most useful. Here is a quick overview of the most important ones:

Module Description
sal/ this provides a simple System Abstraction Layer
tools/ this provides basic internal types: Rectangle, Color etc.
vcl/ this is the widget toolkit library and one rendering abstraction
framework/ UNO framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from /uiconfig/ files
sfx2/ legacy core framework used by Writer/Calc/Draw: document model / load/save / signals for actions etc.
svx/ drawing model related helper code, including much of Draw/Impress

Then applications

Module Description
desktop/ this is where the main() for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop
sw/ Writer
sc/ Calc
sd/ Draw / Impress

There are several other libraries that are helpful from a graphical perspective:

Module Description
basegfx/ algorithms and data-types for graphics as used in the canvas
canvas/ new (UNO) canvas rendering model with various backends
cppcanvas/ C++ helper classes for using the UNO canvas
drawinglayer/ View code to render drawable objects and break them down into primitives we can render more easily.

Rules for #include Directives (C/C++)

Use the "..." form if and only if the included file is found next to the including file. Otherwise, use the <...> form. (For further details, see the mail Re: C[++]: Normalizing include syntax ("" vs <>).)

The UNO API include files should consistently use double quotes, for the benefit of external users of this API.

loplugin:includeform (compilerplugins/clang/includeform.cxx) enforces these rules.

Finding Out More

Beyond this, you can read the README.md files, send us patches, ask on the mailing list libreoffice@lists.freedesktop.org (no subscription required) or poke people on IRC #libreoffice-dev on irc.freenode.net - we're a friendly and generally helpful mob. We know the code can be hard to get into at first, and so there are no silly questions.