This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch release/0.5.0
in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git

commit 71b929d82730c969587c62f5b9e29e4ff8da0d57
Author: Volkan Yazıcı <[email protected]>
AuthorDate: Fri Sep 8 09:29:04 2023 +0200

    Bump `logging-parent` version to `10.0.0-SNAPSHOT`
---
 .github/workflows/build.yml |   4 +
 RELEASING.adoc              |  37 ++--
 log4j-tools-parent/pom.xml  |  28 ---
 pom.xml                     | 435 +-------------------------------------------
 4 files changed, 26 insertions(+), 478 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1f9bd37..83e0cd1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -55,5 +55,9 @@ jobs:
     if: github.repository == 'apache/logging-log4j-tools' && 
startsWith(github.ref, 'refs/heads/release/')
     uses: 
apache/logging-parent/.github/workflows/deploy-release-reusable.yml@main
     secrets: inherit
+    # Write permissions to allow the Maven `revision` property update, 
changelog release, etc.
+    permissions:
+      contents: write
     with:
       project-name: log4j-tools
+      distribution-attachment-count: 2
diff --git a/RELEASING.adoc b/RELEASING.adoc
index 8256819..0acbb37 100644
--- a/RELEASING.adoc
+++ b/RELEASING.adoc
@@ -43,20 +43,29 @@ In the code examples below, assuming the version to be 
released is `7.8.0`.
 
 == Stage the release
 
-. Checkout the release branch: `git checkout -B release/7.8.0 origin/main`
-. Perform and commit following changes:
-.. Set the `revision` property to `7.8.0` in xref:pom.xml[`pom.xml`]
-.. For release notes
-... Run `./mvnw -N -P changelog-release` and verify `src/changelog` content 
(e.g., `.release-notes.md.ftl`)
-... Run `./mvnw -N -P changelog-export` and verify `target/release-notes` 
content
-. Make sure that `./mvnw clean verify` succeeds – if not, implement necessary 
fixes
-. Commit and push the `release/7.8.0` branch
-. Make sure the associated 
https://github.com/apache/{repository-name}/actions[GitHub Actions workflow] 
succeeds:
+. Create and push the release branch:
++
+[source,bash]
+----
+git fetch -p
+git checkout -B release/7.8.0 origin/main
+git push origin release/7.8.0
+----
+. Verify that the associated 
https://github.com/apache/{repository-name}/actions[GitHub Actions workflow] 
succeeds:
+.. `revision` property in `pom.xml` is updated
+.. Changelog is released (i.e., `src/changelog/7.8.0` folder is populated)
 .. *Signed artifacts* are uploaded to the _Staging Repositories_ in 
https://repository.apache.org/[repository.apache.org]
-.. *Signed distribution and its checksum* (e.g., 
`apache-{project-name}-7.8.0.{zip,.zip.asc,.zip.sha512}`) are uploaded to 
https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j]
 Subversion repository (along with auxiliary files; email texts, etc.)
+.. *Signed distribution and its checksum* (e.g., 
`apache-{project-name}-7.8.0-{bin,src}.{zip,.zip.asc,.zip.sha512}`) are 
uploaded to 
https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j]
 Subversion repository (along with auxiliary files; email texts, etc.)
 
 +
 If not, commit necessary fixes, push, and repeat.
+
++
+[TIP]
+====
+GitHub Actions workflow is idempotent.
+You can iterate on the `release/7.8.0` branch to perfect it.
+====
 . _Close_ the repository in 
https://repository.apache.org/[repository.apache.org]
 
 == Vote the release
@@ -65,7 +74,8 @@ If not, commit necessary fixes, push, and repeat.
 +
 [WARNING]
 ====
-Double-check the cited https://repository.apache.org[repository.apache.org] 
URL in the generated email, it might have changed!
+**Fix the cited https://repository.apache.org[repository.apache.org] URL** in 
the generated email!
+It changes after every Nexus deployment.
 ====
 +
 [WARNING]
