# # checknewapi - a perl script to check for new API's # using two outputs from regview and dump the interscetion # of new types # # Copyright 2000, 2010 Oracle and/or its affiliates. # if($#ARGV != 3) { die "usage: checknewapi \n"; } -e "$ARGV[0]" || die "ERROR: type library \"$ARGV[0]\" does not exist\n"; -e "$ARGV[1]" || die "ERROR: reference type library \"$ARGV[1]\" does not exist\n"; -e "$ARGV[3]" || die "ERROR: invalid path to the regview tool \"$ARGV[3]\", please specify the full qualified path\n"; # debug flag $DEBUG = 0; $main::buildinfo = "$ARGV[2]"; $main::regview = "$ARGV[3]"; %{$main::reftypes} = (); %{$main::currenttypes} = (); %{$main::removedtypes} = (); open ( FILEIN, "$main::regview \"$ARGV[0]\" |" ) || die "could not use content of current typelibrary \"$ARGV[0]\", regview doesn't work\n"; if ($DEBUG == 1) { open( CURRENT, ">current_types.txt" ) || die "\nERROR: could not open current_types.txt for writing"; } $first = 1; $linebefore = ""; $published = 0; $typeclass = ""; while () { if ($first == 0) { if ( $linebefore =~ m#type class: published (.+)# ) { $published = 1; $typeclass = $1; } elsif ( $linebefore =~ m#type class: (.+)# ) { $published = 0; $typeclass = $1; } else { $published = 0; $typeclass = ""; } } else { $first = 0; } if ( (!$typeclass eq "") && ($_ =~ m# *type name: \"([^\[.]+)\"#) ) { if ($DEBUG == 1) { print CURRENT "$1\n"; } if ( ! exists $main::currenttypes->{$1} ) { $main::currenttypes->{$1} = { PUBLISHED => $published, TYPECLASS => $typeclass, COUNT => 1 }; # print "### $main::currenttypes->{$1}->{PUBLISHED} $main::currenttypes->{$1}->{TYPECLASS} $main::currenttypes->{$1}->{COUNT}\n"; } } $linebefore = $_; } close( FILEIN ); close( CURRENT ); open ( FILEIN, "$main::regview \"$ARGV[1]\" |" ) || die "could not use content of reference type library \"$ARGV[1]\", regview doesn't work\n"; if ($DEBUG == 1) { open( REFERENCE, ">reference_types.txt" ) || die "\nERROR: could not open reference_types.txt for writing"; } # reset variables $first = 1; $linebefore = ""; $published = 0; $typeclass = ""; while () { if ($first == 0) { if ( $linebefore =~ m#type class: published (.+)# ) { $published = 1; $typeclass = $1; } elsif ( $linebefore =~ m#type class: (.+)# ) { $published = 0; $typeclass = $1; } else { $published = 0; $typeclass = ""; } } else { $first = 0; } if ( (!$typeclass eq "") && ($_ =~ m# *type name: \"([^\[.]+)\"#) ) { if ($DEBUG == 1) { print REFERENCE "$1\n"; } if ( ! exists $main::reftypes->{$1} ) { $main::reftypes->{$1}++; if ( exists $main::currenttypes->{$1} ) { $main::currenttypes->{$1}->{COUNT}++; # print "###### $main::currenttypes->{$1}->{PUBLISHED} $main::currenttypes->{$1}->{TYPECLASS} $main::currenttypes->{$1}->{COUNT}\n"; } else { if ($published == 0) { $main::removedtypes->{$1} = { PUBLISHED => $published, TYPECLASS => $typeclass }; } else { print "ERROR: type $1 is only in reference type library, this can't be happen\n"; } } } } $linebefore = $_; } close( FILEIN ); close( REFERENCE ); @typekeys = keys %{$main::currenttypes}; $allunotypes = $#typekeys+1; $newunotypes = 0; $newpublished = 0; $draftscount = 0; $draftspublished = 0; foreach $i ( sort @typekeys ) { if ( $main::currenttypes->{$i}->{COUNT} == 1 && !("$main::currenttypes->{$i}->{TYPECLASS}" eq "module")) { $newunotypes++; my $t = $i; $t =~ s#/#\.#go; if ($main::currenttypes->{$i}->{PUBLISHED} == 1) { print "published "; $newpublished++; } if ( $t =~ m#drafts\.com.+#) { $draftscount++; if ($main::currenttypes->{$i}->{PUBLISHED} == 1) { $draftspublished++; } } print "$main::currenttypes->{$i}->{TYPECLASS} = $t\n"; } } # count removed not yet published types $removednotpublished = 0; @removedtypekeys = keys %{$main::removedtypes}; foreach $i ( sort @removedtypekeys ) { $removednotpublished++; my $t = $i; $t =~ s#/#\.#go; print "removed not yet published $main::currenttypes->{$i}->{TYPECLASS} = $t\n"; } print "\n=======================================================\n\n"; print "Summary [last check for $main::buildinfo]:\n\n"; print "Number of UNO types = $allunotypes\n"; print "Number of new UNO types = $newunotypes\n"; print "New and published types = $newpublished\n"; print "New and draft types = $draftscount\n"; print "New, draft and published = $draftspublished\n"; print "Removed and not published = $removednotpublished\n"; exit 0; /libreoffice-4-1-6+backports LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-04-12oox: add model::BlipFilll and import blip (graphic) fill elementsTomaž Vajngerl
2023-03-16tdf#102261: pptx import: handle defTabSzSarper Akdemir
2022-08-18Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxxStephan Bergmann
2022-06-27replace oox::OptValue with std::optionalNoel Grandin
2022-06-24almost nobody is using the oox::AttributeList::get methods properlyNoel Grandin
2022-06-22rename oox::OptValue::get to valueNoel Grandin
2022-06-21rename oox::OptValue::has() to has_valueNoel Grandin
2022-04-29oox: make buSzTx and buFontTx behave the same way as buClrTxXisco Fauli
2022-01-30Recheck modules [o-r]* with IWYUGabor Kelemen
2021-02-05Make sanitiseMm100ToTwip simpler and more correctMike Kaganski
2021-02-04have one set of twips<->mm conversionsNoel
2020-11-14tdf#138148 Protect aspect ratio of graphic bullets.Gülşah Köse
2020-10-03use more TOOLS_WARN_EXCEPTIONNoel
2020-05-26Fix loplugin:simplifypointertobool for libstdc++ std::shared_ptrStephan Bergmann
2020-03-09tdf#42949 Fix IWYU warnings in oox/*/*hxxGabor Kelemen
2020-02-21Drop o3tl::optional wrapperStephan Bergmann
2020-01-24loplugin:makeshared in ooxNoel Grandin
2020-01-15clang-tidy modernize-concat-nested-namespace in ooxNoel Grandin
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann
2019-11-30Rewrite uses of boost::optionalStephan Bergmann
2019-07-17tdf#42949 Fix IWYU warnings in include/ooxGabor Kelemen
2018-07-30Add missing sal/log.hxx headersGabor Kelemen
2018-03-07oox: BlipFillProperties rename mxGraphic to mxFillGraphicTomaž Vajngerl
2018-02-14tdf#51340: Line spacing is imported incorrectly from PPTXTamás Zolnai
2018-01-18Include android/compatibility.hxx from ubiquitous sal/config.hStephan Bergmann
2017-12-18oox: try to fix Android build, no std::lround thereMichael Stahl
2017-12-18tdf#90626 PPTX: Fix image bullet sizePaul Trojahn
2017-10-23loplugin:includeform: ooxStephan Bergmann
2017-10-18Replace lists by vectors in ooxJulien Nabet
2017-07-31loplugin:constparams in ooxNoel Grandin
2017-05-12remove unused uno::Reference varsNoel Grandin
2017-01-24Move two include files to oox/inc as they are used only in ooxTor Lillqvist
2016-12-13OSL_TRACE->SAL in framework..salNoel Grandin
2016-12-02convert some anonymous enums to scopedNoel Grandin
2016-05-10tdf#42949: clean up includes in include/oox/helper with iwyuJorenz Paragas
2016-04-20loplugin:salbool: Automatic rewrite of sal_False/TrueStephan Bergmann
2016-04-18clean-up: unused using declarations and includesJochen Nitschke
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
2015-10-23com::sun::star->css in lotuswordpro,mysqlc,ooxNoel Grandin
2015-03-20tdf#83889:FILEOPEN:PPTX bullet point is followed by spurious symbolPriyankaGaikwad
2014-12-22bnc#862510: PPTX import: Wrong text vertical adjustment inside shape.Zolnai Tamás
2014-11-01oox: introduce W_TOKEN() macroMiklos Vajna