Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-12 Thread Rony G. Flatscher
Hi there,

sorry, was off for a week witohut access to e-mail, hence my late answer
(keeping the quotings so only this e-mail is needed).

Stephan Bergmann wrote:
 Rony G. Flatscher wrote:
 Hi Stephan,

 , in the case of the ooRexx scripting engine:

 * there is a platform dependent DLL/so which needs to be
 accessible
   (at the moment I copy it into OOoHome/program), so the library
   is *not* an UNO-component, just a native library,
 * there are three text files (actually ooRexx programs) named
   BSF.CLS, UNO.CLS, UNO_XINTERFACES.REX which also need to be
   accessible by ooRexx scripts (and for that reason I have to copy
   them into OOoHome/program.
 Which code accesses those files (the shared lib and the Rexx programs)
 how, and why does it help to move them to the program directory?  (If
 it is clear how those files are accessed, there might be a way to
 access them directly within the extension.)
 Code which is invoked via the OOo scripting framework, here's what
 happens:

 * An ooRexx macro is invoked via Tools-Macro
 * the Java support part for the scripting language uses BSF (Apache
   Java archive) to load the Rexx interpreter (via the DLL/so
   residing in OOHome/program) and supplies the script and makes the
   arguments available to it;

 I still do not understand how the DLL/so residing in OOHome/program
 (lets call it X) is loaded.  Is it supplying UNO services/singletons
 and is thus loaded via the UNO framework?  
Yes, the ooRexx script provider package for OOo adheres to UNO
(ScriptProviderForooRexx.jar) which invokes bsf.jar (an Apache.org jar
which invokes the DLL/so via JNI, which then invokes the ooRexx
interpreter).

 Is it loaded from some Java code Y via System.loadLibrary?  Is it
 loaded from some native code Z via dlopen?
If an ooRexx script is run by OOo, then the ooRexx script provider
package (ScriptProviderForooRexx.jar) is used to dispatch the macro
using bsf.jar which uses JNI to load the [lib]BSF4Rexx.{dll|so}which
then will load the ooRexx interpreter and supply the macro for
execution. Such ooRexx macros need access to UNO.CLS (which itself needs
access to BSF.CLS and UNO_XINTERFACES.REX) to make it really easy to
interface with OOo. Placing the DLL/so and the ooRexx files (plain
textfiles) into $OOO_HOME/program makes the ooRexx script provider run
successfully, i.e., these files will be found.

Therefore I have been under the impression, that OOo sets that directory
($OOO_HOME) to the PATH (and maybe LD_LIBRARY_PATH on Linux systems?)
environment variable, as otherwise these files could hardly be found.


 * the Rexx interpreter executes the script which itself calls
   UNO.CLS (specific UNO/OOO support, which itself uses
   UNO_XINTERFACES.REX), which calls BSF.CLS (bridge to Java); all
   these scripts are plain text files and are found in their location
   (OOHome/program).

 *Why* are they found in the program directory?  
Good question (but I am *very* happy that they are found!) !
:)

 Does the Rexx interpreter (is that the library X above?) look next to
 itself for them?  (That is, if the Rexx interpreter were instead
 located in your extension, would those text files automatically be
 found in your extension, too?)
The Rexx interpreter is not placed in the script provider package, but
accessible globally (on Windows it is installed for all users, on Linux
it is installed in /opt and the executable is linked to /usr/bin the
librexx.so to /usr/lib). So the interpreter lives independently of OOo,
but every process can access it given the above environment setup.

HTH,

---rony




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-06 Thread Joachim Lingner

Stephan Bergmann wrote:

Rony G. Flatscher wrote:

Hi Stephan,

Feel free to come back here with any questions along your way,

Thank you very much for your kind offer!

Indeed, after studying your information there would be a couple of
questions:

* where would one find the full definition for manifest.xml and a
  list of valid mainfest:media-types; I looked in the developers
  guide and tried the search function of the Wiki, but have not been
  really able to locate it?


