Test repository to check push and ssh key
Find a file
Miklos Vajna c081264c84 pep8 -> pycodestyle
To silence this warning:

/usr/lib/python3.6/site-packages/pycodestyle.py:2190: UserWarning: [pep8] section is deprecated. Use [pycodestyle].
  warnings.warn('[pep8] section is deprecated. Use [pycodestyle].')

Change-Id: I0a2f9b266562a797d1625b3c50261e7e43315fb7
Reviewed-on: https://gerrit.libreoffice.org/61827
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-10-16 14:29:06 +02:00
.git-hooks Add Python files to pre-commit hook checks 2018-10-03 10:39:39 +02:00
accessibility Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
android Extract hardcoded strings to string resource file on Android Viewer 2018-10-06 09:27:33 +02:00
animations New loplugin:external 2018-09-17 09:05:38 +02:00
apple_remote Following tdf#111561: no need to autorelease "elements" (apple_remote) 2017-10-12 07:41:44 +02:00
avmedia loplugin:external (clang-cl) 2018-09-24 17:22:05 +02:00
basctl tdf#120264 - Access to "Get Involved" 2018-10-09 16:09:20 +02:00
basegfx tdf#42949 Fix IWYU warnings in include/basegfx/* 2018-10-15 09:42:30 +02:00
basic clang-tidy bugprone-copy-constructor-init 2018-10-15 15:50:08 +02:00
bean Fix typos 2018-07-22 20:26:06 +02:00
bin find-unneeded-includes: do not propose css/uno .hxx to .h replacements 2018-10-13 18:41:02 +02:00
binaryurp Revert "clang bugprone-unused-return-value" 2018-09-11 15:18:26 +02:00
bridges Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
canvas unowrap.hxx is also exposed for toolkit only 2018-10-14 22:16:56 +02:00
chart2 weld RangeChooserTabPage 2018-10-15 21:03:34 +02:00
cli_ure replace rtl_allocateMemory with std::malloc 2018-08-29 09:05:39 +02:00
codemaker New loplugin:external 2018-09-17 09:05:38 +02:00
comphelper Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
compilerplugins loplugin:staticconstfield improvements 2018-10-15 19:22:21 +02:00
config_host Use [[fallthrough]] also with MSVC 2018-09-11 22:39:16 +02:00
configmgr clang-tidy performance-inefficient-vector-operation 2018-09-05 09:28:27 +02:00
connectivity Fix typos 2018-10-15 19:34:36 +02:00
cppcanvas tdf#55361 adjust leftmost position for RTL text while animation. 2018-10-09 01:28:19 +02:00
cppu Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
cppuhelper Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
cpputools Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
cui clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
dbaccess Fix typos 2018-10-15 19:34:36 +02:00
desktop tdf#119739 split ConfigManager::getLocale(), getUILocale(), getWorkLocale() 2018-10-12 19:25:14 +02:00
dictionaries@5b81821a17 Update git submodules 2018-09-05 10:30:45 +02:00
distro-configs It's the developer's choice whether to use --enable-werror 2018-10-11 20:12:10 +03:00
drawinglayer tdf#42949 Fix IWYU warnings in include/basegfx/* 2018-10-15 09:42:30 +02:00
dtrans Remove unnecessary mutex 2018-10-12 09:02:18 +02:00
editeng loplugin:staticconstfield improvements 2018-10-15 19:22:21 +02:00
embeddedobj add SvStream::TellEnd 2018-10-15 07:56:42 +02:00
embedserv Drop duplicate WINVER and _WIN32_WINNT defines 2018-10-11 00:55:03 +02:00
emfio add SvStream::TellEnd 2018-10-15 07:56:42 +02:00
eventattacher New loplugin:external 2018-09-17 09:05:38 +02:00
extensions add SvStream::TellEnd 2018-10-15 07:56:42 +02:00
external xmlsec: replace xmlsec1-vc.patch.1 with backport 2018-10-11 09:11:20 +02:00
extras weld SwFrameAddPage 2018-10-14 20:18:41 +02:00
filter add SvStream::TellEnd 2018-10-15 07:56:42 +02:00
forms add SvStream::TellEnd 2018-10-15 07:56:42 +02:00
formula Resolves: tdf#102257 RANDBETWEEN() volatile like RAND(), ScRecalcMode::ALWAYS 2018-10-15 16:18:47 +02:00
fpicker drop unnecessary vcl/group.hxx includes 2018-10-14 20:19:14 +02:00
framework drop LazyDeletor 2018-10-16 09:54:13 +02:00
helpcompiler New loplugin:external 2018-09-17 09:05:38 +02:00
helpcontent2@f41adf3e2e Update git submodules 2018-10-16 14:08:44 +02:00
hwpfilter Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
i18nlangtag Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
i18npool clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
i18nutil Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
icon-themes KJ: Change close doc icon, change some graphic icons 2018-10-13 04:54:48 +02:00
idl Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
idlc loplugin:external (clang-cl) 2018-09-24 17:22:05 +02:00
include loplugin:singlevalfields in vcl 2018-10-16 13:25:17 +02:00
instsetoo_native tdf#115405, tdf#119910: don't check if UCRT is already installed 2018-09-20 09:16:32 +02:00
io no need to call empty() before clear() 2018-10-03 15:29:19 +02:00
ios Avoid superfluous directory level 2018-10-12 03:56:05 +03:00
javaunohelper HTML tt -> code in JavaDoc comments 2018-10-10 17:26:26 +02:00
jurt loplugin:external (clang-cl) 2018-09-24 17:22:05 +02:00
jvmaccess Improve re-throwing of UNO exceptions 2018-05-25 21:46:49 +02:00
jvmfwk Remove useless constructor and destructor 2018-10-14 17:13:25 +02:00
l10ntools l10ntools: remove unused srclex 2018-10-08 09:50:12 +02:00
librelogo tdf#120422 LibreLogo: fix page and line formatting of "magic wand" 2018-10-10 14:46:29 +02:00
libreofficekit Sure it is a square 2018-10-10 16:36:34 +03:00
lingucomponent Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
linguistic Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
lotuswordpro loplugin:singlevalfields in lotuswordpro 2018-10-16 13:25:06 +02:00
m4 Fix typos 2017-12-14 01:32:22 +01:00
nlpsolver tdf#43388: add missing info for Evolutionary Algorithm Solver 2018-06-26 07:51:35 +02:00
o3tl -Werror=catch-value= 2018-10-07 14:43:03 +02:00
odk Restore explicit _WIN32_WINVER in the ODK example 2018-10-11 19:00:51 +02:00
offapi tdf#118621 - Optionally disable floating header/footer menu 2018-10-12 13:33:29 +02:00
officecfg tdf#113241 better default for number recognition options in Writer tables 2018-10-16 10:44:05 +02:00
onlineupdate Rename online updater functions and strcmp relpath 2018-09-10 11:23:06 +02:00
oovbaapi oovbaapi: hack Excel / OptionButton compatibility into Button for now. 2018-09-17 10:49:38 +02:00
oox loplugin:constfields in oox 2018-10-15 07:56:21 +02:00
opencl loplugin:constfields in oox 2018-10-15 07:56:21 +02:00
osx Add sal/osl/unx/file.cxx for debugging convenience 2018-05-21 17:14:44 +03:00
package clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
postprocess Revert removal of mysql jdbc connector 2018-10-14 22:16:05 +02:00
pyuno loplugin:constfields in package..registry 2018-10-13 07:43:45 +02:00
qadevOOo tdf#45904 Move _XIndent Java Tests to C++ 2018-09-22 15:37:52 +02:00
readlicense_oo update credits 2018-09-20 11:35:19 +02:00
registry loplugin:constfields in package..registry 2018-10-13 07:43:45 +02:00
remotebridges New loplugin:external 2018-09-17 09:05:38 +02:00
reportbuilder Fix typo: s/an other/another/g 2018-08-15 19:04:41 +02:00
reportdesign loplugin:constfields in reportdesign,sal,sax 2018-10-12 12:46:45 +02:00
ridljar Fix typo 2018-07-08 10:01:48 +02:00
sal clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
salhelper Drop workaround for old MSVC that no longer appears necessary with MSVC 2017 2018-09-07 20:07:45 +02:00
sax loplugin:constfields in reportdesign,sal,sax 2018-10-12 12:46:45 +02:00
sc Notebookbar: update tabbed toolbar for calc 2018-10-16 14:25:57 +02:00
scaddins Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
sccomp loplugin:constfields in scaddins,sccomp 2018-10-09 08:11:05 +02:00
schema Fix dictionnary -> dictionary 2018-09-28 09:51:33 +02:00
scp2 Correcting description: Gnome -> GNOME 2018-09-30 16:07:52 +02:00
scripting Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
sd Notebookbar: update tabbed toolbar for calc 2018-10-16 14:25:57 +02:00
sdext drop some unused headers 2018-10-12 15:56:45 +02:00
setup_native Correcting description: Gnome -> GNOME 2018-09-30 16:07:52 +02:00
sfx2 tdf#120610 add title to DDE Link dialog 2018-10-16 14:12:25 +02:00
shell Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
slideshow coverity#1440239 Uncaught exception 2018-10-12 17:36:55 +02:00
smoketest loplugin:constfields in smoketest..sot 2018-10-09 08:10:24 +02:00
solenv MoreButton is solely used by toolkit 2018-10-14 22:27:05 +02:00
soltools loplugin:constfields in smoketest..sot 2018-10-09 08:10:24 +02:00
sot clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
starmath clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
stoc Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
store Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
svgio loplugin:constfields in stoc..svgio 2018-10-08 11:09:03 +02:00
svl SvNumberFormatsSupplierServiceObject: default to LANGUAGE_SYSTEM 2018-10-12 22:25:02 +02:00
svtools drop LazyDeletor 2018-10-16 09:54:13 +02:00
svx loplugin:singlevalfields in vcl 2018-10-16 13:25:17 +02:00
sw Notebookbar: update tabbed toolbar for calc 2018-10-16 14:25:57 +02:00
swext remove notice about cite.php 2018-03-24 14:05:45 +01:00
sysui Removed executable permission on simple ASCII files 2018-08-29 16:51:46 +02:00
test clang-tidy misc-throw-by-value-catch-by-reference 2018-10-12 08:54:15 +02:00
testtools Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
toolkit MoreButton is solely used by toolkit 2018-10-14 22:27:05 +02:00
tools Fix typos 2018-10-12 16:44:55 +02:00
translations@1972d9c3c2 Update git submodules 2018-10-03 15:41:59 +02:00
ucb Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
ucbhelper loplugin:constfields in ucbhelper 2018-09-27 08:29:41 +02:00
udkapi Fix typo 2018-08-13 21:48:49 +02:00
uitest make the loginterpreter executable 2018-09-28 15:32:44 +02:00
UnoControls loplugin:constfields in ucbhelper 2018-09-27 08:29:41 +02:00
unodevtools New loplugin:external 2018-09-17 09:05:38 +02:00
unoidl loplugin:constfields in unoidl 2018-09-26 14:07:55 +02:00
unoil Use https instead of http 2018-04-16 15:57:08 +02:00
unotest tdf#42949 Fix IWYU warnings in include/comphelper/[m-z]* 2018-10-08 12:16:44 +02:00
unotools clang-tidy misc-redundant-expression 2018-10-15 12:53:38 +02:00
unoxml Simplify containers iterations in unotools, unoxml, uui, vbahelper 2018-10-15 08:00:08 +02:00
ure Remove std::bad_alloc -> css::uno::RuntimeException mappings 2018-04-09 21:25:18 +02:00
uui Simplify containers iterations in unotools, unoxml, uui, vbahelper 2018-10-15 08:00:08 +02:00
vbahelper Simplify containers iterations in unotools, unoxml, uui, vbahelper 2018-10-15 08:00:08 +02:00
vcl loplugin:singlevalfields in vcl 2018-10-16 13:25:17 +02:00
winaccessibility Move GetkeyBindingStrByXkeyBinding to comphelper 2018-10-02 12:22:25 +02:00
wizards Fix typos 2018-09-27 12:14:06 +02:00
writerfilter Avoid useless copy of vectors 2018-10-15 20:47:32 +02:00
writerperfect drop SvMemoryStream::GetBuffer 2018-10-04 15:03:06 +02:00
xmerge Fix typos 2018-07-22 02:03:13 +02:00
xmlhelp Set up our own libxslt security context in xmlhelp, as per #i117643. 2018-10-10 10:30:57 +02:00
xmloff tdf#42949 Fix IWYU warnings in include/basegfx/* 2018-10-15 09:42:30 +02:00
xmlreader Simplify containers iterations in xmlhelp, xmlreader, xmlscript, xmlsecurity 2018-09-15 09:06:38 +02:00
xmlscript Extend loplugin:redundantinline to catch inline functions w/o external linkage 2018-10-09 14:47:17 +02:00
xmlsecurity add SvStream::TellEnd 2018-10-15 07:56:42 +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 Retrofit "KeepEmptyLinesAtTheStartOfBlocks: false" into .clang-format 2017-11-08 15:35:18 +01:00
.editorconfig We have some Objective-C source files, too 2017-12-01 12:59:43 +02:00
.gitattributes Ignore schema files for src tarball generation 2016-08-30 23:59:15 +00:00
.gitignore Ignore Emacs lock files 2018-01-30 11:22:54 +01:00
.gitmodules binfilter.die.die.die 2012-11-09 07:58:02 +00:00
.gitreview git-review integration: .gitreview for core repository added 2012-07-06 01:13:14 +02:00
autogen.sh avoid error message about removing non-existent file 2018-08-27 13:24:42 +02:00
BUCK Add build toolchain to upload LibreOffice API to Maven Central 2015-12-03 23:32:11 +00:00
config.guess Update config.{guess,sub} 2018-01-20 20:48:41 +01:00
config.sub Update config.{guess,sub} 2018-01-20 20:48:41 +01:00
config_host.mk.in tdf#72987 run firebird test for little endian only for now 2018-10-03 10:12:34 +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 make --enable-kde5 imply --enable-qt5 2018-10-09 18:24: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 Update orcus to 0.14.1. 2018-09-19 19:07:12 +02:00
g ./g: don't exit early on ./g checkout -f 2018-07-02 23:51:08 +02:00
install-sh update install-sh to the automake-1.11 version 2012-02-26 13:39:54 -05:00
leak-suppress.txt
Library_merged.mk gbuild: Remove MSVC 2013 legacy code 2017-04-21 18:18:44 +02:00
lo.xcent.in We don't build the Apple Remote code when sandboxed 2016-03-04 11:27:44 +01:00
logerrit Improve error message on ssh login failure. 2017-09-06 16:07:50 +02:00
Makefile.fetch tdf#79022 - Please bundle Source Serif Pro 2018-09-03 09:04:46 +02:00
Makefile.gbuild updater: workaround cygwin python bug around command line arguments 2017-08-05 05:31:06 +02:00
Makefile.in Work around "find: The environment is too large for exec()" errors on Windows 2018-09-10 11:17:14 +02:00
README.cross Fix typos 2017-08-17 21:53:28 +02:00
README.md Add loplugin:includeform documentation 2018-10-01 16:15:11 +02:00
README.Solaris remove use of Archive::Zip 2016-06-04 08:09:56 +02:00
Repository.mk Revert removal of mysql jdbc connector 2018-10-14 22:16:05 +02:00
RepositoryExternal.mk external/harfbuzz's libharfbuzz.a links against icuuc library 2018-09-22 20:55:16 +02:00
RepositoryFixes.mk Revert "Remove dead HSQLDB driver" 2018-04-12 09:09:37 +02:00
RepositoryModule_build.mk migrate to boost::gettext 2017-07-21 08:20:50 +01:00
RepositoryModule_host.mk Moving mysqlc into connectivity as a library 2018-08-24 17:19:51 +02:00
sanitize-ubsan-blacklist file for ci-based ubsan build 2015-10-31 01:32:18 -05:00
setup.cfg pep8 -> pycodestyle 2018-10-16 14:29:06 +02:00
TEMPLATE.SOURCECODE.HEADER Add fill-column: 100 to the Emacs mode line 2016-11-08 14:59:30 +02:00

LibreOffice

Coverity Scan Build Status CII Best Practices

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 2017
  • macOS:
    • Runtime: 10.9
    • Build: 10.12 + Xcode 8
  • Linux:
    • Runtime: RHEL 6 or CentOS 6
    • Build: GCC 4.8.1 or Clang
  • iOS (only for LibreOfficeKit):
    • Runtime: 11.4 (only support for newer i devices == 64 bit)
    • Build: Xcode 9.3 and iPhone SDK 11.4

At least Clang 3.4.2 is known to be too old to pass the configure.ac check "whether $CXX supports C++17, C++14, or C++11" in its current form (due to the #pragma GCC diagnostic ignored "-Wpragmas" that it does not understand).

If you want to use Clang with the LibreOffice compiler plugins, the minimal version of Clang is 3.8. 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 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 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.