Commit Graph
13 Commits
Author SHA1 Message Date
Stephan Bergmann db3a61cd95 Generally determine Rdb content from gb_*_set_componentfile calls
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb).  To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget.  (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)

Most Rdb_*.mk files are thus mostly empty now.  One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.

1c9a40299d "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option.  However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d):

1  Rdb_services shall not contain the component files of all libraries that are
built.  While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).

2  The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.

3  The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.

4  Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.

The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled.  I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.

Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-10 08:14:24 +01:00
Samuel Mehrbrodt 35518c9236 Move all public Java classes to libreoffice.jar
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 ae855bf481
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>
2020-05-06 14:48:21 +02:00
Samuel MehrbrodtandStephan Bergmann ae855bf481 tdf#117331 Merge jurt and unoil into ridl
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>
2020-02-04 22:03:54 +01:00
Takeshi Abe 541761d7b8 prefer makefile-gmake-mode
Change-Id: I9cc9bfbddd3a90e00eee3e674994e5d6207f9034
2014-04-28 23:35:42 +09:00
Michael Meeks 72e5d0c8fb Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
Michael Stahl 5a4bcd3b75 gbuild: register all jars
Change-Id: I9f49970e5e06d1afd3fc066a20d1671c93e262fc
2012-08-17 12:52:25 +02:00
Michael Stahl cdbd6957a5 gbuild: remove most uses of gb_Jar_set_jarclasspath:
With gb_Jar_add_jar and gb_Jar_add_system_jar adding to the manifest
classpath automatically it is no longer necessary to call
gb_Jar_set_jarclasspath manually except for the URE jars, which
are apparently not supposed to be added automatically.

Change-Id: I1e743e7ecb9cb5651e02005aa09e127bea1b0a29
2012-08-15 21:29:14 +02:00
Tomas Chvatal 32af02b32f Allow usage of system rhino wrt fdo#42977
It is done the same way the beanshell is handled.
Currently it can't be enabled by default as internal version has
patched-in debug interface.
We can choose two paths, rewrite the code to the new rhino debug
interface or just strip the current one out.

Change-Id: I48af18c635816db8269f13a649b62e9c454ee1e6
2012-05-06 12:52:55 +02:00
Michael Stahl c923f7d2c2 gbuild: "use" vs. "add":
Naming convention for gbuild methods:
- "add" is used for stuff that is logically a part of the target
  (i.e. not registered at the Module, but defined in the target's makefile)
- "use" is used for stuff that is logically a different target
  (i.e. it is registered at the Module, has it's own makefile, may be
  in a different module than the target)
2012-04-08 01:05:52 +02:00
Stephan Bergmann 91d60be7ee fdo#46102: Fix scripting jar manifests after gbuild'ification 2012-03-22 23:28:37 +01:00
Stephan Bergmann a72a7dc500 fdo#42312: Change bsh and js script providers from extensions to optional modules.
Their jar files reference other non-URE jars, so they cannot be extensions.
bsh.jar has been moved into the optional module (it used to be installed
always, but it looks like only the bsh script provider needs it; also, it
had been added to URE_MORE_JAVA_CLASSPATH_URLS if SYSTEM_BSH, which also
appears unnecessary as it is mentioned with an absolute file URL in the
Class-Path of the script provider jar).
js.jar has been included in the optional module (it used to be not installed
at all?).
2011-11-03 14:18:59 +01:00
Matúš Kukan c77a9254dd no need for SRCDIR parameter here 2011-10-23 13:20:29 +02:00
Matúš Kukan a116d39db6 finished converting scripting to gbuild 2011-10-01 17:26:24 +02:00