# Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#

language: java

dist: bionic

jdk:
  - oraclejdk11
  - openjdk-ea

cache:
  directories:
    - .autoconf
    - $HOME/.m2

install:
  - git fetch --unshallow

script:
  - cd jaxb-ri
  - mvn -B -V -U -C -Pstaging,oss-release clean verify org.glassfish.copyright:glassfish-copyright-maven-plugin:check -Dgpg.skip=true -Doss.disallow.snapshots=false
