Skip to content

metaschema-framework/oss-maven

Repository files navigation

Maven Build Support for Metaschema Open-Source Software (OSS) Projects

Build

This project provides support for using the Apache Maven build system.

Features

This project implements the following features:

  • Provides dependency management for the JUnit test framework.
  • Provides Maven SCM Git support through the use of the maven-scm-provider-gitexe.
  • Configures java source and compile targets to 11.
  • Manages Maven Plugin versions for a large number of common Plugins to provide a stable build experience.
  • Sets up Maven site building
  • Configures Javadoc generation, with linking to Java 8 Javadocs
  • Uses PMD through the maven-pmd-plugin supporting basic static code analysis.
  • Enforces CC0 use on source through the license-maven-plugin.
  • and many other features.

System Requirements

  • An Oracle Java 11 or higher compatible runtime environment
  • An installation of Apache Maven version 3.0 or higher.
  • Install the maven-formatter-plugin m2e connector using the update site.

Usage

To use this project, you must configure it as the parent in your Maven pom.xml file.

<?xml version="1.0" encoding="UTF-8"?>
<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>dev.metaschema</groupId>
        <artifactId>oss-parent</artifactId>
        <version>... version of this project ...</version>
    </parent>

    ... additional configuration
</project>

Relationship to prior work

The contents of this repository is based on work from the OSS Maven repository maintained by the National Institute of Standards and Technology (NIST), the contents of which have been dedicated in the worldwide public domain using the CC0 1.0 Universal public domain dedication. This repository builds on this prior work, maintaining the CCO license on any new works in this repository.