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