Extensions packing

From Apache OpenOffice Wiki
Revision as of 23:16, 6 January 2013 by JZA (Talk | contribs)

Jump to: navigation, search
OOo Extensions project

Please view the wiki usage guidelines
before contributing.

Categories:

Pages:

Extensions on the main site

Extensions in other languages:
ES - FR - IT - JA - NL - OC -


Packing Extensions in OOo Environment

Packing of extensions normally consists of creating a tree containing a stucture holding all the desired files in the and packing them into a .oxt via the zip command. Since the reqirements of this structure and the packing itself is quite similar for most extensions, the OOo build environment now (DEV300_m18) has a couple of helping targets to ease that process.

The Sample

The module "solenv" contains a sample makefile which shows how to make use of the new features (extension_tmpl.mk). NOTE: not all of this is required for every extension. It's just a commented example which has to be stripped and modified according to your needs.

Behind the Scene

Some of the centralized targets do some hidden things that previously had to be specified for each and every extension. currently this is

  • description.xml
    • inserting the according tags for license files: the perl script licinserter.pl in solenv/bin uses the existing tag
           <license-text xlink:href="licensefile" lang="isocode" license-id="lic-isocode"/>
to insert the multiple license tags containing the required lanaguage and filename
  • string replacements to create platform dependent tags
  • UPDATED_SUPPORTED_PLATFORM -> $(PLATFORMID) (settings.mk) -> $(RTL_OS:l)_$(RTL_ARCH:l) (rtlbootstrap.mk)
  • UPDATED_IDENTIFIER -> com.sun.star.$(EXTENSIONNAME)-$(PLATFORMID) (extensions_post.mk)
  • manifest.xml
    • string replacements for binary extension
      • SHARED_EXTENSION -> $(DLLPOST) (see according platform .mk)
      • EXEC_EXTENSION -> $(EXECPOST) (see according platform .mk)
    • there is also a quite beta scripting to automate the .xcu list in manifest.xml
  • if COMPONENT_LIBRARIES is defined
    • copy the compiler runtime libraries on windows into the tree to pack
Personal tools