diff options
Diffstat (limited to 'autodoc/source/exes/adc_uni')
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_cl.cxx | 383 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_cmd.hxx | 125 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_cmd_parse.cxx | 319 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_cmd_parse.hxx | 200 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_cmds.cxx | 148 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_cmds.hxx | 116 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/adc_msg.cxx | 196 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/cmd_run.cxx | 241 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/cmd_run.hxx | 89 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/cmd_sincedata.cxx | 123 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/cmd_sincedata.hxx | 85 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/main.cxx | 47 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/spec-CommandLine.txt | 197 | ||||
-rw-r--r-- | autodoc/source/exes/adc_uni/spec-SinceTag_Handling.txt | 67 |
14 files changed, 0 insertions, 2336 deletions
diff --git a/autodoc/source/exes/adc_uni/adc_cl.cxx b/autodoc/source/exes/adc_uni/adc_cl.cxx deleted file mode 100644 index 142bcdfa7b09..000000000000 --- a/autodoc/source/exes/adc_uni/adc_cl.cxx +++ /dev/null @@ -1,383 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> -#include <adc_cl.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <algorithm> -#include <cosv/x.hxx> -#include <cosv/file.hxx> -#include <cosv/tpl/tpltools.hxx> -#include <ary/ary.hxx> -#include <tools/tkpchars.hxx> -#include <adc_msg.hxx> -#include "adc_cmds.hxx" -#include "adc_cmd_parse.hxx" -#include "cmd_sincedata.hxx" - - -namespace autodoc -{ - -CommandLine * CommandLine::pTheInstance_ = 0; - -const char * const C_sUserGuide = -"\n\n\n" -" General Use of Autodoc\n" -" ----------------------\n" -"\n" -" Example for IDL:\n" -"\n" -" -html <OutputDirectory> -name \"UDK 3.x anything\" -lg idl\n" -" -t <SourceDir1> <SourceDir2>\n" -"\n" -" Instead of or in addition to -t may be\n" -" used -d (no subdirectories) or -f (just one file). There can\n" -" be multiple arguments after each of these options (-t -d -f).\n" -"\n" -"\n" -" Replacing @since Tag Content\n" -" ----------------------------\n" -"\n" -" You can give a transformation file to replace\n" -" entries in @since tags by different entries.\n" -" This file is given by the option\n" -" -sincefile <TransformationFilePath>\n" -" This option has to appear between the -html and the -lg option.\n" -" Example:\n" -" -html <OutputDirectory> -sincefile replacesince.txt\n" -" -name \"UDK 3.x anything\" -lg idl -t <SourceDir>\n" -"\n" -"\n"; - -CommandLine::CommandLine() - : nDebugStyle(0), - pSinceTransformator(new command::SinceTagTransformationData), - aCommands(), - bInitOk(false), - pCommand_CreateHtml(0), - pReposy( & ary::Repository::Create_() ), - bIdl(false) -{ - csv_assert(pTheInstance_ == 0); - pTheInstance_ = this; -} - -CommandLine::~CommandLine() -{ - csv::erase_container_of_heap_ptrs(aCommands); - pTheInstance_ = 0; -} - -int -CommandLine::Run() const -{ - Cout() << "\nAutodoc version 2.2.5" - << "\n---------------------" - << "\n" << Endl(); - - bool - ok = true; - for ( CommandList::const_iterator it = aCommands.begin(); - ok AND it != aCommands.end(); - ++it ) - { - ok = (*it)->Run(); - } - - if (pCommand_CreateHtml != 0) - { - StreamStr aDiagnosticMessagesFile(700); - aDiagnosticMessagesFile - << pCommand_CreateHtml->OutputDir() - << csv::ploc::Delimiter() - << "Autodoc_DiagnosticMessages.txt"; - TheMessages().WriteFile(aDiagnosticMessagesFile.c_str()); - } - - return ok ? 0 : 1; -} - -CommandLine & -CommandLine::Get_() -{ - csv_assert(pTheInstance_ != 0); - return *pTheInstance_; -} - -bool -CommandLine::DoesTransform_SinceTag() const -{ - return pSinceTransformator->DoesTransform(); -} - -//bool -//CommandLine::Strip_SinceTagText( String & io_sSinceTagValue ) const -//{ -// return pSinceTransformator->StripSinceTagText(io_sSinceTagValue); -//} - -const String & -CommandLine::DisplayOf_SinceTagValue( const String & i_sVersionNumber ) const -{ - return pSinceTransformator->DisplayOf(i_sVersionNumber); -} - -void -CommandLine::do_Init( int argc, - char * argv[] ) -{ - try - { - bInitOk = false; - StringVector aParameters; - - char * * itpEnd = &argv[0] + argc; - for ( char * * itp = &argv[1]; itp != itpEnd; ++itp ) - { - if ( strncmp(*itp, "-I:", 3) != 0 ) - aParameters.push_back(String(*itp)); - else - load_IncludedCommands(aParameters, (*itp)+3); - } - - StringVector::const_iterator itEnd = aParameters.end(); - for ( StringVector::const_iterator it = aParameters.begin(); - it != itEnd; - ) - { - if ( *it == command::C_opt_Verbose ) - do_clVerbose(it,itEnd); - else if ( *it == command::C_opt_LangAll - OR *it == command::C_opt_Name - OR *it == command::C_opt_DevmanFile ) - do_clParse(it,itEnd); - else if (*it == command::C_opt_CreateHtml) - do_clCreateHtml(it,itEnd); - else if (*it == command::C_opt_SinceFile) - do_clSinceFile(it,itEnd); - else if (*it == command::C_opt_ExternNamespace) - { - sExternNamespace = *(++it); - ++it; - if ( strncmp(sExternNamespace.c_str(), "::", 2) != 0) - { - throw command::X_CommandLine( - "-extnsp needs an absolute qualified namespace, starting with \"::\"." - ); - } - } - else if (*it == command::C_opt_ExternRoot) - { - ++it; - StreamLock sl(1000); - if ( csv::compare(*it, 0, "http://", 7) != 0 ) - { - sl() << "http://" << *it; - } - if ( *(sl().end()-1) != '/') - sl() << '/'; - sExternRoot = sl().c_str(); - - ++it; - } -// else if (*it == command::C_opt_CreateXml) -// do_clCreateXml(it,itEnd); -// else if (command::C_opt_Load) -// do_clLoad(it,itEnd); -// else if (*it == command::C_opt_Save) -// do_clSave(it,itEnd); - else if (*it == "-h" OR *it == "-?" OR *it == "?") - // Leads to displaying help, because bInitOk stays on false. - return; - else if ( *it == command::C_opt_Parse ) - // Only for backwards compatibility. - // Just ignore "-parse". - ++it; - else - { - StreamLock sl(200); - throw command::X_CommandLine( - sl() << "Unknown commandline option \"" - << *it - << "\"." - << c_str ); - } - } // end for - sort_Commands(); - - bInitOk = true; - - } // end try - catch ( command::X_CommandLine & xxx ) - { - xxx.Report( Cerr() ); - } - catch ( csv::Exception & xxx ) - { - xxx.GetInfo( Cerr() ); - } -} - -void -CommandLine::do_PrintUse() const -{ - Cout() << C_sUserGuide << Endl(); -} - -bool -CommandLine::inq_CheckParameters() const -{ - if (NOT bInitOk OR aCommands.empty()) - return false; - return true; -} - -void -CommandLine::load_IncludedCommands( StringVector & out, - const char * i_filePath ) -{ - CharacterSource - aIncludedCommands; - csv::File - aFile(i_filePath, csv::CFM_READ); - if (NOT aFile.open()) - { - Cerr() << "Command include file \"" - << i_filePath - << "\" not found." - << Endl(); - throw command::X_CommandLine("Invalid file in option -I:<command-file>."); - } - aIncludedCommands.LoadText(aFile); - aFile.close(); - - bool bInToken = false; - StreamLock aTransmit(200); - for ( ; NOT aIncludedCommands.IsFinished(); aIncludedCommands.MoveOn() ) - { - if (bInToken) - { - if (aIncludedCommands.CurChar() <= 32) - { - const char * - pToken = aIncludedCommands.CutToken(); - bInToken = false; - - if ( strncmp(pToken, "-I:", 3) != 0 ) - { - aTransmit().seekp(0); - aTransmit() << pToken; - aTransmit().replace_all('\\', *csv::ploc::Delimiter()); - aTransmit().replace_all('/', *csv::ploc::Delimiter()); - out.push_back(String(aTransmit().c_str())); - } - else - load_IncludedCommands(out, pToken+3); - } - } - else - { - if (aIncludedCommands.CurChar() > 32) - { - aIncludedCommands.CutToken(); - bInToken = true; - } - } // endif (bInToken) else - - } // end while() -} - -namespace -{ -inline int -v_nr(StringVector::const_iterator it) -{ - return int( *(*it).c_str() ) - int('0'); -} -} // anonymous namespace - -void -CommandLine::do_clVerbose( opt_iter & it, - opt_iter itEnd ) -{ - ++it; - if ( it == itEnd ? true : v_nr(it) < 0 OR v_nr(it) > 7 ) - throw command::X_CommandLine( "Missing or invalid number in -v option." ); - nDebugStyle = v_nr(it); - ++it; -} - -void -CommandLine::do_clParse( opt_iter & it, - opt_iter itEnd ) -{ - command::Command * - pCmd_Parse = new command::Parse; - pCmd_Parse->Init(it, itEnd); - aCommands.push_back(pCmd_Parse); -} - -void -CommandLine::do_clCreateHtml( opt_iter & it, - opt_iter itEnd ) -{ - pCommand_CreateHtml = new command::CreateHtml; - pCommand_CreateHtml->Init(it, itEnd); - aCommands.push_back(pCommand_CreateHtml); -} - -void -CommandLine::do_clSinceFile( opt_iter & it, - opt_iter itEnd ) -{ - pSinceTransformator->Init(it, itEnd); -} - - -namespace -{ - -struct Less_RunningRank -{ - bool operator()( - const command::Command * const & - i1, - const command::Command * const & - i2 ) const - { return i1->RunningRank() < i2->RunningRank(); } -}; - -} // anonymous namespace - - - -void -CommandLine::sort_Commands() -{ - std::sort( aCommands.begin(), - aCommands.end(), - Less_RunningRank() ); -} - -} // namespace autodoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/adc_cmd.hxx b/autodoc/source/exes/adc_uni/adc_cmd.hxx deleted file mode 100644 index 1b20627bf6bd..000000000000 --- a/autodoc/source/exes/adc_uni/adc_cmd.hxx +++ /dev/null @@ -1,125 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef ADC_ADC_CMD_HXX -#define ADC_ADC_CMD_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <cosv/comdline.hxx> - // COMPONENTS - // PARAMETERS - - -namespace autodoc -{ -namespace command -{ - -/** Context for a command, which can be read from the command line. -*/ -class Context -{ - public: - typedef StringVector::const_iterator opt_iter; - - virtual ~Context() {} - - void Init( - opt_iter & it, - opt_iter itEnd ); - private: - virtual void do_Init( - opt_iter & it, - opt_iter itEnd ) = 0; -}; - -// IMPLEMENTATION -inline void -Context::Init( opt_iter & i_nCurArgsBegin, - opt_iter i_nEndOfAllArgs ) - -{ do_Init(i_nCurArgsBegin, i_nEndOfAllArgs); } - - - -/** Interface for commands, autodoc is able to perform. -*/ -class Command : public Context -{ - public: - /** Running ranks of the commands are to be maintained at one location: - Here! - */ - enum E_Ranks - { - rank_Load = 10, - rank_Parse = 20, - rank_Save = 30, - rank_CreateHtml = 40, - rank_CreateXml = 50 - }; - - - bool Run() const; - int RunningRank() const; - - private: - virtual bool do_Run() const = 0; - virtual int inq_RunningRank() const = 0; -}; - -// IMPLEMENTATION -inline bool -Command::Run() const -{ return do_Run(); } -inline int -Command::RunningRank() const -{ return inq_RunningRank(); } - - - - -/** The exception thrown, if the command line is invalid. -*/ -class X_CommandLine -{ - public: - X_CommandLine( - const char * i_sExplanation ) - : sExplanation(i_sExplanation) {} - - void Report( - std::ostream & o_rOut ) - { o_rOut << "Error in command line: " - << sExplanation << Endl(); } - private: - String sExplanation; -}; - - - - -} // namespace command -} // namespace autodoc -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx b/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx deleted file mode 100644 index 2129943e4078..000000000000 --- a/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx +++ /dev/null @@ -1,319 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> -#include "adc_cmd_parse.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <adc_cl.hxx> -#include "adc_cmds.hxx" -#include "cmd_run.hxx" - - - -namespace autodoc -{ -namespace command -{ - -namespace -{ - -const String C_FileEnding_idl("*.idl"); - -inline void -CHECK( bool b, const String & text ) -{ - if (NOT b) - throw X_CommandLine( text ); -} - -} // anonymous namespace - - - -//************************** S_LanguageInfo ***********************// - -S_LanguageInfo::~S_LanguageInfo() -{ -} - -void -S_LanguageInfo::do_Init( opt_iter & it, - opt_iter itEnd ) -{ - ++it; // Cur is language. - CHECKOPT( it != itEnd AND - *it == C_arg_Idl, - "language", - C_opt_LangAll ); - - if ( *it == C_arg_Idl ) { - eLanguage = idl; - } - else { - csv_assert(false); - } - - switch (eLanguage) - { - case idl: aExtensions.push_back( C_FileEnding_idl ); - CommandLine::Get_().Set_IdlUsed(); - break; - default: // do nothing. - ; - } - - ++it; // Cur is next option. -} - -void -S_LanguageInfo::InitExtensions( opt_iter & it, - opt_iter itEnd ) -{ - ++it; - CHECKOPT( it != itEnd AND (*it).char_at(0) == '.', - "extensions", - C_opt_ExtensionsAll ); - - StreamLock slCheck(150); - slCheck() << C_opt_ExtensionsAll - << " used without previous " - << C_opt_LangAll; - - CHECK( eLanguage != none, - slCheck().c_str() ); - - do { - aExtensions.push_back(*it); - ++it; - } while (it != itEnd AND (*it).char_at(0) == '.'); -} - - - -//************************** Parse ***********************// - -Parse::Parse() - : sRepositoryName(), - aGlobalLanguage(), - aProjects(), - sDevelopersManual_RefFilePath() -{ -} - -Parse::~Parse() -{ - csv::erase_container_of_heap_ptrs(aProjects); -} - -void -Parse::do_Init( opt_iter & it, - opt_iter itEnd ) -{ - for ( ; it != itEnd; ) - { - if (*it == C_opt_Name) - do_clName(it, itEnd); - else if (*it == C_opt_LangAll) - aGlobalLanguage.Init(it, itEnd); - else if (*it == C_opt_ExtensionsAll) - aGlobalLanguage.InitExtensions(it, itEnd); - else if (*it == C_opt_DevmanFile) - do_clDevManual(it, itEnd); - else if (*it == C_opt_Project) - do_clProject(it, itEnd); - else if ( *it == C_opt_SourceTree - OR *it == C_opt_SourceDir - OR *it == C_opt_SourceFile ) - do_clDefaultProject(it, itEnd); - else - break; - } // for -} - -void -Parse::do_clName( opt_iter & it, - opt_iter itEnd ) -{ - ++it; - CHECKOPT( it != itEnd AND (*it).char_at(0) != '-', - "name", - C_opt_Name ); - sRepositoryName = *it; - ++it; -} - -void -Parse::do_clDevManual( opt_iter & it, - opt_iter itEnd ) -{ - ++it; - CHECKOPT( it != itEnd AND (*it).char_at(0) != '-', - "link file path", - C_opt_DevmanFile ); - sDevelopersManual_RefFilePath = *it; - ++it; -} - -void -Parse::do_clProject( opt_iter & it, - opt_iter itEnd ) -{ - if ( aProjects.size() == 1 ) - { - if ( aProjects.front()->IsDefault() ) - throw X_CommandLine( "Both, named projects and a default project, cannot be used together." ); - } - - S_ProjectData * dpProject = new S_ProjectData(aGlobalLanguage); - ++it; - dpProject->Init(it, itEnd); - aProjects.push_back(dpProject); -} - -void -Parse::do_clDefaultProject( opt_iter & it, - opt_iter itEnd ) -{ - if ( !aProjects.empty() ) - { - throw X_CommandLine( "Both, named projects and a default project, cannot be used together." ); - } - - S_ProjectData * dpProject = new S_ProjectData( aGlobalLanguage, - S_ProjectData::default_prj ); - dpProject->Init(it, itEnd); - aProjects.push_back(dpProject); -} - -bool -Parse::do_Run() const -{ - run::Parser - aParser(*this); - return aParser.Perform(); -} - -int -Parse::inq_RunningRank() const -{ - return static_cast<int>(rank_Parse); -} - - - -//************************** S_Sources ***********************// - -void -S_Sources::do_Init( opt_iter & it, - opt_iter itEnd ) -{ - StringVector * - pList = 0; - csv_assert((*it)[0] == '-'); - - for ( ; it != itEnd; ++it) - { - if ((*it)[0] == '-') - { - if (*it == C_opt_SourceTree) - pList = &aTrees; - else if (*it == C_opt_SourceDir) - pList = &aDirectories; - else if (*it == C_opt_SourceFile) - pList = &aFiles; - else - return; - } - else - pList->push_back(*it); - } // end for -} - - - -//************************** S_ProjectData ***********************// - - -S_ProjectData::S_ProjectData( const S_LanguageInfo & i_globalLanguage ) - : sName(), - aRootDirectory(), - aLanguage(i_globalLanguage), - aFiles(), - bIsDefault(false) -{ -} - -S_ProjectData::S_ProjectData( const S_LanguageInfo & i_globalLanguage, - E_Default ) - : sName(), - aRootDirectory("."), - aLanguage(i_globalLanguage), - aFiles(), - bIsDefault(true) -{ -} - -S_ProjectData::~S_ProjectData() -{ -} - -void -S_ProjectData::do_Init( opt_iter & it, - opt_iter itEnd ) -{ - if (NOT IsDefault()) - { - CHECKOPT( it != itEnd AND (*it).char_at(0) != '-', - "name", - C_opt_Project ); - sName = *it; - ++it; - - CHECKOPT( it != itEnd AND (*it).char_at(0) != '-', - "root directory", - C_opt_Project ); - aRootDirectory.Set((*it).c_str(), true); - ++it; - } - - for ( ; it != itEnd; ) - { - if ( *it == C_opt_SourceTree - OR *it == C_opt_SourceDir - OR *it == C_opt_SourceFile ) - aFiles.Init(it, itEnd); -// else if (*it == C_opt_Lang) -// aLanguage.Init(it, itEnd); -// else if (*it == C_opt_Extensions) -// aLanguage.InitExtensions(it, itEnd); - else - break; - } // for -} - -} // namespace command -} // namespace autodoc - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx b/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx deleted file mode 100644 index ab7853494005..000000000000 --- a/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx +++ /dev/null @@ -1,200 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef ADC_ADC_CMD_PARSE_HXX -#define ADC_ADC_CMD_PARSE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "adc_cmd.hxx" - // COMPONENTS -#include <cosv/ploc.hxx> - // PARAMETERS - -namespace autodoc -{ -namespace command -{ - -/** A command context which holds the currently parsed programing language - and its valid file extensions. -*/ -struct S_LanguageInfo : public Context -{ - enum E_ProgrammingLanguage - { - none, - idl - }; - S_LanguageInfo() - : eLanguage(none), - aExtensions() {} - ~S_LanguageInfo(); - - void InitExtensions( - opt_iter & it, - opt_iter itEnd ); - // DATA - E_ProgrammingLanguage - eLanguage; - StringVector aExtensions; // An empty string is possible and means exactly that: files without extension. - - private: - // Interface Context: - virtual void do_Init( - opt_iter & it, - opt_iter itEnd ); -}; - - -class S_ProjectData; - - -/** A command that parses source code into the Autodoc Repository. -*/ -class Parse : public Command -{ - public: - typedef std::vector< DYN S_ProjectData * > ProjectList; - typedef ProjectList::const_iterator ProjectIterator; - - Parse(); - ~Parse(); - - // INQUIRY - const String & ReposyName() const; - const S_LanguageInfo & - GlobalLanguage() const; - ProjectIterator ProjectsBegin() const; - ProjectIterator ProjectsEnd() const; - const String & DevelopersManual_RefFilePath() const - { return sDevelopersManual_RefFilePath; } - - private: - // Interface Context: - virtual void do_Init( - opt_iter & i_nCurArgsBegin, - opt_iter i_nEndOfAllArgs ); - // Interface Command: - virtual bool do_Run() const; - virtual int inq_RunningRank() const; - - // Locals - void do_clName( - opt_iter & it, - opt_iter itEnd ); - void do_clDevManual( - opt_iter & it, - opt_iter itEnd ); - void do_clProject( - opt_iter & it, - opt_iter itEnd ); - void do_clDefaultProject( - opt_iter & it, - opt_iter itEnd ); - - // DATA - String sRepositoryName; - S_LanguageInfo aGlobalLanguage; - - ProjectList aProjects; - - String sDevelopersManual_RefFilePath; -}; - -inline const String & -Parse::ReposyName() const - { return sRepositoryName; } -inline const S_LanguageInfo & -Parse::GlobalLanguage() const - { return aGlobalLanguage; } -inline Parse::ProjectIterator -Parse::ProjectsBegin() const - { return aProjects.begin(); } -inline Parse::ProjectIterator -Parse::ProjectsEnd() const - { return aProjects.end(); } -//inline const String & -//Parse::DevelopersManual_RefFilePath() const -// { return sDevelopersManual_RefFilePath; } -//inline const String & -//Parse::DevelopersManual_HtmlRoot() const -// { return sDevelopersManual_HtmlRoot; } - - -struct S_Sources : public Context -{ - StringVector aTrees; - StringVector aDirectories; - StringVector aFiles; - - private: - // Interface Context: - virtual void do_Init( - opt_iter & it, - opt_iter itEnd ); -}; - -class S_ProjectData : public Context -{ - public: - enum E_Default { default_prj }; - - S_ProjectData( - const S_LanguageInfo & - i_globalLanguage ); - S_ProjectData( - const S_LanguageInfo & - i_globalLanguage, - E_Default unused ); - ~S_ProjectData(); - - bool IsDefault() const { return bIsDefault; } - const String & Name() const { return sName; } - const csv::ploc::Path & - RootDirectory() const { return aRootDirectory; } - const S_LanguageInfo & - Language() const { return aLanguage; } - const S_Sources Sources() const { return aFiles; } - - private: - // Interface Context: - virtual void do_Init( - opt_iter & it, - opt_iter itEnd ); - // Locals - - // DATA - String sName; - csv::ploc::Path aRootDirectory; - S_LanguageInfo aLanguage; - S_Sources aFiles; - bool bIsDefault; -}; - - -} // namespace command -} // namespace autodoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/adc_cmds.cxx b/autodoc/source/exes/adc_uni/adc_cmds.cxx deleted file mode 100644 index 79bbade7dbda..000000000000 --- a/autodoc/source/exes/adc_uni/adc_cmds.cxx +++ /dev/null @@ -1,148 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> -#include "adc_cmds.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/ary.hxx> -#include <autodoc/displaying.hxx> -#include <autodoc/dsp_html_std.hxx> -#include <display/corframe.hxx> -#include <adc_cl.hxx> - - -namespace autodoc -{ -namespace command -{ - -extern const String C_opt_Include("-I:"); - -extern const String C_opt_Verbose("-v"); - -extern const String C_opt_Parse("-parse"); -extern const String C_opt_Name("-name"); -extern const String C_opt_LangAll("-lg"); -extern const String C_opt_ExtensionsAll("-extg"); -extern const String C_opt_DevmanFile("-dvgfile"); -extern const String C_opt_SinceFile("-sincefile"); - -extern const String C_arg_Idl("idl"); - -extern const String C_opt_Project("-p"); -//extern const String C_opt_Lang; -//extern const String C_opt_Extensions; -extern const String C_opt_SourceDir("-d"); -extern const String C_opt_SourceTree("-t"); -extern const String C_opt_SourceFile("-f"); - -extern const String C_opt_CreateHtml("-html"); -extern const String C_opt_DevmanRoot("-dvgroot"); - -//extern const String C_opt_CreateXml("-xml"); -//extern const String C_opt_Load("-load"); -//extern const String C_opt_Save("-save"); - -extern const String C_opt_ExternNamespace("-extnsp"); -extern const String C_opt_ExternRoot("-extroot"); - - - -//************************** CreateHTML ***********************// - -CreateHtml::CreateHtml() - : sOutputRootDirectory(), - sDevelopersManual_HtmlRoot() -{ -} - -CreateHtml::~CreateHtml() -{ -} - -void -CreateHtml::do_Init( opt_iter & it, - opt_iter itEnd ) -{ - ++it; - CHECKOPT( it != itEnd && (*it).char_at(0) != '-', - "output directory", C_opt_CreateHtml ); - sOutputRootDirectory = *it; - - for ( ++it; - it != itEnd AND (*it == C_opt_DevmanRoot); - ++it ) - { - if (*it == C_opt_DevmanRoot) - { - ++it; - CHECKOPT( it != itEnd AND (*it).char_at(0) != '-', - "HTML root directory of Developers Guide", - C_opt_DevmanRoot ); - sDevelopersManual_HtmlRoot = *it; - } - } // end for -} - -bool -CreateHtml::do_Run() const -{ - if ( CommandLine::Get_().IdlUsed() ) - run_Idl(); - return true; -} - -int -CreateHtml::inq_RunningRank() const -{ - return static_cast<int>(rank_CreateHtml); -} - -void -CreateHtml::run_Idl() const -{ - const ary::idl::Gate & - rGate = CommandLine::Get_().TheRepository().Gate_Idl(); - - Cout() << "Creating HTML-output into the directory " - << sOutputRootDirectory - << "." - << Endl(); - - const DisplayToolsFactory_Ifc & - rToolsFactory = DisplayToolsFactory_Ifc::GetIt_(); - Dyn<autodoc::HtmlDisplay_Idl_Ifc> - pDisplay( rToolsFactory.Create_HtmlDisplay_Idl() ); - - DYN display::CorporateFrame & // KORR_FUTURE: Remove the need for const_cast - drFrame = const_cast< display::CorporateFrame& >(rToolsFactory.Create_StdFrame()); - if (NOT DevelopersManual_HtmlRoot().empty()) - drFrame.Set_DevelopersGuideHtmlRoot( DevelopersManual_HtmlRoot() ); - - pDisplay->Run( sOutputRootDirectory, - rGate, - drFrame ); -} - -} // namespace command -} // namespace autodoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/adc_cmds.hxx b/autodoc/source/exes/adc_uni/adc_cmds.hxx deleted file mode 100644 index 19607e961385..000000000000 --- a/autodoc/source/exes/adc_uni/adc_cmds.hxx +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef ADC_ADC_CMDS_HXX -#define ADC_ADC_CMDS_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "adc_cmd.hxx" - // COMPONENTS - // PARAMETERS - -namespace autodoc -{ -namespace command -{ - - -/** A command that produces HTML output from the Autodoc Repository. -*/ -class CreateHtml : public Command -{ - public: - CreateHtml(); - ~CreateHtml(); - - const String & OutputDir() const; - const String & DevelopersManual_HtmlRoot() const - { return sDevelopersManual_HtmlRoot; } - - private: - // Interface Context: - virtual void do_Init( - opt_iter & i_nCurArgsBegin, - opt_iter i_nEndOfAllArgs ); - // Interface Command: - virtual bool do_Run() const; - virtual int inq_RunningRank() const; - - // Locals - void run_Idl() const; - - // DATA - String sOutputRootDirectory; - String sDevelopersManual_HtmlRoot; -}; - -inline const String & -CreateHtml::OutputDir() const - { return sOutputRootDirectory; } - - -extern const String C_opt_Verbose; - -extern const String C_opt_Parse; -extern const String C_opt_Name; -extern const String C_opt_LangAll; -extern const String C_opt_ExtensionsAll; -extern const String C_opt_DevmanFile; -extern const String C_opt_SinceFile; - -extern const String C_arg_Idl; - -extern const String C_opt_Project; -//extern const String C_opt_Lang; -//extern const String C_opt_Extensions; -extern const String C_opt_SourceTree; -extern const String C_opt_SourceDir; -extern const String C_opt_SourceFile; - -extern const String C_opt_CreateHtml; -extern const String C_opt_DevmanRoot; - -//extern const String C_opt_CreateXml; -//extern const String C_opt_Load; -//extern const String C_opt_Save; - -extern const String C_opt_ExternNamespace; -extern const String C_opt_ExternRoot; - - -inline void -CHECKOPT( bool b, const char * miss, const String & opt ) -{ - if ( NOT b ) - { - StreamLock slMsg(100); - throw X_CommandLine( slMsg() << "Missing " << miss <<" after " << opt << "." << c_str ); - } -} - -} // namespace command -} // namespace autodoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/adc_msg.cxx b/autodoc/source/exes/adc_uni/adc_msg.cxx deleted file mode 100644 index bf34e406f081..000000000000 --- a/autodoc/source/exes/adc_uni/adc_msg.cxx +++ /dev/null @@ -1,196 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> -#include <adc_msg.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <cosv/file.hxx> -#include <cosv/tpl/tpltools.hxx> - - -namespace autodoc -{ - - -Messages::Messages() - : aMissingDocs(), - aParseErrors(), - aInvalidConstSymbols(), - aUnresolvedLinks(), - aTypeVsMemberMisuses() -{ -} - -Messages::~Messages() -{ -} - -void -Messages::WriteFile(const String & i_sOutputFilePath) -{ - csv::File - aOut(i_sOutputFilePath, csv::CFM_CREATE); - aOut.open(); - - // KORR_FUTURE Enable this when appropriate: - WriteParagraph( aOut, - aParseErrors, - "Incompletely Parsed Files" ); - - WriteParagraph( aOut, - aMissingDocs, - "Entities Without Documentation" ); - - WriteParagraph( aOut, - aInvalidConstSymbols, - "Incorrectly Written Const Symbols" ); - - WriteParagraph( aOut, - aUnresolvedLinks, - "Unresolved Links" ); - - WriteParagraph( aOut, - aTypeVsMemberMisuses, - "Confusion or Misuse of <Type> vs. <Member>" ); - aOut.close(); -} - -void -Messages::Out_MissingDoc( const String & i_sEntity, - const String & i_sFile, - uintt i_nLine) -{ - AddValue( aMissingDocs, - i_sEntity, - i_sFile, - i_nLine ); -} - -void -Messages::Out_ParseError( const String & i_sFile, - uintt i_nLine) -{ - aParseErrors[Location(i_sFile,i_nLine)] = String::Null_(); -} - -void -Messages::Out_InvalidConstSymbol( const String & i_sText, - const String & i_sFile, - uintt i_nLine) -{ - AddValue( aInvalidConstSymbols, - i_sText, - i_sFile, - i_nLine ); -} - -void -Messages::Out_UnresolvedLink( const String & i_sLinkText, - const String & i_sFile, - uintt i_nLine) -{ - AddValue( aUnresolvedLinks, - i_sLinkText, - i_sFile, - i_nLine ); -} - -void -Messages::Out_TypeVsMemberMisuse( const String & i_sLinkText, - const String & i_sFile, - uintt i_nLine) -{ - AddValue( aTypeVsMemberMisuses, - i_sLinkText, - i_sFile, - i_nLine ); -} - -Messages & -Messages::The_() -{ - static Messages TheMessages_; - return TheMessages_; -} - -void -Messages::AddValue( MessageMap & o_dest, - const String & i_sText, - const String & i_sFile, - uintt i_nLine ) -{ - String & - rDest = o_dest[Location(i_sFile,i_nLine)]; - StreamLock - slDest(2000); - if (NOT rDest.empty()) - slDest() << rDest; - slDest() << "\n " << i_sText; - rDest = slDest().c_str(); -} - -void -Messages::WriteParagraph( csv::File & o_out, - const MessageMap & i_source, - const String & i_title ) -{ - StreamStr aLine(2000); - - // Write title of paragraph: - aLine << i_title - << "\n"; - o_out.write(aLine.c_str()); - - aLine.seekp(0); - for (uintt i = i_title.size(); i > 0; --i) - { - aLine << '-'; - } - aLine << "\n\n"; - o_out.write(aLine.c_str()); - - // Write Content - MessageMap::const_iterator it = i_source.begin(); - MessageMap::const_iterator itEnd = i_source.end(); - for ( ; it != itEnd; ++it ) - { - aLine.seekp(0); - aLine << (*it).first.sFile; - // Nobody wants to see this, if we don't know the line: - if ((*it).first.nLine != 0) - { - aLine << ", line " - << (*it).first.nLine; - } - if (NOT (*it).second.empty()) - { - aLine << ':' - << (*it).second - << "\n"; - } - o_out.write(aLine.c_str()); - } - o_out.write("\n\n\n"); -} - -} // namespace autodoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/cmd_run.cxx b/autodoc/source/exes/adc_uni/cmd_run.cxx deleted file mode 100644 index a73322a5e544..000000000000 --- a/autodoc/source/exes/adc_uni/cmd_run.cxx +++ /dev/null @@ -1,241 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> -#include "cmd_run.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/file.hxx> -#include <cosv/x.hxx> -#include <ary/ary.hxx> -#include <ary/idl/i_ce.hxx> -#include <ary/idl/i_gate.hxx> -#include <ary/idl/i_module.hxx> -#include <ary/idl/ip_ce.hxx> -#include <autodoc/filecoli.hxx> -#include <autodoc/parsing.hxx> -#include <autodoc/prs_docu.hxx> -#include <parser/unoidl.hxx> -#include <adc_cl.hxx> -#include "adc_cmd_parse.hxx" -#include "adc_cmds.hxx" - -namespace autodoc -{ -namespace command -{ -namespace run -{ - -Parser::Parser( const Parse & i_command ) - : rCommand(i_command), - pCppDocuInterpreter(), - pIdlParser() -{ -} - -Parser::~Parser() -{ -} - -bool -Parser::Perform() -{ - Cout() << "Parsing the repository " - << rCommand.ReposyName() - << " ..." - << Endl(); - try - { - ::ary::Repository & - rAry = CommandLine::Get_().TheRepository(); - rAry.Set_Title(rCommand.ReposyName()); - - Dyn< FileCollector_Ifc > - pFiles( ParseToolsFactory().Create_FileCollector(6000) ); - - bool bIDL = false; - - command::Parse::ProjectIterator - itEnd = rCommand.ProjectsEnd(); - for ( command::Parse::ProjectIterator it = rCommand.ProjectsBegin(); - it != itEnd; - ++it ) - { - uintt nCount = GatherFiles( *pFiles, *(*it) ); - Cout() << nCount - << " files found to parse in project " - << (*it)->Name() - << "." - << Endl(); - - switch ( (*it)->Language().eLanguage ) - { - case command::S_LanguageInfo::idl: - { - Get_IdlParser().Run(*pFiles); - bIDL = true; - } break; - default: - Cerr() << "Project in yet unimplemented language skipped." - << Endl(); - } - } // end for - - if (bIDL) - { - rAry.Gate_Idl().Calculate_AllSecondaryInformation( - rCommand.DevelopersManual_RefFilePath() ); - -// ::ary::idl::SecondariesPilot & -// rIdl2sPilot = rAry.Gate_Idl().Secondaries(); -// -// rIdl2sPilot.CheckAllInterfaceBases( rAry.Gate_Idl() ); -// rIdl2sPilot.Connect_Types2Ces(); -// rIdl2sPilot.Gather_CrossReferences(); -// -// if (NOT rCommand.DevelopersManual_RefFilePath().empty()) -// { -// csv::File -// aFile(rCommand.DevelopersManual_RefFilePath(), csv::CFM_READ); -// if ( aFile.open() ) -// { -// rIdl2sPilot.Read_Links2DevManual(aFile); -// aFile.close(); -// } -// } - } // endif (bIDL) - - return true; - - } // end try - catch (csv::Exception & xx) - { - xx.GetInfo(Cerr()); - Cerr() << " program will exit." << Endl(); - - return false; - } -} - -IdlParser & -Parser::Get_IdlParser() -{ - if ( NOT pIdlParser ) - Create_IdlParser(); - return *pIdlParser; -} - -void -Parser::Create_IdlParser() -{ - pIdlParser = new IdlParser(CommandLine::Get_().TheRepository()); -} - -const ParseToolsFactory_Ifc & -Parser::ParseToolsFactory() -{ - return ParseToolsFactory_Ifc::GetIt_(); -} - -uintt -Parser::GatherFiles( FileCollector_Ifc & o_rFiles, - const S_ProjectData & i_rProject ) -{ - uintt ret = 0; - o_rFiles.EraseAll(); - - typedef StringVector StrVector; - typedef StrVector::const_iterator StrIterator; - const S_Sources & - rSources = i_rProject.Sources(); - const StrVector & - rExtensions = i_rProject.Language().aExtensions; - - StrIterator it; - StrIterator itTreesEnd = rSources.aTrees.end(); - StrIterator itDirsEnd = rSources.aDirectories.end(); - StrIterator itFilesEnd = rSources.aFiles.end(); - StrIterator itExt; - StrIterator itExtEnd = rExtensions.end(); - - csv::StreamStr aDir(500); - i_rProject.RootDirectory().Get( aDir ); - - uintt nProjectDir_AddPosition = - ( strcmp(aDir.c_str(),".\\") == 0 OR strcmp(aDir.c_str(),"./") == 0 ) - ? 0 - : uintt( aDir.tellp() ); - - for ( it = rSources.aDirectories.begin(); - it != itDirsEnd; - ++it ) - { - aDir.seekp( nProjectDir_AddPosition ); - aDir << *it; - - for ( itExt = rExtensions.begin(); - itExt != itExtEnd; - ++itExt ) - { - ret += o_rFiles.AddFilesFrom( aDir.c_str(), - *itExt, - FileCollector_Ifc::flat ); - } // end for itExt - } // end for it - for ( it = rSources.aTrees.begin(); - it != itTreesEnd; - ++it ) - { - aDir.seekp( nProjectDir_AddPosition ); - aDir << *it; - - for ( itExt = rExtensions.begin(); - itExt != itExtEnd; - ++itExt ) - { - ret += o_rFiles.AddFilesFrom( aDir.c_str(), - *itExt, - FileCollector_Ifc::recursive ); - } // end for itExt - } // end for it - for ( it = rSources.aFiles.begin(); - it != itFilesEnd; - ++it ) - { - aDir.seekp( nProjectDir_AddPosition ); - aDir << *it; - - o_rFiles.AddFile( aDir.c_str() ); - } // end for it - ret += rSources.aFiles.size(); - - return ret; -} - - -} // namespace run -} // namespace command -} // namespace autodoc - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/cmd_run.hxx b/autodoc/source/exes/adc_uni/cmd_run.hxx deleted file mode 100644 index 91698779eb1e..000000000000 --- a/autodoc/source/exes/adc_uni/cmd_run.hxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef ADC_CMD_RUN_HXX -#define ADC_CMD_RUN_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <cosv/comdline.hxx> - // COMPONENTS - // PARAMETERS - -namespace autodoc -{ - class FileCollector_Ifc; - class ParseToolsFactory_Ifc; - class DocumentationParser_Ifc; - class IdlParser; - - -namespace command -{ - class Parse; - class S_ProjectData; - struct S_LanguageInfo; - -namespace run -{ - -/** Performs an ::autodoc::command::Parse . -*/ -class Parser -{ - public: - Parser( - const Parse & i_command ); - ~Parser(); - - bool Perform(); - - private: - // Locals - IdlParser & Get_IdlParser(); - void Create_IdlParser(); - const ParseToolsFactory_Ifc & - ParseToolsFactory(); - uintt GatherFiles( - FileCollector_Ifc & o_rFiles, - const S_ProjectData & - i_rProject ); - // DATA - const Parse & rCommand; - - Dyn<DocumentationParser_Ifc> - pCppDocuInterpreter; - Dyn<IdlParser> pIdlParser; -}; - - - - -// IMPLEMENTATION - - -} // namespace run -} // namespace command -} // namespace autodoc - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/cmd_sincedata.cxx b/autodoc/source/exes/adc_uni/cmd_sincedata.cxx deleted file mode 100644 index d2ebb0db684a..000000000000 --- a/autodoc/source/exes/adc_uni/cmd_sincedata.cxx +++ /dev/null @@ -1,123 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> -#include "cmd_sincedata.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/file.hxx> -#include <cosv/tpl/tpltools.hxx> -#include "adc_cmds.hxx" - - - -namespace autodoc -{ -namespace command -{ - -SinceTagTransformationData::SinceTagTransformationData() - : aTransformationTable() -{ -} - -SinceTagTransformationData::~SinceTagTransformationData() -{ -} - -bool -SinceTagTransformationData::DoesTransform() const -{ - return NOT aTransformationTable.empty(); -} - -const String & -SinceTagTransformationData::DisplayOf( const String & i_versionNumber ) const -{ - if (DoesTransform()) - { - StreamLock - sl(200); - sl() << i_versionNumber; - sl().strip_frontback_whitespace(); - String - sVersionNumber(sl().c_str()); - - const String * - ret = csv::find_in_map(aTransformationTable, sVersionNumber); - return ret != 0 - ? *ret - : String::Null_(); - } - else - { - return i_versionNumber; - } -} - -void -SinceTagTransformationData::do_Init( opt_iter & it, - opt_iter itEnd ) -{ - ++it; // Cur is since-file path. - - CHECKOPT( it != itEnd , - "file path", - C_opt_SinceFile ); - - csv::File aSinceFile(*it); - csv::OpenCloseGuard aSinceFileGuard(aSinceFile); - StreamStr sLine(200); - - if (aSinceFileGuard) - { - for ( sLine.operator_read_line(aSinceFile); - NOT sLine.empty(); - sLine.operator_read_line(aSinceFile) ) - { - - if (*sLine.begin() != '"') - continue; - - const char * pVersion = sLine.c_str() + 1; - const char * pVersionEnd = strchr(pVersion, '"'); - if (pVersionEnd == 0) - continue; - const char * pDisplay = strchr(pVersionEnd+1, '"'); - if (pDisplay == 0) - continue; - ++pDisplay; - const char * pDisplayEnd = strchr(pDisplay, '"'); - if (pDisplayEnd == 0) - continue; - - aTransformationTable[ String(pVersion,pVersionEnd) ] - = String(pDisplay,pDisplayEnd); - sLine.clear(); - } // end for - } // end if - - ++it; // Cur is next option. -} - -} // namespace command -} // namespace autodoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/cmd_sincedata.hxx b/autodoc/source/exes/adc_uni/cmd_sincedata.hxx deleted file mode 100644 index ee8ba84fd7c1..000000000000 --- a/autodoc/source/exes/adc_uni/cmd_sincedata.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef ADC_CMD_SINCEDATA_HXX -#define ADC_CMD_SINCEDATA_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "adc_cmd.hxx" - // COMPONENTS - // PARAMETERS - -namespace autodoc -{ -namespace command -{ - - -/** Provides replacements for the contents of the @@since documentation tag. - - Because the @@since tag is part of the source code, it allows only one kind - of version information there. If this is to be mapped for different products - (example: from OpenOffice.org versions in the @@since tag to StarOffice or - StarSuite products), the value of @@since needs a replacement, which is provided - by this class. - -*/ -class SinceTagTransformationData : public Context -{ - public: - /** The key of this map are the version numbers within @since. - The value is the string to display for each version number. - */ - typedef std::map<String,String> Map_Version2Display; - - // LIFECYCLE - SinceTagTransformationData(); - virtual ~SinceTagTransformationData(); - - // INQUIRY - /// False, if no transformation table exists. - bool DoesTransform() const; - - /** Gets the string to display for a version number. - - @param i_sVersionNumber - Usually should be the result of ->StripSinceTagValue(). - */ - const String & DisplayOf( - const String & i_sVersionNumber ) const; - private: - // Interface Context: - virtual void do_Init( - opt_iter & i_nCurArgsBegin, - opt_iter i_nEndOfAllArgs ); - // DATA - Map_Version2Display aTransformationTable; -}; - - -} // namespace command -} // namespace autodoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/main.cxx b/autodoc/source/exes/adc_uni/main.cxx deleted file mode 100644 index 725218dcf503..000000000000 --- a/autodoc/source/exes/adc_uni/main.cxx +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <precomp.h> - - -// NOT FULLY DECLARED SERVICES - -#include <adc_cl.hxx> -#include "cmd_run.hxx" - - -int -#ifdef WNT - __cdecl -#endif -main( int argc, - char * argv[] ) -{ - autodoc::CommandLine aCL; - aCL.Init(argc, argv); - if (NOT aCL.CheckParameters() ) - return 1; - - int ret = aCL.Run(); - return ret; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/exes/adc_uni/spec-CommandLine.txt b/autodoc/source/exes/adc_uni/spec-CommandLine.txt deleted file mode 100644 index 20560e719fa6..000000000000 --- a/autodoc/source/exes/adc_uni/spec-CommandLine.txt +++ /dev/null @@ -1,197 +0,0 @@ -# -# 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/. -# -# This file incorporates work covered by the following license notice: -# -# 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 . -# - - Command Line Options - -------------------- - -autodoc [-v <level>] - -html <out> - [-extroot <externroot> -extnsp <externnamespace>] - -lg <proglang> - [-t <sourcetree>[ <sourcetree> ...] - [-d <sourcedir>[ <sourcedir> ...] - [-f <sourcefile>[ <sourcefile> ...] - - - -html <OutputDirectory> - Directory where the output will be created. - - -lg <ProgrammingLanguage> - Allowed values: "idl" - - -extroot <externroot> - Only together with "-lg idl" and -extnsp. - Links to code entities not found within the current parsed - code, will be linked there, but only if -extnsp is given and - the linked entity is in the given namespace. - <externroot> is a http link, it needs no "http://" at the - beginning nor slash at the end. - - -extnsp <externnamespace> - Only together with "-lg idl" and -extroot. - If a code entity is not found in the current parsed code, but - dwells in the namespace (or its children) given here, it is - linked into the locátion given by -extroot. - <externnamespace> is an absolute qualified namespace, - starting with "::". - - -t <SourceTree>* - Directory with all subdirectories. - - -d <SourceDirectory>* - Directory without subdirectories. - - -f <SourceFile>* - Any file. Here also files with extensions not matching the - language are accepted. - - -I:<ResponseFile> - Each line in the response file has to have one command line - option. No whitespace at start of line. - - -C:<ConfigurationFile> - Format see below. - - -v <VerboseLevel> - Only for debugging. Bits 1, 2 and 4 in any combination give - different output. - - -h - Displays help. - -? - Displays help. - - - - - - Command Line Options especially for the OpenOffice.org SDK - ---------------------------------------------------------- - - -dvgroot <DevelopersGuide> - Root directory of the SDK Developers Guide. - - -dvgfile <ReferenceFile> - File with references to the SDK Developers Guide. - - -sincefile <@since-AssociationFile> - File that maps OpenOffice versions to the wished displayed version names. - - -idlref <IdlDocumentationRoot> <Namespace[,Namespace ...]> - Gives the outputdirectory of an IDL documentation, where - symbols not found in the currently parsed namespaces of C++ - can be found. - - - - Configure File Format - --------------------- - -<AutodocConfiguration> - <RepositoryName></RepositoryName> - // Base name of the binary repository files. - // Has to be a valid file name. - - <HtmlOutputTitle></HtmlOutputTitle> - // Title on the "welcome page" of the created HTML documentation. - // Can be any text. - - <CppExtensions></CppExtensions> - // Overwrites the default. Default is: .hxx .h .hpp - // Format: File extensions with a dot in front, like ".hcc". - - <IdlExtensions></IdlExtensions> - // Overwrites the default. Default is: .idl - // Format: File extensions with a dot in front, like ".txt". - - <CppDocu html="(on|off) off"/> - - <IdlDocu html="(on|off) on"/> - -</AutodocConfiguration> - - - - - - - Historical Command Line Options - ------------------------------- - -autodoc.exe - [ -v <VerboseNr> ] - -html <OutputDirectory> - { - [ -parse ] - [ -name <RepositoryName> ] - -lg <ProgrammingLanguage> - { - [ -p <ProjectName> <ProjectRootDirectory> ] - { - -t <SourceDirectory>* - -d <SourceDirectory>* - -f <SourceFile>* - }+ - }+ - } - -Legend: - <Text> - command line parameter - [ ] - optional - { } - Block of connected options. - The sequence of not connected options does not matter. So the -html or -v options can be used before or after all the parsing options. - + - once or more times - * - none or more times - - -Explanation of the Options - -v <VerboseNr> Only for debugging. Bits 1, 2 and 4 in any combination give different output. - -html <OutputDirectory> - Gives the directory, where a HTML version of the docu shall be generated. - -parse Starts the block, where all the parse options are given. This can be omitted, because the parse options are identifiable without it, but it may make a commandline more readable. - -name <RepositoryName> This name appears as title of the documentation (currently only in the in the C++ version). - -lg <ProgrammingLanguage> - - - Possible values are: - - idl - This parses all files with the ending .idl . - - -p with -t/-d/-f: If there are more than one project, the -p option is required for each one. - - The directory given wit the -p option is the root directory of the project. - If there is no -p option, the working directory is seen as root. - - All paths given with -t/-d/-f are relative to that root directory. It is possible to use "." as argument for -t or -d. - - Each of -t/-d/-f can have several arguments: - One could write "-f file1.hxx file2.hxx file_xyz.hxx" - After each -p (or after -lg, if there is no -p option), there has to be at least one of the following three: - -t Tree, which means: include subdirectories - -d Directory, which means: no subdirectories - -f File", which means: single file name with ending. - This option also allows to parse some files with an ending different from those, the -lg option implies. - - - diff --git a/autodoc/source/exes/adc_uni/spec-SinceTag_Handling.txt b/autodoc/source/exes/adc_uni/spec-SinceTag_Handling.txt deleted file mode 100644 index 502224cd654e..000000000000 --- a/autodoc/source/exes/adc_uni/spec-SinceTag_Handling.txt +++ /dev/null @@ -1,67 +0,0 @@ -# -# 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/. -# -# This file incorporates work covered by the following license notice: -# -# 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 . -# - - General Handling - ---------------- - -- The developer inserts the OpenOffice.org version into the @since tag. - -- @since-Tag may contain any string which needs to end with a Version number. - The first cipher following immediately on a white space is interpreted as start of the version number. - -- The @since Tag must stay completely within one line to allow tool support for retargeting. - -- To replace @since entries in the generated documentation, one needs to use - the command line option - - -sincefile <TransformationFile-path> - - This option has to occur immediately after the -html option. - If this option is not given, the original text of the @since tag is - displayed. - - If the TransformationFile does not contain a specific entry, - nothing is displayed for this entry. - - - - Format of the @since Tag Transformation File - -------------------------------------------- - -Example -------- - -***** BEGIN OF FILE ****** -"1.1" "StarOffice 7.0" -"2.0" "StarOffice 8.0" -"2.1" "StarOffice 9.0" -***** END OF FILE ****** - - - -Rules and Restrictions ----------------------- - -* Each line contains two strings within "". - The first string is the OpenOffice.org version number which is found in the @since tag. - The second string is the string to display for this version. -* No specific order among product versions is needed. -* Empty lines and whitespaces are allowed, except: - - Non empty lines must not start with white space. - - Within OpenOffice.org version strings, no whitespace is allowed. -* Whitespace within display strings is displayed as it is. |