@@ -128,11 +138,6 @@ Once the artifacts are visible in 
https://central.sonatype.dev/[central.sonatype
 +
 [WARNING]
 ====
-Double-check the cited https://repository.apache.org[repository.apache.org] 
URL in the generated email, it might have changed!
-====
-+
-[WARNING]
-====
 Make sure your email is sent in plain text, that is, 
https://infra.apache.org/contrib-email-tips#nohtml[no HTML]!
 If you are using GMail, simply enable the _"Plain text mode"_ while composing 
your message.
 ====
diff --git a/log4j-tools-parent/pom.xml b/log4j-tools-parent/pom.xml
index f8daae4..eb2dfb9 100644
--- a/log4j-tools-parent/pom.xml
+++ b/log4j-tools-parent/pom.xml
@@ -116,32 +116,4 @@
     </dependencies>
   </dependencyManagement>
 
-  <build>
-    <plugins>
-
-      <!-- Resolves `revision` property prior to deployment.
-           Skipping this step would result in artifacts not consumable by 
Maven.
-           https://maven.apache.org/maven-ci-friendly.html#install-deploy -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>flatten-maven-plugin</artifactId>
-        <version>${flatten-maven-plugin.version}</version>
-        <configuration>
-          <updatePomFile>true</updatePomFile>
-          <flattenMode>resolveCiFriendliesOnly</flattenMode>
-        </configuration>
-        <executions>
-          <execution>
-            <id>flatten-revision</id>
-            <goals>
-              <goal>flatten</goal>
-            </goals>
-            <phase>process-resources</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
 </project>
diff --git a/pom.xml b/pom.xml
index 8c69e4d..9f35d02 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.logging</groupId>
     <artifactId>logging-parent</artifactId>
-    <version>1.10.0-SNAPSHOT</version>
+    <version>10.0.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.logging.log4j</groupId>
@@ -43,20 +43,6 @@
 
   <inceptionYear>2022</inceptionYear>
 
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>https://apache.org</url>
-  </organization>
-
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-      <comments>A business-friendly OSS license</comments>
-    </license>
-  </licenses>
-
   <developers>
 
     <developer>
@@ -139,20 +125,6 @@
     <!-- `project.build.outputTimestamp` is required for reproducible builds: 
https://maven.apache.org/guides/mini/guide-reproducible-builds.html -->
     <project.build.outputTimestamp>0</project.build.outputTimestamp>
 
-    <!-- dependency versions -->
-    <org.eclipse.jgit.version>6.6.1.202309021850-r</org.eclipse.jgit.version>
-
-    <!-- plugin versions -->
-    <beanshell-maven-plugin.version>1.4</beanshell-maven-plugin.version>
-    <error-prone.version>2.21.1</error-prone.version>
-    <findsecbugs-plugin.version>1.12.0</findsecbugs-plugin.version>
-    <flatten-maven-plugin.version>1.5.0</flatten-maven-plugin.version>
-    
<log4j-changelog-maven-plugin.version>0.4.0</log4j-changelog-maven-plugin.version>
-    <maven-deploy-plugin.version>3.0.0</maven-deploy-plugin.version>
-    <sign-maven-plugin.version>1.0.1</sign-maven-plugin.version>
-    <spotbugs-maven-plugin.version>4.7.3.5</spotbugs-maven-plugin.version>
-    <xml-maven-plugin.version>1.1.0</xml-maven-plugin.version>
-
   </properties>
 
   <!-- `dependencyManagement` must only contain `log4j-tools` modules and 
nothing else!
@@ -186,36 +158,6 @@
   </repositories>
 
   <build>
