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

New unoidl-check tool to replace regcompare

...for checking compatibility with the reference rdbs.  unoidl-check is no
longer based on the legacy registry format, but can process all the various new
UNOIDL registry formats.  regcompare is still included in the SDK for now.

(gb_UnoApi[Target]_set_reference_rdbfile now takes a non-empty sequence of rdb
files, any necessary dependencies of the final rdf file preceding it just like
it is required on the unoidl-check command line.  Also, executing the
unoidl-check now properly depends on those rdb files.)

TODO: unoidl-check is too conservative for now and flags some changes as
incompatible that are not.

Change-Id: I92e4c69403c5e3fcb31707c98c65a2f509592dd4
üst 53d7f614
......@@ -59,6 +59,7 @@ $(eval $(call gb_Helper_register_executables,NONE, \
treex \
uiex \
ulfex \
unoidl-check \
unoidl-read \
unoidl-write \
xrmex \
......
......@@ -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,offapi/type_reference/offapi))
$(eval $(call gb_UnoApi_set_reference_rdbfile,offapi,udkapi/type_reference/udkapi offapi/type_reference/offapi))
# vim: set noet sw=4 ts=4:
......@@ -18,8 +18,7 @@ $(eval $(call gb_Module_add_targets,registry,\
) \
))
# if not cross-compiling or we need this for ODK
ifneq (,$(if $(CROSS_COMPILING),,T)$(filter ODK,$(BUILD_TYPE)))
ifneq (,$(filter ODK,$(BUILD_TYPE)))
$(eval $(call gb_Module_add_targets,registry,\
Executable_regcompare \
......
......@@ -850,10 +850,10 @@ gb_BUILD_HELPER_LIBS := basegfx \
gb_BUILD_HELPER_TOOLS := cppumaker \
idlc \
regcompare \
regmerge \
rsc \
svidl \
unoidl-check \
unoidl-write \
define gb_LinkTarget__is_build_lib
......
......@@ -78,8 +78,8 @@ endif
# UnoApiTarget
gb_UnoApiTarget_REGCOMPAREDEPS := $(call gb_Executable_get_runtime_dependencies,regcompare)
gb_UnoApiTarget_REGCOMPARECOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(call gb_Executable_get_command,regcompare)
gb_UnoApiTarget_UNOIDLCHECKDEPS := $(call gb_Executable_get_runtime_dependencies,unoidl-check)
gb_UnoApiTarget_UNOIDLCHECKCOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(call gb_Executable_get_command,unoidl-check)
gb_UnoApiTarget_REGMERGEDEPS := $(call gb_Executable_get_runtime_dependencies,regmerge) $(call gb_Executable_get_runtime_dependencies,unoidl-write)
gb_UnoApiTarget_REGMERGECOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(call gb_Executable_get_command,regmerge)
......@@ -103,10 +103,8 @@ rm -f $(1) && \
$(call gb_UnoApiTarget__command_impl,$(1),$(UNOAPI_ROOT),$(UNOAPI_FILES),$(UNOAPI_DEPRDBS)) \
$(if $(UNOAPI_REFERENCE), \
$(call gb_Output_announce,$(2),$(true),DBc,3) \
&& $(gb_UnoApiTarget_REGCOMPARECOMMAND) \
-f -t \
-r1 $(UNOAPI_REFERENCE) \
-r2 $(1).oldformat)
&& $(gb_UnoApiTarget_UNOIDLCHECKCOMMAND) $(UNOAPI_REFERENCE) -- \
$(foreach rdb,$(4),$(call gb_UnoApiTarget_get_target,$(rdb))) $(1))
endef
define gb_UnoApiTarget__check_mode
......@@ -223,8 +221,9 @@ $$(call gb_Output_error,gb_UnoApiTarget_add_reference_rdbfile: use gb_UnoApiTarg
endef
define gb_UnoApiTarget_set_reference_rdbfile
$(call gb_UnoApiTarget_get_target,$(1)) : UNOAPI_REFERENCE := $(SRCDIR)/$(strip $(2)).rdb
$(call gb_UnoApiTarget_get_target,$(1)) : $(gb_UnoApiTarget_REGCOMPAREDEPS)
$(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)) : $(gb_UnoApiTarget_UNOIDLCHECKDEPS)
endef
......
......@@ -24,7 +24,6 @@ gb_BUILD_TOOLS = \
javamaker \
makedepend \
propex \
regcompare \
regmerge \
regview \
rsc \
......@@ -35,6 +34,8 @@ gb_BUILD_TOOLS = \
treex \
uiex \
ulfex \
unoidl-check \
unoidl-write \
xrmex \
$(call gb_Helper_optional_for_host,DESKTOP, \
gengal \
......
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# 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/.
#
$(eval $(call gb_Executable_Executable,unoidl-check))
$(eval $(call gb_Executable_add_exception_objects,unoidl-check, \
unoidl/source/unoidl-check \
))
$(eval $(call gb_Executable_use_libraries,unoidl-check, \
sal \
salhelper \
unoidl \
))
# vim: set noet sw=4 ts=4:
......@@ -16,6 +16,7 @@ $(eval $(call gb_Module_add_targets,unoidl, \
))
$(eval $(call gb_Module_add_targets_for_build,unoidl, \
Executable_unoidl-check \
Executable_unoidl-write \
))
......
This diff is collapsed.
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