Kaydet (Commit) 8001d9f4 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Replace binary type_references with human-readable .idl versions

...obtained from the old .rdb files via "unoidl-read --published".  This removes
the need for update-rdb.sh.

Change-Id: I73c0d026af7e27370602f83c61dfa76fc4d17a83
üst cbea5d30
......@@ -3,12 +3,17 @@ Contains all of the IDL files except those in [[udkapi]]
i.e. the interfaces that are specific to the OppenOffice.org application.
An artificial (?) separation.
The reference offapi/type_reference/offapi.rdb and
udkapi/type_reference/udkapi.rdb (formerly combined into a single
offapi/type_reference/types.rdb), used to detect inadvertent incompatible
changes, are maintained via offapi/type_reference/update-rdb.sh (see its usage
message for details) for cases where we deliberately /do/ become incompatible.
Old such cases are listed in offapi/type_reference/typelibrary_history.txt,
newer such cases are recorded in the git log of (now removed)
offapi/type_reference/types.rdb, new such cases are recorded in the git logs of
offapi/type_reference/offapi.rdb and udkapi/type_reference/udkapi.rdb.
The reference offapi/type_reference/offapi.idl and
udkapi/type_reference/udkapi.idl (formerly combined into a single
offapi/type_reference/types.rdb) are used to detect inadvertent incompatible
changes. They are plain-text .idl files (not stricly lexicographically sorted,
though, so they satisfy the .idl file requirements for no forward dependencies),
so in cases where we deliberately /do/ become incompatible they can be modified
manually.
Old such cases of deliberately becoming incompatible are listed in
offapi/type_reference/typelibrary_history.txt, newer such cases are recorded in
the git logs of (now superseded) offapi/type_reference/types.rdb,
offapi/type_reference/offapi.rdb, and udkapi/type_reference/udkapi.rdb, new such
cases are recorded in the git logs of offapi/type_reference/offapi.idl and
udkapi/type_reference/udkapi.idl.
......@@ -4318,6 +4318,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/org/freedesktop/Package
SyncDbusSessionHelper \
))
$(eval $(call gb_UnoApi_set_reference_rdbfile,offapi,udkapi/type_reference/udkapi offapi/type_reference/offapi))
$(eval $(call gb_UnoApi_set_reference_rdbfile,offapi,$(call gb_UnoApiTarget_get_target,udkapi) $(SRCDIR)/offapi/type_reference/offapi.idl))
# vim: set noet sw=4 ts=4:
This diff is collapsed.
#!/bin/bash
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
set -e
# Basic argument checks
if [ $# -lt 2 ]
then
echo "usage:"
echo " make cmd cmd='$0 <rdb file> <idl file list>'"
echo ""
echo "example:"
echo " make cmd cmd='$0"
echo " offapi/type_reference/offapi.rdb"
echo " offapi/com/sun/star/auth/SSOManagerFactory.idl"
echo " offapi/com/sun/star/auth/SSOPasswordCache.idl'"
exit 1
fi
rdb=${1?}
shift
mkdir tmp
for i in "$@"; do
"${OUTDIR_FOR_BUILD?}"/bin/regmerge -v tmp/out1.rdb /UCR \
"${WORKDIR_FOR_BUILD?}"/UnoApiPartTarget/"${i%.idl}".urd
done
"${OUTDIR_FOR_BUILD?}"/bin/regmerge -v tmp/out2.rdb / "${SRC_ROOT?}"/"${rdb?}" \
tmp/out1.rdb
echo "sanity check diff:"
diff <("${OUTDIR_FOR_BUILD?}"/bin/regview "${SRC_ROOT?}"/"${rdb?}") \
<("${OUTDIR_FOR_BUILD?}"/bin/regview tmp/out2.rdb) && $? -le 1
mv tmp/out2.rdb "${SRC_ROOT?}"/"${rdb?}"
rm -r tmp
......@@ -148,11 +148,6 @@ $(foreach rdb,$(2),$(call gb_UnoApi__use_api,$(1),$(rdb)))
endef
define gb_UnoApi_add_reference_rdbfile
$$(call gb_Output_error,gb_UnoApi_add_reference_rdbfile: use gb_UnoApi_set_reference_rdbfile instead.)
endef
define gb_UnoApi_set_reference_rdbfile
$(call gb_UnoApiTarget_set_reference_rdbfile,$(1),$(2))
......
......@@ -216,13 +216,9 @@ $(call gb_UnoApiTarget__add_idlfile,$(1),$(2),$(3))
endef
define gb_UnoApiTarget_add_reference_rdbfile
$$(call gb_Output_error,gb_UnoApiTarget_add_reference_rdbfile: use gb_UnoApiTarget_set_reference_rdbfile instead.)
endef
define gb_UnoApiTarget_set_reference_rdbfile
$(call gb_UnoApiTarget_get_target,$(1)) : UNOAPI_REFERENCE := $(foreach rdb,$(2),$(SRCDIR)/$(rdb).rdb)
$(call gb_UnoApiTarget_get_target,$(1)) : $(foreach rdb,$(2),$(SRCDIR)/$(rdb).rdb)
$(call gb_UnoApiTarget_get_target,$(1)) : UNOAPI_REFERENCE := $(2)
$(call gb_UnoApiTarget_get_target,$(1)) : $(2)
$(call gb_UnoApiTarget_get_target,$(1)) : $(gb_UnoApiTarget_UNOIDLCHECKDEPS)
endef
......
......@@ -526,6 +526,6 @@ $(eval $(call gb_UnoApi_add_idlfiles,udkapi,udkapi/com/sun/star/util,\
XVeto \
))
$(eval $(call gb_UnoApi_set_reference_rdbfile,udkapi,udkapi/type_reference/udkapi))
$(eval $(call gb_UnoApi_set_reference_rdbfile,udkapi,$(SRCDIR)/udkapi/type_reference/udkapi.idl))
# vim: set noet sw=4 ts=4:
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment