• 0.23.0

Usage

It's easy (you need to use Maven version >= 3.1.0):

<build>
  <plugins>
    <plugin>
      <groupId>com.qulice</groupId>
      <artifactId>qulice-maven-plugin</artifactId>
      <version>0.23.0</version>
      <configuration>
        <license>file:${basedir}/LICENSE.txt</license>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>check</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Pay attention to the license configuration parameter. It is mandatory and has to be provided, or else the default value will be used (./LICENSE.txt). You can refer to a file with file: prefix, as in the example above. Or you can refer to a resource from classpath (very useful when you want to keep your license in a dedicated child module.

License text file should contain just text. Qulice converts this file to proper format and compares it with your source code file headers. For example, this is your LICENSE.txt:

Copyright (c) 2011-2024 Qulice.com

All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met: no conditions.

This is what your Java sources should start from:

/**
 * Copyright (c) 2011-2024 Qulice.com
 *
 * All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met: no conditions.
 */

Multi-Module Setup

In a multi-module setup we recommend you to move all supplementary resource (assemblies, XML configurations, etc) to a separate "tool kit" sub-module. This module is the best place for LICENSE.txt file:

<build>
  <plugins>
    <plugin>
      <groupId>com.qulice</groupId>
      <artifactId>qulice-maven-plugin</artifactId>
      <version>0.23.0</version>
      <configuration>
        <license>LICENSE.txt</license>
      </configuration>
      <dependencies>
        <dependency>
          <!-- this is your tool kit module -->
          <groupId>com.example</groupId>
          <artifactId>foo</artifactId>
          <version>0.1.2</version>
        </dependency>
      </dependencies>
      <executions>
        <execution>
          <goals>
            <goal>check</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Cutting Edge Version

If you want to use current version of the product, you can do it with this configuration in your pom.xml:

<pluginRepositories>
  <pluginRepository>
    <id>oss.sonatype.org</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
  </pluginRepository>
</pluginRepositories>
<build>
  <plugins>
    <plugin>
      <groupId>com.qulice</groupId>
      <artifactId>qulice-maven-plugin</artifactId>
      <version>1.0-SNAPSHOT</version>
      [...]
    </plugin>
  </plugins>
</build>