-
-    <pluginManagement>
-      <plugins>
-
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>flatten-maven-plugin</artifactId>
-          <version>${flatten-maven-plugin.version}</version>
-          <configuration>
-            <!-- Setting `outputDirectory` to `project.build.directory`, which 
is cleaned by `default-clean` execution of `clean:clean`.
-                 This makes `flatten:clean` redundant. -->
-            <outputDirectory>${project.build.directory}</outputDirectory>
-          </configuration>
-        </plugin>
-
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-plugin-plugin</artifactId>
-          <version>${maven-plugin.version}</version>
-        </plugin>
-
-        <plugin>
-          <groupId>com.github.spotbugs</groupId>
-          <artifactId>spotbugs-maven-plugin</artifactId>
-          <version>${spotbugs-maven-plugin.version}</version>
-        </plugin>
-
-      </plugins>
-    </pluginManagement>
-
     <plugins>
 
       <!-- BOMs should ideally _only_ contain dependencies for modules of the 
project.
@@ -251,382 +193,7 @@
         </executions>
       </plugin>
 
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <release>${java.version}</release>
-          <encoding>${project.build.sourceEncoding}</encoding>
-          <compilerArgs>
-            <arg>-Xlint:all</arg>
-            <arg>-XDcompilePolicy=simple</arg>
-            <arg>-Xplugin:ErrorProne</arg>
-          </compilerArgs>
-          <annotationProcessorPaths>
-            <path>
-              <groupId>com.google.errorprone</groupId>
-              <artifactId>error_prone_core</artifactId>
-              <version>${error-prone.version}</version>
-            </path>
-          </annotationProcessorPaths>
-        </configuration>
-      </plugin>
-
-      <!-- Apache RAT (Release Audit Tool) check to verify licenses.
-           `apache-rat-plugin`: 
https://creadur.apache.org/rat/apache-rat-plugin/
-           Release Audit Tool: https://creadur.apache.org/rat/index.html -->
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <configuration>
-          <consoleOutput>true</consoleOutput>
-          <excludes>
-            <exclude>**/target/**/*</exclude>
-            <exclude>.java-version</exclude>
-            <exclude>.mvn/jvm.config</exclude>
-            <exclude>**/*.txt</exclude>
-            <!-- IntelliJ IDEA files: -->
-            <exclude>.idea/**/*</exclude>
-            <exclude>**/*.iml</exclude>
-            <!-- License headers in GitHub templates pollute the prompt 
displayed to the user: -->
-            <exclude>.github/ISSUE_TEMPLATE/*.md</exclude>
-            <exclude>.github/pull_request_template.md</exclude>
-          </excludes>
-        </configuration>
-        <executions>
-          <execution>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <phase>verify</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- Ensure that version for each dependency resolved during a build, is 
equal to or higher than all transitive dependency declarations.
-           A failure here requires adding the dependency to the dependency 
management. -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-enforcer-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>enforce-upper-bound-deps</id>
-            <goals>
-              <goal>enforce</goal>
-            </goals>
-            <configuration>
-              <rules>
-                <requireUpperBoundDeps />
-              </rules>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>com.github.spotbugs</groupId>
-        <artifactId>spotbugs-maven-plugin</artifactId>
-        <configuration>
-          <plugins>
-            <plugin>
-              <groupId>com.h3xstream.findsecbugs</groupId>
-              <artifactId>findsecbugs-plugin</artifactId>
-              <version>${findsecbugs-plugin.version}</version>
-            </plugin>
-          </plugins>
-        </configuration>
-        <executions>
-          <execution>
-            <id>default-spotbugs</id>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <phase>verify</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>xml-maven-plugin</artifactId>
-        <version>${xml-maven-plugin.version}</version>
-        <inherited>false</inherited>
-        <executions>
-          <execution>
-            <goals>
-              <goal>validate</goal>
-            </goals>
-            <configuration>
-              <validationSets>
-                <validationSet>
-                  <dir>src/changelog</dir>
-                  <includes>**/*.xml</includes>
-                  
<publicId>http://logging.apache.org/log4j/changelog</publicId>
-                  
<systemId>https://logging.apache.org/log4j/changelog-0.1.1.xsd</systemId>
-                  <validating>true</validating>
-                </validationSet>
-              </validationSets>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
     </plugins>
-
   </build>
 
