<?xml version="1.0"?>

<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<project name="signit">
  <!-- use this property file to enter your default key id -->
  <property file="${user.home}/gnupg.properties"/>
  <property name="bouncycastle.jdk" value="15on"/>
  <property name="bouncycastle.version" value="1.49"/>
  <taskdef resource="org/apache/commons/openpgp/ant/antlib.xml">
    <classpath>
      <pathelement
        location="${user.home}/.m2/repository/org/bouncycastle/bcprov-jdk${bouncycastle.jdk}/${bouncycastle.version}/bcprov-jdk${bouncycastle.jdk}-${bouncycastle.version}.jar"/>
      <pathelement
        location="${user.home}/.m2/repository/org/apache/commons/commons-openpgp/1.0-SNAPSHOT/commons-openpgp-1.0-SNAPSHOT.jar"/>
      <pathelement
        location="${user.home}/.m2/repository/org/bouncycastle/bcpg-jdk${bouncycastle.jdk}/${bouncycastle.version}/bcpg-jdk${bouncycastle.jdk}-${bouncycastle.version}.jar"/>
    </classpath>
  </taskdef>
  <condition property="gpg.dir" value="${user.home}/AppData/Roaming/gnupg">
    <os family="windows"/>
  </condition>
  <property name="gpg.dir" location="${user.home}/.gnupg"/>
  <signer secring="${gpg.dir}/secring.gpg"
    pubring="${gpg.dir}/pubring.gpg" password="${password}" keyid="${keyid}">
    <fileset dir="../java-repository">
      <include name="**/*.jar"/>
      <include name="**/*.pom"/>
    </fileset>
    <fileset dir="../distribution">
      <include name="**/*.bz2"/>
      <include name="**/*.zip"/>
      <include name="**/*.gz"/>
    </fileset>
  </signer>

</project>
