Files
loongoffice/scripting
Stephan Bergmann 58c4457a90 Update to latest Rhino 1.7.14
...at the expense of losing, at least for now, the script editor for it (which
had been hacked into the old upstream sources in a hard-to-maintain way).

rhino-1.7.14.zip is taken from
<https://github.com/mozilla/rhino/releases/download/Rhino1_7_14_Release/rhino-1.7.14.zip>.
Building it would now use Gradle, but instead just hack together an invocation
of javac and jar in external/rhino/ExternalProject_rhino.mk that effectively
generates the same jar as the upstream-built jar available at
<https://github.com/mozilla/rhino/releases/download/Rhino1_7_14_Release/rhino-1.7.14.jar>.

All the various patches are no longer necessary:
* external/rhino/rhino1_5R5.patch and external/rhino/OfficeScriptInfo.java were
  mostly for the hacked-in script editor, which has been abandoned at least for
  now (see above).
* external/rhino/rhino1_5R5-find_swing.patch (originally from
  0a7f9346503a557f583bced269655fa1996550af "ause109: #i106296# make build.xml
  aware of TARFILE_LOCATION") appears to be obsolete.
* external/rhino/rhino1_5R5-updateToolTip.patch is covered by
  <ab20a73b16>
  "Fix bug 414869: Rhino debugger fails to launch due to updates in mac os x
  leopard".
* external/rhino/rhino-classpath.patch.1 from
  bb58293296f843654045d7b0eba6899d11533a4a "rhino: unbreak build on Fedora 34"
  was only relevant when building with Ant.

Change-Id: I5fca5915d785716f7aaf313ff2469a20f55f707a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165190
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-04-02 18:56:13 +02:00
..
2024-04-02 18:56:13 +02:00

Scripting Framework

This module provides the source code for the Scripting Framework.

For more information on the Scripting Framework, see the project web page: https://framework.openoffice.org/scripting/

This module uses astyle to keep consistent java coding style. Please run

./Format_java_code.sh

before committing.

Source Code Structure

The following directories contain the source code currently used by the Scripting Framework:

  • source/provider

C++ source for the implementations of the com.sun.star.script.provider.* and com.sun.star.script.browse.* UNO types. These types are used for browsing and executing scripts.

  • source/protocolhandler

C++ for a ProtocolHandler implementation that handles vnd.sun.star.script URIs and dispatches them for execution to the Scripting Framework.

  • source/basprov

C++ implementation of the LanguageScriptProvider UNO service for Basic

  • source/dlgprov

C++ implementation of the DialogProvider UNO service used for loading UNO dialogs from various languages

  • source/pyprov

LanguageScriptProvider for Python

  • java/com/sun/star/script/framework/provider

Implementation of an abstract base class ScriptProvider which provides core methods for implementing Java based LanguageScriptProvider implementations

  • java/com/sun/star/script/framework/provider/*

BeanShell, JavaScript and Java LanguageScriptProvider implementations

  • java/com/sun/star/script/framework/browse/*

BrowseNode implementations for the Java based LanguageScriptProviders

  • java/com/sun/star/script/framework/io
  • java/com/sun/star/script/framework/container

Classes for performing script IO

  • examples

Example scripts in BeanShell, JavaScript, Java and Python

Deprecated Code

  • java/org/openoffice/*

Support for developing scripts in IDEs such as NetBeans.