Compare commits
No commits in common. "rawhide" and "el5" have entirely different histories.
6 changed files with 461 additions and 269 deletions
23
build.xml
Normal file
23
build.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<project name="voms-api-java" default="package" basedir=".">
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Import maven-build.xml into the current project -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<import file="maven-build.xml"/>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Help target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="help">
|
||||||
|
<echo message="Please run: $ant -projecthelp"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
</project>
|
||||||
22
maven-build.properties
Normal file
22
maven-build.properties
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#Generated by Maven Ant Plugin - DO NOT EDIT THIS FILE!
|
||||||
|
#Mon Feb 11 23:31:38 CET 2013
|
||||||
|
bouncycastle.version=1.46
|
||||||
|
maven.settings.offline=true
|
||||||
|
maven.build.finalName=voms-api-java-2.0.10
|
||||||
|
maven.build.resourceDir.0=src/main/resources
|
||||||
|
maven.build.testOutputDir=${maven.build.dir}/test-classes
|
||||||
|
maven.build.testResourceDir.0=src/test/resources
|
||||||
|
maven.reporting.outputDirectory=${maven.build.dir}/site
|
||||||
|
project.build.sourceEncoding=UTF-8
|
||||||
|
maven.build.srcDir.0=src/main/java
|
||||||
|
project.build.directory=${maven.build.dir}
|
||||||
|
maven.test.reports=${maven.build.dir}/test-reports
|
||||||
|
maven.build.dir=target
|
||||||
|
project.build.outputDirectory=${maven.build.outputDir}
|
||||||
|
assembly.javadoc.dir=/usr/share/javadoc/voms-api-java
|
||||||
|
assembly.doc.dir=/usr/share/doc/voms-api-java-2.0.10
|
||||||
|
project.reporting.outputEncoding=UTF-8
|
||||||
|
maven.build.testDir.0=src/test/java
|
||||||
|
maven.settings.interactiveMode=true
|
||||||
|
assembly.java.dir=/usr/share/java
|
||||||
|
maven.build.outputDir=${maven.build.dir}/classes
|
||||||
285
maven-build.xml
Normal file
285
maven-build.xml
Normal file
|
|
@ -0,0 +1,285 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Any modifications will be overwritten. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Generated by Maven Ant Plugin on 2/11/13 11:31 PM -->
|
||||||
|
<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<project name="voms-api-java-from-maven" default="package" basedir=".">
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Build environment properties -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<property file="${user.home}/.m2/maven.properties"/>
|
||||||
|
<property file="maven-build.properties"/>
|
||||||
|
|
||||||
|
<property name="maven.build.finalName" value="voms-api-java-2.0.10"/>
|
||||||
|
<property name="maven.build.dir" value="target"/>
|
||||||
|
<property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
|
||||||
|
<property name="maven.build.srcDir.0" value="src/main/java"/>
|
||||||
|
<property name="maven.build.resourceDir.0" value="src/main/resources"/>
|
||||||
|
<property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/>
|
||||||
|
<property name="maven.build.testDir.0" value="src/test/java"/>
|
||||||
|
<property name="maven.build.testResourceDir.0" value="src/test/resources"/>
|
||||||
|
<property name="maven.test.reports" value="${maven.build.dir}/test-reports"/>
|
||||||
|
<property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/>
|
||||||
|
|
||||||
|
<property name="maven.repo.local" value="${user.home}/.m2/repository"/>
|
||||||
|
<property name="maven.settings.offline" value="true"/>
|
||||||
|
<property name="maven.settings.interactiveMode" value="true"/>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Defining classpaths -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<path id="build.classpath">
|
||||||
|
<pathelement location="${maven.repo.local}/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/commons-cli/commons-cli/1.1/commons-cli-1.1.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/commons-lang/commons-lang/2.3/commons-lang-2.3.jar"/>
|
||||||
|
</path>
|
||||||
|
<path id="build.test.classpath">
|
||||||
|
<pathelement location="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/commons-cli/commons-cli/1.1/commons-cli-1.1.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/commons-lang/commons-lang/2.3/commons-lang-2.3.jar"/>
|
||||||
|
<pathelement location="${maven.repo.local}/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Cleaning up target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="clean" description="Clean the output directory">
|
||||||
|
<delete dir="${maven.build.dir}"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Compilation target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="compile" depends="get-deps" description="Compile the code">
|
||||||
|
<mkdir dir="${maven.build.outputDir}"/>
|
||||||
|
<javac destdir="${maven.build.outputDir}"
|
||||||
|
nowarn="false"
|
||||||
|
debug="true"
|
||||||
|
optimize="false"
|
||||||
|
deprecation="true"
|
||||||
|
target="1.5"
|
||||||
|
verbose="false"
|
||||||
|
fork="false"
|
||||||
|
source="1.5">
|
||||||
|
<src>
|
||||||
|
<pathelement location="${maven.build.srcDir.0}"/>
|
||||||
|
</src>
|
||||||
|
<classpath refid="build.classpath"/>
|
||||||
|
</javac>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Test-compilation target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="compile-tests"
|
||||||
|
depends="compile"
|
||||||
|
description="Compile the test code"
|
||||||
|
unless="maven.test.skip">
|
||||||
|
<mkdir dir="${maven.build.testOutputDir}"/>
|
||||||
|
<javac destdir="${maven.build.testOutputDir}"
|
||||||
|
nowarn="false"
|
||||||
|
debug="true"
|
||||||
|
optimize="false"
|
||||||
|
deprecation="true"
|
||||||
|
target="1.5"
|
||||||
|
verbose="false"
|
||||||
|
fork="false"
|
||||||
|
source="1.5">
|
||||||
|
<src>
|
||||||
|
<pathelement location="${maven.build.testDir.0}"/>
|
||||||
|
</src>
|
||||||
|
<classpath>
|
||||||
|
<path refid="build.test.classpath"/>
|
||||||
|
<pathelement location="${maven.build.outputDir}"/>
|
||||||
|
</classpath>
|
||||||
|
</javac>
|
||||||
|
<copy todir="${maven.build.testOutputDir}">
|
||||||
|
<fileset dir="${maven.build.testResourceDir.0}"/>
|
||||||
|
</copy>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Run all tests -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="test"
|
||||||
|
depends="compile-tests, junit-missing"
|
||||||
|
unless="junit.skipped"
|
||||||
|
description="Run the test cases">
|
||||||
|
<mkdir dir="${maven.test.reports}"/>
|
||||||
|
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
|
||||||
|
<sysproperty key="basedir" value="."/>
|
||||||
|
<formatter type="xml"/>
|
||||||
|
<formatter type="plain" usefile="false"/>
|
||||||
|
<classpath>
|
||||||
|
<path refid="build.test.classpath"/>
|
||||||
|
<pathelement location="${maven.build.outputDir}"/>
|
||||||
|
<pathelement location="${maven.build.testOutputDir}"/>
|
||||||
|
</classpath>
|
||||||
|
<batchtest todir="${maven.test.reports}" unless="test">
|
||||||
|
<fileset dir="${maven.build.testDir.0}">
|
||||||
|
<include name="**/Test*.java"/>
|
||||||
|
<include name="**/*Test.java"/>
|
||||||
|
<include name="**/*TestCase.java"/>
|
||||||
|
<exclude name="**/TestFixture.java"/>
|
||||||
|
<exclude name="**/LoadTest.java"/>
|
||||||
|
<exclude name="**/TestCerts.java"/>
|
||||||
|
<exclude name="**/TestCRL.java"/>
|
||||||
|
</fileset>
|
||||||
|
</batchtest>
|
||||||
|
<batchtest todir="${maven.test.reports}" if="test">
|
||||||
|
<fileset dir="${maven.build.testDir.0}">
|
||||||
|
<include name="**/${test}.java"/>
|
||||||
|
</fileset>
|
||||||
|
</batchtest>
|
||||||
|
</junit>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="test-junit-present">
|
||||||
|
<available classname="junit.framework.Test" property="junit.present"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="test-junit-status"
|
||||||
|
depends="test-junit-present">
|
||||||
|
<condition property="junit.missing">
|
||||||
|
<and>
|
||||||
|
<isfalse value="${junit.present}"/>
|
||||||
|
<isfalse value="${maven.test.skip}"/>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
|
<condition property="junit.skipped">
|
||||||
|
<or>
|
||||||
|
<isfalse value="${junit.present}"/>
|
||||||
|
<istrue value="${maven.test.skip}"/>
|
||||||
|
</or>
|
||||||
|
</condition>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="junit-missing"
|
||||||
|
depends="test-junit-status"
|
||||||
|
if="junit.missing">
|
||||||
|
<echo>=================================== WARNING ===================================</echo>
|
||||||
|
<echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo>
|
||||||
|
<echo>===============================================================================</echo>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Javadoc target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="javadoc" description="Generates the Javadoc of the application">
|
||||||
|
<javadoc sourcepath="${maven.build.srcDir.0}"
|
||||||
|
packagenames="*"
|
||||||
|
destdir="${maven.reporting.outputDirectory}/apidocs"
|
||||||
|
access="protected"
|
||||||
|
old="false"
|
||||||
|
verbose="false"
|
||||||
|
version="true"
|
||||||
|
use="true"
|
||||||
|
author="true"
|
||||||
|
splitindex="false"
|
||||||
|
nodeprecated="false"
|
||||||
|
nodeprecatedlist="false"
|
||||||
|
notree="false"
|
||||||
|
noindex="false"
|
||||||
|
nohelp="false"
|
||||||
|
nonavbar="false"
|
||||||
|
serialwarn="false"
|
||||||
|
charset="ISO-8859-1"
|
||||||
|
linksource="false"
|
||||||
|
breakiterator="false"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Package target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="package" depends="compile,test" description="Package the application">
|
||||||
|
<jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
|
||||||
|
compress="true"
|
||||||
|
index="false"
|
||||||
|
basedir="${maven.build.outputDir}"
|
||||||
|
excludes="**/package.html"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- A dummy target for the package named after the type it creates -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="jar" depends="package" description="Builds the jar for the application"/>
|
||||||
|
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
<!-- Download dependencies target -->
|
||||||
|
<!-- ====================================================================== -->
|
||||||
|
|
||||||
|
<target name="test-offline">
|
||||||
|
<condition property="maven.mode.offline">
|
||||||
|
<equals arg1="${maven.settings.offline}" arg2="true"/>
|
||||||
|
</condition>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="get-deps"
|
||||||
|
depends="test-offline"
|
||||||
|
description="Download all dependencies"
|
||||||
|
unless="maven.mode.offline">
|
||||||
|
<mkdir dir="${maven.repo.local}"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/junit/junit/3.8.1"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar"
|
||||||
|
dest="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/org/hamcrest/hamcrest-core/1.1"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"
|
||||||
|
dest="${maven.repo.local}/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/org/bouncycastle/bcprov-jdk16/1.46"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar"
|
||||||
|
dest="${maven.repo.local}/org/bouncycastle/bcprov-jdk16/1.46/bcprov-jdk16-1.46.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/log4j/log4j/1.2.14"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.jar"
|
||||||
|
dest="${maven.repo.local}/log4j/log4j/1.2.14/log4j-1.2.14.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/commons-cli/commons-cli/1.1"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.1/commons-cli-1.1.jar"
|
||||||
|
dest="${maven.repo.local}/commons-cli/commons-cli/1.1/commons-cli-1.1.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/commons-lang/commons-lang/2.3"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.3/commons-lang-2.3.jar"
|
||||||
|
dest="${maven.repo.local}/commons-lang/commons-lang/2.3/commons-lang-2.3.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
<mkdir dir="${maven.repo.local}/commons-io/commons-io/2.0.1"/>
|
||||||
|
<get src="http://repo.maven.apache.org/maven2/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar"
|
||||||
|
dest="${maven.repo.local}/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar"
|
||||||
|
usetimestamp="false"
|
||||||
|
ignoreerrors="true"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
</project>
|
||||||
3
sources
3
sources
|
|
@ -1,2 +1 @@
|
||||||
SHA512 (voms-api-java-3.3.7.tar.gz) = b623480b972742625e0c7cd95bfefee36a580f743240434d5591a9f35a19977a4d7d3abc90b598666e86f8e6d3a40a6c6ca66e19309a1ea8d2be979af57aaa58
|
c2b017434cfba3e31b88b28920695cd4 2_0_10.tar.gz
|
||||||
SHA512 (helper-scripts-master.tar.gz) = 8704b5bdbee360c0db70e6ece2781a385c62c802c9000754f62efbd23bd22542ace77f68b8064661201f441b40234475a005d9f67b50f0aea435636a0a851225
|
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,12 @@
|
||||||
diff --git a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java
|
diff -ur voms-api-java-2_0_10.orig/pom.xml voms-api-java-2_0_10/pom.xml
|
||||||
index a0f7a87..4244925 100644
|
--- voms-api-java-2_0_10.orig/pom.xml 2013-01-11 16:15:57.000000000 +0100
|
||||||
--- a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java
|
+++ voms-api-java-2_0_10/pom.xml 2013-02-11 23:26:58.928257785 +0100
|
||||||
+++ b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java
|
@@ -17,7 +17,7 @@
|
||||||
@@ -31,6 +31,7 @@ import org.italiangrid.voms.test.utils.Utils;
|
<assembly.doc.dir>/usr/share/doc/${project.name}-${project.version}</assembly.doc.dir>
|
||||||
import org.italiangrid.voms.test.utils.VOMSAA;
|
<assembly.javadoc.dir>/usr/share/javadoc/${project.name}</assembly.javadoc.dir>
|
||||||
import org.junit.Assert;
|
<bouncycastle.version>1.45</bouncycastle.version>
|
||||||
import org.junit.BeforeClass;
|
- <excludedTests>**/LoadTest.java</excludedTests>
|
||||||
+import org.junit.Ignore;
|
+ <excludedTests>**/LoadTest.java,**/TestCerts.java,**/TestCRL.java</excludedTests>
|
||||||
import org.junit.Test;
|
</properties>
|
||||||
|
|
||||||
import eu.emi.security.authn.x509.X509CertChainValidatorExt;
|
<profiles>
|
||||||
@@ -316,6 +317,7 @@ public class TestACValidator implements Fixture {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
+ @Ignore
|
|
||||||
public void testTargetValidationSuccess() throws Exception {
|
|
||||||
|
|
||||||
VOMSAA aa = Utils.getVOMSAA();
|
|
||||||
@@ -342,6 +344,7 @@ public class TestACValidator implements Fixture {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
+ @Ignore
|
|
||||||
public void testTargetValidationFailure() throws Exception {
|
|
||||||
|
|
||||||
VOMSAA aa = Utils.getVOMSAA();
|
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,83 @@
|
||||||
|
# Use maven if it is available - otherwise fall back to ant
|
||||||
|
%if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7
|
||||||
|
%global maven 1
|
||||||
|
%else
|
||||||
|
%global maven 0
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: voms-api-java
|
Name: voms-api-java
|
||||||
Version: 3.3.7
|
Version: 2.0.10
|
||||||
|
%global tagver %(tr . _ <<< %{version})
|
||||||
Release: 4%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Virtual Organization Membership Service Java API
|
Summary: Virtual Organization Membership Service Java API
|
||||||
|
|
||||||
License: Apache-2.0
|
Group: Development/Libraries
|
||||||
URL: https://github.com/italiangrid/%{name}
|
License: ASL 2.0
|
||||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
URL: https://wiki.italiangrid.it/VOMS
|
||||||
# Helper scripts for generating test certificates
|
Source0: https://github.com/italiangrid/%{name}/archive/%{tagver}.tar.gz
|
||||||
Source1: https://baltig.infn.it/mw-devel/helper-scripts/-/archive/master/helper-scripts-master.tar.gz
|
# These are build instructions for ant generated from the maven
|
||||||
# Disable tests requiring non-local network
|
# build instrutions using the maven ant plugin.
|
||||||
|
# These are used for building on EPEL since there is no maven
|
||||||
|
# available there.
|
||||||
|
Source1: build.xml
|
||||||
|
Source2: maven-build.xml
|
||||||
|
Source3: maven-build.properties
|
||||||
Patch0: %{name}-test.patch
|
Patch0: %{name}-test.patch
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
ExclusiveArch: %{java_arches} noarch
|
|
||||||
|
|
||||||
%if %{?fedora}%{!?fedora:0} >= 43
|
# There is no bouncycastle in EPEL 5 ppc and EPEL 6 ppc64
|
||||||
BuildRequires: maven-local-openjdk25
|
%if %{?rhel}%{!?rhel:0} == 5
|
||||||
%else
|
ExcludeArch: ppc
|
||||||
BuildRequires: maven-local
|
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.8.3
|
%if %{?rhel}%{!?rhel:0} == 6
|
||||||
BuildRequires: mvn(junit:junit)
|
ExcludeArch: ppc64
|
||||||
BuildRequires: mvn(org.hamcrest:hamcrest-library)
|
%endif
|
||||||
BuildRequires: mvn(org.mockito:mockito-core)
|
|
||||||
BuildRequires: faketime
|
Requires: java
|
||||||
BuildRequires: openssl
|
Requires: jpackage-utils
|
||||||
Requires: mvn(eu.eu-emi.security:canl) >= 2.8.3
|
Requires: bouncycastle >= 1.39
|
||||||
|
%if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7
|
||||||
|
Requires: apache-commons-cli
|
||||||
|
Requires: apache-commons-lang
|
||||||
|
%else
|
||||||
|
Requires: jakarta-commons-cli
|
||||||
|
Requires: jakarta-commons-lang
|
||||||
|
%endif
|
||||||
|
Requires: log4j
|
||||||
|
|
||||||
|
Provides: vomsjapi = %{version}-%{release}
|
||||||
|
Obsoletes: vomsjapi < 2.0.7
|
||||||
|
|
||||||
|
BuildRequires: java-devel >= 1:1.6.0
|
||||||
|
BuildRequires: jpackage-utils
|
||||||
|
|
||||||
|
%if %maven
|
||||||
|
BuildRequires: maven-local
|
||||||
|
BuildRequires: maven-compiler-plugin
|
||||||
|
BuildRequires: maven-install-plugin
|
||||||
|
BuildRequires: maven-jar-plugin
|
||||||
|
BuildRequires: maven-javadoc-plugin
|
||||||
|
BuildRequires: maven-release-plugin
|
||||||
|
BuildRequires: maven-resources-plugin
|
||||||
|
BuildRequires: maven-surefire-plugin
|
||||||
|
BuildRequires: maven-surefire-provider-junit
|
||||||
|
%else
|
||||||
|
BuildRequires: ant
|
||||||
|
BuildRequires: ant-junit
|
||||||
|
%endif
|
||||||
|
|
||||||
|
BuildRequires: bouncycastle >= 1.39
|
||||||
|
%if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7
|
||||||
|
BuildRequires: apache-commons-cli
|
||||||
|
BuildRequires: apache-commons-io
|
||||||
|
BuildRequires: apache-commons-lang
|
||||||
|
%else
|
||||||
|
BuildRequires: jakarta-commons-cli
|
||||||
|
BuildRequires: jakarta-commons-io
|
||||||
|
BuildRequires: jakarta-commons-lang
|
||||||
|
%endif
|
||||||
|
BuildRequires: log4j
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The Virtual Organization Membership Service (VOMS) is an attribute authority
|
The Virtual Organization Membership Service (VOMS) is an attribute authority
|
||||||
|
|
@ -39,242 +91,69 @@ This package provides a java client API for VOMS.
|
||||||
|
|
||||||
%package javadoc
|
%package javadoc
|
||||||
Summary: Virtual Organization Membership Service Java API Documentation
|
Summary: Virtual Organization Membership Service Java API Documentation
|
||||||
|
Group: Documentation
|
||||||
|
Requires: jpackage-utils
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Provides: vomsjapi-javadoc = %{version}-%{release}
|
||||||
|
Obsoletes: vomsjapi-javadoc < 2.0.7
|
||||||
|
|
||||||
%description javadoc
|
%description javadoc
|
||||||
Virtual Organization Membership Service (VOMS) Java API Documentation.
|
Virtual Organization Membership Service (VOMS) Java API Documentation.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -a 1
|
%setup -q -n %{name}-%{tagver}
|
||||||
%patch -P0 -p1
|
%patch0 -p1
|
||||||
|
install -m 644 %SOURCE1 .
|
||||||
|
install -m 644 %SOURCE2 .
|
||||||
|
install -m 644 %SOURCE3 .
|
||||||
|
|
||||||
# Remove unused dependency
|
sed -e s/bcprov-ext-jdk16/bcprov-jdk16/ -i pom.xml
|
||||||
%pom_remove_dep net.jcip:jcip-annotations
|
|
||||||
|
|
||||||
# F33+ and EPEL8+ doesn't use the maven-javadoc-plugin to generate javadoc
|
|
||||||
# Remove maven-javadoc-plugin configuration to avoid build failure
|
|
||||||
%pom_remove_plugin org.apache.maven.plugins:maven-javadoc-plugin
|
|
||||||
|
|
||||||
# Do not create source jars
|
|
||||||
%pom_remove_plugin org.apache.maven.plugins:maven-source-plugin
|
|
||||||
|
|
||||||
%if %{?rhel}%{!?rhel:0} == 9
|
|
||||||
# Modify bouncycastle dependencies for RHEL 9
|
|
||||||
%pom_change_dep org.bouncycastle:bcprov-jdk18on org.bouncycastle:bcprov-jdk15on
|
|
||||||
%pom_change_dep org.bouncycastle:bcpkix-jdk18on org.bouncycastle:bcpkix-jdk15on
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Generate test certificates
|
|
||||||
export PATH=$PWD/helper-scripts-master/x509-scripts/scripts:$PATH
|
|
||||||
pushd src/test/resources
|
|
||||||
./setup.sh
|
|
||||||
popd
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%mvn_build
|
%if %{maven}
|
||||||
|
mvn-rpmbuild -Dbouncycastle.version=1.46 install javadoc:aggregate
|
||||||
|
%else
|
||||||
|
export CLASSPATH=$(build-classpath bcprov log4j commons-cli commons-io commons-lang)
|
||||||
|
ant -Dbuild.sysclasspath=last package javadoc
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%mvn_install
|
mkdir -p %{buildroot}%{_javadir}
|
||||||
|
install -m 644 target/%{name}-%{version}.jar \
|
||||||
|
%{buildroot}%{_javadir}/%{name}.jar
|
||||||
|
ln -s %{name}.jar %{buildroot}%{_javadir}/vomsjapi.jar
|
||||||
|
|
||||||
%files -f .mfiles
|
mkdir -p %{buildroot}%{_javadocdir}/%{name}
|
||||||
%doc AUTHORS README.md
|
%if %{maven}
|
||||||
%license LICENSE
|
cp -pr target/site/javadoc/apidocs %{buildroot}%{_javadocdir}/%{name}
|
||||||
|
%else
|
||||||
|
cp -pr target/site/apidocs %{buildroot}%{_javadocdir}/%{name}
|
||||||
|
%endif
|
||||||
|
|
||||||
%files javadoc -f .mfiles-javadoc
|
%if %{maven}
|
||||||
%license LICENSE
|
mkdir -p %{buildroot}%{_mavenpomdir}
|
||||||
|
install -m 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
|
||||||
|
%add_maven_depmap JPP-%{name}.pom %{name}.jar -a org.glite:vomsjapi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_javadir}/%{name}.jar
|
||||||
|
%{_javadir}/vomsjapi.jar
|
||||||
|
%if %{maven}
|
||||||
|
%{_mavenpomdir}/JPP-%{name}.pom
|
||||||
|
%{_mavendepmapfragdir}/%{name}
|
||||||
|
%endif
|
||||||
|
%doc AUTHORS LICENSE README.md
|
||||||
|
|
||||||
|
%files javadoc
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc %{_javadocdir}/%{name}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 3.3.7-3
|
|
||||||
- Rebuilt for openssl 4.0
|
|
||||||
|
|
||||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Dec 20 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.7-1
|
|
||||||
- Update to version 3.3.7
|
|
||||||
|
|
||||||
* Mon Sep 08 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.6-2
|
|
||||||
- Include upstream's scripts for generating test certificates
|
|
||||||
- Enable tests again
|
|
||||||
|
|
||||||
* Tue Aug 05 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.6-1
|
|
||||||
- Update to version 3.3.6
|
|
||||||
|
|
||||||
* Tue Jul 29 2025 jiri vanek <jvanek@redhat.com> - 3.3.5-4
|
|
||||||
- Rebuilt for java-25-openjdk as preffered jdk
|
|
||||||
|
|
||||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Apr 22 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.5-2
|
|
||||||
- Update URL tag
|
|
||||||
|
|
||||||
* Thu Apr 17 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.5-1
|
|
||||||
- Update to version 3.3.5
|
|
||||||
- Do not run tests
|
|
||||||
- some scripts needed for generating the test certificates are missing
|
|
||||||
|
|
||||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Nov 28 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.3-2
|
|
||||||
- Update bouncycastle dependencies for EPEL 10
|
|
||||||
|
|
||||||
* Sat Aug 03 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.3-1
|
|
||||||
- Update to version 3.3.3
|
|
||||||
|
|
||||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-18
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Mar 14 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-17
|
|
||||||
- Update bouncycastle dependencies
|
|
||||||
|
|
||||||
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 3.3.2-16
|
|
||||||
- Rebuilt for java-21-openjdk as system jdk
|
|
||||||
|
|
||||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-15
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Dec 16 2023 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-14
|
|
||||||
- Adjust to removed deprecaded API in Mockito
|
|
||||||
|
|
||||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-13
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-12
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Dec 13 2022 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-11
|
|
||||||
- Disable tests that fail due to more expired certificates
|
|
||||||
|
|
||||||
* Mon Oct 17 2022 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-10
|
|
||||||
- Disable tests that fail due to expired certificates
|
|
||||||
|
|
||||||
* Wed Sep 28 2022 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-9
|
|
||||||
- Disable failing multi-thread test
|
|
||||||
- Disable tests using obsolete hashes (md5/sha1)
|
|
||||||
|
|
||||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 08 2022 Jiri Vanek <jvanek@redhat.com> - 3.3.2-7
|
|
||||||
- Rebuilt for Drop i686 JDKs
|
|
||||||
|
|
||||||
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 3.3.2-6
|
|
||||||
- Rebuilt for java-17-openjdk as system jdk
|
|
||||||
|
|
||||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jan 14 2022 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-4
|
|
||||||
- Disable failing tests due to changes in bouncycastle
|
|
||||||
|
|
||||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Oct 13 2020 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.2-1
|
|
||||||
- Update to version 3.3.2 - matches canl-java 2.6.x
|
|
||||||
- Drop patches voms-api-java-javadoc-source.patch and -no-local.patch
|
|
||||||
|
|
||||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-11
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jul 15 2020 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.0-10
|
|
||||||
- Fedora 33 builds javadoc the same way EPEL 8 does
|
|
||||||
|
|
||||||
* Sat Jul 11 2020 Jiri Vanek <jvanek@redhat.com> - 3.3.0-9
|
|
||||||
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
|
||||||
|
|
||||||
* Tue May 05 2020 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.0-8
|
|
||||||
- Only remove the maven-javadoc-plugin configuration on EPEL 8
|
|
||||||
- Add source version to javadoc configuration (backported from git)
|
|
||||||
|
|
||||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-7
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Aug 20 2019 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.0-6
|
|
||||||
- Remove maven-javadoc-plugin configuration
|
|
||||||
- Remove unused dependency net.jcip:jcip-annotations
|
|
||||||
|
|
||||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Dec 07 2018 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.0-3
|
|
||||||
- Add BuildRequires on hamcrest-library (no longer pulled in by mockito)
|
|
||||||
|
|
||||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Feb 08 2018 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.0-1
|
|
||||||
- Update to version 3.3.0 - matches canl-java 2.5.x
|
|
||||||
- Drop patch voms-api-java-canl-2.5.patch
|
|
||||||
|
|
||||||
* Fri Jan 05 2018 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.2.0-5
|
|
||||||
- Adapt to canl-java 2.5
|
|
||||||
- Use jcip-annotations for EPEL 7 build
|
|
||||||
|
|
||||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Feb 16 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.2.0-3
|
|
||||||
- Remove maven source plugin
|
|
||||||
|
|
||||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Feb 14 2016 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.2.0-1
|
|
||||||
- Update to version 3.2.0 - matches canl-java 2.2.x
|
|
||||||
- Drop patches: voms-api-java-bc147.patch, -javadoc.patch and -testfix.patch
|
|
||||||
|
|
||||||
* Sun Feb 14 2016 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.1.0-1
|
|
||||||
- Update to version 3.1.0 - matches canl-java 2.1.x
|
|
||||||
- Drop patches: voms-api-java-bc147.patch and -javadoc.patch
|
|
||||||
|
|
||||||
* Thu Feb 11 2016 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.5-5
|
|
||||||
- Backport fix for failing test due to new canl-java version
|
|
||||||
|
|
||||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jul 11 2015 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.5-3
|
|
||||||
- Remove build-dependency on cobertura-maven-plugin
|
|
||||||
(cobertura was removed from Fedora due to licensing issues)
|
|
||||||
- Enable tests in EPEL 7
|
|
||||||
- Implement new license packaging guidelines
|
|
||||||
|
|
||||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.5-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Dec 16 2014 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.5-1
|
|
||||||
- Update to version 3.0.5
|
|
||||||
- Rebase patches (and fix some deprecation warnings)
|
|
||||||
|
|
||||||
* Mon Nov 17 2014 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.4-1
|
|
||||||
- Update to version 3.0.4
|
|
||||||
- Drop patch voms-api-java-timezone-dep-test.patch (fixed upstream)
|
|
||||||
|
|
||||||
* Thu Jun 26 2014 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.3-1
|
|
||||||
- Update to version 3.0.3
|
|
||||||
|
|
||||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Mar 10 2014 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.2-2
|
|
||||||
- Disable tests that fail outside the Central European time zone
|
|
||||||
|
|
||||||
* Sun Mar 09 2014 Mattias Ellert <mattias.ellert@fysast.uu.se> - 3.0.2-1
|
|
||||||
- Update to version 3
|
|
||||||
- Apply patch for bouncycastle 1.47+ on Fedora 21+ and EPEL 7+
|
|
||||||
- Convert to using xmvn
|
|
||||||
|
|
||||||
* Mon Oct 14 2013 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.0.10-4
|
* Mon Oct 14 2013 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.0.10-4
|
||||||
- Disable CRL tests (the CRL in the sources has expired)
|
- Disable CRL tests (the CRL in the sources has expired)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue