It is a copy-paste mistake from Ralph. Other files don't have this problem. I am working on the PR20 branch, I will fix the copyrights too. Nevertheless, thanks for pointing that out!
On Sun, Jan 22, 2023 at 11: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. > > > >