<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE module-description PUBLIC "-//W3C//DTD HTML 3.2//EN" "module-description.dtd">
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->
<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
	<module-name>dbt</module-name>
	<project-build-dependency>cppuhelper</project-build-dependency>
	<project-build-dependency>cppu</project-build-dependency>
	<project-build-dependency>sal</project-build-dependency>
	<project-build-dependency>vos</project-build-dependency>
	<runtime-module-dependency>cppuhelper</runtime-module-dependency>
	<runtime-module-dependency>cppu</runtime-module-dependency>
	<runtime-module-dependency>sal</runtime-module-dependency>
	<runtime-module-dependency>vos</runtime-module-dependency>
	<runtime-module-dependency>comphelper</runtime-module-dependency>
</module-description>