Maybe its only in the code.  :(  But I do not know, maybe Jochen knows 
more.  Jochen???
The Developers Guide (I believe chapter 4.9 contains the information 
about what possible entries can exist.






* also, where would one be able to find the full definition for the
  description.xml file?
  o ad version numbers: would something like 2.1.0.20070202 or
210.20070202 be o.k. (according to the production rule it
should be possible) or would that pose any problems (the
date of the version is the trailing value, possibly
supplemented with the time of the day like 
210.20070202162200)


The authoritative definition of version numbers is 
http://specs.openoffice.org/appwide/packagemanager/extensionversion.odt. 
 All your examples above would be valid version numbers.  However, the 
TODO at desktop/source/deployment/misc/dp_version.cxx:1.3 l. 53 suggests 
to only use segments for now that represent integers  2^63.  ;)



* ad application/vnd.sun.star.uno-component;type=native:
  o This can be used to not only denote libraries, but also
executables and modules (or with other words: these files
will be put into a place that is accessible via the PATH
settings?)


No, such files are not put on any path.  If those libraries are UNO 
libraries that support services/singletons, they will be found by the 
UNO framework via the information recorded at deployment time.  If those 
libraries are used by other libraries, those libraries must make sure to 
find them (e.g., via RPATH on ELF platforms).



  o Is there a complete list somewhere of the operating system
dependent strings? The extension document mentions
Windows, Linux_x86, Solaris_SPARC. So what about PPC
versions of Linux or Intel versions of Solaris or PPC and/or
Intel versions of MacOSX?
AFAIK these values are composed of the build- in bootstrap variables _OS 
and _ARCH. Values for these can be found in sal/rtl/source/macro.hxx.


Jochen



Again, maybe its only in the code.  Again, maybe Jochen knows more.


* is there a possibility to copy a set of scripts (in any available
  scripting language) to the user and/or shared script repository?
  If possible, what would be the appropriate manifest:media-type
  entry?
  o Of course this may pose a little problem when using the
update feature, as such scripts could have been edited in
the meantime by the users (but then one could resolve this
by moving the existing/edited extension scripts to an own
backup library)


Sorry, I have no experience with those things.  Hopefully, somebody else 
can step in.


-Stephan


TIA,

---rony


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-06 Thread Joachim Lingner

Rony G. Flatscher wrote:

Hi Stephan,

thank you very much for your answers!

... cut ...


* ad application/vnd.sun.star.uno-component;type=native:

No, such files are not put on any path.  If those libraries are UNO
libraries that support services/singletons, they will be found by the
UNO framework via the information recorded at deployment time.  If
those libraries are used by other libraries, those libraries must make
sure to find them (e.g., via RPATH on ELF platforms).


Hmm, in the case of the ooRexx scripting engine:

* there is a platform dependent DLL/so which needs to be accessible
  (at the moment I copy it into OOoHome/program), so the library
  is *not* an UNO-component, just a native library,
* there are three text files (actually ooRexx programs) named
  BSF.CLS, UNO.CLS, UNO_XINTERFACES.REX which also need to be
  accessible by ooRexx scripts (and for that reason I have to copy
  them into OOoHome/program.

Is there a means with the extension package manager (via a
manifest:media-type) to cause these files to be either made accessible
via [D]PATH/LD_LIBRARY_PATH and PATH, or have a means available to tell
the package manager where to copy these files in the standard OOo
installation tree in a platform independent manner)?


No, only libraries containing UNO services can be installed.

Jochen


Regards,

---rony




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-05 Thread Stephan Bergmann

Rony G. Flatscher wrote:

Hi Stephan,

thank you very much for your answers!

... cut ...


* ad application/vnd.sun.star.uno-component;type=native:

No, such files are not put on any path.  If those libraries are UNO
libraries that support services/singletons, they will be found by the
UNO framework via the information recorded at deployment time.  If
those libraries are used by other libraries, those libraries must make
sure to find them (e.g., via RPATH on ELF platforms).


Hmm, in the case of the ooRexx scripting engine:

* there is a platform dependent DLL/so which needs to be accessible
  (at the moment I copy it into OOoHome/program), so the library
  is *not* an UNO-component, just a native library,
* there are three text files (actually ooRexx programs) named
  BSF.CLS, UNO.CLS, UNO_XINTERFACES.REX which also need to be
  accessible by ooRexx scripts (and for that reason I have to copy
  them into OOoHome/program.


Which code accesses those files (the shared lib and the Rexx programs) 
how, and why does it help to move them to the program directory?  (If it 
is clear how those files are accessed, there might be a way to access 
them directly within the extension.)



Is there a means with the extension package manager (via a
manifest:media-type) to cause these files to be either made accessible
via [D]PATH/LD_LIBRARY_PATH and PATH, or have a means available to tell
the package manager where to copy these files in the standard OOo
installation tree in a platform independent manner)?


No, neither.


Regards,

---rony


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-05 Thread Stephan Bergmann

Rony G. Flatscher wrote:

Hi Stephan,


, in the case of the ooRexx scripting engine:

* there is a platform dependent DLL/so which needs to be accessible
  (at the moment I copy it into OOoHome/program), so the library
  is *not* an UNO-component, just a native library,
* there are three text files (actually ooRexx programs) named
  BSF.CLS, UNO.CLS, UNO_XINTERFACES.REX which also need to be
  accessible by ooRexx scripts (and for that reason I have to copy
  them into OOoHome/program.

Which code accesses those files (the shared lib and the Rexx programs)
how, and why does it help to move them to the program directory?  (If
it is clear how those files are accessed, there might be a way to
access them directly within the extension.)

Code which is invoked via the OOo scripting framework, here's what happens:

* An ooRexx macro is invoked via Tools-Macro
* the Java support part for the scripting language uses BSF (Apache
  Java archive) to load the Rexx interpreter (via the DLL/so
  residing in OOHome/program) and supplies the script and makes the
  arguments available to it;


I still do not understand how the DLL/so residing in OOHome/program 
(lets call it X) is loaded.  Is it supplying UNO services/singletons and 
is thus loaded via the UNO framework?  Is it loaded from some Java code 
Y via System.loadLibrary?  Is it loaded from some native code Z via dlopen?



* the Rexx interpreter executes the script which itself calls
  UNO.CLS (specific UNO/OOO support, which itself uses
  UNO_XINTERFACES.REX), which calls BSF.CLS (bridge to Java); all
  these scripts are plain text files and are found in their location
  (OOHome/program).


*Why* are they found in the program directory?  Does the Rexx 
interpreter (is that the library X above?) look next to itself for them? 
 (That is, if the Rexx interpreter were instead located in your 
extension, would those text files automatically be found in your 
extension, too?)


-Stephan


Regards,

---rony


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-02 Thread Stephan Bergmann

Rony G. Flatscher wrote:

Hi Stephan,

thank you *very* much for your hints and pointers, which I need to
follow and study in full in order to be able to experiment with it!
(Will take some time, though.)


If the three additional jars (bsf-v242-20070128.jar,
bsf-rexx-engine.jar, oorexx-uno.jar) are only needed by
ScriptProviderForooRexx.jar, create a ScriptProviderForooRexx.oxt
extension (see
http://api.openoffice.org/files/documents/22/3887/Extensions.pdf)
instead that contains all four jars (and can also contain additional
information like extension identifier, version, update information,
see http://wiki.services.openoffice.org/wiki/Extensions_packaging).

That way, your functionality (a script provider for ooRexx) comes as a
self-contained entity (that can be deployed in one step via unopkg or
OOo's Tools - Extension Manager...), without the need to add
additional jars to special places (OOo's program/classes, JVM's
extension path).

That sounds exactly what I have been looking for (in addition I will
have to supply platform dependent DLLs/so platforms and supportive -
platform independent - scripts), could glimpse over it already a bit and
saw that link libraries can be bundled for different platforms.


Yes, platform specific libraries are supported.  Also, I should point 
out that the Extensions.pdf is work in progress that is supposed to be 
integrated into the Developer's Guide, superseding the 
extensions-related information that (in part) is already there in the 
current version of the Guide.


Feel free to come back here with any questions along your way,

-Stephan


Also it seems, that deploying the extension will become really easy for
the user, including updating the extension!

Again, thank you very much!

Regards,

---rony


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-02 Thread Rony G. Flatscher
Hi Stephan,
 Feel free to come back here with any questions along your way,
Thank you very much for your kind offer!

Indeed, after studying your information there would be a couple of
questions:

* where would one find the full definition for manifest.xml and a
  list of valid mainfest:media-types; I looked in the developers
  guide and tried the search function of the Wiki, but have not been
  really able to locate it?
* also, where would one be able to find the full definition for the
  description.xml file?
  o ad version numbers: would something like 2.1.0.20070202 or
210.20070202 be o.k. (according to the production rule it
should be possible) or would that pose any problems (the
date of the version is the trailing value, possibly
supplemented with the time of the day like 210.20070202162200)
* ad application/vnd.sun.star.uno-component;type=native:
  o This can be used to not only denote libraries, but also
executables and modules (or with other words: these files
will be put into a place that is accessible via the PATH
settings?)
  o Is there a complete list somewhere of the operating system
dependent strings? The extension document mentions
Windows, Linux_x86, Solaris_SPARC. So what about PPC
versions of Linux or Intel versions of Solaris or PPC and/or
Intel versions of MacOSX?
* is there a possibility to copy a set of scripts (in any available
  scripting language) to the user and/or shared script repository?
  If possible, what would be the appropriate manifest:media-type
  entry?
  o Of course this may pose a little problem when using the
update feature, as such scripts could have been edited in
the meantime by the users (but then one could resolve this
by moving the existing/edited extension scripts to an own
backup library)

TIA,

---rony



Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-02 Thread Stephan Bergmann

Rony G. Flatscher wrote:

Hi Stephan,

Feel free to come back here with any questions along your way,

Thank you very much for your kind offer!

Indeed, after studying your information there would be a couple of
questions:

* where would one find the full definition for manifest.xml and a
  list of valid mainfest:media-types; I looked in the developers
  guide and tried the search function of the Wiki, but have not been
  really able to locate it?


Maybe its only in the code.  :(  But I do not know, maybe Jochen knows 
more.  Jochen???



* also, where would one be able to find the full definition for the
  description.xml file?
  o ad version numbers: would something like 2.1.0.20070202 or
210.20070202 be o.k. (according to the production rule it
should be possible) or would that pose any problems (the
date of the version is the trailing value, possibly
supplemented with the time of the day like 210.20070202162200)


The authoritative definition of version numbers is 
http://specs.openoffice.org/appwide/packagemanager/extensionversion.odt. 
 All your examples above would be valid version numbers.  However, the 
TODO at desktop/source/deployment/misc/dp_version.cxx:1.3 l. 53 suggests 
to only use segments for now that represent integers  2^63.  ;)



* ad application/vnd.sun.star.uno-component;type=native:
  o This can be used to not only denote libraries, but also
executables and modules (or with other words: these files
will be put into a place that is accessible via the PATH
settings?)


No, such files are not put on any path.  If those libraries are UNO 
libraries that support services/singletons, they will be found by the 
UNO framework via the information recorded at deployment time.  If those 
libraries are used by other libraries, those libraries must make sure to 
find them (e.g., via RPATH on ELF platforms).



  o Is there a complete list somewhere of the operating system
dependent strings? The extension document mentions
Windows, Linux_x86, Solaris_SPARC. So what about PPC
versions of Linux or Intel versions of Solaris or PPC and/or
Intel versions of MacOSX?


Again, maybe its only in the code.  Again, maybe Jochen knows more.


* is there a possibility to copy a set of scripts (in any available
  scripting language) to the user and/or shared script repository?
  If possible, what would be the appropriate manifest:media-type
  entry?
  o Of course this may pose a little problem when using the
update feature, as such scripts could have been edited in
the meantime by the users (but then one could resolve this
by moving the existing/edited extension scripts to an own
backup library)


Sorry, I have no experience with those things.  Hopefully, somebody else 
can step in.


-Stephan


TIA,

---rony


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] A few brief questions ad extension packages (Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-02 Thread Rony G. Flatscher
Hi Stephan,

thank you very much for your answers!

... cut ...

 * ad application/vnd.sun.star.uno-component;type=native:

 No, such files are not put on any path.  If those libraries are UNO
 libraries that support services/singletons, they will be found by the
 UNO framework via the information recorded at deployment time.  If
 those libraries are used by other libraries, those libraries must make
 sure to find them (e.g., via RPATH on ELF platforms).

Hmm, in the case of the ooRexx scripting engine:

* there is a platform dependent DLL/so which needs to be accessible
  (at the moment I copy it into OOoHome/program), so the library
  is *not* an UNO-component, just a native library,
* there are three text files (actually ooRexx programs) named
  BSF.CLS, UNO.CLS, UNO_XINTERFACES.REX which also need to be
  accessible by ooRexx scripts (and for that reason I have to copy
  them into OOoHome/program.

Is there a means with the extension package manager (via a
manifest:media-type) to cause these files to be either made accessible
via [D]PATH/LD_LIBRARY_PATH and PATH, or have a means available to tell
the package manager where to copy these files in the standard OOo
installation tree in a platform independent manner)?

Regards,

---rony



Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-01 Thread Stephan Bergmann
[Changed the structure of the quoted mail so that my inline answers are 
in a logical order:]


Rony G. Flatscher wrote:

Hi there,

for finalizing a package for bridging ooRexx with OOo (UNO) I was able
to create a package that can be deployed successfully with

   unopkg add --shared ScriptProviderForooRexx.jar

The scripting language is registered and shows up in the Macro menu.

In order to ease installation and maintenance, I added the Class-Path:
entry to the manifest files, denoting the jars needed to run. These
jar-files were copied to OOoHome/program/classes (one DLL needed for
Java and ooRexx, as well as supporting ooRexx scripts to OOoHome/program.


The Class-Path entry in the manifest of a jar contains URLs for 
additional jars.  If such a URL is relative (e.g., just 
bsf-rexx-engine.jar), then it is interpreted relative to the location 
of the jar (in the example, bsf-rexx-engine.jar would thus need to be 
located beside ScriptProviderForooRexx.jar).


Jars that you put into OOo's program/classes directory are not 
automatically made available to the JVM, so that would not work.



This is the manifest file (and the package registers successfully):

Manifest-Version: 1.0
RegistrationClassName: com.sun.star.script.framework.provider.oorexx.S
 criptProviderForooRexx
Class-Path: bsf-v242-20070128.jar bsf-rexx-engine.jar oorexx-uno.jar
Created-By: ...
Built-By: ...
Name: org/oorexx/uno
Specification-Title: ooRexx to/from UNO Bridge
Specification-Version: 0.99
Specification-Vendor: ...
Implementation-Title: org.oorexx.uno-via-bsf4rexx
Implementation-Version: 0.99
Implementation-Vendor: ...
  


Maybe it is something simple/stupid I am overseeing.

Other than that I could create a mega-package adding the content of
the other jars into this Scripting framework one. Yet another solution
(which I have employed quite successfully) is to install the
infrastructure-jars (which may be usabel in other Java applications) as
a Java extension.


If the three additional jars (bsf-v242-20070128.jar, 
bsf-rexx-engine.jar, oorexx-uno.jar) are only needed by 
ScriptProviderForooRexx.jar, create a ScriptProviderForooRexx.oxt 
extension (see 
http://api.openoffice.org/files/documents/22/3887/Extensions.pdf) 
instead that contains all four jars (and can also contain additional 
information like extension identifier, version, update information, see 
http://wiki.services.openoffice.org/wiki/Extensions_packaging).


That way, your functionality (a script provider for ooRexx) comes as a 
self-contained entity (that can be deployed in one step via unopkg or 
OOo's Tools - Extension Manager...), without the need to add 
additional jars to special places (OOo's program/classes, JVM's 
extension path).


It is on the extension wish list to have dependencies between extensions 
(so that you could for example have one extension that supplies 
bsf-v242-20070128.jar, bsf-rexx-engine.jar, oorexx-uno.jar, and another 
extension that depends on the first one so that it can use those three 
jars), but that is currently only a wish.


 just a small update to my little (still open!) question: copying the
 jar-files listed on Class-Path to the same directory the OOo package
 installer chose to install the jar file containing that Class-Path
 entry will allow to find those jar files.

Yes, see above for why this would work.

 Now, if I knew upfront where the OOo package installer will put the
 jar, I could copy the other jars to that directory. But looking at the
 directory on Windows:

 D:\Programme\OpenOffice.org
 2.1\share\uno_packages\cache\uno_packages\24.tmp_

 looks as if that name could not be foreseen (24.tmp_ looks like an
 arbitrary name).

 Now, how about the relative depth of that directory (on both, Windows
 and Linux), would it be always on that level?
 If so, then I could reformulate the Class-Path-entry to read:

 Class-Path: ../../../../../program/classes/bsf-v242-20070128.jar 
../..
  /../../../program/classes/bsf-rexx-engine.jar 
../../../../../program/

  classes/oorexx-uno.jar

 Not looking nice, but serving its purpose (it works). But again: would
 the depth of the cached package directory remain and be the same on
 Linux?

This is extremely fragile.  Where exactly (including relative depth of 
path) extensions are stored is an implementation detail of OOo's 
extension manager that can easily change.


 Or do you think that packaging everything into one jar-file would be
 best?

Not into one jar, but into one OOo extension, see above.

 Regards,

 ---rony

-Stephan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-01 Thread Cedric Bosdonnat

Hi Stephan, Rony,

Stephan Bergmann a écrit :
That way, your functionality (a script provider for ooRexx) comes as a 
self-contained entity (that can be deployed in one step via unopkg or 
OOo's Tools - Extension Manager...), without the need to add 
additional jars to special places (OOo's program/classes, JVM's 
extension path).


This is already implemented in the Eclipse integration: the generated 
package will include the libraries contained in your project and added 
to the project classpath. Thus you don't have to know how to do it, 
simply use File  Export Menu ;)


I'll be pleased to answer questions on that topic if needed.

Cedric

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-01 Thread Rony G. Flatscher
Hi Stephan,

thank you *very* much for your hints and pointers, which I need to
follow and study in full in order to be able to experiment with it!
(Will take some time, though.)

 If the three additional jars (bsf-v242-20070128.jar,
 bsf-rexx-engine.jar, oorexx-uno.jar) are only needed by
 ScriptProviderForooRexx.jar, create a ScriptProviderForooRexx.oxt
 extension (see
 http://api.openoffice.org/files/documents/22/3887/Extensions.pdf)
 instead that contains all four jars (and can also contain additional
 information like extension identifier, version, update information,
 see http://wiki.services.openoffice.org/wiki/Extensions_packaging).

 That way, your functionality (a script provider for ooRexx) comes as a
 self-contained entity (that can be deployed in one step via unopkg or
 OOo's Tools - Extension Manager...), without the need to add
 additional jars to special places (OOo's program/classes, JVM's
 extension path).
That sounds exactly what I have been looking for (in addition I will
have to supply platform dependent DLLs/so platforms and supportive -
platform independent - scripts), could glimpse over it already a bit and
saw that link libraries can be bundled for different platforms.

Also it seems, that deploying the extension will become really easy for
the user, including updating the extension!

Again, thank you very much!

Regards,

---rony



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-02-01 Thread Rony G. Flatscher
Bonsoir Cedric,
 Stephan Bergmann a écrit :
 That way, your functionality (a script provider for ooRexx) comes as
 a self-contained entity (that can be deployed in one step via unopkg
 or OOo's Tools - Extension Manager...), without the need to add
 additional jars to special places (OOo's program/classes, JVM's
 extension path).

 This is already implemented in the Eclipse integration: the generated
 package will include the libraries contained in your project and added
 to the project classpath. Thus you don't have to know how to do it,
 simply use File  Export Menu ;)

 I'll be pleased to answer questions on that topic if needed.
Thank you very much for your kind offer! Will definitely look into this
Eclipse plugin (and congratulations for having it now in the Eclipse
Central Plugin repository)!

Though it will take some time, as I would like to study the needed setup
for extension packages by hand and experiment with it (in order to
really understand the framework and its ramifications). Once that is in
place, I really would like to get to learn and to know your Eclipse
plugin and what it can do to help free up development and maintenance time!
:)


Regards,

---rony

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-01-31 Thread Rony G. Flatscher
Hi there,

for finalizing a package for bridging ooRexx with OOo (UNO) I was able
to create a package that can be deployed successfully with

   unopkg add --shared ScriptProviderForooRexx.jar

The scripting language is registered and shows up in the Macro menu.

In order to ease installation and maintenance, I added the Class-Path:
entry to the manifest files, denoting the jars needed to run. These
jar-files were copied to OOoHome/program/classes (one DLL needed for
Java and ooRexx, as well as supporting ooRexx scripts to OOoHome/program.

This is the manifest file (and the package registers successfully):

Manifest-Version: 1.0
RegistrationClassName: com.sun.star.script.framework.provider.oorexx.S
 criptProviderForooRexx
Class-Path: bsf-v242-20070128.jar bsf-rexx-engine.jar oorexx-uno.jar
Created-By: ...
Built-By: ...
Name: org/oorexx/uno
Specification-Title: ooRexx to/from UNO Bridge
Specification-Version: 0.99
Specification-Vendor: ...
Implementation-Title: org.oorexx.uno-via-bsf4rexx
Implementation-Version: 0.99
Implementation-Vendor: ...
  

Maybe it is something simple/stupid I am overseeing.

Other than that I could create a mega-package adding the content of
the other jars into this Scripting framework one. Yet another solution
(which I have employed quite successfully) is to install the
infrastructure-jars (which may be usabel in other Java applications) as
a Java extension.

Thankful again for any hints...

---rony




Re: [dev] Class-Path Entry in Manifest Package File and the Location of the Respective jars?

2007-01-31 Thread Rony G. Flatscher
Hi there,

just a small update to my little (still open!) question: copying the
jar-files listed on Class-Path to the same directory the OOo package
installer chose to install the jar file containing that Class-Path entry
will allow to find those jar files.

Now, if I knew upfront where the OOo package installer will put the jar,
I could copy the other jars to that directory. But looking at the
directory on Windows:

D:\Programme\OpenOffice.org
2.1\share\uno_packages\cache\uno_packages\24.tmp_

looks as if that name could not be foreseen (24.tmp_ looks like an
arbitrary name).

Now, how about the relative depth of that directory (on both, Windows
and Linux), would it be always on that level?
If so, then I could reformulate the Class-Path-entry to read:

Class-Path: ../../../../../program/classes/bsf-v242-20070128.jar ../..
 /../../../program/classes/bsf-rexx-engine.jar ../../../../../program/
 classes/oorexx-uno.jar

Not looking nice, but serving its purpose (it works). But again: would
the depth of the cached package directory remain and be the same on Linux?

Or do you think that packaging everything into one jar-file would be best?

Regards,

---rony





Rony G. Flatscher wrote:
 Hi there,

 for finalizing a package for bridging ooRexx with OOo (UNO) I was able
 to create a package that can be deployed successfully with

unopkg add --shared ScriptProviderForooRexx.jar

 The scripting language is registered and shows up in the Macro menu.

 In order to ease installation and maintenance, I added the Class-Path:
 entry to the manifest files, denoting the jars needed to run. These
 jar-files were copied to OOoHome/program/classes (one DLL needed for
 Java and ooRexx, as well as supporting ooRexx scripts to OOoHome/program.

 This is the manifest file (and the package registers successfully):

 Manifest-Version: 1.0
 RegistrationClassName: com.sun.star.script.framework.provider.oorexx.S
  criptProviderForooRexx
 Class-Path: bsf-v242-20070128.jar bsf-rexx-engine.jar oorexx-uno.jar
 Created-By: ...
 Built-By: ...
 Name: org/oorexx/uno
 Specification-Title: ooRexx to/from UNO Bridge
 Specification-Version: 0.99
 Specification-Vendor: ...
 Implementation-Title: org.oorexx.uno-via-bsf4rexx
 Implementation-Version: 0.99
 Implementation-Vendor: ...
   

 Maybe it is something simple/stupid I am overseeing.

 Other than that I could create a mega-package adding the content of
 the other jars into this Scripting framework one. Yet another solution
 (which I have employed quite successfully) is to install the
 infrastructure-jars (which may be usabel in other Java applications) as
 a Java extension.

 Thankful again for any hints...

 ---rony