This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch main-site-pro in repository https://gitbox.apache.org/repos/asf/logging-parent.git
The following commit(s) were added to refs/heads/main-site-pro by this push: new 6ba3667 Add website content generated from `64ae84e05803f3ab6d4201512b00f1cb1c4051e8` 6ba3667 is described below commit 6ba36675c976a24d77f7820164d5a17a55b8342e Author: ASF Logging Services RM <priv...@logging.apache.org> AuthorDate: Thu Apr 11 08:33:51 2024 +0000 Add website content generated from `64ae84e05803f3ab6d4201512b00f1cb1c4051e8` --- README.txt | 1 - index.html | 1738 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1738 insertions(+), 1 deletion(-) diff --git a/README.txt b/README.txt deleted file mode 100644 index 1dd210f..0000000 --- a/README.txt +++ /dev/null @@ -1 +0,0 @@ -An orphan branch to host auto-generated production website content diff --git a/index.html b/index.html new file mode 100644 index 0000000..063f703 --- /dev/null +++ b/index.html @@ -0,0 +1,1738 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.18"> +<title>Logging Parent</title> +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> +<style> +/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ +/* Uncomment the following line when using as a custom stylesheet */ +/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */ +html{font-family:sans-serif;-webkit-text-size-adjust:100%} +a{background:none} +a:focus{outline:thin dotted} +a:active,a:hover{outline:0} +h1{font-size:2em;margin:.67em 0} +b,strong{font-weight:bold} +abbr{font-size:.9em} +abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none} +dfn{font-style:italic} +hr{height:0} +mark{background:#ff0;color:#000} +code,kbd,pre,samp{font-family:monospace;font-size:1em} +pre{white-space:pre-wrap} +q{quotes:"\201C" "\201D" "\2018" "\2019"} +small{font-size:80%} +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sup{top:-.5em} +sub{bottom:-.25em} +img{border:0} +svg:not(:root){overflow:hidden} +figure{margin:0} +audio,video{display:inline-block} +audio:not([controls]){display:none;height:0} +fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} +legend{border:0;padding:0} +button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} +button,input{line-height:normal} +button,select{text-transform:none} +button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer} +button[disabled],html input[disabled]{cursor:default} +input[type=checkbox],input[type=radio]{padding:0} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} +textarea{overflow:auto;vertical-align:top} +table{border-collapse:collapse;border-spacing:0} +*,::before,::after{box-sizing:border-box} +html,body{font-size:100%} +body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} +a:hover{cursor:pointer} +img,object,embed{max-width:100%;height:auto} +object,embed{height:100%} +img{-ms-interpolation-mode:bicubic} +.left{float:left!important} +.right{float:right!important} +.text-left{text-align:left!important} +.text-right{text-align:right!important} +.text-center{text-align:center!important} +.text-justify{text-align:justify!important} +.hide{display:none} +img,object,svg{display:inline-block;vertical-align:middle} +textarea{height:auto;min-height:50px} +select{width:100%} +.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} +div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0} +a{color:#2156a5;text-decoration:underline;line-height:inherit} +a:hover,a:focus{color:#1d4b8f} +a img{border:0} +p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} +p aside{font-size:.875em;line-height:1.35;font-style:italic} +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} +h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} +h1{font-size:2.125em} +h2{font-size:1.6875em} +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} +h4,h5{font-size:1.125em} +h6{font-size:1em} +hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em} +em,i{font-style:italic;line-height:inherit} +strong,b{font-weight:bold;line-height:inherit} +small{font-size:60%;line-height:inherit} +code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} +ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} +ul,ol{margin-left:1.5em} +ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0} +ul.circle{list-style-type:circle} +ul.disc{list-style-type:disc} +ul.square{list-style-type:square} +ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit} +ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} +dl dt{margin-bottom:.3125em;font-weight:bold} +dl dd{margin-bottom:1.25em} +blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} +blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} +@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} +h1{font-size:2.75em} +h2{font-size:2.3125em} +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} +h4{font-size:1.4375em}} +table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal} +table thead,table tfoot{background:#f7f8f7} +table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} +table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} +table tr.even,table tr.alt{background:#f8f8f7} +table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6} +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} +h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} +.center{margin-left:auto;margin-right:auto} +.stretch{width:100%} +.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} +.clearfix::after,.float-group::after{clear:both} +:not(pre).nobreak{word-wrap:normal} +:not(pre).nowrap{white-space:nowrap} +:not(pre).pre-wrap{white-space:pre-wrap} +:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed} +pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} +pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} +pre>code{display:block} +pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} +em em{font-style:normal} +strong strong{font-weight:400} +.keyseq{color:rgba(51,51,51,.8)} +kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} +.keyseq kbd:first-child{margin-left:0} +.keyseq kbd:last-child{margin-right:0} +.menuseq,.menuref{color:#000} +.menuseq b:not(.caret),.menuref{font-weight:inherit} +.menuseq{word-spacing:-.02em} +.menuseq b.caret{font-size:1.25em;line-height:.8} +.menuseq i.caret{font-weight:bold;text-align:center;width:.45em} +b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} +b.button::before{content:"[";padding:0 3px 0 2px} +b.button::after{content:"]";padding:0 2px 0 3px} +p a>code:hover{color:rgba(0,0,0,.9)} +#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} +#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} +#header::after,#content::after,#footnotes::after,#footer::after{clear:both} +#content{margin-top:1.25em} +#content::before{content:none} +#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} +#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} +#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} +#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap} +#header .details span:first-child{margin-left:-.125em} +#header .details span.email a{color:rgba(0,0,0,.85)} +#header .details br{display:none} +#header .details br+span::before{content:"\00a0\2013\00a0"} +#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} +#header .details br+span#revremark::before{content:"\00a0|\00a0"} +#header #revnumber{text-transform:capitalize} +#header #revnumber::after{content:"\00a0"} +#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} +#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} +#toc>ul{margin-left:.125em} +#toc ul.sectlevel0>li>a{font-style:italic} +#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} +#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} +#toc li{line-height:1.3334;margin-top:.3334em} +#toc a{text-decoration:none} +#toc a:active{text-decoration:underline} +#toctitle{color:#7a2518;font-size:1.2em} +@media screen and (min-width:768px){#toctitle{font-size:1.375em} +body.toc2{padding-left:15em;padding-right:0} +#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} +#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} +#toc.toc2>ul{font-size:.9em;margin-bottom:0} +#toc.toc2 ul ul{margin-left:0;padding-left:1em} +#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} +body.toc2.toc-right{padding-left:0;padding-right:15em} +body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} +@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} +#toc.toc2{width:20em} +#toc.toc2 #toctitle{font-size:1.375em} +#toc.toc2>ul{font-size:.95em} +#toc.toc2 ul ul{padding-left:1.25em} +body.toc2.toc-right{padding-left:0;padding-right:20em}} +#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px} +#content #toc>:first-child{margin-top:0} +#content #toc>:last-child{margin-bottom:0} +#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em} +#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44} +#content{margin-bottom:.625em} +.sect1{padding-bottom:.625em} +@media screen and (min-width:768px){#content{margin-bottom:1.25em} +.sect1{padding-bottom:1.25em}} +.sect1:last-child{padding-bottom:0} +.sect1+.sect1{border-top:1px solid #e7e7e9} +#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} +#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} +#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} +#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} +#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} +details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} +details{margin-left:1.25rem} +details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent} +details>summary::-webkit-details-marker{display:none} +details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)} +details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)} +details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem} +.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} +table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} +.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} +.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} +.admonitionblock>table td.icon{text-align:center;width:80px} +.admonitionblock>table td.icon img{max-width:none} +.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} +.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere} +.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} +.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px} +.exampleblock>.content>:first-child{margin-top:0} +.exampleblock>.content>:last-child{margin-bottom:0} +.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px} +.sidebarblock>:first-child{margin-top:0} +.sidebarblock>:last-child{margin-bottom:0} +.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} +.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} +.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em} +@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} +@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} +.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} +.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} +.listingblock>.content{position:relative} +.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} +.listingblock:hover code[data-lang]::before{display:block} +.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} +.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} +.listingblock pre.highlightjs{padding:0} +.listingblock pre.highlightjs>code{padding:1em;border-radius:4px} +.listingblock pre.prettyprint{border-width:0} +.prettyprint{background:#f7f7f8} +pre.prettyprint .linenums{line-height:1.45;margin-left:2em} +pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} +pre.prettyprint li code[data-lang]::before{opacity:1} +pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} +table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} +table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} +table.linenotable td.code{padding-left:.75em} +table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +pre.pygments span.linenos{display:inline-block;margin-right:.75em} +.quoteblock{margin:0 1em 1.25em 1.5em;display:table} +.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} +.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} +.quoteblock blockquote{margin:0;padding:0;border:0} +.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} +.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} +.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} +.verseblock{margin:0 1em 1.25em} +.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} +.verseblock pre strong{font-weight:400} +.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} +.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} +.quoteblock .attribution br,.verseblock .attribution br{display:none} +.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} +.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} +.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} +.quoteblock.abstract{margin:0 1em 1.25em;display:block} +.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} +.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} +.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} +.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} +.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0} +p.tableblock:last-child{margin-bottom:0} +td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere} +td.tableblock>.content>:last-child{margin-bottom:-1.25em} +table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} +table.grid-all>*>tr>*{border-width:1px} +table.grid-cols>*>tr>*{border-width:0 1px} +table.grid-rows>*>tr>*{border-width:1px 0} +table.frame-all{border-width:1px} +table.frame-ends{border-width:1px 0} +table.frame-sides{border-width:0 1px} +table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0} +table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0} +table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0} +table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0} +table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7} +th.halign-left,td.halign-left{text-align:left} +th.halign-right,td.halign-right{text-align:right} +th.halign-center,td.halign-center{text-align:center} +th.valign-top,td.valign-top{vertical-align:top} +th.valign-bottom,td.valign-bottom{vertical-align:bottom} +th.valign-middle,td.valign-middle{vertical-align:middle} +table thead th,table tfoot th{font-weight:bold} +tbody tr th{background:#f7f8f7} +tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} +p.tableblock>code:only-child{background:none;padding:0} +p.tableblock{font-size:1em} +ol{margin-left:1.75em} +ul li ol{margin-left:1.5em} +dl dd{margin-left:1.125em} +dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} +li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} +ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} +ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} +ul.unstyled,ol.unstyled{margin-left:0} +li>p:empty:only-child::before{content:"";display:inline-block} +ul.checklist>li>p:first-child{margin-left:-1em} +ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} +ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em} +ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} +ul.inline>li{margin-left:1.25em} +.unstyled dl dt{font-weight:400;font-style:normal} +ol.arabic{list-style-type:decimal} +ol.decimal{list-style-type:decimal-leading-zero} +ol.loweralpha{list-style-type:lower-alpha} +ol.upperalpha{list-style-type:upper-alpha} +ol.lowerroman{list-style-type:lower-roman} +ol.upperroman{list-style-type:upper-roman} +ol.lowergreek{list-style-type:lower-greek} +.hdlist>table,.colist>table{border:0;background:none} +.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} +td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} +td.hdlist1{font-weight:bold;padding-bottom:1.25em} +td.hdlist2{word-wrap:anywhere} +.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} +.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} +.colist td:not([class]):first-child img{max-width:none} +.colist td:not([class]):last-child{padding:.25em 0} +.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd} +.imageblock.left{margin:.25em .625em 1.25em 0} +.imageblock.right{margin:.25em 0 1.25em .625em} +.imageblock>.title{margin-bottom:0} +.imageblock.thumb,.imageblock.th{border-width:6px} +.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} +.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} +.image.left{margin-right:.625em} +.image.right{margin-left:.625em} +a.image{text-decoration:none;display:inline-block} +a.image object{pointer-events:none} +sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} +sup.footnote a,sup.footnoteref a{text-decoration:none} +sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} +#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} +#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} +#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} +#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} +#footnotes .footnote:last-of-type{margin-bottom:0} +#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} +div.unbreakable{page-break-inside:avoid} +.big{font-size:larger} +.small{font-size:smaller} +.underline{text-decoration:underline} +.overline{text-decoration:overline} +.line-through{text-decoration:line-through} +.aqua{color:#00bfbf} +.aqua-background{background:#00fafa} +.black{color:#000} +.black-background{background:#000} +.blue{color:#0000bf} +.blue-background{background:#0000fa} +.fuchsia{color:#bf00bf} +.fuchsia-background{background:#fa00fa} +.gray{color:#606060} +.gray-background{background:#7d7d7d} +.green{color:#006000} +.green-background{background:#007d00} +.lime{color:#00bf00} +.lime-background{background:#00fa00} +.maroon{color:#600000} +.maroon-background{background:#7d0000} +.navy{color:#000060} +.navy-background{background:#00007d} +.olive{color:#606000} +.olive-background{background:#7d7d00} +.purple{color:#600060} +.purple-background{background:#7d007d} +.red{color:#bf0000} +.red-background{background:#fa0000} +.silver{color:#909090} +.silver-background{background:#bcbcbc} +.teal{color:#006060} +.teal-background{background:#007d7d} +.white{color:#bfbfbf} +.white-background{background:#fafafa} +.yellow{color:#bfbf00} +.yellow-background{background:#fafa00} +span.icon>.fa{cursor:default} +a span.icon>.fa{cursor:inherit} +.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} +.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} +.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} +.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} +.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} +.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} +.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} +.conum[data-value] *{color:#fff!important} +.conum[data-value]+b{display:none} +.conum[data-value]::after{content:attr(data-value)} +pre .conum[data-value]{position:relative;top:-.125em} +b.conum *{color:inherit!important} +.conum:not([data-value]):empty{display:none} +dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} +h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em} +p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} +p,blockquote,dt,td.content,span.alt,summary{font-size:1.0625rem} +p{margin-bottom:1.25rem} +.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} +.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc} +.print-only{display:none!important} +@page{margin:1.25cm .75cm} +@media print{*{box-shadow:none!important;text-shadow:none!important} +html{font-size:80%} +a{color:inherit!important;text-decoration:underline!important} +a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} +a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} +abbr[title]{border-bottom:1px dotted} +abbr[title]::after{content:" (" attr(title) ")"} +pre,blockquote,tr,img,object,svg{page-break-inside:avoid} +thead{display:table-header-group} +svg{max-width:100%} +p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} +h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} +#header,#content,#footnotes,#footer{max-width:none} +#toc,.sidebarblock,.exampleblock>.content{background:none!important} +#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} +body.book #header{text-align:center} +body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} +body.book #header .details{border:0!important;display:block;padding:0!important} +body.book #header .details span:first-child{margin-left:0!important} +body.book #header .details br{display:block} +body.book #header .details br+span::before{content:none!important} +body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} +body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} +.listingblock code[data-lang]::before{display:block} +#footer{padding:0 .9375em} +.hide-on-print{display:none!important} +.print-only{display:block!important} +.hide-for-print{display:none!important} +.show-for-print{display:inherit!important}} +@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem} +.sect1{padding:0!important} +.sect1+.sect1{border:0} +#footer{background:none} +#footer-text{color:rgba(0,0,0,.6);font-size:.9em}} +@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} +</style> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> +<style> +/*! Stylesheet for CodeRay to loosely match GitHub themes | MIT License */ +pre.CodeRay{background:#f7f7f8} +.CodeRay .line-numbers{border-right:1px solid;opacity:.35;padding:0 .5em 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.CodeRay span.line-numbers{display:inline-block;margin-right:.75em} +.CodeRay .line-numbers strong{color:#000} +table.CodeRay{border-collapse:separate;border:0;margin-bottom:0;background:none} +table.CodeRay td{vertical-align:top;line-height:inherit} +table.CodeRay td.line-numbers{text-align:right} +table.CodeRay td.code{padding:0 0 0 .75em} +.CodeRay .debug{color:#fff!important;background:navy!important} +.CodeRay .annotation{color:#007} +.CodeRay .attribute-name{color:navy} +.CodeRay .attribute-value{color:#700} +.CodeRay .binary{color:#509} +.CodeRay .comment{color:#998;font-style:italic} +.CodeRay .char{color:#04d} +.CodeRay .char .content{color:#04d} +.CodeRay .char .delimiter{color:#039} +.CodeRay .class{color:#458;font-weight:bold} +.CodeRay .complex{color:#a08} +.CodeRay .constant,.CodeRay .predefined-constant{color:teal} +.CodeRay .color{color:#099} +.CodeRay .class-variable{color:#369} +.CodeRay .decorator{color:#b0b} +.CodeRay .definition{color:#099} +.CodeRay .delimiter{color:#000} +.CodeRay .doc{color:#970} +.CodeRay .doctype{color:#34b} +.CodeRay .doc-string{color:#d42} +.CodeRay .escape{color:#666} +.CodeRay .entity{color:#800} +.CodeRay .error{color:#808} +.CodeRay .exception{color:inherit} +.CodeRay .filename{color:#099} +.CodeRay .function{color:#900;font-weight:bold} +.CodeRay .global-variable{color:teal} +.CodeRay .hex{color:#058} +.CodeRay .integer,.CodeRay .float{color:#099} +.CodeRay .include{color:#555} +.CodeRay .inline{color:#000} +.CodeRay .inline .inline{background:#ccc} +.CodeRay .inline .inline .inline{background:#bbb} +.CodeRay .inline .inline-delimiter{color:#d14} +.CodeRay .inline-delimiter{color:#d14} +.CodeRay .important{color:#555;font-weight:bold} +.CodeRay .interpreted{color:#b2b} +.CodeRay .instance-variable{color:teal} +.CodeRay .label{color:#970} +.CodeRay .local-variable{color:#963} +.CodeRay .octal{color:#40e} +.CodeRay .predefined{color:#369} +.CodeRay .preprocessor{color:#579} +.CodeRay .pseudo-class{color:#555} +.CodeRay .directive{font-weight:bold} +.CodeRay .type{font-weight:bold} +.CodeRay .predefined-type{color:inherit} +.CodeRay .reserved,.CodeRay .keyword{color:#000;font-weight:bold} +.CodeRay .key{color:#808} +.CodeRay .key .delimiter{color:#606} +.CodeRay .key .char{color:#80f} +.CodeRay .value{color:#088} +.CodeRay .regexp .delimiter{color:#808} +.CodeRay .regexp .content{color:#808} +.CodeRay .regexp .modifier{color:#808} +.CodeRay .regexp .char{color:#d14} +.CodeRay .regexp .function{color:#404;font-weight:bold} +.CodeRay .string{color:#d20} +.CodeRay .string .string .string{background:#ffd0d0} +.CodeRay .string .content{color:#d14} +.CodeRay .string .char{color:#d14} +.CodeRay .string .delimiter{color:#d14} +.CodeRay .shell{color:#d14} +.CodeRay .shell .delimiter{color:#d14} +.CodeRay .symbol{color:#990073} +.CodeRay .symbol .content{color:#a60} +.CodeRay .symbol .delimiter{color:#630} +.CodeRay .tag{color:teal} +.CodeRay .tag-special{color:#d70} +.CodeRay .variable{color:#036} +.CodeRay .insert{background:#afa} +.CodeRay .delete{background:#faa} +.CodeRay .change{color:#aaf;background:#007} +.CodeRay .head{color:#f8f;background:#505} +.CodeRay .insert .insert{color:#080} +.CodeRay .delete .delete{color:#800} +.CodeRay .change .change{color:#66f} +.CodeRay .head .head{color:#f4f} +</style> +</head> +<body class="article toc2 toc-left"> +<div id="header"> +<h1>Logging Parent</h1> +<div id="toc" class="toc2"> +<div id="toctitle">Table of Contents</div> +<ul class="sectlevel1"> +<li><a href="#features">Features</a> +<ul class="sectlevel2"> +<li><a href="#parent-pom">Parent POM</a></li> +<li><a href="#reusable-workflows">Reusable GitHub Actions workflows</a></li> +</ul> +</li> +<li><a href="#usage">Usage</a></li> +<li><a href="#development">Development</a></li> +<li><a href="#distribution">Distribution</a></li> +<li><a href="#support">Support</a></li> +<li><a href="#security">Security</a></li> +<li><a href="#release-notes">Release Notes</a> +<ul class="sectlevel2"> +<li><a href="#release-notes-10-6-0">10.6.0</a></li> +<li><a href="#release-notes-10-5-0">10.5.0</a></li> +<li><a href="#release-notes-10-4-0">10.4.0</a></li> +<li><a href="#release-notes-10-3-0">10.3.0</a></li> +<li><a href="#release-notes-10-2-0">10.2.0</a></li> +<li><a href="#release-notes-10-1-1">10.1.1</a></li> +<li><a href="#release-notes-10-1-0">10.1.0</a></li> +<li><a href="#release-notes-10-0-0">10.0.0</a></li> +</ul> +</li> +<li><a href="#release-instructions">Release instructions</a> +<ul class="sectlevel2"> +<li><a href="#stage-release">Stage the release</a></li> +<li><a href="#stage-release-website">Stage the release website</a></li> +<li><a href="#vote-release">Vote the release</a></li> +<li><a href="#publish-release">Publish the release</a></li> +<li><a href="#publish-release-website">Publish the release website</a></li> +<li><a href="#announce-release">Announce the release</a></li> +</ul> +</li> +<li><a href="#license">License</a></li> +</ul> +</div> +</div> +<div id="content"> +<div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>Logging Parent is the parent project <strong>internally</strong> used in Maven-based projects of <a href="https://logging.apache.org">the Apache Logging Services</a>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="features">Features</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Logging Parent aims to deliver the following features.</p> +</div> +<div class="sect2"> +<h3 id="parent-pom">Parent POM</h3> +<div class="paragraph"> +<p>The provided parent POM features the following conveniences:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><a href="https://creadur.apache.org/rat"><code>apache-rat-plugin</code></a> integration for license preamble verification</p> +</li> +<li> +<p><a href="https://github.com/apache/logging-log4j-tools/tree/main/log4j-changelog-maven-plugin"><code>log4j-changelog-maven-plugin</code></a> integration for changelog and release note management</p> +</li> +<li> +<p><a href="https://maven.apache.org/enforcer/maven-enforcer-plugin/"><code>maven-enforcer-plugin</code></a> checks</p> +</li> +<li> +<p><a href="https://github.com/diffplug/spotless/tree/main/plugin-maven"><code>spotless-maven-plugin</code></a> integration for code formatting</p> +</li> +<li> +<p><a href="https://github.com/bndtools/bnd/blob/master/maven-plugins/bnd-maven-plugin/README.md"><code>bnd-maven-plugin</code></a> integration for auto-generating OSGi and JPMS descriptors</p> +</li> +<li> +<p><a href="https://github.com/CycloneDX/cyclonedx-maven-plugin">cyclonedx-maven-plugin</a> integration for auto-generating Software Bill of Materials (SBOM)</p> +</li> +<li> +<p><a href="https://asciidoc.org/">AsciiDoc</a>-based site generation</p> +</li> +</ul> +</div> +<div class="sect3"> +<h4 id="cyclonedx-sbom">CycloneDX Software Bill of Materials (SBOM)</h4> +<div class="paragraph"> +<p>Logging Parent streamlines the generation of <a href="https://cyclonedx.org/capabilities/vdr">CycloneDX Software Bill of Materials (SBOM)</a> using <a href="https://github.com/CycloneDX/cyclonedx-maven-plugin">cyclonedx-maven-plugin</a>. +Plugin execution is configured and activated to generate SBOM files for each module, including the root one. +Generated SBOM files are attached as artifacts with <code>cyclonedx</code> classifier and XML extensions, that is, <code><artifactId>-<version>-cyclonedx.xml</code>.</p> +</div> +<div class="paragraph"> +<p>Produced SBOMs are enriched with <code>vulnerability-assertion</code> references to a <a href="https://cyclonedx.org/capabilities/vdr">CycloneDX Vulnerability Disclosure Report (VDR)</a> that Apache Logging Services uses for all projects it maintains. +This VDR is accessible through the following URL: <a href="https://logging.apache.org/cyclonedx/vdr.xml" class="bare">https://logging.apache.org/cyclonedx/vdr.xml</a></p> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="reusable-workflows">Reusable GitHub Actions workflows</h3> +<div class="paragraph"> +<p>The provided reusable GitHub Actions workflows feature the following conveniences:</p> +</div> +<div class="dlist"> +<dl> +<dt class="hdlist1"><code>build-reusable.yaml</code></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Compiles against Java 8 bytecode using the specified Java compiler version</p> +</li> +<li> +<p>Verifies reproducibility</p> +</li> +<li> +<p>Automatically merges verified <code>dependabot</code> PRs</p> +</li> +</ul> +</div> +</dd> +<dt class="hdlist1"><code>deploy-snapshot-reusable.yaml</code></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Deploys SNAPSHOT artifacts</p> +</li> +</ul> +</div> +</dd> +<dt class="hdlist1"><code>deploy-release-reusable.yaml</code></dt> +<dd> +<div class="ulist"> +<ul> +<li> +<p>Deploys release artifacts</p> +</li> +<li> +<p>Updates <code>revision</code> and <code>project.build.outputTimestamp</code> Maven properties</p> +</li> +<li> +<p>Generates the release notes</p> +</li> +<li> +<p>Generates the distribution ZIP containing Git-tracked sources, release notes, binary attachments, <code>NOTICE.txt</code>, etc.</p> +</li> +<li> +<p>Generates the release vote & announcement emails</p> +</li> +<li> +<p>Uploads the distribution ZIP and emails to SVN</p> +</li> +</ul> +</div> +</dd> +</dl> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="usage">Usage</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>You can use Logging Parent as follows:</p> +</div> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Add <code>org.apache.logging:logging-parent:10.6.0</code> as a <code>parent</code> to your <code>pom.xml</code></p> +</li> +<li> +<p>You may need to add <code>.mvn/jvm.config</code> to your project. See <a href="https://github.com/apache/logging-log4j2/blob/2.x/.mvn/jvm.config">this</a> as an example.</p> +</li> +<li> +<p>Check if <code>./mvnw verify</code> succeeds, otherwise make necessary changes</p> +</li> +<li> +<p>Copy and adapt the support files (<code>.gitignore</code>, <code>.github/workflows/build.yaml</code>, etc.)</p> +</li> +<li> +<p>Check out your website:</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">./mvnw site +python -m http.server -d target/site</code></pre> +</div> +</div> +</li> +</ol> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="development">Development</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Logging Parent uses <a href="https://github.com/apache/logging-parent">GitHub</a> for source code management.</p> +</div> +<div class="paragraph"> +<p>The project requires a Java compiler matching the <code>[17,18)</code> range and targets Java <code>8</code>.</p> +</div> +<div class="paragraph"> +<p>You can build and verify sources using:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">./mvnw verify</code></pre> +</div> +</div> +<div class="paragraph"> +<p>You can build and view the website as follows:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">./mvnw site +python -m http.server -d target/site</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="distribution">Distribution</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>In accordance with the Apache Software Foundation’s release <a href="https://infra.apache.org/release-distribution.html">distribution policy</a> and <a href="https://infra.apache.org/release-publishing.html">creation process</a>, project artifacts are <em>officially</em> accessible from the following locations:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>ASF <a href="https://repository.apache.org/content/repositories/releases">Release</a> and <a href="https://repository.apache.org/content/repositories/snapshots">snapshot</a> repositories (mirrored to <a href="https://central.sonatype.dev/">the Maven Central Repository</a>)</p> +</li> +<li> +<p>ASF <a href="https://downloads.apache.org/logging/logging-parent">Distribution directory</a></p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>See <a href="#release-instructions">the release instructions</a> for details.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="support">Support</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Please keep in mind that this project is intended for internal usage only. +You can use GitHub Issues for feature requests and bug reports – not questions! +See <a href="https://logging.apache.org/log4j/2.x/support.html">the Log4j support policy</a> for details.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="security">Security</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>If you have encountered an unlisted security vulnerability or other unexpected behaviour that has security impact, please report them privately to <a href="mailto:secur...@logging.apache.org">the Log4j security mailing list</a>. +See <a href="https://logging.apache.org/log4j/2.x/security.html">the Log4j Security page</a> for further details.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="release-notes">Release Notes</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="release-notes-10-6-0">10.6.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2024-01-11</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release contains several small changes to the build pipeline.</p> +</div> +<div class="paragraph"> +<p>Most notably it bans wildcard imports from source code, which will require expanding those imports before upgrading <code>logging-parent</code>.</p> +</div> +<div class="sect3"> +<h4 id="_added">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Add JSpecify to dependency management. (<a href="https://github.com/apache/logging-parent/pull/88">88</a>)</p> +</li> +<li> +<p>Add enforcer rule to ban wildcard imports. All imports must be expanded to provide better comparison of branches. (<a href="https://github.com/apache/logging-parent/pull/63">63</a>)</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Merge Dependabot PRs instead of closing them. (<a href="https://github.com/apache/logging-parent/pull/82">82</a>)</p> +</li> +<li> +<p>Disable <a href="https://bnd.bndtools.org/instructions/jpms-multi-release.html"><code>-jpms-multi-release</code></a> BND option. (<a href="https://github.com/apache/logging-parent/pull/93">93</a>)</p> +</li> +<li> +<p>Clean up residual <code>module-info.class</code> before compilation. (<a href="https://github.com/apache/logging-parent/pull/90">90</a>)</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_updated">Updated</h4> +<div class="ulist"> +<ul> +<li> +<p>Update <code>com.google.errorprone:error_prone_core</code> to version <code>2.24.1</code> (<a href="https://github.com/apache/logging-parent/pull/89">89</a>)</p> +</li> +<li> +<p>Update <code>github/codeql-action</code> to version <code>3.23.0</code> (<a href="https://github.com/apache/logging-parent/pull/91">91</a>)</p> +</li> +<li> +<p>Update <code>org.apache.rat:apache-rat-plugin</code> to version <code>0.16</code> (<a href="https://github.com/apache/logging-parent/pull/92">92</a>)</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-5-0">10.5.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-12-18</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release contains dependency updates and a change in the way BND is employed.</p> +</div> +<div class="paragraph"> +<p>BND Maven Plugins are upgraded to version <code>7.0.0</code>, which requires Java 17. +Log4j was the blocker for this upgrade and the issue is resolved in <a href="https://github.com/apache/logging-log4j2/pull/2021">apache/logging-log4j2#2021</a>. +Note that BND Maven Plugins version <code>7.0.0</code> increased the minimum required Maven version to <code>3.8.1</code>.</p> +</div> +<div class="sect3"> +<h4 id="_changed_2">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Switch from <code>bnd:jar</code> to <code>bnd:bnd-process</code> to improve integration with the ecosystem; IDEs, Maven plugins, etc. (<a href="https://github.com/apache/logging-parent/issues/69">69</a>)</p> +</li> +<li> +<p>Replace <code>log4j-changelog</code> entry type of <code>dependabot</code> updates from <code>changed</code> to <code>updated</code></p> +</li> +<li> +<p>Minimum required Maven version is increased to <code>3.8.1</code> due to BND Maven Plugin updates</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_updated_2">Updated</h4> +<div class="ulist"> +<ul> +<li> +<p>Update <code>biz.aQute.bnd:bnd-baseline-maven-plugin</code> to version <code>7.0.0</code> (<a href="https://github.com/apache/logging-parent/pull/78">78</a>)</p> +</li> +<li> +<p>Update <code>biz.aQute.bnd:bnd-maven-plugin</code> to version <code>7.0.0</code></p> +</li> +<li> +<p>Update <code>com.diffplug.spotless:spotless-maven-plugin</code> to version <code>2.41.1</code> (<a href="https://github.com/apache/logging-parent/pull/70">70</a>)</p> +</li> +<li> +<p>Update <code>com.github.spotbugs:spotbugs-annotations</code> to version <code>4.8.3</code> (<a href="https://github.com/apache/logging-parent/pull/80">80</a>)</p> +</li> +<li> +<p>Update <code>com.github.spotbugs:spotbugs-maven-plugin</code> to version <code>4.8.2.0</code> (<a href="https://github.com/apache/logging-parent/pull/71">71</a>)</p> +</li> +<li> +<p>Update <code>com.palantir.javaformat:palantir-java-format</code> to version <code>2.39.0</code></p> +</li> +<li> +<p>Update <code>org.apache:apache</code> to version <code>31</code> (<a href="https://github.com/apache/logging-parent/pull/73">73</a>)</p> +</li> +<li> +<p>Update <code>org.apache.logging.log4j:log4j-changelog-maven-plugin</code> to version <code>0.7.0</code> (<a href="https://github.com/apache/logging-parent/pull/84">84</a>)</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-4-0">10.4.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-11-13</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release contains several small improvements.</p> +</div> +<div class="sect3"> +<h4 id="_added_2">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Add deterministic Palantir Java formatter</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed_3">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Increase directory scanning depth from 8 to 32 in the distribution BeanShell script</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-3-0">10.3.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-11-09</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release contains several small improvements.</p> +</div> +<div class="sect3"> +<h4 id="_added_3">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Add support to extend the <code>bnd-maven-plugin</code> configuration with <code>bnd-extra-config</code> property (<a href="https://github.com/apache/logging-log4j2/issues/1895">apache/logging-log4j2#1895</a>)</p> +</li> +<li> +<p>Add support to replace <code>project.build.outputTimestamp</code> Maven property in CI (<a href="https://github.com/apache/logging-parent/issues/50">50</a>)</p> +</li> +<li> +<p>Add XSLT transformation step to add a deterministic <code>serialNumber</code> and VDR links to the SBOM</p> +</li> +<li> +<p>Add support for an optional <code>spotbugs-exclude.xml</code> file</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed_4">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p><code>deploy-release-reusable.yaml</code> is improved to automatically derive deployed artifacts as attachments. This renders both <code>distribution-attachment-filepath-pattern</code> and <code>distribution-attachment-count</code> input arguments redundant for almost all cases.</p> +</li> +<li> +<p>Disable the usage of <code><distributionManagement></code> and alpha releases in the <code>bnd-baseline-maven-plugin</code></p> +</li> +<li> +<p>Convert <code>bnd-maven-plugin</code> API leakage warnings to errors (<a href="https://github.com/apache/logging-log4j2/issues/1895">apache/logging-log4j2#1895</a>)</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_fixed">Fixed</h4> +<div class="ulist"> +<ul> +<li> +<p>Fix broken changelog entry validation</p> +</li> +<li> +<p>Attach <code>flatten:clean</code> to <code>clean</code> phase</p> +</li> +<li> +<p>Add missing <code>Implementation-</code> and <code>Specification-</code> entries in <code>MANIFEST.MF</code> to <code>bnd-maven-plugin</code> configuration (<a href="https://github.com/apache/logging-log4j2/issues/1923">apache/logging-log4j2#1923</a>)</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_updated_3">Updated</h4> +<div class="ulist"> +<ul> +<li> +<p>Update <code>com.github.spotbugs:spotbugs-annotations</code> to version <code>4.8.1</code> (<a href="https://github.com/apache/logging-parent/pull/58">58</a>)</p> +</li> +<li> +<p>Update <code>com.github.spotbugs:spotbugs-maven-plugin</code> to version <code>4.8.1.0</code> (<a href="https://github.com/apache/logging-parent/pull/57">57</a>)</p> +</li> +<li> +<p>Update <code>com.google.errorprone:error_prone_core</code> to version <code>2.23.0</code> (<a href="https://github.com/apache/logging-parent/pull/49">49</a>)</p> +</li> +<li> +<p>Update <code>org.apache.maven.plugins:maven-artifact-plugin</code> to version <code>3.5.0</code></p> +</li> +<li> +<p>Update <code>org.cyclonedx:cyclonedx-maven-plugin</code> to version <code>2.7.10</code> (<a href="https://github.com/apache/logging-parent/pull/54">54</a>)</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-2-0">10.2.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-10-18</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release contains several small improvements.</p> +</div> +<div class="sect3"> +<h4 id="_added_4">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Added support for auto-generating CycloneDX Software Bill of Materials (SBOM)</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed_5">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Add a compulsory <code>bnd-baseline-maven-plugin</code> execution to check for breaking API changes</p> +</li> +<li> +<p>Apply the default <code>bnd-maven-plugin</code> configuration to all the plugin’s goals</p> +</li> +<li> +<p>Moves <code>.flattened-pom.xml</code> to the same directory as <code>pom.xml</code> to preserve the relative parent path. This requires adding <code>.flattened-pom.xml</code> to the <code>.gitignore</code> file of the repository.</p> +</li> +<li> +<p>Update <code>log4j-changelog</code> XSD (used for validating changelog entries) to version <code>0.1.2</code></p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_fixed_2">Fixed</h4> +<div class="ulist"> +<ul> +<li> +<p>Prioritize definitions in <code>bnd-extra-*</code> variables over those inherited (<a href="https://github.com/apache/logging-parent/issues/39">39</a>)</p> +</li> +<li> +<p>Keep parent in <code>flatten-bom</code> configuration (<a href="https://github.com/apache/logging-parent/issues/37">37</a>)</p> +</li> +<li> +<p>Remove <code>build</code> in <code>flatten-bom</code> configuration</p> +</li> +<li> +<p>Fixed the archiving of symbolically linked directories in the <code>distribution</code> Maven profile (<a href="https://github.com/apache/logging-parent/issues/43">43</a>)</p> +</li> +<li> +<p>Used specific execution IDs in <code>defaultGoal</code>s to avoid running unwanted plugins</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_updated_4">Updated</h4> +<div class="ulist"> +<ul> +<li> +<p>Update <code>org.apache.logging.log4j:log4j-changelog-maven-plugin</code> to version <code>0.5.0</code></p> +</li> +<li> +<p>Update <code>com.github.spotbugs:spotbugs-annotations</code> to version <code>4.8.0</code> (<a href="https://github.com/apache/logging-parent/pull/44">44</a>)</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-1-1">10.1.1</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-10-02</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This patch release contains minor fixes addressing issues blocking the release of <code>log4j-tools</code>, <code>log4j-kotlin</code>, etc.</p> +</div> +<div class="sect3"> +<h4 id="_added_5">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Used <code>project.build.outputTimestamp</code> to timestamp generated distribution files</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed_6">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Changes the default OSGi and module name to use full stops <code>.</code> instead of non-alphanumeric characters</p> +</li> +<li> +<p>Update <code>com.diffplug.spotless:spotless-maven-plugin</code> to version <code>2.40.0</code></p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_fixed_3">Fixed</h4> +<div class="ulist"> +<ul> +<li> +<p>Fixed checksum (i.e., <code>*.sha512</code>) file format</p> +</li> +<li> +<p>Fix BND module name detection on multi-release JARs</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-1-0">10.1.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-09-28</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release focuses on shipping AsciiDoc-based website generation convenience targeting the <code>src/site</code> folder. +As a part of this effort, <code>logging-parent</code> started publishing <a href="https://logging.apache.org/logging-parent/latest">its own website</a> and <code>log4j-changelog</code> support is switched from Markdown to AsciiDoc.</p> +</div> +<div class="paragraph"> +<p>The introduced <a href="https://github.com/bndtools/bnd/blob/master/maven-plugins/bnd-maven-plugin"><code>bnd-maven-plugin</code></a> default auto-generates both OSGi and JPMS descriptors. +Users only need to annotate packages that are to be exported with <code>org.osgi.annotation.bundle.Export</code>, plugin will do the rest of the magic. +Hence, no need for custom <code>.bnd</code> and/or <code>module-info.java</code> files anymore. +In particular, we expect the absence of <code>module-info.java</code> files to avoid several IDE and testing related headaches.</p> +</div> +<div class="sect3"> +<h4 id="_added_6">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Added <code>asciidoc</code> and <code>constants-tmpl-adoc</code> profiles to generate AsciiDoc-based websites from <code>src/site</code></p> +</li> +<li> +<p>Added support to auto-generate changelog entries for <code>dependabot</code> updates</p> +</li> +<li> +<p>Added <code>bnd-maven-plugin</code> defaults to auto-generate both OSGi and JPMS descriptors</p> +</li> +<li> +<p>Added CI report uploading in case of test or reproducibility failures (<a href="https://github.com/apache/logging-parent/issues/28">28</a>)</p> +</li> +<li> +<p>Started publishing <a href="https://logging.apache.org/logging-parent">the project website</a></p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed_7">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Switched the default <code>log4j-changelog</code> configuration from Markdown (<code>.release-notes.md.ftl</code> and <code>.index.md.ftl</code>) to AsciiDoc (<code>.release-notes.adoc.ftl</code> and <code>.index.adoc.ftl</code>)</p> +</li> +<li> +<p>Update <code>actions/checkout</code> to version <code>4.1.0</code></p> +</li> +<li> +<p>Update <code>com.github.spotbugs:spotbugs-maven-plugin</code> to version <code>4.7.3.6</code></p> +</li> +<li> +<p>Update <code>com.google.errorprone:error_prone_core</code> to version <code>2.22.0</code></p> +</li> +<li> +<p>Update <code>org.apache:apache</code> to version <code>30</code></p> +</li> +<li> +<p>Update <code>org.osgi:osgi.annotation</code> to version <code>8.1.0</code></p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_fixed_4">Fixed</h4> +<div class="ulist"> +<ul> +<li> +<p>Replaced incorrect <code>java.version</code> Maven property override with <code>maven.compiler.{source,release,target}</code></p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_removed">Removed</h4> +<div class="ulist"> +<ul> +<li> +<p>Removed <code>project.build.outputTimestamp</code> override since it is already provided by the parent POM and its old value <code>0</code> was causing <a href="https://github.com/spring-projects/spring-boot/pull/37438">reproducibility issues</a> for <code>spring-boot:repackage</code></p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="release-notes-10-0-0">10.0.0</h3> +<div class="dlist"> +<dl> +<dt class="hdlist1">Release date</dt> +<dd> +<p>2023-09-08</p> +</dd> +</dl> +</div> +<div class="paragraph"> +<p>This minor release contains various improvements that we expect to relieve the load on <code>pom.xml</code> and GitHub Actions workflows of Maven-based projects we parent. +This is of particular importance while managing and cutting releases from multiple repositories. +See <code>README.adoc</code> for the complete list of features and their usage.</p> +</div> +<div class="paragraph"> +<p>See <a href="https://github.com/apache/logging-log4j-tools/actions/runs/6120297528">this <code>log4j-tools</code> GitHub Actions workflow run</a> demonstrating a successful release cut using a SNAPSHOT version of this <code>logging-parent</code> release. +All preparations (release notes, source and binary distributions, vote & announcement emails, etc.) are staged to both Nexus and SVN and waiting the release manager to proceed.</p> +</div> +<div class="sect3"> +<h4 id="_added_7">Added</h4> +<div class="ulist"> +<ul> +<li> +<p>Added <code>changelog-export</code> profile to easily export changelogs to Markdown files</p> +</li> +<li> +<p>Added <code>changelog-release</code> profile to easily move <code>src/changelog/.?.x.x</code> contents to their associated release directory</p> +</li> +<li> +<p>Added <code>deploy</code> profile to ease the Maven <code>deploy</code> goal</p> +</li> +<li> +<p>Added <code>asciidoc</code> profile to easily create a distribution file containing Git-tracked sources, release notes, binary attachments, <code>NOTICE.txt</code>, etc.</p> +</li> +<li> +<p>Documented release instructions (i.e., <code>RELEASING.md</code>)</p> +</li> +<li> +<p>Added <code>release</code> profile to share common release-specific Maven configuration</p> +</li> +<li> +<p>Added reusable GitHub Actions workflows to share CI boilerplate for other repositories</p> +</li> +<li> +<p>Switched to using <code>log4j-changelog-maven-plugin</code> for managing changelog and release notes</p> +</li> +</ul> +</div> +</div> +<div class="sect3"> +<h4 id="_changed_8">Changed</h4> +<div class="ulist"> +<ul> +<li> +<p>Switched to semantic versioning (old version: <code>9</code>, new version: <code>10.0.0</code>)</p> +</li> +</ul> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="release-instructions">Release instructions</h2> +<div class="sectionbody"> +<div class="admonitionblock warning"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-warning" title="Warning"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>In the code examples below, assuming the version to be released is <code>7.8.0</code>.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="admonitionblock warning"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-warning" title="Warning"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>The website-specific instructions are only applicable to projects which employ the reusable CI workflow with <code>site-enabled</code> input set to <code>true</code>.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="sect2"> +<h3 id="stage-release">Stage the release</h3> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Create and push the release branch:</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">git fetch -p +git checkout -B release/7.8.0 origin/main +git push origin release/7.8.0</code></pre> +</div> +</div> +<div class="admonitionblock tip"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-tip" title="Tip"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><code>release/</code>-prefixed branches trigger a particular GitHub Actions workflow and its run is idempotent. +You can iterate on the <code>release/7.8.0</code> branch to perfect it.</p> +</div> +</td> +</tr> +</table> +</div> +</li> +<li> +<p>Verify that the associated <a href="https://github.com/apache/logging-parent/actions">GitHub Actions workflow</a> succeeds:</p> +<div class="olist loweralpha"> +<ol class="loweralpha" type="a"> +<li> +<p><code>revision</code> property in <code>pom.xml</code> is updated</p> +</li> +<li> +<p>Changelog is released (i.e., <code>src/changelog/7.8.0</code> folder is populated)</p> +</li> +<li> +<p><strong>Signed artifacts</strong> are uploaded to the <em>Staging Repositories</em> in <a href="https://repository.apache.org/">repository.apache.org</a></p> +</li> +<li> +<p><strong>Signed distribution and its checksum</strong> (e.g., <code>apache-logging-parent-7.8.0-{bin,src}.{zip,.zip.asc,.zip.sha512}</code>) are uploaded to <a href="https://dist.apache.org/repos/dist/dev/logging/logging-parent">dist.apache.org/repos/dist/<strong>dev</strong>/logging/logging-parent</a> Subversion repository (along with auxiliary files; website, email texts, etc.)</p> +</li> +</ol> +</div> +<div class="paragraph"> +<p>If not, commit necessary fixes, push, and repeat.</p> +</div> +</li> +<li> +<p><em>Close</em> the repository in <a href="https://repository.apache.org/">repository.apache.org</a> using a self-explanatory description, e.g., <code>`logging-parent` version `7.8.0` RC1</code></p> +</li> +</ol> +</div> +</div> +<div class="sect2"> +<h3 id="stage-release-website">Stage the release website</h3> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Checkout the <code>asf-staging</code> branch of <a href="https://github.com/apache/logging-parent">the website repository</a></p> +</li> +<li> +<p>Override the contents of the <code>7.x</code> folder using the website uploaded to the <a href="https://dist.apache.org/repos/dist/dev/logging/logging-parent">dist.apache.org/repos/dist/<strong>dev</strong>/logging/logging-parent</a> Subversion repository</p> +</li> +</ol> +</div> +<div class="paragraph"> +<p>These steps can be summarized as follows in shell:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash"># Clone repositories (unless you already have them!) +svn co https://dist.apache.org/repos/dist/dev/logging logging-dist-dev +git clone https://github.com/apache/logging-parent logging-parent + +# Checkout the branch +cd logging-parent +git checkout -B asf-staging origin/asf-staging + +# Override the website +git rm -rf 7.x +mkdir 7.x +unzip ../logging-dist-dev/logging-parent/*-7.8.0-site.zip -d 7.x +git add 7.x +git commit -a -m 'Add `logging-parent` version `7.8.0` website' +git push origin asf-staging</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Changes should be visible in <a href="https://logging.staged.apache.org/logging-parent">the project <strong>staging</strong> website</a>.</p> +</div> +</div> +<div class="sect2"> +<h3 id="vote-release">Vote the release</h3> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Send the vote email uploaded to the <a href="https://dist.apache.org/repos/dist/dev/logging/logging-parent">dist.apache.org/repos/dist/<strong>dev</strong>/logging/logging-parent</a> Subversion repository</p> +<div class="admonitionblock warning"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-warning" title="Warning"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p><strong>Fix the cited <a href="https://repository.apache.org">repository.apache.org</a> URL</strong> in the generated email! +It changes after every Nexus deployment.</p> +</div> +</td> +</tr> +</table> +</div> +<div class="admonitionblock warning"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-warning" title="Warning"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>Make sure your email is sent in plain text, that is, <a href="https://infra.apache.org/contrib-email-tips#nohtml">no HTML</a>! +If you are using GMail, simply enable the <em>"Plain text mode"</em> while composing your message.</p> +</div> +</td> +</tr> +</table> +</div> +</li> +<li> +<p>Once the consensus is reached within the set time frame, respond to the first post in the thread as follows:</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code>Adding my +1. + +With that, the release passes with 3 binding +1 votes from <PMC-member-1>, ..., <PMC-member-N>, and me. I will continue the release process.</code></pre> +</div> +</div> +</li> +</ol> +</div> +</div> +<div class="sect2"> +<h3 id="publish-release">Publish the release</h3> +<div class="sect3"> +<h4 id="publish-release-git">In the git repository</h4> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Pull the most recent changes and tags</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">git fetch -p</code></pre> +</div> +</div> +</li> +<li> +<p>Tag the release (e.g., <code>rel/7.8.0</code>) and push it</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">git tag -a rel/7.8.0 <COMMIT-ID> -m 7.8.0 <i class="conum" data-value="1"></i><b>(1)</b> +git push origin rel/7.8.0</code></pre> +</div> +</div> +<div class="colist arabic"> +<table> +<tr> +<td><i class="conum" data-value="1"></i><b>1</b></td> +<td>You can find the <code>COMMIT-ID</code> in the generated vote email.</td> +</tr> +</table> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>The ASF infrastructure treats <code>rel/</code>-prefixed git tags special and ensures they are immutable for provenance reasons.</p> +</div> +</td> +</tr> +</table> +</div> +</li> +<li> +<p>Merge <code>release/7.8.0</code> to <code>main</code></p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">git checkout main +git rebase origin/main # Sync with the remote repository +git merge rel/7.8.0 # Pull changes up to the newly created tag</code></pre> +</div> +</div> +</li> +<li> +<p>Set the revision property to the next development version (e.g., <code>7.9.0-SNAPSHOT</code>) in <a href="pom.xml"><code>pom.xml</code></a></p> +</li> +<li> +<p>Commit changes and push the <code>main</code> branch</p> +</li> +<li> +<p>Delete the local and remote copies of the <code>release/7.8.0</code> branch</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash">git branch -D release/7.8.0 +git push --delete origin release/7.8.0</code></pre> +</div> +</div> +</li> +</ol> +</div> +</div> +<div class="sect3"> +<h4 id="publish-release-asf">In the ASF infrastructure</h4> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p><em>Release</em> the repository in <a href="https://repository.apache.org">repository.apache.org</a></p> +</li> +<li> +<p>In <a href="https://dist.apache.org/repos/dist/release/logging/logging-parent">dist.apache.org/repos/dist</a> Subversion repository,</p> +<div class="olist loweralpha"> +<ol class="loweralpha" type="a"> +<li> +<p>create the <code><strong>release</strong>/logging/logging-parent/7.8.0</code> folder, and copy the signed sources and their checksum from <code><strong>dev</strong>/logging/logging-parent</code> to there</p> +</li> +<li> +<p>delete the folder from an earlier release in <code><strong>release</strong>/logging/logging-parent</code></p> +</li> +<li> +<p>commit your changes in <code><strong>release</strong>/logging/logging-parent</code></p> +</li> +<li> +<p>delete the <code><strong>dev</strong>/logging/logging-parent</code> folder (stash the generated announcement email somewhere, you will need it later on)</p> +</li> +<li> +<p>commit changes your changes in <code><strong>dev</strong>/logging/logging-parent</code></p> +</li> +</ol> +</div> +<div class="openblock"> +<div class="content"> +<div class="paragraph"> +<p>These steps can be summarized as follows in shell:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash"># Clone repositories (unless you already have them!) +svn co https://dist.apache.org/repos/dist/dev/logging logging-dist-dev +svn co https://dist.apache.org/repos/dist/release/logging logging-dist-rel + +# Update `release` folder +cd logging-dist-rel +mkdir -p logging-parent/7.8.0 +cp ../logging-dist-dev/logging-parent/*-7.8.0-{bin,src}.* logging-parent/7.8.0/ +svn add logging-parent/7.8.0 +svn commit -m 'Add `logging-parent` version `7.8.0` distribution' + +# Update `dev` folder +cd ../logging-dist-dev +cp logging-parent/*-7.8.0-email-announce.txt /tmp +svn rm logging-parent +svn commit -m 'Remove `logging-parent` version `7.8.0` files released'</code></pre> +</div> +</div> +</div> +</div> +</li> +<li> +<p>Report the release at <a href="https://reporter.apache.org/addrelease.html?logging">reporter.apache.org</a></p> +</li> +</ol> +</div> +</div> +<div class="sect3"> +<h4 id="publish-release-github">In GitHub</h4> +<div class="paragraph"> +<p><a href="https://github.com/apache/logging-parent/releases/new">Create a new release in GitHub</a></p> +</div> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Use the <code>rel/7.8.0</code> tag</p> +</li> +<li> +<p>Copy release notes from the generated emails</p> +</li> +</ol> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="publish-release-website">Publish the release website</h3> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Checkout the <code>asf-site</code> branch of <a href="https://github.com/apache/logging-parent">the website repository</a></p> +</li> +<li> +<p>Replace the <code>7.x</code> folder with the one in <code>asf-staging</code> branch</p> +</li> +</ol> +</div> +<div class="paragraph"> +<p>These steps can be summarized as follows in shell:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay highlight"><code data-lang="bash"># Clone the repository (unless you already have it!) +git clone https://github.com/apache/logging-parent logging-parent + +# Checkout the branch +cd logging-parent +git checkout -B asf-site origin/asf-site + +# Override the website +git rm -rf 7.x +mkdir 7.x +git checkout origin/asf-staging -- 7.x +git add 7.x +git commit -a -m 'Add `logging-parent` version `7.8.0` website' +git push origin asf-site</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Changes should be visible in <a href="https://logging.apache.org/logging-parent">the project website</a>.</p> +</div> +</div> +<div class="sect2"> +<h3 id="announce-release">Announce the release</h3> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Send the announcement email uploaded to the <a href="https://dist.apache.org/repos/dist/dev/logging/logging-parent">dist.apache.org/repos/dist/<strong>dev</strong>/logging/logging-parent</a> Subversion repository</p> +<div class="admonitionblock warning"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-warning" title="Warning"></i> +</td> +<td class="content"> +<div class="paragraph"> +<p>Make sure your email is sent in plain text, that is, <a href="https://infra.apache.org/contrib-email-tips#nohtml">no HTML</a>! +If you are using GMail, simply enable the <em>"Plain text mode"</em> while composing your message.</p> +</div> +</td> +</tr> +</table> +</div> +</li> +</ol> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="license">License</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. +See <code>NOTICE.txt</code> 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 <a href="https://www.apache.org/licenses/LICENSE-2.0" class="bare">https://www.apache.org/licenses/LICENSE-2.0</a>.</p> +</div> +<div class="paragraph"> +<p>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.</p> +</div> +</div> +</div> +</div> +<div id="footer"> +<div id="footer-text"> +Last updated 2024-04-11 08:33:28 UTC +</div> +</div> +</body> +</html> \ No newline at end of file