/source/or/vcl/

3ba6cce2a4d284a130c0ca13f the ridl,jurt und unoil jars were merged into libreoffice.jar. Adapt the buck build correspondingly. Preserve the publishing of merged jars for now with dummy content and consider to remove them in future releases. Test Plan: 1. To replace version number with upcoming release version: $ solenv/bin/version.py 7.1.0 2. To install the API to local Maven repository: $ VERBOSE=1 buck build api_install 3. To deploy the API to Maven Central: $ VERBOSE=1 buck build api_deploy Change-Id: Id1b2135682ab962c901b944f3c26aeead9a4b19b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93724 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> (cherry picked from commit ea8d6cd59670854cb153c4e984cb4044093e5994)
Since ae855bf48163ff64d94cfc34aff8e37abdb5518d and
35518c92365cc183ba6cce2a4d284a130c0ca13f the ridl,jurt und unoil jars
were merged into libreoffice.jar. Adapt the buck build correspondingly.

Preserve the publishing of merged jars for now with dummy content and
consider to remove them in future releases.

Test Plan:

1. To replace version number with upcoming release version:

  $ solenv/bin/version.py 7.1.0

2. To install the API to local Maven repository:

  $ VERBOSE=1 buck build api_install

3. To deploy the API to Maven Central:

  $ VERBOSE=1 buck build api_deploy

Change-Id: Id1b2135682ab962c901b944f3c26aeead9a4b19b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93724
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
(cherry picked from commit ea8d6cd59670854cb153c4e984cb4044093e5994)
tdf#131572 Add java 9 module info for unoloader.jar 2020-05-27T09:40:40+00:00 Samuel Mehrbrodt Samuel.Mehrbrodt@cib.de 2020-05-18T10:09:03+00:00 89cb33dde0c4cd27ca05e31ddea94b7129bc6ebb Add a java module named "org.libreoffice.unoloader" for this jar. Require this module from org.libreoffice.uno (libreoffice.jar has unoloader.jar in its classpath, so add the same dependency to the modules) Change-Id: I7471d65ac7a0d2c6a11c002027a21f0c441dd1f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94419 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Add a java module named "org.libreoffice.unoloader" for this jar.

Require this module from org.libreoffice.uno
(libreoffice.jar has unoloader.jar in its classpath,
so add the same dependency to the modules)

Change-Id: I7471d65ac7a0d2c6a11c002027a21f0c441dd1f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94419
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
tdf#131572 Add java 9 module info for libreoffice.jar 2020-05-27T09:40:20+00:00 Samuel Mehrbrodt Samuel.Mehrbrodt@cib.de 2020-05-07T07:42:22+00:00 941b567a41569260fef14a7337511e8f42337323 Add a java module named "org.libreoffice.uno" for this jar. This needs to be compiled with Java 9. But since we want to keep b/c with Java 8, the rest of the jar has to be compiled with Java 8. This bumps the *build* requirement to Java 9 while keeping the *runtime* requirement at Java 8. The gbuild JavaClassSet class is changed to invoke javac twice, where the 2nd invocation compiles with --release 9 and a --patch-modules argument so that it finds the results of the first invocation and also the javamaker generated files in CustomTargets. Change-Id: I888f5dbe097cc37136e68db5919939877c981862 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91105 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Add a java module named "org.libreoffice.uno" for this jar.

This needs to be compiled with Java 9.
But since we want to keep b/c with Java 8,
the rest of the jar has to be compiled with Java 8.

This bumps the *build* requirement to Java 9 while keeping
the *runtime* requirement at Java 8.

The gbuild JavaClassSet class is changed to invoke javac twice,
where the 2nd invocation compiles with --release 9 and a --patch-modules
argument so that it finds the results of the first invocation and also
the javamaker generated files in CustomTargets.

Change-Id: I888f5dbe097cc37136e68db5919939877c981862
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91105
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Move all public Java classes to libreoffice.jar 2020-05-06T12:48:21+00:00 Samuel Mehrbrodt Samuel.Mehrbrodt@cib.de 2020-03-26T14:04:47+00:00 35518c92365cc183ba6cce2a4d284a130c0ca13f This moves the classes from juh.jar and ridl.jar to libreoffice.jar The goal is to have one single jar (and Java module, will be added later) which developers can include to work with LO. juh.jar and ridl.jar are kept as basically empty jars with libreoffice.jar on its classpath to keep backwards compatibility. This is a continuation of ae855bf48163ff64d94cfc34aff8e37abdb5518d and a preparation to have Java 9 module support. Change-Id: Ifbbfb97f60373d14256e62ae3122913bd17d5bbb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91930 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This moves the classes from juh.jar and ridl.jar to libreoffice.jar

The goal is to have one single jar (and Java module, will be added later)
which developers can include to work with LO.

juh.jar and ridl.jar are kept as basically empty jars with libreoffice.jar
on its classpath to keep backwards compatibility.

This is a continuation of ae855bf48163ff64d94cfc34aff8e37abdb5518d
and a preparation to have Java 9 module support.