-  <profiles>
-
-    <!-- `changelog-export` profile to export changelogs.
-         It is manually enabled by users to generate release notes.
-         See `RELEASING.adoc` for instructions. -->
-    <profile>
-      <id>changelog-export</id>
-      <build>
-        <defaultGoal>log4j-changelog:export</defaultGoal>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-changelog-maven-plugin</artifactId>
-            <version>${log4j-changelog-maven-plugin.version}</version>
-            <inherited>false</inherited>
-            <configuration>
-              
<outputDirectory>${project.build.directory}/release-notes</outputDirectory>
-              <indexTemplates>
-                <template>
-                  <source>.index.md.ftl</source>
-                </template>
-              </indexTemplates>
-              <changelogTemplates>
-                <template>
-                  <source>.release-notes.md.ftl</source>
-                  <target>%v.md</target>
-                </template>
-              </changelogTemplates>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!-- `changelog-release` profile to move `src/changelog/.0.x.x` contents 
to their associated release directory.
-         It is manually enabled by users while cutting a release.
-         See `RELEASING.adoc` for instructions. -->
-    <profile>
-      <id>changelog-release</id>
-      <build>
-        <defaultGoal>log4j-changelog:release</defaultGoal>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-changelog-maven-plugin</artifactId>
-            <version>${log4j-changelog-maven-plugin.version}</version>
-            <inherited>false</inherited>
-            <configuration>
-              <releaseVersion>${revision}</releaseVersion>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!-- `distribution` profile creating the distribution ZIP containing:
-         1. Git-tracked sources
-         2. Generated JAR files
-         3. Release notes
-
-         This profile must be executed after a successful `package` phase, 
since we need JARs.
-         This profile is manually enabled by `.github/workflows/build.yml` 
while releasing. -->
-    <profile>
-
-      <id>distribution</id>
-
-      <build>
-
-        <defaultGoal>log4j-changelog:export bsh:run</defaultGoal>
-
-        <plugins>
-
-          <!-- Generate release notes -->
-          <plugin>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-changelog-maven-plugin</artifactId>
-            <version>${log4j-changelog-maven-plugin.version}</version>
-            <configuration>
-              
<outputDirectory>${project.build.directory}/release-notes</outputDirectory>
-              <indexTemplates>
-                <template>
-                  <source>.index.md.ftl</source>
-                </template>
-              </indexTemplates>
-              <changelogTemplates>
-                <template>
-                  <source>.release-notes.md.ftl</source>
-                  <target>%v.md</target>
-                </template>
-              </changelogTemplates>
-            </configuration>
-          </plugin>
-
-          <!-- Create the distribution ZIP -->
-          <plugin>
-            <groupId>com.github.genthaler</groupId>
-            <artifactId>beanshell-maven-plugin</artifactId>
-            <version>${beanshell-maven-plugin.version}</version>
-            <configuration>
-              <script><![CDATA[import java.io.*;
-                import java.nio.file.*;
-                import java.util.*;
-                import java.util.function.*;
-                import java.util.stream.*;
-                import java.util.zip.*;
-
-                import org.eclipse.jgit.dircache.*;
-                import org.eclipse.jgit.lib.Repository;
-                import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
-
-                zip(String zipFileName, Map pathByFile) {
-                    OutputStream outputStream = new 
FileOutputStream(zipFileName);
-                    ZipOutputStream zipOutputStream = new 
ZipOutputStream(outputStream);
-                    try {
-                        for (String file : pathByFile.keySet()) {
-                            Path path = pathByFile.get(file);
-                            ZipEntry zipEntry = new ZipEntry(file);
-                            zipEntry.setTime(0);
-                            zipOutputStream.putNextEntry(zipEntry);
-                            zipOutputStream.write(Files.readAllBytes(path));
-                            zipOutputStream.closeEntry();
-                        }
-                    } catch (Exception error) {
-                        // Supplement diagnostics
-                        error.printStackTrace(System.err);
-                        throw error;
-                    } finally {
-                        zipOutputStream.close();
-                    }
-                }
-
-                // Find Git-tracked files
-                SortedMap pathByFile = new TreeMap();
-                Repository repo = new 
FileRepositoryBuilder().readEnvironment().findGitDir().build();
-                DirCache repoCache = repo.readDirCache();
-                String repoDirectoryParent = repo.getDirectory().getParent();
-                for (int repoCacheEntryIndex = 0; repoCacheEntryIndex < 
repoCache.getEntryCount(); repoCacheEntryIndex++) {
-                    DirCacheEntry repoCacheEntry = 
repoCache.getEntry(repoCacheEntryIndex);
-                    String repoCacheEntryPath = repoCacheEntry.getPathString();
-                    pathByFile.put(repoCacheEntryPath, new 
File(repoDirectoryParent, repoCacheEntryPath).toPath());
-                }
-
-                // Create `src.zip` using Git-tracked files
-                zip("target/src.zip", pathByFile);
-                System.out.format("Generated source ZIP containing %d 
files.%n", new Object[]{pathByFile.size()});
-
-                // Find auxiliary files that will go into the distribution
-                SortedMap pathByFile = new TreeMap();
-                pathByFile.put("src.zip", new File("target/src.zip").toPath());
-                pathByFile.put("RELEASE-NOTES.md", new 
File("target/release-notes/${revision}.md").toPath());
-                pathByFile.put("NOTICE.txt", new File("NOTICE.txt").toPath());
-                pathByFile.put("LICENSE.txt", new 
File("LICENSE.txt").toPath());
-
-                // Find JAR files that will go into the distribution
-                Stream paths = Files.walk(new 
File(repoDirectoryParent).toPath(), 8, new FileVisitOption[0]);
-                int[] jarCount = {0};
-                try {
-                    paths.forEach(new Consumer() {
-                        public void accept(Path path) {
-                            File file = path.toFile();
-                            if 
(file.getParentFile().getName().equals("target") &&
-                                    
file.getName().matches("^log4j-(.+)-${revision}(-tests)?\\.jar$")) {
-                                pathByFile.put(file.getName(), path);
-                                jarCount[0]++;
-                            }
-                        }
-                    });
-                } finally {
-                    paths.close();
-                }
-
-                // Check if no JARs are found
-                if (jarCount[0] == 0) {
-                    System.err.println("Error: Could not find any JARs!");
-                    System.err.println("Tip: Have you already executed the 
Maven `package` goal?");
-                    System.exit(1);
-                }
-
-                // Create the distribution ZIP
-                zip("target/dist.zip", pathByFile);
-                System.out.format("Generated distribution ZIP containing 
following %d files:%n", new Object[] {pathByFile.size()});
-                for (String file : pathByFile.keySet()) {
-                    System.out.println("-> " + file);
-                }]]></script>
-            </configuration>
-            <dependencies>
-              <dependency>
-                <groupId>org.eclipse.jgit</groupId>
-                <artifactId>org.eclipse.jgit</artifactId>
-                <version>${org.eclipse.jgit.version}</version>
-              </dependency>
-            </dependencies>
-          </plugin>
-
-        </plugins>
-
-      </build>
-
-    </profile>
-
-    <!-- `deploy` profile activating deployment-specific configuration.
-         It is manually enabled by `.github/workflows/build.yml` while 
releasing. -->
-    <profile>
-
-      <id>deploy</id>
-
-      <properties>
-        <deployAtEnd>true</deployAtEnd>
-        <installAtEnd>true</installAtEnd>
-        <skipTests>true</skipTests>
-        <spotbugs.skip>true</spotbugs.skip>
-        <spotless.check.skip>true</spotless.check.skip>
-      </properties>
-
-      <build>
-
-        <defaultGoal>deploy</defaultGoal>
-
-        <plugins>
-
-          <plugin>
-            <groupId>org.simplify4u.plugins</groupId>
-            <artifactId>sign-maven-plugin</artifactId>
-            <version>${sign-maven-plugin.version}</version>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>sign</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-source-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-sources</id>
-                <goals>
-                  <goal>jar-no-fork</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-
-        </plugins>
-
-      </build>
-
-    </profile>
-
-  </profiles>
-
 </project>

Reply via email to