license-maven-plugin:update-file-header How to exclude project name?

3.4k Views Asked by At

I am using license-maven-plugin to insert license headers in each files in source tree successfully. It generates the following:

/*-
 * #%L
 * my-unqualified-package-name
 * %%
 * Copyright (C) 2009 - 2017 My Company. <[email protected]>
 * %%
 * This software is the property of My Company. Etc. Etc. 
 * 
 * #L%
 */

My pom,

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <version>1.14</version>
            <configuration>
                <inceptionYear>2009</inceptionYear>
                <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
                <organizationName>My Company. &lt;[email protected]&gt;</organizationName>
                <licenseName>my_license</licenseName>
                <licenseResolver>${project.baseUri}/src/license</licenseResolver>
                <roots>
                   <!-- <root>src/main/java</root> -->
                    <root>src/test</root>
                </roots>
            </configuration>
            <executions>
                <execution>
                    <id>first</id>
                    <goals>
                        <goal>update-file-header</goal>
                    </goals>
                    <phase>process-sources</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

But I want the following format,

/**
* Copyright (C) 2009 - 2018 My Company. <[email protected]>
*
* ====================================================================
* This software is the property of My Company. Etc. Etc. 
* ====================================================================
*/
1

There are 1 best solutions below

1
Duarte Meneses On

Try switching to the com.mycila:license-maven-plugin. Their documentation is very easy to follow.

Create a template in a file

For example, put in license-header.txt:

Copyright (C) ${license.years} ${license.owner} <${license.email}>

====================================================================
This software is the property of ${license.owner}. Etc. Etc. 
====================================================================

Configure the plugin

<plugin>
  <groupId>com.mycila</groupId>
  <artifactId>license-maven-plugin</artifactId>
  <configuration>
    <header>license-header.txt</header>   
    <properties>
      <license.owner>My Company</license.owner>
      <license.years>2009 - 2018</license.years>
      <license.email>[email protected]</license.email>
    </properties>
    <includes>
      <include>src/*/java/**/*.java</include>
    </includes>
  </configuration>
  <executions>
    <execution>
      <id>first</id>
      <goals>
        <goal>check</goal>
      </goals>
      <phase>process-sources</phase>
    </execution>
  </executions>
</plugin>

You can format with mvn license:format or just change the goal in the configuration to format to do it in every run.