They were generated by the Maven Archetype. IntelliJ collapses them for me so I didn’t notice.
Ralph > On Jan 22, 2023, at 3:29 PM, Matt Sicker <m...@musigma.org> wrote: > > Are these copyrights really supposed to be so ancient? The copyright year > goes in the NOTICE.txt file these days anyways, so those could be simplified. > — > Matt Sicker > >> On Jan 21, 2023, at 00:12, rgo...@apache.org wrote: >> >> This is an automated email from the ASF dual-hosted git repository. >> >> rgoers pushed a commit to branch PR20 >> in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git >> >> commit 1642bc8ee6210fc75dff3e9f319f853e76d65ee5 >> Author: Ralph Goers <rgo...@apache.org> >> AuthorDate: Fri Jan 20 23:08:37 2023 -0700 >> >> #20 - Add Maven changelog plugins >> --- >> .../changelog/exporter/ChangelogExporter.java | 7 +- >> .../changelog/exporter/ChangelogExporterArgs.java | 6 +- >> .../changelog/releaser/ChangelogReleaser.java | 6 +- >> .../changelog/releaser/ChangelogReleaserArgs.java | 6 +- >> log4j-maven-changelog-plugin/pom.xml | 142 >> +++++++++++++++++++++ >> .../java/org/apache/logging/log4j/ExportMojo.java | 68 ++++++++++ >> .../java/org/apache/logging/log4j/ReleaseMojo.java | 71 +++++++++++ >> pom.xml | 4 +- >> 8 files changed, 299 insertions(+), 11 deletions(-) >> >> diff --git >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java >> >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java >> index 236dcea..82c0c17 100644 >> --- >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java >> +++ >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java >> @@ -34,10 +34,10 @@ public final class ChangelogExporter { >> private ChangelogExporter() {} >> >> public static void main(final String[] mainArgs) { >> + performExport(ChangelogExporterArgs.fromSystemProperties()); >> + } >> >> - // Read arguments >> - final ChangelogExporterArgs args = >> ChangelogExporterArgs.fromSystemProperties(); >> - >> + public static void performExport(final ChangelogExporterArgs args) { >> // Find release directories >> final List<Path> releaseDirectories = findReleaseDirectories(args); >> final int releaseDirectoryCount = releaseDirectories.size(); >> @@ -107,7 +107,6 @@ public final class ChangelogExporter { >> // Export the release index >> final Path changelogIndexTemplateFile = >> ChangelogFiles.indexTemplateFile(args.changelogDirectory); >> exportIndex(args.outputDirectory, changelogReleases, >> changelogIndexTemplateFile); >> - >> } >> >> private static List<Path> findReleaseDirectories(ChangelogExporterArgs >> args) { >> diff --git >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporterArgs.java >> >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporterArgs.java >> index 8d79d9a..32a4878 100644 >> --- >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporterArgs.java >> +++ >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporterArgs.java >> @@ -20,7 +20,7 @@ import java.nio.file.Path; >> >> import static >> org.apache.logging.log4j.changelog.util.PropertyUtils.requireNonBlankPathProperty; >> >> -final class ChangelogExporterArgs { >> +public final class ChangelogExporterArgs { >> >> final Path changelogDirectory; >> >> @@ -37,4 +37,8 @@ final class ChangelogExporterArgs { >> return new ChangelogExporterArgs(changelogDirectory, outputDirectory); >> } >> >> + public static ChangelogExporterArgs fromArgs(final Path >> changelogDirectory, final Path outputDirectory) { >> + return new ChangelogExporterArgs(changelogDirectory, >> outputDirectory); >> + } >> + >> } >> diff --git >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaser.java >> >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaser.java >> index 55b4fca..02268b3 100644 >> --- >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaser.java >> +++ >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaser.java >> @@ -35,9 +35,10 @@ public final class ChangelogReleaser { >> >> public static void main(final String[] mainArgs) throws Exception { >> >> - // Read arguments >> - final ChangelogReleaserArgs args = >> ChangelogReleaserArgs.fromSystemProperties(); >> + performRelease(ChangelogReleaserArgs.fromSystemProperties()); >> + } >> >> + public static void performRelease(final ChangelogReleaserArgs args) >> throws Exception { >> // Read the release date and version >> final String releaseDate = ISO_DATE.format(LocalDate.now()); >> final int releaseVersionMajor = >> VersionUtils.versionMajor(args.releaseVersion); >> @@ -53,7 +54,6 @@ public final class ChangelogReleaser { >> >> // Write the release changelog template >> populateReleaseChangelogTemplateFile(unreleasedDirectory, >> releaseDirectory); >> - >> } >> >> private static void populateChangelogEntryFiles( >> diff --git >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaserArgs.java >> >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaserArgs.java >> index f6bf6cb..7a47c3c 100644 >> --- >> a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaserArgs.java >> +++ >> b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaserArgs.java >> @@ -22,7 +22,7 @@ import static >> org.apache.logging.log4j.changelog.util.PropertyUtils.requireNonBl >> import static >> org.apache.logging.log4j.changelog.util.PropertyUtils.requireNonBlankStringProperty; >> import static >> org.apache.logging.log4j.changelog.util.VersionUtils.requireSemanticVersioning; >> >> -final class ChangelogReleaserArgs { >> +public final class ChangelogReleaserArgs { >> >> final Path changelogDirectory; >> >> @@ -41,4 +41,8 @@ final class ChangelogReleaserArgs { >> return new ChangelogReleaserArgs(changelogDirectory, releaseVersion); >> } >> >> + public static ChangelogReleaserArgs fromArgs(final Path >> changelogDirectory, final String releaseVersion) { >> + return new ChangelogReleaserArgs(changelogDirectory, >> releaseVersion); >> + } >> + >> } >> diff --git a/log4j-maven-changelog-plugin/pom.xml >> b/log4j-maven-changelog-plugin/pom.xml >> new file mode 100644 >> index 0000000..7dc4ea6 >> --- /dev/null >> +++ b/log4j-maven-changelog-plugin/pom.xml >> @@ -0,0 +1,142 @@ >> +<?xml version="1.0" encoding="UTF-8"?> >> +<!-- >> + Licensed to the Apache Software Foundation (ASF) under one or more >> + contributor license agreements. See the NOTICE file distributed with >> + this work for additional information regarding copyright ownership. >> + The ASF licenses this file to You under the Apache License, Version 2.0 >> + (the "License"); you may not use this file except in compliance with >> + the License. You may obtain a copy of the License at >> + >> + https://www.apache.org/licenses/LICENSE-2.0 >> + >> + Unless required by applicable law or agreed to in writing, software >> + distributed under the License is distributed on an "AS IS" BASIS, >> + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + See the License for the specific language governing permissions and >> + limitations under the License. >> +--> >> +<project xmlns="http://maven.apache.org/POM/4.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> + <modelVersion>4.0.0</modelVersion> >> + <parent> >> + <groupId>org.apache.logging.log4j</groupId> >> + <artifactId>log4j-tools-parent</artifactId> >> + <version>${revision}</version> >> + <relativePath>../log4j-tools-parent/pom.xml</relativePath> >> + </parent> >> + <artifactId>log4j-maven-changelog-plugin</artifactId> >> + <packaging>maven-plugin</packaging> >> + >> + <name>log4j-maven-changelog-plugin Maven Plugin</name> >> + >> + <!-- FIXME change it to the project's website --> >> + <url>http://maven.apache.org</url> >> + >> + <properties> >> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> >> + </properties> >> + >> + <dependencyManagement> >> + <dependencies> >> + <dependency> >> + <groupId>org.codehaus.plexus</groupId> >> + <artifactId>plexus-utils</artifactId> >> + <version>3.3.1</version> >> + </dependency> >> + </dependencies> >> + </dependencyManagement> >> + >> + <dependencies> >> + <dependency> >> + <groupId>org.apache.maven</groupId> >> + <artifactId>maven-plugin-api</artifactId> >> + <version>3.8.7</version> >> + </dependency> >> + <dependency> >> + <groupId>org.apache.maven.plugin-tools</groupId> >> + <artifactId>maven-plugin-annotations</artifactId> >> + <version>3.6.4</version> >> + <scope>provided</scope> >> + </dependency> >> + <dependency> >> + <groupId>org.codehaus.plexus</groupId> >> + <artifactId>plexus-utils</artifactId> >> + <version>3.3.1</version> >> + </dependency> >> + <dependency> >> + <groupId>org.apache.logging.log4j</groupId> >> + <artifactId>log4j-changelog</artifactId> >> + <version>${project.version}</version> >> + </dependency> >> + <dependency> >> + <groupId>junit</groupId> >> + <artifactId>junit</artifactId> >> + <version>4.8.2</version> >> + <scope>test</scope> >> + </dependency> >> + </dependencies> >> + >> + <build> >> + <plugins> >> + <plugin> >> + <groupId>org.apache.maven.plugins</groupId> >> + <artifactId>maven-plugin-plugin</artifactId> >> + <version>3.5</version> >> + <configuration> >> + <goalPrefix>log4j-changelog</goalPrefix> >> + <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> >> + <mojoDependencies> >> + </mojoDependencies> >> + </configuration> >> + <executions> >> + <execution> >> + <id>mojo-descriptor</id> >> + <goals> >> + <goal>descriptor</goal> >> + </goals> >> + </execution> >> + </executions> >> + </plugin> >> + </plugins> >> + </build> >> + <profiles> >> + <profile> >> + <id>run-its</id> >> + <build> >> + >> + <plugins> >> + <plugin> >> + <groupId>org.apache.maven.plugins</groupId> >> + <artifactId>maven-invoker-plugin</artifactId> >> + <version>1.7</version> >> + <configuration> >> + <debug>true</debug> >> + >> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> >> + <pomIncludes> >> + <pomInclude>*/pom.xml</pomInclude> >> + </pomIncludes> >> + <postBuildHookScript>verify</postBuildHookScript> >> + >> <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> >> + <settingsFile>src/it/settings.xml</settingsFile> >> + <goals> >> + <goal>clean</goal> >> + <goal>test-compile</goal> >> + </goals> >> + </configuration> >> + <executions> >> + <execution> >> + <id>integration-test</id> >> + <goals> >> + <goal>install</goal> >> + <goal>integration-test</goal> >> + <goal>verify</goal> >> + </goals> >> + </execution> >> + </executions> >> + </plugin> >> + </plugins> >> + >> + </build> >> + </profile> >> + </profiles> >> +</project> >> diff --git >> a/log4j-maven-changelog-plugin/src/main/java/org/apache/logging/log4j/ExportMojo.java >> >> b/log4j-maven-changelog-plugin/src/main/java/org/apache/logging/log4j/ExportMojo.java >> new file mode 100644 >> index 0000000..99919a5 >> --- /dev/null >> +++ >> b/log4j-maven-changelog-plugin/src/main/java/org/apache/logging/log4j/ExportMojo.java >> @@ -0,0 +1,68 @@ >> +/* >> + * Licensed to the Apache Software Foundation (ASF) under one or more >> + * contributor license agreements. See the NOTICE file distributed with >> + * this work for additional information regarding copyright ownership. >> + * The ASF licenses this file to You under the Apache license, Version 2.0 >> + * (the "License"); you may not use this file except in compliance with >> + * the License. You may obtain a copy of the License at >> + * >> + * http://www.apache.org/licenses/LICENSE-2.0 >> + * >> + * Unless required by applicable law or agreed to in writing, software >> + * distributed under the License is distributed on an "AS IS" BASIS, >> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + * See the license for the specific language governing permissions and >> + * limitations under the license. >> + */ >> +package org.apache.logging.log4j; >> + >> +/* >> + * Copyright 2001-2005 The Apache Software Foundation. >> + * >> + * Licensed under the Apache License, Version 2.0 (the "License"); >> + * you may not use this file except in compliance with the License. >> + * You may obtain a copy of the License at >> + * >> + * http://www.apache.org/licenses/LICENSE-2.0 >> + * >> + * Unless required by applicable law or agreed to in writing, software >> + * distributed under the License is distributed on an "AS IS" BASIS, >> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + * See the License for the specific language governing permissions and >> + * limitations under the License. >> + */ >> + >> +import java.io.File; >> + >> +import org.apache.logging.log4j.changelog.exporter.ChangelogExporter; >> +import org.apache.logging.log4j.changelog.exporter.ChangelogExporterArgs; >> + >> +import org.apache.maven.plugin.AbstractMojo; >> +import org.apache.maven.plugin.MojoExecutionException; >> +import org.apache.maven.plugins.annotations.LifecyclePhase; >> +import org.apache.maven.plugins.annotations.Mojo; >> +import org.apache.maven.plugins.annotations.Parameter; >> + >> +/** >> + * Goal which creates a changelog. >> + */ >> +@Mojo(name = "export", defaultPhase = LifecyclePhase.PRE_SITE) >> +public class ExportMojo extends AbstractMojo { >> + /** >> + * Location of the file. >> + */ >> + @Parameter(defaultValue = >> "${project.build.directory}/generated-sources/site/asciidoc/changelog", >> + property = "outputDir", required = true) >> + private File outputDirectory; >> + >> + /** >> + * Location of the file. >> + */ >> + @Parameter(defaultValue = "${project.basedir}/src/changelog", property >> = "changeLogDir", required = true) >> + private File changeLogDirectory; >> + >> + public void execute() throws MojoExecutionException { >> + >> ChangelogExporter.performExport(ChangelogExporterArgs.fromArgs(changeLogDirectory.toPath(), >> + outputDirectory.toPath())); >> + } >> +} >> diff --git >> a/log4j-maven-changelog-plugin/src/main/java/org/apache/logging/log4j/ReleaseMojo.java >> >> b/log4j-maven-changelog-plugin/src/main/java/org/apache/logging/log4j/ReleaseMojo.java >> new file mode 100644 >> index 0000000..001a692 >> --- /dev/null >> +++ >> b/log4j-maven-changelog-plugin/src/main/java/org/apache/logging/log4j/ReleaseMojo.java >> @@ -0,0 +1,71 @@ >> +/* >> + * Licensed to the Apache Software Foundation (ASF) under one or more >> + * contributor license agreements. See the NOTICE file distributed with >> + * this work for additional information regarding copyright ownership. >> + * The ASF licenses this file to You under the Apache license, Version 2.0 >> + * (the "License"); you may not use this file except in compliance with >> + * the License. You may obtain a copy of the License at >> + * >> + * http://www.apache.org/licenses/LICENSE-2.0 >> + * >> + * Unless required by applicable law or agreed to in writing, software >> + * distributed under the License is distributed on an "AS IS" BASIS, >> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + * See the license for the specific language governing permissions and >> + * limitations under the license. >> + */ >> +package org.apache.logging.log4j; >> + >> +/* >> + * Copyright 2001-2005 The Apache Software Foundation. >> + * >> + * Licensed under the Apache License, Version 2.0 (the "License"); >> + * you may not use this file except in compliance with the License. >> + * You may obtain a copy of the License at >> + * >> + * http://www.apache.org/licenses/LICENSE-2.0 >> + * >> + * Unless required by applicable law or agreed to in writing, software >> + * distributed under the License is distributed on an "AS IS" BASIS, >> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + * See the License for the specific language governing permissions and >> + * limitations under the License. >> + */ >> + >> +import java.io.File; >> + >> +import org.apache.logging.log4j.changelog.releaser.ChangelogReleaser; >> +import org.apache.logging.log4j.changelog.releaser.ChangelogReleaserArgs; >> + >> +import org.apache.maven.plugin.AbstractMojo; >> +import org.apache.maven.plugin.MojoExecutionException; >> +import org.apache.maven.plugins.annotations.LifecyclePhase; >> +import org.apache.maven.plugins.annotations.Mojo; >> +import org.apache.maven.plugins.annotations.Parameter; >> + >> +/** >> + * Goal which creates a changelog. >> + */ >> +@Mojo(name = "release", defaultPhase = LifecyclePhase.PRE_SITE) >> +public class ReleaseMojo extends AbstractMojo { >> + /** >> + * Location of the file. >> + */ >> + @Parameter(property = "version", required = true) >> + private String releaseVersion; >> + >> + /** >> + * Location of the file. >> + */ >> + @Parameter(defaultValue = "${project.basedir}/src/changelog", property >> = "changeLogDir", required = true) >> + private File changeLogDirectory; >> + >> + public void execute() throws MojoExecutionException { >> + try { >> + >> ChangelogReleaser.performRelease(ChangelogReleaserArgs.fromArgs(changeLogDirectory.toPath(), >> + releaseVersion)); >> + } catch (Exception ex) { >> + throw new MojoExecutionException("Error performing release", >> ex); >> + } >> + } >> +} >> diff --git a/pom.xml b/pom.xml >> index c7c76fa..5abb06e 100644 >> --- a/pom.xml >> +++ b/pom.xml >> @@ -48,13 +48,13 @@ >> >> <!-- Modules here must have a corresponding entry in >> `dependencyManagement > dependencies` block below! --> >> <module>log4j-changelog</module> >> - >> + <module>log4j-maven-changelog-plugin</module> >> </modules> >> >> <properties> >> >> <!-- project version --> >> - <revision>0.1.0-SNAPSHOT</revision> >> + <revision>0.2.0-SNAPSHOT</revision> >> >> <!-- `minimalJavaBuildVersion` is employed by `org.apache:apache`, which >> is the parent of `org.apache.logging:logging-parent`, which is the parent of >> us. >> `minimalJavaBuildVersion` is used for enforcing the compiler version. >> >