diff options
Diffstat (limited to 'xmlhelp/source/com/sun')
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/HelpComponent.java | 135 | ||||
-rw-r--r-- | xmlhelp/source/com/sun/star/help/HelpIndexer.java | 186 | ||||
-rw-r--r-- | xmlhelp/source/com/sun/star/help/HelpSearch.java | 344 | ||||
-rw-r--r-- | xmlhelp/source/com/sun/star/help/MANIFEST.MF | 1 | ||||
-rw-r--r-- | xmlhelp/source/com/sun/star/help/helplinker.pmk | 31 | ||||
-rw-r--r-- | xmlhelp/source/com/sun/star/help/makefile.mk | 82 |
6 files changed, 779 insertions, 0 deletions
diff --git a/xmlhelp/source/com/sun/star/help/HelpComponent.java b/xmlhelp/source/com/sun/star/help/HelpComponent.java new file mode 100755 index 000000000000..18cb3feaa037 --- /dev/null +++ b/xmlhelp/source/com/sun/star/help/HelpComponent.java @@ -0,0 +1,135 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +package com.sun.star.help; + +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.registry.XRegistryKey; + +/* +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.lang.XInitialization; +import com.sun.star.lang.XTypeProvider; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.uno.Type; +import com.sun.star.uno.Any; +import com.sun.star.uno.AnyConverter; + +import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.standard.StandardAnalyzer; +import org.apache.lucene.document.Document; +import org.apache.lucene.index.FilterIndexReader; +import org.apache.lucene.index.IndexReader; +import org.apache.lucene.index.Term; +import org.apache.lucene.queryParser.QueryParser; +import org.apache.lucene.search.Hits; +import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.Query; +import org.apache.lucene.search.Searcher; +import org.apache.lucene.search.TermQuery; +import org.apache.lucene.search.WildcardQuery; + +import com.sun.star.script.XInvocation; +import com.sun.star.beans.XIntrospectionAccess; + +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.io.File; +*/ + +/** This class capsulates the class, that implements the minimal component, a + * factory for creating the service (<CODE>__getComponentFactory</CODE>) and a + * method, that writes the information into the given registry key + * (<CODE>__writeRegistryServiceInfo</CODE>). + */ +public class HelpComponent +{ + /** + * Gives a factory for creating the service. + * This method is called by the <code>JavaLoader</code> + * <p> + * @return returns a <code>XSingleComponentFactory</code> for creating + * the component + * @param sImplName the name of the implementation for which a + * service is desired + * @see com.sun.star.comp.loader.JavaLoader + */ + public static XSingleComponentFactory __getComponentFactory(String sImplName) + { + XSingleComponentFactory xFactory = null; + + if ( sImplName.equals( HelpSearch._HelpSearch.class.getName() ) ) + xFactory = Factory.createComponentFactory(HelpSearch._HelpSearch.class, + HelpSearch._HelpSearch.getServiceNames()); + else if ( sImplName.equals( HelpIndexer.class.getName() ) ) + xFactory = Factory.createComponentFactory(HelpIndexer.class, + HelpIndexer.getServiceNames()); + return xFactory; + } + + /** + * Writes the service information into the given registry key. + * This method is called by the <code>JavaLoader</code> + * <p> + * @return returns true if the operation succeeded + * @param regKey the registryKey + * @see com.sun.star.comp.loader.JavaLoader + */ + public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) + { + boolean bSuccessHelpSearch = Factory.writeRegistryServiceInfo + (HelpSearch._HelpSearch.class.getName(), + HelpSearch._HelpSearch.getServiceNames(), regKey); + boolean bSuccessHelpIndexer = Factory.writeRegistryServiceInfo + (HelpIndexer.class.getName(), + HelpIndexer.getServiceNames(), regKey); + + return bSuccessHelpSearch && bSuccessHelpIndexer; + } + /** This method is a member of the interface for initializing an object + * directly after its creation. + * @param object This array of arbitrary objects will be passed to the + * component after its creation. + * @throws Exception Every exception will not be handled, but will be + * passed to the caller. + */ + public void initialize( Object[] object ) + throws com.sun.star.uno.Exception + { + /* The component describes what arguments its expected and in which + * order!At this point you can read the objects and can intialize + * your component using these objects. + */ + } +} diff --git a/xmlhelp/source/com/sun/star/help/HelpIndexer.java b/xmlhelp/source/com/sun/star/help/HelpIndexer.java new file mode 100644 index 000000000000..0c03265295a8 --- /dev/null +++ b/xmlhelp/source/com/sun/star/help/HelpIndexer.java @@ -0,0 +1,186 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +package com.sun.star.help; + +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.script.XInvocation; +import com.sun.star.beans.XIntrospectionAccess; +import com.sun.star.uno.AnyConverter; +import com.sun.star.uno.XComponentContext; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Date; +import java.util.zip.ZipOutputStream; + +public class HelpIndexer extends WeakBase + implements XServiceInfo, XInvocation +{ + static private final String __serviceName = + "com.sun.star.help.HelpIndexer"; + static private final String aCreateIndexMethodName = "createIndex"; + + static private com.sun.star.help.HelpIndexerTool helpindexer = new com.sun.star.help.HelpIndexerTool(); + + public HelpIndexer() + { + } + + public HelpIndexer(XComponentContext xCompContext) + { + } + + public static void mainImpl( String[] args, boolean bExtensionMode ) + { + helpindexer.mainImpl( args , bExtensionMode ); + } + + public static void createZipFile( File aDirToZip, String aTargetZipFileStr ) + throws FileNotFoundException, IOException + { + helpindexer.createZipFile( aDirToZip , aTargetZipFileStr ); + } + + public static void addToZipRecursively( ZipOutputStream zos, File aFile, String aBasePath ) + throws FileNotFoundException, IOException + { + helpindexer.addToZipRecursively( zos , aFile , aBasePath ); + } + + static public boolean deleteRecursively( File aFile ) + { + return helpindexer.deleteRecursively( aFile ); + } + + //=================================================== + // XInvocation + public XIntrospectionAccess getIntrospection() + { + return null; + } + + public Object invoke( String aFunctionName, java.lang.Object[] aParams, + short[][] aOutParamIndex, java.lang.Object[][] aOutParam ) + throws com.sun.star.lang.IllegalArgumentException, + com.sun.star.script.CannotConvertException, + com.sun.star.reflection.InvocationTargetException + { + if( + !aFunctionName.equals( aCreateIndexMethodName ) ) + throw new com.sun.star.lang.IllegalArgumentException(); + + aOutParamIndex[0] = new short[0]; + aOutParam[0] = new Object[0]; + + int nParamCount = aParams.length; + String aStrs[] = new String[nParamCount]; + for( int i = 0 ; i < nParamCount ; i++ ) + { + try + { + aStrs[i] = AnyConverter.toString( aParams[i] ); + } + catch( IllegalArgumentException e ) + { + aStrs[i] = ""; + } + } + + boolean bExtensionMode = true; + mainImpl( aStrs, bExtensionMode ); + + return null; + } + + public void setValue( String aPropertyName, java.lang.Object aValue ) + throws com.sun.star.beans.UnknownPropertyException, + com.sun.star.script.CannotConvertException, + com.sun.star.reflection.InvocationTargetException + { + throw new com.sun.star.beans.UnknownPropertyException(); + } + + public Object getValue( String aPropertyName ) + throws com.sun.star.beans.UnknownPropertyException + { + throw new com.sun.star.beans.UnknownPropertyException(); + } + + public boolean hasMethod( String aMethodName ) + { + boolean bRet = (aMethodName.equals( aCreateIndexMethodName ) ); + return bRet; + } + public boolean hasProperty( String aName ) { + return false; + } + + + + /** This method returns an array of all supported service names. + * @return Array of supported service names. + */ + public String[] getSupportedServiceNames() + { + return getServiceNames(); + } + + /** This method is a simple helper function to used in the + * static component initialisation functions as well as in + * getSupportedServiceNames. + */ + public static String[] getServiceNames() + { + String[] sSupportedServiceNames = { __serviceName }; + return sSupportedServiceNames; + } + + + /** This method returns true, if the given service will be + * supported by the component. + * @param sServiceName Service name. + * @return True, if the given service name will be supported. + */ + public boolean supportsService( String sServiceName ) + { + return sServiceName.equals( __serviceName ); + } + + + /** Return the class name of the component. + * @return Class name of the component. + */ + public String getImplementationName() + { + return HelpIndexer.class.getName(); + } + +} + diff --git a/xmlhelp/source/com/sun/star/help/HelpSearch.java b/xmlhelp/source/com/sun/star/help/HelpSearch.java new file mode 100644 index 000000000000..714bb75a52d2 --- /dev/null +++ b/xmlhelp/source/com/sun/star/help/HelpSearch.java @@ -0,0 +1,344 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +package com.sun.star.help; + +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.XComponentContext; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.uno.Type; +import com.sun.star.uno.Any; +import com.sun.star.uno.AnyConverter; + +import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.standard.StandardAnalyzer; +import org.apache.lucene.analysis.cjk.CJKAnalyzer; +import org.apache.lucene.document.Document; +import org.apache.lucene.index.IndexReader; +import org.apache.lucene.index.Term; +import org.apache.lucene.search.Hits; +import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.Query; +import org.apache.lucene.search.Searcher; +import org.apache.lucene.search.TermQuery; +import org.apache.lucene.search.WildcardQuery; + +import com.sun.star.script.XInvocation; +import com.sun.star.beans.XIntrospectionAccess; + +/** This class capsulates the class, that implements the minimal component, a + * factory for creating the service (<CODE>__getComponentFactory</CODE>) and a + * method, that writes the information into the given registry key + * (<CODE>__writeRegistryServiceInfo</CODE>). + */ +public class HelpSearch +{ + /** This class implements the component. At least the interfaces XServiceInfo, + * XTypeProvider, and XInitialization should be provided by the service. + */ + public static class _HelpSearch extends WeakBase + implements XServiceInfo, XInvocation + { + /** The service name, that must be used to get an instance of this service. + */ + static private final String __serviceName = + "com.sun.star.help.HelpSearch"; + static private final String aSearchMethodName = "search"; + + /** The initial component contextr, that gives access to + * the service manager, supported singletons, ... + * It's often later used + */ + private XComponentContext m_cmpCtx; + + /** The service manager, that gives access to all registered services. + * It's often later used + */ + private XMultiComponentFactory m_xMCF; + + /** The constructor of the inner class has a XMultiServiceFactory parameter. + * @param xmultiservicefactoryInitialization A special service factory + * could be introduced while initializing. + */ + public _HelpSearch(XComponentContext xCompContext) + { + try { + m_cmpCtx = xCompContext; + m_xMCF = m_cmpCtx.getServiceManager(); + } + catch( Exception e ) { + e.printStackTrace(); + } + } + + /** This method returns an array of all supported service names. + * @return Array of supported service names. + */ + public String[] getSupportedServiceNames() + { + return getServiceNames(); + } + + /** This method is a simple helper function to used in the + * static component initialisation functions as well as in + * getSupportedServiceNames. + */ + public static String[] getServiceNames() + { + String[] sSupportedServiceNames = { __serviceName }; + return sSupportedServiceNames; + } + + /** This method returns true, if the given service will be + * supported by the component. + * @param sServiceName Service name. + * @return True, if the given service name will be supported. + */ + public boolean supportsService( String sServiceName ) + { + return sServiceName.equals( __serviceName ); + } + + /** Return the class name of the component. + * @return Class name of the component. + */ + public String getImplementationName() + { + return _HelpSearch.class.getName(); + } + + //=================================================== + // XInvocation + public XIntrospectionAccess getIntrospection() + { + return null; + } + + public Object invoke( String aFunctionName, java.lang.Object[] aParams, + short[][] aOutParamIndex, java.lang.Object[][] aOutParam ) + throws com.sun.star.lang.IllegalArgumentException, + com.sun.star.script.CannotConvertException, + com.sun.star.reflection.InvocationTargetException + { + String[] aRet = null; + if( !aFunctionName.equals( aSearchMethodName ) ) + throw new com.sun.star.lang.IllegalArgumentException(); + + Object[] aScoreOutArray = new Object[1]; + aScoreOutArray[0] = null; + try + { + aRet = doQuery( aParams, aScoreOutArray ); + } + catch( Exception e ) + { + aRet = null; + } + + Object aScoreArray = aScoreOutArray[0]; + if( aScoreArray == null ) + { + aOutParamIndex[0] = new short[0]; + aOutParam[0] = new Object[0]; + } + else + { + short nInParamCount = (short)aParams.length; + aOutParamIndex[0] = new short[1]; + aOutParamIndex[0][0] = nInParamCount; + aOutParam[0] = new Object[1]; + aOutParam[0][0] = aScoreArray; + } + + Any aRetAny = new Any( new Type( String[].class ), aRet ); + return aRetAny; + } + + public void setValue( String aPropertyName, java.lang.Object aValue ) + throws com.sun.star.beans.UnknownPropertyException, + com.sun.star.script.CannotConvertException, + com.sun.star.reflection.InvocationTargetException { + throw new com.sun.star.beans.UnknownPropertyException(); + } + + public Object getValue( String aPropertyName ) + throws com.sun.star.beans.UnknownPropertyException { + throw new com.sun.star.beans.UnknownPropertyException(); + } + + public boolean hasMethod( String aMethodName ) { + boolean bRet = (aMethodName.equals( aSearchMethodName ) ); + return bRet; + } + public boolean hasProperty( String aName ) { + return false; + } + + // Command line interface for testing + private static String[] doQuery( Object[] args, Object[] aScoreOutArray ) throws Exception + { + String aLanguageStr = ""; + String aIndexStr = ""; + String aQueryStr = ""; + boolean bCaptionOnly = false; + + int nParamCount = args.length; + String aStrs[] = new String[nParamCount]; + for( int i = 0 ; i < nParamCount ; i++ ) + { + try + { + aStrs[i] = AnyConverter.toString( args[i] ); + } + catch( IllegalArgumentException e ) + { + aStrs[i] = ""; + } + } + + // TODO: Error handling + for( int i = 0 ; i < nParamCount ; i++ ) + { + if ("-lang".equals(aStrs[i]) ) + { + aLanguageStr = aStrs[i + 1]; + i++; + } + else if( "-index".equals(aStrs[i]) ) + { + aIndexStr = aStrs[i+1]; + i++; + } + else if( "-query".equals(aStrs[i]) ) + { + aQueryStr = aStrs[i+1]; + i++; + } + else if( "-caption".equals(aStrs[i]) ) + { + bCaptionOnly = true; + } + } + String[] aDocs = queryImpl( aLanguageStr, aIndexStr, aQueryStr, bCaptionOnly, aScoreOutArray ); + + return aDocs; + } + + private static String[] queryImpl( String aLanguageStr, String aIndexStr, String aQueryStr, + boolean bCaptionOnly, Object[] aScoreOutArray ) throws Exception + { + IndexReader reader = IndexReader.open( aIndexStr ); + Searcher searcher = new IndexSearcher( reader ); + Analyzer analyzer = aLanguageStr.equals("ja") ? (Analyzer)new CJKAnalyzer() : (Analyzer)new StandardAnalyzer(); + + String aField; + if( bCaptionOnly ) + aField = "caption"; + else + aField = "content"; + + Query aQuery; + if( aQueryStr.endsWith( "*" ) ) + aQuery = new WildcardQuery( new Term( aField, aQueryStr ) ); + else + aQuery = new TermQuery( new Term( aField, aQueryStr ) ); + + // Perform search + Hits aHits = searcher.search( aQuery ); + int nHitCount = aHits.length(); + + String aDocs[] = new String[nHitCount]; + float aScores[] = null; + aScores = new float[nHitCount]; + for( int iHit = 0 ; iHit < nHitCount ; iHit++ ) + { + Document aDoc = aHits.doc( iHit ); + String aPath = aDoc.get( "path" ); + aDocs[iHit] = ( aPath != null ) ? aPath : ""; + aScores[iHit] = aHits.score( iHit ); + } + aScoreOutArray[0] = aScores; + + reader.close(); + + return aDocs; + } + } + + /** + * Gives a factory for creating the service. + * This method is called by the <code>JavaLoader</code> + * <p> + * @return returns a <code>XSingleComponentFactory</code> for creating + * the component + * @param sImplName the name of the implementation for which a + * service is desired + * @see com.sun.star.comp.loader.JavaLoader + */ + public static XSingleComponentFactory __getComponentFactory(String sImplName) + { + XSingleComponentFactory xFactory = null; + + if ( sImplName.equals( _HelpSearch.class.getName() ) ) + xFactory = Factory.createComponentFactory(_HelpSearch.class, + _HelpSearch.getServiceNames()); + + return xFactory; + } + + /** + * Writes the service information into the given registry key. + * This method is called by the <code>JavaLoader</code> + * <p> + * @return returns true if the operation succeeded + * @param regKey the registryKey + * @see com.sun.star.comp.loader.JavaLoader + */ + public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { + return Factory.writeRegistryServiceInfo(_HelpSearch.class.getName(), + _HelpSearch.getServiceNames(), + regKey); + } + /** This method is a member of the interface for initializing an object + * directly after its creation. + * @param object This array of arbitrary objects will be passed to the + * component after its creation. + * @throws Exception Every exception will not be handled, but will be + * passed to the caller. + */ + public void initialize( Object[] object ) + throws com.sun.star.uno.Exception { + /* The component describes what arguments its expected and in which + * order!At this point you can read the objects and can intialize + * your component using these objects. + */ + } +} diff --git a/xmlhelp/source/com/sun/star/help/MANIFEST.MF b/xmlhelp/source/com/sun/star/help/MANIFEST.MF new file mode 100644 index 000000000000..a4c5d50fde5c --- /dev/null +++ b/xmlhelp/source/com/sun/star/help/MANIFEST.MF @@ -0,0 +1 @@ +RegistrationClassName: com.sun.star.help.HelpComponent diff --git a/xmlhelp/source/com/sun/star/help/helplinker.pmk b/xmlhelp/source/com/sun/star/help/helplinker.pmk new file mode 100644 index 000000000000..6e99d322f434 --- /dev/null +++ b/xmlhelp/source/com/sun/star/help/helplinker.pmk @@ -0,0 +1,31 @@ +#************************************************************************* +# +# 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. +# +#************************************************************************* + +# define HELPLINKER_DLLIMPLEMENTATION (see @ inc/xmlhelp/helplinkerdllapi.h) +CDEFS += -DHELPLINKER_DLLIMPLEMENTATION + +VISIBILITY_HIDDEN=TRUE diff --git a/xmlhelp/source/com/sun/star/help/makefile.mk b/xmlhelp/source/com/sun/star/help/makefile.mk new file mode 100644 index 000000000000..ffa08b30cfed --- /dev/null +++ b/xmlhelp/source/com/sun/star/help/makefile.mk @@ -0,0 +1,82 @@ +#************************************************************************* +# +# 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 = xmlhelp +TARGET = HelpLinker +PACKAGE = com$/sun$/star$/help + +.IF "$(SOLAR_JAVA)"!="" +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +JAVACLASSFILES = \ + $(CLASSDIR)$/$(PACKAGE)$/HelpSearch.class \ + $(CLASSDIR)$/$(PACKAGE)$/HelpComponent.class \ + $(CLASSDIR)$/$(PACKAGE)$/HelpIndexer.class + +TRANSEX3FILES = \ + $(SOLARBINDIR)$/help$/$(PACKAGE)$/HelpIndexerTool.class \ + $(SOLARBINDIR)$/help$/$(PACKAGE)$/HelpFileDocument.class + +ADDFILES = $(subst,$(SOLARBINDIR)$/help,$(CLASSDIR) $(TRANSEX3FILES)) + +JARFILES = ridl.jar jurt.jar unoil.jar juh.jar +.IF "$(SYSTEM_LUCENE)" == "YES" +EXTRAJARFILES = $(LUCENE_CORE_JAR) $(LUCENE_ANALYZERS_JAR) +JARCLASSPATH = $(EXTRAJARFILES) +.ELSE +JARFILES += lucene-core-2.3.jar lucene-analyzers-2.3.jar +JARCLASSPATH = lucene-core-2.3.jar lucene-analyzers-2.3.jar +.ENDIF + +JARTARGET = LuceneHelpWrapper.jar +JARCOMPRESS = TRUE +CUSTOMMANIFESTFILE = MANIFEST.MF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + +.IF "$(JARTARGETN)"!="" +$(JAVATARGET) : $(ADDFILES) +$(JARTARGETN) : $(ADDFILES) +.ENDIF + +$(ADDFILES) : $(SOLARBINDIR)$/help$/$(PACKAGE)$/$$(@:f) + $(MKDIRHIER) $(@:d) + $(COPY) $< $@ + +fix_system_lucene: + @echo "Fix Java Class-Path entry for Lucene libraries from system." + @$(SED) -r -e "s#^(Class-Path:).*#\1 file://$(LUCENE_CORE_JAR) file://$(LUCENE_ANALYZERS_JAR)#" \ + -i ../../../../../$(INPATH)/class/HelpLinker/META-INF/MANIFEST.MF +.ELSE +all: + @echo java disabled +.ENDIF |