License headers are collapsed for me, too. I usually only notice them when 
looking at a diff or PR.

> On Jan 23, 2023, at 8:52 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> 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.
>>> 
>> 
> 

Reply via email to