Change-Id: Ifbbfb97f60373d14256e62ae3122913bd17d5bbb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91930
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
tdf#117331 Merge jurt and unoil into ridl 2020-02-04T21:03:54+00:00 Samuel Mehrbrodt Samuel.Mehrbrodt@cib.de 2019-12-11T12:23:43+00:00 ae855bf48163ff64d94cfc34aff8e37abdb5518d jurt.jar and unoil.jar are kept as effectively empty jars, each with a Class-Path: ridl.jar in their meta-inf/manifest.mf, so that 3rd-party code loading them (with or without also loading ridl.jar) will still have access to their content. Conceptually, the UNOIDL entities in unoil.jar (corresponding to module offapi) are not part of the URE, but are now made available by URE's ridl.jar. This should probably not cause problems in practice. At least for now, we seal exactly those packages in ridl.jar that were originally sealed in jurt.jar. Ideally, all of ridl.jar could be sealed now, but that would be mildly incompatible, as it would prevent 3rd-party code from introducing additional UNOIDL entities in the relevant namespaces (even if that is something we do not want 3rd-party code to do anyway). However, some JunitTest_jurt_* define classes in those sealed packages. In the past they got away with that by using gb_JunitTest_use_jar_classset,*,jurt. Instead they now need to gb_JunitTest_use_jar_classset,*,ridl and drop the gb_JunitTest_use_jar,*,ridl. But the former only makes available the classes that are specified in ridljar/Jar_ridl.mk with gb_Jar_add_sourcefiles, not the UNOIDL entities specified via gb_Jar_add_packagedirs. But the tests need the udkapi UNOIDL entities, so introduce gb_JunitTest_add_classpath to let the tests get them explicitly. (Curiously, JunitTest_jurt_uno and JnitTest_jurt_util use gb_JunitTest_use_jar_classset,*,jurt but don't seem to acutally need it; lets leave that for a follow-up clean up.) As a follow-up clean up, relevant files could be moved from jurt/ to ridljar/. Change-Id: I836f4e7bb47fb41f1306e3f223da90dba988eb9a Co-authored-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84946 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
jurt.jar and unoil.jar are kept as effectively empty jars, each with a

  Class-Path: ridl.jar

in their meta-inf/manifest.mf, so that 3rd-party code loading them (with or
without also loading ridl.jar) will still have access to their content.

Conceptually, the UNOIDL entities in unoil.jar (corresponding to module offapi)
are not part of the URE, but are now made available by URE's ridl.jar.  This
should probably not cause problems in practice.

At least for now, we seal exactly those packages in ridl.jar that were
originally sealed in jurt.jar.  Ideally, all of ridl.jar could be sealed now,
but that would be mildly incompatible, as it would prevent 3rd-party code from
introducing additional UNOIDL entities in the relevant namespaces (even if that
is something we do not want 3rd-party code to do anyway).

However, some JunitTest_jurt_* define classes in those sealed packages.  In the
past they got away with that by using gb_JunitTest_use_jar_classset,*,jurt.
Instead they now need to gb_JunitTest_use_jar_classset,*,ridl and drop the
gb_JunitTest_use_jar,*,ridl.  But the former only makes available the classes
that are specified in ridljar/Jar_ridl.mk with gb_Jar_add_sourcefiles, not the
UNOIDL entities specified via gb_Jar_add_packagedirs.  But the tests need the
udkapi UNOIDL entities, so introduce gb_JunitTest_add_classpath to let the tests
get them explicitly.  (Curiously, JunitTest_jurt_uno and JnitTest_jurt_util use
gb_JunitTest_use_jar_classset,*,jurt but don't seem to acutally need it; lets
leave that for a follow-up clean up.)

As a follow-up clean up, relevant files could be moved from jurt/ to ridljar/.

Change-Id: I836f4e7bb47fb41f1306e3f223da90dba988eb9a
Co-authored-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84946
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Add build toolchain to upload LibreOffice API to Maven Central 2015-12-03T23:32:11+00:00 David Ostrovsky david@ostrovsky.org 2015-12-01T22:59:11+00:00 1fd41f43eb73c373cb94d32d82c5fb7a7e243367 Set up the toolchain to create sources and javadocs artifacts in addition to JARs created during the build. Use Buck build tool for that: [1]. This is a fork of Google's build tool Blaze, created by Xooglers at Facebook. This build tool (like Blaze itself) uses Python to write build files. Add needed tools and build files to install LibreOffice API artifacts to local Maven repository or deploy them to Maven Central. To build all needed artifacts LibreOffice must be built regularly with GNU make first. To build the rest of the API (sources and javadocs): $> buck build api To replace version number with upcoming release version: $> solenv/bin/version.py 5.1.0 To install the API to local Maven repository: $> buck build api_install To deploy the API to Maven Central: $> buck build api_deploy Detailed documentation is added to document the prerequisites and the workflow to upload LibreOffice API to Maven Central. * [1] https://buckbuild.com Change-Id: Ibdd552a01110836703bc069abe829b9921491cac Reviewed-on: https://gerrit.libreoffice.org/20343 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Set up the toolchain to create sources and javadocs artifacts in
addition to JARs created during the build. Use Buck build tool for
that: [1]. This is a fork of Google's build tool Blaze, created by
Xooglers at Facebook. This build tool (like Blaze itself) uses
Python to write build files.

Add needed tools and build files to install LibreOffice API artifacts
to local Maven repository or deploy them to Maven Central.

To build all needed artifacts LibreOffice must be built regularly
with GNU make first. To build the rest of the API (sources and
javadocs):

  $> buck build api

To replace version number with upcoming release version:

  $> solenv/bin/version.py 5.1.0

To install the API to local Maven repository:

  $> buck build api_install

To deploy the API to Maven Central:

  $> buck build api_deploy

Detailed documentation is added to document the prerequisites and
the workflow to upload LibreOffice API to Maven Central.

* [1] https://buckbuild.com

Change-Id: Ibdd552a01110836703bc069abe829b9921491cac
Reviewed-on: https://gerrit.libreoffice.org/20343
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>