sb122: merged in DEV300_m76 via cws/sb121

This commit is contained in:
sb
2010-04-12 15:08:01 +02:00
16 changed files with 605 additions and 85 deletions

View File

@@ -494,12 +494,10 @@ void Components::parseFileList(
try {
(*parseFile)(url, layer, data_, 0, 0);
} catch (css::container::NoSuchElementException & e) {
throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
"stat'ed file does not exist: ")) +
e.Message),
css::uno::Reference< css::uno::XInterface >());
OSL_TRACE(
"configmgr file does not exist: %s",
rtl::OUStringToOString(
e.Message, RTL_TEXTENCODING_UTF8).getStr());
}
}
if (i == -1) {

View File

@@ -79,6 +79,9 @@
#define RID_DEPLYOMENT_DEPENDENCIES_UNKNOWN RID_DEPLOYMENT_DEPENDENCIES_START
#define RID_DEPLYOMENT_DEPENDENCIES_MIN (RID_DEPLOYMENT_DEPENDENCIES_START+1)
#define RID_DEPLYOMENT_DEPENDENCIES_MAX (RID_DEPLOYMENT_DEPENDENCIES_START+2)
#define RID_DEPLOYMENT_DEPENDENCIES_REPO_POS (RID_DEPLOYMENT_DEPENDENCIES_START + 3)
#define RID_DEPLOYMENT_DEPENDENCIES_REPO_NEG (RID_DEPLOYMENT_DEPENDENCIES_START + 4)
#define RID_DEPLOYMENT_DEPENDENCIES_REPO_BOTH (RID_DEPLOYMENT_DEPENDENCIES_START + 5)
#define RID_DEPLOYMENT_LICENSE_START (RID_DEPLOYMENT_START+4500)

View File

@@ -521,7 +521,7 @@ bool UpdateDialog::Thread::update(
dp_misc::DescriptionInfoset infoset(m_context, updateInfo);
OSL_ASSERT(infoset.getVersion().getLength() != 0);
css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > ds(
dp_misc::Dependencies::check(infoset));
dp_misc::Dependencies::check(infoset, packageManager->getContext()));
UpdateDialog::DisabledUpdate du;
du.aUpdateInfo = updateInfo;

View File

@@ -53,6 +53,9 @@ namespace Dependencies {
@param infoset
the infoset containing the dependencies to check
@param repository
the repository into which to deploy
@return
a list of the unsatisfied dependencies from <code>infoset</code> (in no
specific order)
@@ -60,7 +63,9 @@ namespace Dependencies {
DESKTOP_DEPLOYMENTMISC_DLLPUBLIC
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference<
::com::sun::star::xml::dom::XElement > >
check(::dp_misc::DescriptionInfoset const & infoset);
check(
::dp_misc::DescriptionInfoset const & infoset,
::rtl::OUString const & repository);
/**
Obtain the (human-readable) error message of a failed dependency.

View File

@@ -387,7 +387,7 @@ uno::Sequence< uno::Sequence< rtl::OUString > >
if (*id2 == id)
{
// check, if there are unsatisfied dependencies and ignore those updates
uno::Sequence< uno::Reference< xml::dom::XElement > > ds( dp_misc::Dependencies::check( infoset ) );
uno::Sequence< uno::Reference< xml::dom::XElement > > ds( dp_misc::Dependencies::check( infoset, _xManager->getContext() ) );
if ( ds.getLength() )
continue;

View File

@@ -56,17 +56,44 @@ namespace css = ::com::sun::star;
static char const xmlNamespace[] =
"http://openoffice.org/extensions/description/2006";
::dp_misc::Order compareWithVersion(::rtl::OUString const & version) {
bool satisfiesMinimalVersion(::rtl::OUString const & version) {
::rtl::OUString v(
RTL_CONSTASCII_USTRINGPARAM(
"${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version")
":Version:OOOPackageVersion}"));
::rtl::Bootstrap::expandMacros(v);
return ::dp_misc::compareVersions(v, version);
return ::dp_misc::compareVersions(v, version) != ::dp_misc::LESS;
}
bool satisfiesMinimalVersion(::rtl::OUString const & version) {
return compareWithVersion(version) != ::dp_misc::LESS;
bool contains(::rtl::OUString const & list, ::rtl::OUString const & element) {
for (::sal_Int32 i = 0;;) {
::sal_Int32 n = i;
i = list.indexOf(',', i);
if (i == -1) {
i = list.getLength();
}
if (list.copy(n, i) == element) {
return true;
}
if (i == list.getLength()) {
return false;
}
++i;
}
}
bool checkDeploymentRepositories(
css::uno::Reference< css::xml::dom::XElement > const & dependency,
::rtl::OUString const & repository)
{
css::uno::Reference< css::xml::dom::XAttr > sup(
dependency->getAttributeNode(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("supported"))));
css::uno::Reference< css::xml::dom::XAttr > notSup(
dependency->getAttributeNode(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("not-supported"))));
return (!sup.is() || contains(sup->getValue(), repository)) &&
!(notSup.is() && contains(notSup->getValue(), repository));
}
}
@@ -76,7 +103,10 @@ namespace dp_misc {
namespace Dependencies {
css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > >
check(::dp_misc::DescriptionInfoset const & infoset) {
check(
::dp_misc::DescriptionInfoset const & infoset,
::rtl::OUString const & repository)
{
css::uno::Reference< css::xml::dom::XNodeList > deps(
infoset.getDependencies());
::sal_Int32 n = deps->getLength();
@@ -102,11 +132,23 @@ check(::dp_misc::DescriptionInfoset const & infoset) {
RTL_CONSTASCII_STRINGPARAM(
"OpenOffice.org-maximal-version")))
{
::rtl::OUString v(
RTL_CONSTASCII_USTRINGPARAM(
"${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version")
":Version:OOOBaseVersion}"));
::rtl::Bootstrap::expandMacros(v);
sat =
compareWithVersion(
::dp_misc::compareVersions(
v,
e->getAttribute(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("value"))))
!= ::dp_misc::GREATER;
} else if (e->getNamespaceURI().equalsAsciiL(
RTL_CONSTASCII_STRINGPARAM(xmlNamespace))
&& e->getTagName().equalsAsciiL(
RTL_CONSTASCII_STRINGPARAM("deployment-repositories")))
{
sat = checkDeploymentRepositories(e, repository);
} else if (e->hasAttributeNS(
::rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(xmlNamespace)),
@@ -145,6 +187,52 @@ check(::dp_misc::DescriptionInfoset const & infoset) {
sValue = dependency->getAttribute( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("value") ) );
sReason = ::rtl::OUString( ::String(::dp_misc::getResId(RID_DEPLYOMENT_DEPENDENCIES_MAX)) );
}
else if (dependency->getNamespaceURI().equalsAsciiL(
RTL_CONSTASCII_STRINGPARAM(xmlNamespace)) &&
dependency->getTagName().equalsAsciiL(
RTL_CONSTASCII_STRINGPARAM("deployment-repositories")))
{
css::uno::Reference< css::xml::dom::XAttr > sup(
dependency->getAttributeNode(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("supported"))));
css::uno::Reference< css::xml::dom::XAttr > notSup(
dependency->getAttributeNode(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("not-supported"))));
sValue = ::String(
::dp_misc::getResId(
sup.is()
? (notSup.is()
? RID_DEPLOYMENT_DEPENDENCIES_REPO_BOTH
: RID_DEPLOYMENT_DEPENDENCIES_REPO_POS)
: (notSup.is()
? RID_DEPLOYMENT_DEPENDENCIES_REPO_NEG
: RID_DEPLYOMENT_DEPENDENCIES_UNKNOWN)));
::rtl::OUStringBuffer buf;
for (::sal_Int32 i = 0;;) {
::sal_Int32 j = sValue.indexOf('%', i);
if (j == -1) {
buf.append(sValue.copy(i));
break;
}
if (sup.is() &&
sValue.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("POS"), j + 1))
{
buf.append(sValue.copy(i, j - i));
buf.append(sup->getValue());
i = j + RTL_CONSTASCII_LENGTH("%POS");
} else if (notSup.is() &&
sValue.matchAsciiL(
RTL_CONSTASCII_STRINGPARAM("NEG"), j + 1))
{
buf.append(sValue.copy(i, j - i));
buf.append(notSup->getValue());
i = j + RTL_CONSTASCII_LENGTH("%NEG");
} else {
i = j + 1;
}
}
return buf.makeStringAndClear();
}
else if ( dependency->hasAttributeNS( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( xmlNamespace ) ),
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OpenOffice.org-minimal-version" ))))
{

View File

@@ -38,3 +38,15 @@ String RID_DEPLYOMENT_DEPENDENCIES_MIN {
String RID_DEPLYOMENT_DEPENDENCIES_MAX {
Text[en-US] = "Extension doesn't support versions greater than: OpenOffice.org %VERSION";
};
String RID_DEPLOYMENT_DEPENDENCIES_REPO_POS {
Text[en-US] = "Extension can only be deployed to repositories \"%POS\"";
};
String RID_DEPLOYMENT_DEPENDENCIES_REPO_NEG {
Text[en-US] = "Extension can not be deployed to repositories \"%NEG\"";
};
String RID_DEPLOYMENT_DEPENDENCIES_REPO_BOTH {
Text[en-US] = "Extension can be deployed to repositories \"%POS\" but not to \"%NEG\"";
};

View File

@@ -299,6 +299,8 @@ public:
inline ::rtl::OUString const & getCachePath() const { return m_cachePath; }
inline bool transientMode() const { return m_cachePath.getLength() == 0; }
inline ::rtl::OUString getContext() const {return m_context; }
// XEventListener
virtual void SAL_CALL disposing( css::lang::EventObject const & evt )
throw (css::uno::RuntimeException);

View File

@@ -553,7 +553,8 @@ bool BackendImpl::PackageImpl::checkDependencies(
dp_misc::Dependencies::check(
DescriptionInfoset(
getMyBackend()->getComponentContext(),
description.getRootElement())));
description.getRootElement()),
getMyBackend()->getContext()));
if (unsatisfied.getLength() == 0) {
return true;
} else {

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--**********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
**********************************************************************-->
<o:component-data xmlns:o="http://openoffice.org/2001/registry"
o:package="org.openoffice.Office" o:name="Addons">
<node o:name="AddonUI">
<node o:name="OfficeMenuBar">
<node o:name="org.openoffice.test.desktop.deployment.boxt" o:op="replace">
<prop o:name="Title" xml:lang="en-US">
<value>boxt</value>
</prop>
<node o:name="Submenu">
<node o:name="1" o:op="replace">
<prop o:name="URL">
<value>vnd.org.openoffice.test.desktop.deployment.boxt:</value>
</prop>
<prop o:name="Title" xml:lang="en-US">
<value>boxt</value>
</prop>
</node>
</node>
</node>
</node>
</node>
</o:component-data>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--**********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
**********************************************************************-->
<o:component-data xmlns:o="http://openoffice.org/2001/registry"
o:package="org.openoffice.Office" o:name="ProtocolHandler">
<node o:name="HandlerSet">
<node o:name="com.sun.star.test.deployment.boxt" o:op="replace">
<prop o:name="Protocols">
<value>vnd.org.openoffice.test.desktop.deployment.boxt:*</value>
</prop>
</node>
</node>
</o:component-data>

View File

@@ -0,0 +1,235 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#include "precompiled_desktop.hxx"
#include "sal/config.h"
#include "boost/noncopyable.hpp"
#include "com/sun/star/beans/PropertyValue.hpp"
#include "com/sun/star/frame/DispatchDescriptor.hpp"
#include "com/sun/star/frame/XDispatch.hpp"
#include "com/sun/star/frame/XDispatchProvider.hpp"
#include "com/sun/star/frame/XStatusListener.hpp"
#include "com/sun/star/lang/XServiceInfo.hpp"
#include "com/sun/star/lang/XSingleComponentFactory.hpp"
#include "com/sun/star/uno/Any.hxx"
#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/uno/Sequence.hxx"
#include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/uno/XInterface.hpp"
#include "com/sun/star/util/URL.hpp"
#include "cppuhelper/factory.hxx"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase3.hxx"
#include "cppuhelper/implementationentry.hxx"
#include "cppuhelper/weak.hxx"
#include "filter/msfilter/countryid.hxx"
#include "osl/diagnose.h"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
#include "uno/lbnames.h"
#include "vcl/svapp.hxx"
namespace {
namespace css = com::sun::star;
namespace service {
rtl::OUString getImplementationName() {
return rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.test.deployment.boxt"));
}
css::uno::Sequence< rtl::OUString > getSupportedServiceNames() {
rtl::OUString name(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.test.deployment.boxt"));
return css::uno::Sequence< rtl::OUString >(&name, 1);
}
}
class Service:
public cppu::WeakImplHelper3<
css::lang::XServiceInfo, css::frame::XDispatchProvider,
css::frame::XDispatch >,
private boost::noncopyable
{
public:
Service() {}
private:
virtual ~Service() {}
virtual rtl::OUString SAL_CALL getImplementationName()
throw (css::uno::RuntimeException)
{ return service::getImplementationName(); }
virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName)
throw (css::uno::RuntimeException)
{ return ServiceName == getSupportedServiceNames()[0]; } //TODO
virtual css::uno::Sequence< rtl::OUString > SAL_CALL
getSupportedServiceNames() throw (css::uno::RuntimeException)
{ return service::getSupportedServiceNames(); }
virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(
css::util::URL const &, rtl::OUString const &, sal_Int32)
throw (css::uno::RuntimeException)
{ return this; }
virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
SAL_CALL queryDispatches(
css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
throw (css::uno::RuntimeException);
virtual void SAL_CALL dispatch(
css::util::URL const &,
css::uno::Sequence< css::beans::PropertyValue > const &)
throw (css::uno::RuntimeException);
virtual void SAL_CALL addStatusListener(
css::uno::Reference< css::frame::XStatusListener > const &,
css::util::URL const &)
throw (css::uno::RuntimeException)
{}
virtual void SAL_CALL removeStatusListener(
css::uno::Reference< css::frame::XStatusListener > const &,
css::util::URL const &)
throw (css::uno::RuntimeException)
{}
};
css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
Service::queryDispatches(
css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
throw (css::uno::RuntimeException)
{
css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > s(
Requests.getLength());
for (sal_Int32 i = 0; i < s.getLength(); ++i) {
s[i] = queryDispatch(
Requests[i].FeatureURL, Requests[i].FrameName,
Requests[i].SearchFlags);
}
return s;
}
void Service::dispatch(
css::util::URL const &,
css::uno::Sequence< css::beans::PropertyValue > const &)
throw (css::uno::RuntimeException)
{
msfilter::ConvertCountryToLanguage(msfilter::COUNTRY_DONTKNOW);
// link against some obscure library that is unlikely already loaded
Application::ShowNativeErrorBox(
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("boxt")),
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("test")));
}
class Factory:
public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
private boost::noncopyable
{
public:
Factory() {}
private:
virtual ~Factory() {}
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
createInstanceWithContext(
css::uno::Reference< css::uno::XComponentContext > const &)
throw (css::uno::Exception, css::uno::RuntimeException)
{ return static_cast< cppu::OWeakObject * >(new Service); }
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
createInstanceWithArgumentsAndContext(
css::uno::Sequence< css::uno::Any > const &,
css::uno::Reference< css::uno::XComponentContext > const & Context)
throw (css::uno::Exception, css::uno::RuntimeException)
{ return createInstanceWithContext(Context); }
};
css::uno::Reference< css::uno::XInterface > SAL_CALL dummy(
css::uno::Reference< css::uno::XComponentContext > const &)
SAL_THROW((css::uno::Exception))
{
OSL_ASSERT(false);
return css::uno::Reference< css::uno::XInterface >();
}
rtl::OUString SAL_CALL getImplementationName() {
return rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.test.deployment.boxt"));
}
css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() {
rtl::OUString name(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.test.deployment.boxt"));
return css::uno::Sequence< rtl::OUString >(&name, 1);
}
css::uno::Reference< css::lang::XSingleComponentFactory > SAL_CALL
createFactory(
cppu::ComponentFactoryFunc, rtl::OUString const &,
css::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
SAL_THROW(())
{
return new Factory;
}
static cppu::ImplementationEntry const services[] = {
{ &dummy, &service::getImplementationName,
&service::getSupportedServiceNames, &createFactory, 0, 0 },
{ 0, 0, 0, 0, 0, 0 }
};
}
extern "C" void * SAL_CALL component_getFactory(
char const * pImplName, void * pServiceManager, void * pRegistryKey)
{
return cppu::component_getFactoryHelper(
pImplName, pServiceManager, pRegistryKey, services);
}
extern "C" void SAL_CALL component_getImplementationEnvironment(
char const ** ppEnvTypeName, uno_Environment **)
{
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
extern "C" sal_Bool SAL_CALL component_writeInfo(
void * pServiceManager, void * pRegistryKey)
{
return component_writeInfoHelper(pServiceManager, pRegistryKey, services);
}

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--**********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
**********************************************************************-->
<d:description xmlns:d="http://openoffice.org/extensions/description/2006">
<d:identifier value="org.openoffice/framework/desktop/test/deployment/boxt"/>
<d:version value="@VERSION@"/>
<d:platform value="@PLATFORM@"/>
<d:dependencies>
<d:OpenOffice.org-minimal-version d:name="OpenOffice.org @VERSION@"
value="@VERSION@"/>
<d:OpenOffice.org-maximal-version d:name="OpenOffice.org @VERSION@ or older"
d:OpenOffice.org-minimal-version="2.3" value="@VERSION@"/>
@DEPENDENCY@
</d:dependencies>
</d:description>

View File

@@ -0,0 +1,78 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#***********************************************************************/
PRJ = ../../..
PRJNAME = desktop
TARGET = test_deployment_boxt
ENABLE_EXCEPTIONS = TRUE
.INCLUDE: settings.mk
.INCLUDE: rtlbootstrap.mk
#TODO: The underlying OOo base version needed here is currently only available
# as instsetoo_native/util/openoffice.lst OOOBASEVERSION, so hard-coding it here
# for now (see issue 110653):
my_version = 3.3
.IF "$(OS)" == "LINUX" || "$(OS)" == "MACOSX" || "$(OS)" == "SOLARIS"
my_dependency = <d:deployment-repositories \
d:name="cannot be deployed to repository 'user'" not-supported="user"/>
.ELSE
my_dependency =
.END
DLLPRE =
SLOFILES = $(SHL1OBJS)
SHL1TARGET = boxt.uno
SHL1OBJS = $(SLO)/boxt.obj
SHL1RPATH = BOXT
SHL1STDLIBS = \
$(CPPUHELPERLIB) $(CPPULIB) $(MSFILTERLIB) $(SALLIB) $(TOOLSLIB) $(VCLLIB)
SHL1VERSIONMAP = $(SOLARENV)/src/component.map
DEF1NAME = $(SHL1TARGET)
.INCLUDE: target.mk
ALLTAR : $(MISC)/boxt.oxt
$(MISC)/boxt.oxt .ERRREMOVE : manifest.xml description.xml Addons.xcu \
ProtocolHandler.xcu $(SHL1TARGETN)
$(RM) -r $@ $(MISC)/$(TARGET).zip
$(MKDIR) $(MISC)/$(TARGET).zip
$(MKDIR) $(MISC)/$(TARGET).zip/META-INF
$(SED) -e 's|@PATH@|$(SHL1TARGETN:f)|g' < manifest.xml \
> $(MISC)/$(TARGET).zip/META-INF/manifest.xml
$(SED) -e 's|@PLATFORM@|$(RTL_OS:l)_$(RTL_ARCH:l)|g' \
-e 's|@VERSION@|$(my_version)|g' \
-e 's|@DEPENDENCY@|$(my_dependency)|g' < description.xml \
> $(MISC)/$(TARGET).zip/description.xml
$(COPY) Addons.xcu ProtocolHandler.xcu $(SHL1TARGETN) $(MISC)/$(TARGET).zip
cd $(MISC)/$(TARGET).zip && zip ../boxt.oxt META-INF/manifest.xml \
description.xml Addons.xcu ProtocolHandler.xcu $(SHL1TARGETN:f)

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--**********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
**********************************************************************-->
<m:manifest xmlns:m="http://openoffice.org/2001/manifest">
<m:file-entry m:media-type="application/vnd.sun.star.configuration-data"
m:full-path="Addons.xcu"/>
<m:file-entry m:media-type="application/vnd.sun.star.configuration-data"
m:full-path="ProtocolHandler.xcu"/>
<m:file-entry
m:media-type="application/vnd.sun.star.uno-component;type=native"
m:full-path="@PATH@"/>
</m:manifest>

View File

@@ -81,41 +81,7 @@ APP1TARGET=so$/$(TARGET)
APP1NOSAL=TRUE
APP1RPATH=BRAND
APP1OBJS=$(OBJ)$/copyright_ascii_sun.obj $(OBJ)$/main.obj
APP1STDLIBS = \
$(SALLIB) \
$(SOFFICELIB) \
$(COMPHELPERLIB) \
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(I18NISOLANGLIB) \
$(SALLIB) \
$(SFXLIB) \
$(SVLLIB) \
$(SVTOOLLIB) \
$(TKLIB) \
$(TOOLSLIB) \
$(UCBHELPERLIB) \
$(UNOTOOLSLIB) \
$(VCLLIB) \
$(FWELIB) \
$(BASICLIB) \
$(XMLSCRIPTLIB) \
$(SALHELPERLIB) \
$(SOTLIB) \
$(SAXLIB) \
$(FWILIB) \
$(ICUUCLIB) \
$(I18NUTILLIB) \
$(ICULIB) \
$(JVMFWKLIB) \
$(BASEGFXLIB) \
$(ICUDATALIB) \
$(ICULELIB) \
$(JVMACCESSLIB) \
$(SALHELPERLIB) \
$(VOSLIB)
APP1STDLIBS = $(SALLIB) $(SOFFICELIB)
APP1DEPN= $(APP1RES) verinfo.rc
.IF "$(GUI)" == "WNT"
@@ -140,40 +106,7 @@ APP5TARGET=soffice
APP5NOSAL=TRUE
APP5RPATH=BRAND
APP5OBJS=$(OBJ)$/copyright_ascii_ooo.obj $(OBJ)$/main.obj
APP5STDLIBS = \
$(SALLIB) \
$(SOFFICELIB) \
$(COMPHELPERLIB) \
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(I18NISOLANGLIB) \
$(SALLIB) \
$(SFXLIB) \
$(SVLLIB) \
$(SVTOOLLIB) \
$(TKLIB) \
$(TOOLSLIB) \
$(UCBHELPERLIB) \
$(UNOTOOLSLIB) \
$(VCLLIB) \
$(FWELIB) \
$(BASICLIB) \
$(XMLSCRIPTLIB) \
$(SALHELPERLIB) \
$(SOTLIB) \
$(SAXLIB) \
$(FWILIB) \
$(ICUUCLIB) \
$(I18NUTILLIB) \
$(ICULIB) \
$(JVMFWKLIB) \
$(BASEGFXLIB) \
$(ICUDATALIB) \
$(ICULELIB) \
$(JVMACCESSLIB) \
$(SALHELPERLIB) \
$(VOSLIB)
APP5STDLIBS = $(SALLIB) $(SOFFICELIB)
.IF "$(OS)" == "LINUX"
APP5STDLIBS+= -lXext
#APP5STDLIBS+= -lXext -lSM -lICE