This is an automated email from the ASF dual-hosted git repository. jimjag pushed a commit to branch backport/phase1-format-ci in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit f30d168aa8c015466b436719d01de803179d04a1 Author: Jim Jagielski <[email protected]> AuthorDate: Fri Jun 5 06:52:04 2026 -0400 Backport pre-commit and CI configuration from trunk Install .pre-commit-config.yaml, the pre-commit GitHub workflow, linter configs (codespell, markdownlint, license templates), and .asf.yaml from trunk so AOO42X shares the same formatting/CI tooling. This is the foundation for aligning whitespace formatting between the branches. Phase 1 backport (A_FORMAT + B_CI_DOCS), infrastructure step. --- .asf.yaml | 14 + .github/linters/.markdown-lint.yml | 13 + .github/linters/codespell.txt | 2810 +++++++++++++++++++++++ .github/workflows/license-templates/LICENSE.txt | 16 + .github/workflows/pre-commit.yml | 47 + .pre-commit-config.yaml | 85 + 6 files changed, 2985 insertions(+) diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 0000000000..ab59476305 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,14 @@ +github: + rulesets: + - name: "Default Branch Protection" + type: branch + branches: + includes: + - "~DEFAULT_BRANCH" + - "release/*" + - "rel/*" + excludes: [] + bypass_teams: + - root + restrict_deletion: true + restrict_force_push: true diff --git a/.github/linters/.markdown-lint.yml b/.github/linters/.markdown-lint.yml new file mode 100644 index 0000000000..173a82dbb4 --- /dev/null +++ b/.github/linters/.markdown-lint.yml @@ -0,0 +1,13 @@ +# https://github.com/DavidAnson/markdownlint + +# MD013/line-length Line length +MD013: false + +# MD025/single-title/single-h1 Multiple top-level headings in the same document +MD025: false + +# MD033/no-inline-html Inline HTML +MD033: false + +# MD040/fenced-code-language Fenced code blocks should have a language specified +MD040: false diff --git a/.github/linters/codespell.txt b/.github/linters/codespell.txt new file mode 100644 index 0000000000..fb7742cce1 --- /dev/null +++ b/.github/linters/codespell.txt @@ -0,0 +1,2810 @@ +aaccess +aadd +aafter +aand +aas +aassign +aassignment +aassignments +aautomatic +abandone +abl +abou +abour +aboved +aboves +abreviated +absolulte +absolut +abstact +abvious +acccount +acceses +accesible +accessort +accure +accured +acend +acessor +aci +acive +acount +acounts +acssumed +acter +actibity +activ +activitis +actuall +adapater +adapation +adapive +adaptee +addd +addes +addin +addional +additinal +additionall +additionals +additons +addjust +addopt +addresse +aded +adin +adition +administrar +adn +adres +adress +adresse +adresses +advacne +aequidistant +aequivalent +aer +afer +afeter +affekt +afile +aformentioned +aftrer +agains +aggreate +aggregatet +ags +ahd +ajust +ajustments +ake +aks +aktion +aktivate +aktive +aleays +algorihm +algorith +algorithmn +algorithmus +algorythm +algrithm +aligment +alignement +alignemnt +alignemt +alignes +alignmant +alignmen +aline +aling +alis +aliver +alle +alled +allign +allignment +alllowed +alloted +allowd +allowes +allright +alls +alltime +alo +alocation +alocations +alocator +alog +alow +alpah +alph +alpha-numeric +alread +als +alse +alternativ +althoug +alue +alwas +alway +ambedded +ambigious +ambigous +amonst +amout +analoge +anc +ancapsulate +anchestor +anchord +andlers +ane +anevironment +animaton +anination +anisotrophically +anlyzing +annote +anologon +anonymouse +anonymus +anormal +anotation +ans +antaliasing +anthor +antialialised +anull +anulls +anumber +anythimng +aond +aother +aparent +apears +apeends +apend +apllying +apoints +appartment +appeares +appedn +appendend +appened +appens +apperars +appied +applay +appliable +applikation +applyable +applys +apppend +appplet +appropirate +appropriat +approriate +appy +aproach +aprogram +aprox +aprrovement +aquire +aquires +aranges +ararbic +arays +arbirtrarily +arbitraryly +archieved +archiv +archtecture +arcticle +are'nt +arent +arithmetics +arn't +arry +arrys +ascendin +ascript +ascripts +asend +asender +askes +assebly +assemly +assigment +assigne +assistent +assocations +assomption +asssuming +assum +assumtion +assumtions +asterik +asychronous +asymetric +asynchonously +asynchornous +asynchron +asynchronious +asynchroniously +asynchrons +asynchrounsly +asyncronous +asyncronously +asynschron +atach +ategories +atleast +atmost +atribs +atrtributes +attachement +attachements +attachs +attemps +attibute +attibuted +attibutes +attrbiute +attribue +attribut +attributen +attributs +attruibute +australien +authentification +autocoomit +autofilt +automatical +autor +avaible +avcoids +aviable +avtive +aways +axises +axpressed +aynchronous +bacic +bais +baisc +barbedos +basci +basf +basline +bbefore +bboolean +bbooleans +beaviour +becames +becaus +beed +befor +befure +beginn +behavious +behaviuor +behavour +behinde +bejond +belove +beng +bever +binanary +biscut +bistream +bizare +bizarely +bject +bleading +bload +bloaded +bloc +blong +boddy +bodgy +booda +bookmar +boostrapped +boostrapping +bootom +bootstra +bootstraping +bootup +boradcast +bord +botifies +bottomborde +bounderies +boxs +brackeds +brance +branche +breaked +breakin +breal +brige +brocken +brower +browers +browseable +bu +buffereed +bufferred +bufferring +bui +build-in +buildin +buld +bumb +cace +cachable +calcable +calcualte +calculat +caleed +caler +calle +callef +calles +calss +canadan +canbe +cancelles +cange +cann +carret +carridge +case-insensitiv +case-sensitiv +cashe +catched +catory +cauched +causion +ccahe +ccertificate +ceation +ceck +cedentials +cehck +celle +cellxs +cenarios +centerd +chache +chage +chaged +chahged +chainging +chalenge +changeing +changin +chaning +channnel +chaper +characetrs +characted +characteres +charactersm +characture +charakter +charakters +charas +charaters +charcater +charcter +checed +chech +cheched +checke +checkes +childern +childrens +childs +chnge +choosen +chosed +chosing +chossen +circustances +ciriteria +cirle +cirsumstances +cirumstances +ckeck +claculate +clarety +clases +classess +clcosed +cleantup +cleare +cleares +cleck +clipboad +cliped +clockwíse +clodes +cloumns +clsoe +cluase +cnter +cobvers +codde +coinitailize +colerscheme +collaps +collapsable +collektion +collet +colleting +colletion +collorscheme +collpase +colmuned +colse +colums +comand +comando +comaparison +comaprison +comared +comares +combained +combiantion +combin +combinatorical +combinbe +comemnt +coment +comination +comlex +commad +comman +commans +commatas +commitable +commited +commmand +commnent +commont +commpn +comparation +compareable +comparisation +comparsion +compatibel +compatibile +compatibiliy +compelete +compeletely +compiletime +compiller +complettly +complext +compliancy +complient +componbents +componentes +componet +componets +componnent +compres +compresing +compressable +compresser +compromize +comptability +comunication +conain +conatains +conatiner +concatenaded +concatination +concatinations +concentraze +concret +concurency +conent +conents +conext +configury +conig +connectiona +connecto +connexion +consequentially +consequetive +consideren +consitutes +consol +consruct +constains +constands +constans +constantsm +constitently +constraing +constrainst +constrast +construktor +constuct +constucting +constuctor +consturct +consturctor +consumation +contaier +containees +containg +containr +containt +containter +contaiun +contaner +contant +contants +contatenated +conted +contens +conterpart +contet +contex +contexta +contianing +contiguos +contination +contition +contnet +contradically +contrl +controle +controllerd +controlls +contruct +contstraints +contur +convension +conver +convered +convering +convertable +convertors +cooporative +co-ordinates +copie +copyed +copys +coresponding +corrdinate +correcxt +correspont +couldn +could't +coult +cound +countr +couses +cousing +coveres +covert +coyp +cption +crasher +crashs +creaed +createable +creater +credate +cript +criteriom +criticall +crossin +crossreference +crossreferences +crypted +culmulative +curentfilter +currect +curren +currenty +curretn +currnet +curros +currupt +curser +customable +customizeable +custum +cutomize +cutted +cymk +cyrpto +daa +dafault +dafaults +dasdot +dashs +databse +datas +ddress +deactive +deactived +deactiving +deaktivate +dealed +dealign +deattach +deattached +debuging +declatory +decompresser +decroation +defaul +defauls +defaultet +defecit +defenitly +defered +definations +defind +definetely +definied +definifiton +definitivly +defint +defualt +defult +degenrate +degress +deined +deklaration +delarations +delate +delcaring +delele +delet +deleteing +deleteion +delets +delimeted +delimeter +delimeters +delimitter +delt +delte +deltes +dentifier +depandancies +depency +dependancy +dependant +dependend +dependeny +dependicies +depenent +depent +deprication +dequed +dereferencable +deregisteres +deregistrated +dergeistered +deriver +dertermine +dervied +dervived +desaster +descritor +descritpro +descrption +desctop +desctructed +desctructor +desginer +desgin-mode +desination +desribes +desribing +desroyer +destanation +destinaion +destionation +destop +destory +destorying +destroied +destroyd +destruktor +destruktors +destryoing +destuctor +desturcted +detecion +detectetd +detemine +detemined +detemines +determin +determind +determinded +determing +determnine +detetmine +detroying +dettaching +devision +dezember +dezibel +dfined +diable +diables +diagonale +diagramas +diagramm +dialoge +dialoges +diappeares +diaram +dicretionary +dictonary +didnt't +diffenrences +differect +differen +differenciate +differenct +differernt +differes +dinteractively +dipose +diposed +diposing +dircet +direcly +directoris +directorys +directoy +directries +directrory +directroy +directy +disabed +disambigouate +disambiguaiton +disbale +disconnet +discreet +discret +discriptor's +disfunctional +diskrete +dislayed +displayin +dispode +disposel +distribure +distructor +dito +divisable +divrese +docstatistik +docuemnts +docuemtn +docuent +documant +documemt +documemts +documen +documentes +documet +documetn +documets +doens't +doese +doesnot +does't +dokument +dollor +donot +do'nt +dont' +dont't +dosn't +dosposing +dota +doube +doubleclick +doumentc +draged +draging +dran +draview +drawed +dreawn +drived +droped +dscrete +dsplays +dthe +dublicat +dulicate +dum +dummp +duplicat +durationm +dureing +durning +dynamicly +eachother +eachs +earch +easely +easer +easilty +easyly +eather +ect +ede +edn +effekt +effiency +eficient +efore +egal +egals +egde +ege +einstance +eiter +eith +elelement +elememt +elemente +elemnt +elenment +elimiate +elipse +elment +elseswhere +embedd +embeded +empress +emtpy +enabeld +enablen +encapsualtes +encapsulatzion +encapsultes +encounterd +encripted +encrytpion +endcoded +ende +endiannes +endin +enew +enginge +enhencement +enmum +enoungh +entires +entirey +entite +entites +entitie +entitys +entrie +entrys +enty +enumarate +enumaration +environemnt +environent +environmane +envolved +envrionment +eqivalents +erlier +eroneous +eror +erorr +erro +erroneusly +errorneously +errornous +errorprone +errror +ervery +erverything +escapeable +escpecially +espace +espacially +esssential +establishs +etcp +eto +euclidian +euqivalent +evalation +evalutate +evalutates +evalution +evenually +everybodies +everytime +evey +evnet +evrything +exacly +exacty +examin +exatly +excactly +excatly +excecpt +excepetion +exceptionts +exceution +excisting +exclusiv +exclusivly +excpet +excpt +excption +excptions +excute +excuted +excutes +excuting +excution +excutor +execept +exectables +exectly +exectutable +exectute +executbale +executeable +exempel +exepected +exeqution +exising +exisit +exisitent +exisiting +existance +existense +existsing +existung +exluding +exlusive +exntry +exparation +expectd +expecte +expection +experssion +explicat +explicity +explict +explizit +exponetiation +exportet +exportin +expres +expresion +expressable +exract +exsist +exsists +exspect +extact +extaction +extendet +extenions +extented +extracing +extracs +extractins +extraenous +extrat +extrem +extrems +extry +factorys +faild +faile +failes +failture +faktor +falback +fallabck +fallbacl +fals +falsk +falso +falt +familiy +farest +fave +februar +feburary +fedality +feeded +feld +feture +fiddley +fiel +fileds +filetest +fille +filles +fillin +filname +filp +fime +fincally +finde +finialization +finisch +finised +finishs +finnished +fiorget +firs +firsr +firt +firts +fisrt +fiter +fith +fitler +fixe +fixeme +flaged +flages +flase +fle +flushs +fo +focuse +fof +foler +follod +folloing +follong +followin +followind +followings +follwong +folows +fom +fomat +fomatter +fonction +fonctions +fontains +foontnotes +foorter +footnoes +forbidded +forbit +foreward +forfit +forgoten +formate +formated +formates +formattind +formattings +formattting +formely +formen +formmatted +formt +formuala +formule +forst +forthe +fot +foward +fpr +fpt +fram +frametyp +frane +frequncy +frmat +fro +fromat +fromatting +fromt +fromthe +fron +froward +fter +fullfil +fullfilled +funktion +funktions +funtions +fwe +garant +garantied +gard +gemetry +genarate +geneic +generall +generat +generel +generell +genreate +geoemtry +geometrc +geometrie +gere +gererate +ges +geting +getlael +get's +givem +givin +gloablly +gloassaries +glpyh +glyh +gogether +goin +goup +grahic +gramar +granchildren +grap +graphis +grephic +greysacles +groupd +guage +guaranted +guarantied +gylph +haa +haeder +hald +halpoints +hande +handeld +handelr +hander +handleer +handlig +hanel +hangig +hanlder +hanlding +hanle +happends +hart +hashs +hastable +hav +hava +have'nt +havent't +hda +headerr +headin +heigh +hel +hendler +hidded +hidding +hided +hiden +hiearchy +hierarachy +hierarchie +highes +hight +hightest +hightlight +hightlighter +hightlighting +higlight +higlighted +hilight +hilighting +hirarchy +hitted +hokay +homegeneous +homestate +homogenity +homogenous +hopyfully +horizntal +horizonal +horizontale +horiztonal +horyzontally +horzontally +houres +hsa +hsi +hte +htmp +humber +hundreths +hyerarchy +hyerlink +hypen +hypothenuse +iconifie +idefinite +idel +idendify +identation +identfication +identfier +identidier +identifed +identifer +iif +iiterator +imaghe +imapge +immediat +implace +implcit +implementator +implementes +implementor +implementors +implemetation +implemtation +implemtentation +implenetation +implent +implentation +implicite +implicitley +implicity +implictly +implments +importent +impossibile +inactivate +inacurrate +inbetween +inbrace +incase +incemented +inclused +inconsistancy +inconstent +inconviniently +incorperates +incosistency +increse +incvalid +indendation +indentically +indentified +indentifies +indention +indenx +independ +independance +independant +independend +independet +indepent +indes +indexs +indicies +indizies +indx +ine +inefficently +inestart +infact +infinitly +infinte +infor +informatio +informations +ingore +inh +inheritage +inheritied +inherting +inicial +ininity +initiales +initialisiert +initializong +inout +inouts +inproper +inpt +inputed +inro +insance +insensitiv +inseperable +inser +insertin +insertino +insided +instace +installe +instane +instanze +insterad +instrction +instread +instrospection +insuffiency +intalled +intance +inteaction +inteface +integrety +intendend +intension +intensitive +intented +intepreted +interace +interactin +interactiv +interactivly +interafce +interakt +interaktion +interaktive +interal +interally +interate +interation +intercation +interecptor +interepreted +intereseted +interessting +interfac +interfer +interlly +interm +internall +internatioanl +interpeted +interpreation +interprete +interpretet +interpretion +interpretting +interrest +interrested +interrface +interruptable +interruptors +interscetion +interupted +intervall +intervalls +intesity +inthe +intial +intialise +intializing +intiator +intitial +intitialization +intorduction +intrface +introducting +intstead +invald +invalide +invalud +invers +invisibile +invlid +invlisible +invokable +invokation +invokee +irrelvant +isconnection +is'nt +isnt +isotrophically +isplay +isses +ist +istead +ists +iteract +iteraction +iterater +iteratered +iteratons +iterm +itnervals +itselfs +itselt +ivocation +januar +javasript +javasrript +jkd +jscipt +juli +juni +justfied +justication +kake +ket +keyords +klick +knwon +kocalized +komma +kommas +konstant +konwn +koordinate +kown +kyrillic +lables +laf +laiter +lama +languag +langugage +lanugages +laoder +lates +lating +lauguage +leace +leaded +leapyear +leas +leat +lements +lenght +lenghts +lenth +letgitimate +libaries +libary +lightening +lightyear +ligth +lik +likeley +linke +linkes +lins +listenes +lits +livetime +loaader +loacales +localed +localy +lockingf +loclaized +loction +logial +logwritter +lokal +lokale +lokales +lookin +loopup +loos +losely +lsit +mabe +macor +maily +makeing +makfile +makro +makros +maline +managet +manuell +mape +maping +marge +maschine +masqurade +mata +matchies +mater +mathed +mathes +matricies +matser +maximimum +maximun +maxium +maxmimum +maxmimums +mayu +mdoel +meading +meaned +meatfile +meber +mege +menas +ment +menual +menue +menues +menutitems +meny +merrors +messges +methid +methodd +methode +methoden +methodes +metod +metods +meu +mey +mian +middel +migh +migt +migth +milimetre +mimick +mimicks +mininum +miplementation +mirrorn +mis +misformed +mis-match +mismatich +misscounted +missmatch +missplaced +misstypes +missuse +mmaped +mmatching +modell +modfel +modfiy +modifed +modifyable +modul +moduls +modulu +momement +momemtn +mor +mormalized +mose +mot +mothod +moudle +mouvements +movebackwrd +mudule +muext +multible +multipe +multipl +multiplikation +multipul +multple +murr +muti +mutices +mutiply +mutli +mye +nagative +nam +nameing +namesd +nax +nce +nclude +nd +ndefined +nealy +ned +nedd +neede +needes +neesds +neet +negativ +nempty +nenviroment +nerver +nethods +nin +nither +nned +nneeded +nnumber +noe +nofified +nohypen +nome +non-existant +nonexistant +non-useful +nore +normale +normales +nothind +notifer +notin +notity +nowadys +nown +nulk +numbe +numer +numers +obect +obects +objcts +objec +objectin +objectss +objekt +objetcs +objets +obnject +obscur +obsolte +occours +occure +occured +occurence +occurences +occures +occurr +oclock +ocntext +octect +ocur +ocurrences +oder +offen +offic +offser +offseted +ofo +ofsets +ofsetted +oher +oint +ois +oje +oject +ojects +oktober +oldes +oll +olt +oly +ommit +onces +ond +onece +oneyway +ongly +onl +ons +ontain +ontains +ontents +ontop +onw +onwer +ony +opertions +oposition +optain +optimation +optio +optionaly +ordner +ore +orign +orignal +ot +otains +otation +otu +oultinenodes +ource +ourselfs +ourselve +outbut +outherwise +outsid +outter +oututs +overflw +overidden +overide +overiden +overiding +overlaping +overriabled +overrided +overrride +overwrited +overwritte +overwrittes +overwrittin +ovrridables +ovveride +ower +ownder +ownes +oyu +paches +packe +padd +paeth +pagent +paintin +pakageimpl +pallette +paoition +paragraphy +paragrph +paramenter +parametere +parametes +parametrs +paramterless +paramters +parant +paranthes +parantheses +pararaph +pard +parem +paremter +parenteses +paret +parm +parmater +parmeter +parms +parnoia +parsering +partion +partitially +pary +pash +passt +passtrough +pasword +patchs +pathes +patter +pattrns +pecifies +peformance +penality +pepare +perfectably +perfom +perfomed +performes +performin +periode +perisist +permited +permssion +peroendicular +persistance +persistant +pervious +pevent +pevents +pezier +phillippines +pich +pinter +pitmap +placehoder +plattform +playfull +poiner +poins +pointzer +poiter +poits +polgon +polyar +polygone +polypoygon +polypoylgons +poperly +poperties +popoup +poppup +portugese +posible +posioned +positionof +positiv +positon +positons +positve +possibe +possibile +possily +postion +postition +postphoned +prameter +prarameter +preallocationg +preaorocessing +preapare +preapared +preced +precedure +precendence +precent +precidence +preciding +precsions +precumputed +prefere +preferes +preferrable +prefic +preformed +preject +prelimitary +preoperty +prerelases +prerequiste +pres +presener +preserv +presetation +presnt +preverse +previos +previosly +previosuly +previuous +prevoiusly +prewview +prexixed +pricision +primay +primitves +primtives +pring +pringing +prirority +privides +priviledged +privilges +privilige +privleges +prmitive +prmitives +proberty +probleme +proccess +proccessed +proccesses +procede +proceshandler +processinf +procides +procoess +produkt +produktion +proeprties +proerties +proerty +programatically +programing +programm +progrss +proirity +promiss +propage +properies +propert +propertie +propertyst +propery +proplem +proportianal +proproties +proprotional +proprty +propteries +propvider +protcted +protext +protocal +protoco +protocoll +provate +provdided +provicdes +provice +provid +providfers +providse +provies +provode +prset +prufe +ptd +publically +puls +punctation +punctuations +puplic +puposes +purpuses +pyhsical +qoute +quater +queing +queiried +quering +querried +queryinterace +querys +ques +quesion +quitely +quottes +radiobuttion +raison +rasied +rcall +readd +readeable +readed +reaeched +realative +reall +realted +realtive +reaons +reassocition +reate +rebuilded +recalcution +receipient +receipients +recipies +recofig +recognizeable +recommand +recongnizes +recreateation +rectange +reculrively +recursivly +recusions +recusive +recustion +recyclying +recylcing +recyling +re-declare +redenderer +redered +redonly +reelation +reelease +reenable +reenabled +reencode +refcound +refelected +refelects +refence +refencing +refenence +refere +referebces +referecne +refered +referenc +referenz +referers +referes +refernce +refernced +refernece +referr +referres +reffers +refreshs +regardes +regardin +regession +regestry +regidstered +regisered +regisry +regist +registerd +registeres +registery +registes +registred +regsiters +reguards +regulaer +regulariry +regulary +regurlarly +rehersing +rekursion +rekursive +relaive +relase +relased +relases +relativ +relativated +relead +releae +releant +releas +releated +releation +rellocates +relly +relys +remeber +remebered +remebers +rememeber +remenber +reminiscense +remmeber +remoce +removeable +removeing +removerd +remvoved +rende +rendererd +renderering +reonly +reosurces +repaitnt +repant +repeates +repeatly +repersentation +repertoir +repesentation +repesented +repesents +repetive +replased +reportresouces +repositry +repostories +repraesentation +represantation +represenation +represend +representaion +representaions +representated +representd +represention +represeted +represneted +repspectively +repsresents +reqeusted +reqired +reqiure +requed +requeried +requestor +requieres +requirments +requrired +requst +requsted +rerpesentation +rertieves +resetable +reseted +reseting +resetted +resoltion +reson +resons +resore +resourceype +resoure +resourecs +responsibilty +resset +ressets +ressource +ressources +restauration +reste +restes +restoding +restors +resue +resuling +resumt +retcieves +retet +retieve +retieved +retieves +retore +retreival +retriece +retrieces +retrieveds +retrieveing +retriving +retrn +retrun +retun +retuned +retunr +retunrned +retunrs +retuns +retur +retured +returend +returne +returs +retursn +reuqired +re-usable +re-use +re-used +re-uses +re-using +reveive +reveived +reveokes +reverese +righ +rigth +rimitives +rin +rizes +rlation +rmove +roated +rocords +roperties +rouge +routet +rovider +rranslation +rrase +rsizing +rsource +rsources +runned +rurrent +sav +savely +savety +scalled +scaned +sceanrios +scecified +sceme +scenarion +scenarious +scond +scrao +screnn +scripte +scriptype +scrol +scrollin +scrool +scrpit +scrren +seacrchable +searche +searchin +searchs +secondy +seconf +secont +sectin +segmend +segmente +seh +selectin +selecton +seledted +selektion +selektor +selektors +seleted +seletions +semaphor +sematics +sence +senquence +sensitiv +sensivity +senteces +sentive +sentively +separat +separater +separatly +separtates +separte +sepcified +sepecified +sepecifies +seperatly +seperator +seperators +seqence +seqeuence +seqeunce +sequece +sequeence +sequelce +sequencies +sequenze +sequenzes +sequeze +sequnces +sequnece +ser +serach +serached +serch +serialze +serialzed +serieses +serivce +sertificates +servce +servces +servcie +serveice +servent +servie +servies +servive +seting +setted +setttings +shandow +sheck +sheme +shepe +shif-tab +shold +shortend +shotcut +shoud +shoudl +shoul +shouln't +shs +shttp +sie +siez +sightly +signatur +signes +signle +silenty +similary +similiary +simlified +simly +simplies +simpliest +simpy +sinature +singe +sinlge +sinlges +sintax +siz +skalar +skipt +slanguage +slanguages +smalles +sme +smoot +smooting +smove +snyc +soecialize +soemone +soiurce +solarmutx +som +somelse +someon +somes +somme +sortings +sortlst +souce +spaning +speacial +specialy +specied +specifices +specifiy +specilized +speficies +spefifies +speicfied +speparator +spiltting +splited +spliting +splitted +spports +spreasheet +sqare +squence +srcoll +sreen +sreturns +srollbar +srolling +srtings +srtructure +ssee +stae +stamement's +standar +standart +startd +startet +startin +startlisteneing +startting +statemnt +stati +statics +stil +sting +stip +stipped +stoped +storag +stoream +storge +strech +streched +streching +strem +strin +strippen +stript +strotage +struc +structur +styhe +subsedent +substitude +substitudes +substitue +substituing +substract +subtile +succeedes +succeeeded +succesfull +succesfully +successfull +successs +succseeded +suficcient +sumed-up +supercede +superflous +superfulous +supersed +superseeded +supllied +supllies +suplying +suport +suporting +suports +suppoert +suppoerted +supporession +suppport +suppported +suppres +supressed +supresses +supsended +surpressed +surprisinlgy +surregat +survice +survices +suspicios +sutdown +svae +swicth +switchs +swith +swithc +swithed +swown +sxl +sychronization +sychronize +syle +syles +syllabills +symantics +symbole +symetric +symmetic +synching +synchonrous +synchroizing +synchroniously +synchronus +syncronisation +syncronized +syncronizing +syncronous +syncronously +syndonic +syschronize +systemwindiow +sytlesheet +szenario +szenarios +szene +tabe +tabel +tabels +tabeview +tabke +tablle +tage +tages +tagets +tagggen +taregt +targer +targt +targte +tbe +te +teamplate +technik +teh +telocom +teminating +temorary +tempdate +templat +temporaere +temporalily +temporarely +temporarilly +temporarirly +temporarly +temporay +tempory +termine +terminte +ternimated +tese +tesed +tesselate +tesselation +tetry +tetss +texline +textin +tey +tge +tha +thay +thck +thei +theire +themeing +ther +therefor +therefrom +theres +therfore +thes +theses +thets +theyre +thi +thid +thinn +thise +thown +thrad +thre +threadsave +threatment +threatments +throgh +thron +throug +throught +throwed +throwgh +ths +thst +thw +tighly +timstamp +titel +titels +titile +tje +tne +toches +toggel +toggeling +togle +toi +toke +toleranz +tollerant +totaly +totation +trama +tramas +trangle +tranparency +transfomation +transfoprmation +translteration +transmition +transparant +transtion +trapeziod +tre +tread +treee +treshhold +trgistration +triange +trigered +trigerred +trigers +trigged +triggeres +triggerin +trimed +tripple +trivias +trnsfered +trough +tru +truns +trys +tung +tupel +ture +tye +tyies +tyoe +typcially +typographc +ubiquituously +ue +ues +uhandled +ultimatly +ummark +unambigous +unambigously +unaquired +unce +uncomplete +unconditionaly +unconvertable +uncorrectly +uncrypted +undelying +undet +undistinghable +unequality +unexpecte +uniformely +uninstatiated +uniocde +uniqe +uniquness +unitialised +unitialize +unitialized +unitss +unkowns +unles +unnacquired +unparseable +unrecovable +unregisterd +unregisteres +unregsiters +unreleated +unroated +unsecure +unser +unsued +unsupport +unter +untypically +unx +upate +uperclass +uppon +upported +upporterd +uptodate +ure +urface +uscaled +useable +useed +usefull +usefullness +usera +usere +userr +usesfull +usig +usign +usigned +usuable +usuall +vai +vaid +vailable +valide +valie +valu +valus +vanishs +variabel +variabl +variablen +varian +variante +varibale +vas +vaue +vefiry +vegeterian +vektor +vektors +vender +verfy +versoins +verticies +vertikal +vetor +vew +vhild +vie +viewtransfromation +vill +virtuell +visblie +vise +visiable +visibile +visiblle +visisble +vissible +vistor +visualy +vlues +vor +wan't +want's +waring +warpin +wating +wavelnes +weant +wee +wege +wehre +weill +weith +wel +wew +whats +whch +whe +whenevery +whent +wher +wherether +whery +wheter +whic +whichs +whilest +whis +whish +whoms +whoose +whos +wich +wil +wirh +wit +withing +witho +withou +withs +wll +wnat +wollow +wolrd +womens +worte +woul +wth +wya +xwindows +youre +zar +zlot diff --git a/.github/workflows/license-templates/LICENSE.txt b/.github/workflows/license-templates/LICENSE.txt new file mode 100644 index 0000000000..60b675e310 --- /dev/null +++ b/.github/workflows/license-templates/LICENSE.txt @@ -0,0 +1,16 @@ +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 0000000000..10c7ee5813 --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,47 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: pre-commit + +on: [pull_request] + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + pre-commit: + name: Run pre-commit + runs-on: ubuntu-24.04 + steps: + - name: Check Out + uses: actions/checkout@v6 + - name: Install + run: | + python -m pip install --upgrade pip + pip install -r requirements-dev.txt + - name: Set PY + run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV + - uses: actions/cache@v5 + with: + path: ~/.cache/pre-commit + key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} + - name: Run pre-commit + run: pre-commit run --color=always --all-files diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..49d540ce98 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,85 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +--- +default_stages: [pre-commit, pre-push] +default_language_version: + # force all unspecified Python hooks to run python3 + python: python3 +minimum_pre_commit_version: "3.2.0" +repos: + - repo: meta + hooks: + - id: identity + - id: check-hooks-apply + - repo: https://github.com/gitleaks/gitleaks + rev: v8.30.0 + hooks: + - id: gitleaks + name: run gitleaks + description: check for secrets with gitleaks + - repo: https://github.com/Lucas-C/pre-commit-hooks + rev: v1.5.5 + hooks: + - id: insert-license + name: add license for all Markdown files + files: \.md$ + args: + - --comment-style + - '<!--||-->' + - --license-filepath + - .github/workflows/license-templates/LICENSE.txt + - --fuzzy-match-generates-todo + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: check-case-conflict + description: check for files with names that would conflict on a case-insensitive filesystem like MacOS HFS+ or Windows FAT + - id: check-illegal-windows-names + description: check for files that cannot be created on Windows + - id: check-merge-conflict + description: check for files that contain merge conflict strings + - id: check-vcs-permalinks + description: ensures that links to vcs websites are permalinks + - id: end-of-file-fixer + description: makes sure files end in a newline and only a newline + files: (m|M)akefile$|\.(asm|asp|bas|bat|c|cl|cmd|common|component|cpp|cs|cxx|dtd|dxp|el|h|hrc|hxx|idl|in|ini|java|js|lst|m|m4|map|md|mk|mm|mod|old|pas|php|pl|pm|pmk|properties|props|py|rc|rdf|rng|s|sdi|sh|src|template|ulf|vbs|xba|xcs|xcu|xdl|xhp|xlb|xmi|xml|xsd|xslt?|ya?ml)$|^ext_libraries/.*$|^test/.*$ + - id: fix-byte-order-marker + description: removes UTF-8 byte order marker + - id: mixed-line-ending + description: replaces or checks mixed line ending + files: \.(asm|asp|bas|c|cl|cmd|common|component|cpp|cs|cxx|dtd|dxp|el|h|hrc|hxx|idl|in|ini|java|js|lst|m|m4|map|md|mk|mm|mod|old|pas|php|pl|pm|pmk|properties|props|py|rc|rdf|rng|s|sdi|sh|src|template|ulf|vbs|xba|xcs|xcu|xdl|xhp|xlb|xmi|xsd|xslt?|ya?ml)$|^main/accessibility/.*$|^main/afms/.*$|^main/animations/.*$|^main/apache-commons/.*$|^test/testgui/.*$ + - id: trailing-whitespace + description: trims trailing whitespace + files: (m|M)akefile$|\.(asm|asp|bas|bat|c|cl|cmd|common|component|cpp|cs|cxx|dtd|dxp|el|h|hrc|hxx|idl|in|ini|java|js|lst|m|m4|map|md|mk|mm|mod|old|pas|php|pl|pm|pmk|properties|props|py|rc|rdf|rng|s|sdi|sh|src|template|ulf|vbs|xba|xcs|xcu|xdl|xhp|xlb|xmi|xml|xsd|xslt?|ya?ml)$ + args: [--markdown-linebreak-ext=md] + - repo: https://github.com/codespell-project/codespell + rev: v2.4.1 + hooks: + - id: codespell + name: run codespell + description: check spelling with codespell + args: [--ignore-words=.github/linters/codespell.txt] + exclude: ^extras/ + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.47.0 + hooks: + - id: markdownlint + name: run markdownlint + description: check Markdown files with markdownlint + args: [--config=.github/linters/.markdown-lint.yml] + types: [markdown] + files: \.md$
