<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/maven-v4_0_0.xsd">
  <parent>
    <artifactId>mocca</artifactId>
    <groupId>at.gv.egiz</groupId>
    <version>1.3.7-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>BKUApplet</artifactId>
  <name>BKU Applet</name>
  <description>Java Applet used by MOCCA Online</description>
  <build>
    <plugins>
      <plugin>
        <groupId>com.pyx4me</groupId>
        <artifactId>proguard-maven-plugin</artifactId>
        <version>2.0.4</version>
        <executions>
          <execution>
            <goals>
              <goal>proguard</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <obfuscate>false</obfuscate>
          <options>
            <option>-keep public class * extends at.gv.egiz.smcc.SignatureCard { *; }</option>
            <option>-keep public class * extends java.applet.Applet { *; }</option>
            <option>-keep @javax.xml.bind.annotation.** class * { *; }</option>
            <option>-keep @javax.xml.ws.** class * { *; }</option>
            <option>-ignorewarnings</option>
            <option>-printusage ${project.build.directory}/proguard_usage.txt</option>
            <option>-dontoptimize</option>
            <option>-dontpreverify</option>
            <option>-target 1.6</option>
          </options>
          <libs>
            <lib>${java.home}/lib/rt.jar</lib>
            <lib>${java.home}/lib/jce.jar</lib>
            <lib>${java.home}/lib/jsse.jar</lib>
          </libs>
          <attach>true</attach>
          <appendClassifier>true</appendClassifier>
          <attachArtifactClassifier>single</attachArtifactClassifier>
          <assembly>
            <inclusions>
              <inclusion>
                <groupId>iaik</groupId>
                <artifactId>iaik_jce_me4se</artifactId>
              </inclusion>
              <inclusion>
                <groupId>at.gv.egiz</groupId>
                <artifactId>smcc</artifactId>
              </inclusion>
              <inclusion>
                <groupId>at.gv.egiz</groupId>
                <artifactId>STAL</artifactId>
              </inclusion>
              <inclusion>
                <groupId>at.gv.egiz</groupId>
                <artifactId>STALService</artifactId>
              </inclusion>
              <inclusion>
                <groupId>at.gv.egiz</groupId>
                <artifactId>smccSTAL</artifactId>
              </inclusion>
              <inclusion>
                <groupId>at.gv.egiz</groupId>
                <artifactId>BKUCommonGUI</artifactId>
              </inclusion>
              <inclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
              </inclusion>
              <inclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
              </inclusion>
            </inclusions>
          </assembly>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
          <revisionOnScmFailure>SvnRevMissing</revisionOnScmFailure>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <groupId>org.apache.maven.plugins</groupId>
        <executions>
          <execution>
            <goals>
              <goal>sign</goal>
            </goals>
            <configuration>
              <jarPath>${project.build.directory}/${project.build.finalName}-single.${project.packaging}</jarPath>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
            <index>false</index>
            <manifest>
              <addClasspath>false</addClasspath>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${project.version}-r${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
          <alias>test-applet signer</alias>
          <keystore>./keystore.ks</keystore>
          <storepass>storepass</storepass>
          <keypass>keypass</keypass>
          <verify>true</verify>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>proguard-osx</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>com.pyx4me</groupId>
            <artifactId>proguard-maven-plugin</artifactId>
            <configuration>
              <libs>
                <lib>${java.home}/../Classes/classes.jar</lib>
                <lib>${java.home}/lib/jce.jar</lib>
                <lib>${java.home}/../Classes/jsse.jar</lib>
              </libs>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pkcs11-sign</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <groupId>org.apache.maven.plugins</groupId>
            <version>2.2-mocca</version>
            <configuration>
              <keystore>NONE</keystore>
              <type>PKCS11</type>
              <providerClass>iaik.pkcs.pkcs11.provider.IAIKPkcs11</providerClass>
              <alias>a-sit-2</alias>
              <storepass>${pkcs11-pass}</storepass>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!--
      This profile is here for triggering when another scm than svn is
      used (for example git). Instead of getting the version build number
      from svn we will use the build date and the user name.
      -->
      <id>buildnumber-git</id>
      <activation>
        <file>
          <missing>.svn</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.groovy.maven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>1.0</version>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>execute</goal>
                </goals>
                <configuration>
                  <source>
                    def gitSvnProc = ["sh", "-c", "git svn info | awk '/Revision:/ { print \$2 }'"].execute()
                    gitSvnProc.waitFor()
                    project.properties['gitSvnRev'] = gitSvnProc.in.text.trim()
                  </source>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>generate-resources</phase>
                <goals>
                  <goal>create</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <doCheck>false</doCheck>
              <doUpdate>false</doUpdate>
              <format>{0}</format>
              <items>
                <item>${gitSvnRev}</item>
              </items>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <dependencies>
    <dependency>
      <groupId>at.gv.egiz</groupId>
      <artifactId>smcc</artifactId>
      <version>${project.parent.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>at.gv.egiz</groupId>
      <artifactId>STAL</artifactId>
      <version>${project.parent.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>at.gv.egiz</groupId>
      <artifactId>STALService</artifactId>
      <version>${project.parent.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>at.gv.egiz</groupId>
      <artifactId>smccSTAL</artifactId>
      <version>${project.parent.version}</version>
      <optional>true</optional>
    </dependency>
     <dependency>
      <groupId>at.gv.egiz</groupId>
      <artifactId>BKUCommonGUI</artifactId>
      <version>${project.parent.version}</version>
      <optional>true</optional>
     </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
  </dependencies>
</project>