Test repository to check push and ssh key
Find a file
Michael Stahl 496cba2e8b Makefile: move check-if-root earlier
Somebody who might invoke make as root might also invoke make with -j,
so don't start building in that case.

Change-Id: I0c87aba948cd78a23ad4c49f880700f65684424c
2016-06-23 14:36:59 +02:00
.git-hooks
accessibility tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
android Fix typos 2016-05-16 06:18:47 +00:00
animations
apple_remote
avmedia Resolves: tdf#100258 crash on disposing media player 2016-06-07 14:29:45 +01:00
basctl tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
basegfx tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
basic tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
bean Remove debug code 2016-05-02 11:04:04 +02:00
bin Wall is a good idea for the vim ide integration 2016-06-18 17:02:17 +02:00
binaryurp Replace fallthrough comments with new SAL_FALLTHROUGH macro 2016-05-10 16:42:16 +02:00
bridges bridges: [loplugin:staticanonymous] 2016-06-21 18:20:26 +02:00
canvas tdf#96099 Remove various smart pointer typedefs in canvas 2016-06-09 12:56:27 +00:00
chart2 support for ms binary format validation in chart2 module export tests 2016-06-23 02:08:58 +00:00
cli_ure switch to EHs on windows 2016-06-20 15:18:45 +00:00
codemaker Silence -Werror,-Wimplicit-fallthrough under NDEBUG 2016-05-12 14:15:27 +02:00
comphelper Clean up uses of Any::getValue() in comphelper 2016-06-20 11:43:37 +02:00
compilerplugins new loplugin: singlevalfields 2016-06-23 13:13:57 +02:00
config_host Add MS binary format validator support 2016-06-15 13:54:37 +00:00
configmgr tdf#61396 Possibility to edit a template not in Template Repository 2016-06-15 15:53:40 +00:00
connectivity tdf#67302 Resolving tablesSupplier name clash for postgresql 2016-06-23 10:14:55 +00:00
cppcanvas Clean up uses of Any::getValue() in cppcanvas 2016-06-10 18:55:53 +02:00
cppu teach refcounting clang plugin about uno::Reference 2016-05-31 06:25:45 +00:00
cppuhelper cppuhelper: fix use-after-free race in OWeakConnectionPoint 2016-06-17 22:13:24 +02:00
cpputools
cui tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
dbaccess tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
desktop Revert "desktop: fix loplugin:oncevar" 2016-06-23 09:44:19 +02:00
dictionaries@277e232615 Updated core 2016-06-14 13:54:41 +00:00
distro-configs enable breakpad in distro configs 2016-06-07 22:06:42 +00:00
drawinglayer Give unique, comprehensible names to timers tdf#97087 2016-06-13 15:33:27 +00:00
dtrans C++11: disable ctors/operators with delete (dtrans) 2016-05-24 20:44:25 +00:00
editeng tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 10:01:18 +00:00
embeddedobj Resolves: tdf#100140 crash on exit of report design 2016-06-15 17:30:29 +01:00
embedserv tdf#99643 OLE automation bridge: fix 64-bit pointer conversions 2016-06-01 00:11:10 +02:00
eventattacher
extensions tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
external uitest: we will need the python unittest module 2016-06-22 18:19:33 +02:00
extras tdf#94724: Make Gradient and Hatch preset names consistent 2016-06-16 07:36:08 +00:00
filter tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
forms Remove unused includes 2016-06-20 18:18:45 +02:00
formula remove unnecessary whitespace 2016-06-22 18:19:32 +02:00
fpicker tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
framework tdf#96607 'Save as' doesn't update global auto-recovery state 2016-06-23 10:10:55 +00:00
helpcompiler tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
helpcontent2@c23a2a94aa Updated core 2016-06-23 03:22:36 +00:00
hwpfilter loplugin:implicitboolconversion 2016-06-23 13:08:11 +02:00
i18nlangtag tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
i18npool no-break space between number and percent sign, tdf#63272 2016-06-16 12:58:41 +02:00
i18nutil convert MappingType to scoped enum 2016-05-11 06:55:08 +00:00
icon-themes tdf#83455 Remove color-inverted line images from Sifr 2016-06-11 04:39:50 -05:00
idl tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 10:01:18 +00:00
idlc Get rid of unnecessary directory levels $D/inc/$D 2016-05-27 17:10:45 +00:00
include Remove unused SfxObjectShell::libreOfficeKitCallback() 2016-06-23 09:10:22 +00:00
instsetoo_native
io remove (un-)definitions of NDEBUG from source files 2016-05-25 13:45:40 +02:00
ios
javaunohelper
jurt [API CHANGE] Drop deprecated I*Description interfaces 2016-06-07 08:49:31 +00:00
jvmaccess
jvmfwk passing a NULL pointer to fileno is not allowed 2016-06-15 19:52:10 +00:00
l10ntools tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
librelogo
libreofficekit lokdocview: ensure setView() + doSomethingElse is atomic 2016-06-22 07:07:40 +00:00
lingucomponent cppcheck: oppositeInnerCondition if new fails, its going to throw 2016-06-20 12:34:58 +01:00
linguistic Fix typos 2016-06-13 06:04:07 +00:00
lotuswordpro coverity#1362681 Untrusted loop bound 2016-06-11 21:00:55 +01:00
m4
mysqlc Revert "tdf#88206 Change use of cppu::WeakImplHelper*" 2016-06-09 10:25:49 +01:00
nlpsolver
o3tl CppunitTest_sal_osl_file: fix loplugin:cppunitassertequals warnings 2016-06-03 12:08:53 +00:00
odk Mention removed options in javamaker and cppumaker 2016-05-23 09:07:33 +00:00
offapi uitest: add method to get all children of a ui object 2016-06-18 17:02:16 +02:00
officecfg tdf#91820 A round of minor tweaks to Calc's menus 2016-06-19 21:53:07 +00:00
onlineupdate tdf#98602 Duplicate code in onlineupdate/ 2016-06-13 07:45:12 +00:00
oovbaapi
oox tdf#100153 modify noSmoking shape 2016-06-23 10:06:29 +00:00
opencl Let loplugin:passstuffbyref also look at fn defn not preceded by any decl 2016-06-08 17:14:34 +02:00
osx
package package: fix exception handling in DeflateThread (related tdf#91807) 2016-06-23 11:40:35 +02:00
postprocess Revert "try to debug images_tango.zip failure on arm tinderbox" 2016-06-22 14:22:33 +03:00
pyuno Clean up uses of Any::getValue() in pyuno 2016-06-21 12:46:45 +02:00
qadevOOo Fix typos 2016-06-13 06:04:07 +00:00
readlicense_oo update credits 2016-06-21 20:44:47 +02:00
registry Replace fallthrough comments with new SAL_FALLTHROUGH macro 2016-05-10 16:42:16 +02:00
remotebridges
reportbuilder
reportdesign tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
ridljar error: unknown tag: internal 2016-06-07 11:11:43 +02:00
rsc tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 10:01:18 +00:00
sal tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
salhelper
sax loplugin:refcounting 2016-06-17 15:58:19 +02:00
sc Remove unused SfxObjectShell::libreOfficeKitCallback() 2016-06-23 09:10:22 +00:00
scaddins o3tl::tryGet on a temporary is dangerous 2016-06-10 15:52:05 +02:00
sccomp tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
scp2 tdf#97872 File association in Windows registry 2016-06-23 09:56:15 +00:00
scripting BASIC : Add SbModule::FindMethod 2016-06-12 07:43:03 +00:00
sd Remove unused SfxObjectShell::libreOfficeKitCallback() 2016-06-23 09:10:22 +00:00
sdext tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
setup_native tdf#89657 sign Mac languagepack installer and force-start-close LO 2016-06-20 21:55:08 +02:00
sfx2 Remove unused SfxObjectShell::libreOfficeKitCallback() 2016-06-23 09:10:22 +00:00
shell Work towards tdf#72606 EasyHack _tstring/TCHAR elimination 2016-06-22 12:31:42 +00:00
slideshow Slideshow: Add 'Oval' Shape Transition variant 2016-06-10 12:14:40 +02:00
smoketest tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
solenv uitest: start the switch to python's unittest 2016-06-22 18:19:33 +02:00
soltools tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
sot tdf#96505 Get rid of cargo cult long integer literals 2016-06-14 13:49:41 +00:00
starmath tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
stoc Clean up uses of Any::getValue() in stoc 2016-06-21 14:05:17 +02:00
store update unusedmethods plugin to deal with constructors 2016-05-18 10:03:44 +00:00
svgio tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
svl properly prefix various global variables and hide them 2016-06-16 15:26:54 +02:00
svtools VclPtr: svtools error message dialog doesn't dispose 2016-06-23 09:41:58 +01:00
svx tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
sw Remove unused SfxObjectShell::libreOfficeKitCallback() 2016-06-23 09:10:22 +00:00
swext remove unused imports in java code 2016-06-06 14:28:41 +02:00
sysui tdf#70998 Termchange: Graphic->Image 2016-05-06 12:27:45 +00:00
test uitest: move the uitest files to vcl 2016-06-18 17:01:20 +02:00
testtools Just use Any::operator <<= for sal_Unicode values 2016-05-30 14:31:24 +02:00
toolkit tdf#97527 - vcl: reference-count Menu 2016-06-23 06:28:00 +00:00
tools tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
translations@0027ac636c Updated core 2016-06-21 18:35:48 +00:00
tubes
ucb remove some more (void) style function definitions/declarations 2016-06-23 10:57:45 +00:00
ucbhelper remove some more (void) style function definitions/declarations 2016-06-23 10:57:45 +00:00
udkapi
uitest uitest: improve the message of the ui test runner 2016-06-23 05:34:21 +02:00
UnoControls teach refcounting clang plugin about uno::Reference 2016-05-31 06:25:45 +00:00
unodevtools Get rid of unnecessary directory levels $D/inc/$D 2016-05-27 17:10:45 +00:00
unoidl Massage code to avoid warnings 2016-05-12 14:11:38 +02:00
unoil
unotest Fix typos 2016-05-16 06:18:47 +00:00
unotools Mark these functions as final 2016-06-20 10:54:38 +00:00
unoxml tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
ure
uui This doesn’t need to be translatable 2016-06-15 06:44:01 -05:00
vbahelper tdf#42949: clean up includes in include/filter with iwyu 2016-06-15 09:32:21 +00:00
vcl vcl: avoid vcl_filters_test crash with ASAN 32-bit 2016-06-23 11:39:00 +02:00
winaccessibility SAL_FALLTRHOUGH in Windows-only code 2016-05-25 08:42:15 +02:00
windows
wizards remove unused imports in java code 2016-06-06 14:28:41 +02:00
writerfilter tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 10:01:18 +00:00
writerperfect tdf#94698 cleanup Makefiles. Get rid of udkapi and offapi 2016-06-09 09:47:11 +00:00
xmerge
xmlhelp remove some more (void) style function definitions/declarations 2016-06-23 10:57:45 +00:00
xmloff Simplify dynamic_cast followed by a static_cast. 2016-06-23 10:58:32 +02:00
xmlreader Convert XmlReader::Result to scoped enum 2016-05-25 11:59:08 +00:00
xmlscript remove some manual ref-counting 2016-06-06 07:01:34 +00:00
xmlsecurity loplugin:sallogareas 2016-06-13 10:25:40 +02:00
.buckconfig
.buckversion
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in Add MS binary format validator support 2016-06-15 13:54:37 +00:00
config_host_lang.mk.in
configure.ac tdf#100455 check for minimal dconf version 2016-06-21 10:33:00 +02:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst libxslt: upgrade to release 1.1.29 2016-06-01 15:58:44 +00:00
g it is "git submodule", not "git submodules" 2016-05-17 14:29:39 +02:00
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild add build system part for upload crashreport symbols 2016-05-24 04:28:16 +02:00
Makefile.in Makefile: move check-if-root earlier 2016-06-23 14:36:59 +02:00
README.cross
README.md
README.Solaris remove use of Archive::Zip 2016-06-04 08:09:56 +02:00
Repository.mk uitest: move the uitest files to vcl 2016-06-18 17:01:20 +02:00
RepositoryExternal.mk we are using our own minidump_upload executable 2016-06-14 12:04:22 +00:00
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk uitest: build system part for new uitests 2016-06-18 17:02:12 +02:00
sanitize-ubsan-blacklist
TEMPLATE.SOURCECODE.HEADER add Vim C-indent options to C/C++ template modeline 2016-05-18 20:01:32 +02:00
unusedcode.easy
unusedcode.exclude
unusedcode.README

LibreOffice

Coverity Scan Build 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 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:

http://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.

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.