<?xml version="1.0" encoding="UTF-8"?>
<!--
    * 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 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>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>7</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.bsf</groupId>
    <artifactId>parent</artifactId>
    <version>3.1</version>

    <name>Apache BSF</name>
    <description>Apache BSF</description>

    <packaging>pom</packaging>
    <url>http://jakarta.apache.org/bsf/</url>

    <properties>
        <bsf.version>${project.version}</bsf.version>
        <junit.version>3.8.2</junit.version>
        <maven.compile.source>1.4</maven.compile.source>
        <maven.compile.target>1.4</maven.compile.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- compiler and surefire plugin settings for "java" profiles -->
        <jakarta.compiler.fork>false</jakarta.compiler.fork>
        <jakarta.compiler.compilerVersion />
        <jakarta.compiler.javac />
        <jakarta.surefire.java />
        <!-- default to same version as Apache Parent V7 -->
        <jakarta.remote-resources.version>1.1</jakarta.remote-resources.version>
        <!-- Latest version of compiler requires 1.5+ -->
        <jakarta.compiler.version>2.3.1</jakarta.compiler.version>
    </properties>

    <issueManagement>
        <url>http://issues.apache.org/jira/browse/BSF</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>Apache Jakarta Developer List</name>
            <subscribe>dev-subscribe@jakarta.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@jakarta.apache.org</unsubscribe>
            <post>dev@jakarta.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/jakarta-dev/</archive>
        </mailingList>
        <mailingList>
            <name>Apache BSF User List</name>
            <subscribe>bsf-user-subscribe@jakarta.apache.org</subscribe>
            <unsubscribe>bsf-user-unsubscribe@jakarta.apache.org</unsubscribe>
            <post>bsf-user@jakarta.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/jakarta-bsf-user/</archive>
        </mailingList>
        <mailingList>
            <name>Apache BSF Developer List (archive only, now part of Jakarta dev)</name>
            <archive>http://mail-archives.apache.org/mod_mbox/jakarta-bsf-dev/</archive>
        </mailingList>
    </mailingLists>

    <inceptionYear>1999</inceptionYear>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
          <!-- N.B. Odd indentation is so the SVN locations align properly-->
          <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/bsf/tags/bsf-3.1</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/jakarta/bsf/tags/bsf-3.1</developerConnection>
                            <url>http://svn.apache.org/viewvc/jakarta/bsf/tags/bsf-3.1/</url>
    </scm>

    <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
    </organization>

    <build>
        <defaultGoal>install</defaultGoal>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-clean-plugin</artifactId>
              <version>2.4.1</version>
            </plugin>
            <!-- Need at least 1.0 to support gpg.homedir property -->
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-gpg-plugin</artifactId>
              <version>1.1</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
               <configuration>
                <!-- keep only errors and warnings -->
                <quiet>true</quiet>
                <encoding>${project.build.sourceEncoding}</encoding>
                <docEncoding>${project.reporting.outputEncoding}</docEncoding>
                <archive>
                  <manifest>
                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                  </manifest>
                  <manifestEntries>
                    <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                  </manifestEntries>
                </archive>
              </configuration>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-remote-resources-plugin</artifactId>
              <version>${jakarta.remote-resources.version}</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <version>2.4.3</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-site-plugin</artifactId>
              <version>2.1.1</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-source-plugin</artifactId>
              <version>2.1.2</version>
              <configuration>
                <archive>
                  <manifest>
                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                  </manifest>
                  <manifestEntries>
                    <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                  </manifestEntries>
                </archive>
              </configuration>
            </plugin>
            <!-- BEGIN: Override plugin versions in Apache parent POM v7 -->
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
                <version>${jakarta.compiler.version}</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.3.1</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jar-plugin</artifactId>
              <version>2.3.1</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-release-plugin</artifactId>
              <version>2.0</version>
            </plugin>
            <!-- END: Override plugin versions in Apache parent POM -->
          </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${maven.compile.source}</source>
                    <target>${maven.compile.target}</target>
                    <fork>${jakarta.compiler.fork}</fork>
                    <compilerVersion>${jakarta.compiler.compilerVersion}</compilerVersion>
                    <executable>${jakarta.compiler.javac}</executable>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                  <includes>
                    <include>**/*Test*.java</include>
                  </includes>
                  <jvm>${jakarta.surefire.java}</jvm>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Extension-Name>${pom.groupId}</Extension-Name>
                            <Specification-Title>${pom.artifactId}</Specification-Title>
                            <Specification-Vendor>Apache Software Foundation</Specification-Vendor>
                            <Specification-Version>${pom.version}</Specification-Version>
                            <Implementation-Title>Apache BSF</Implementation-Title>
                            <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                            <Implementation-Vendor>Apache Software Foundation</Implementation-Vendor>
                            <Implementation-Version>${pom.version}</Implementation-Version>
                            <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
                            <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-5</version>
                <configuration>
                    <descriptors>
                        <descriptor>distribution/bin.xml</descriptor>
                        <descriptor>distribution/src.xml</descriptor>
                    </descriptors>
                    <finalName>bsf-${bsf.version}</finalName>
                    <tarLongFileMode>gnu</tarLongFileMode>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <reporting>
        <plugins>
            <plugin>
                <inherited>false</inherited>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <version>2.1</version>
                <inherited>false</inherited>
            </plugin>
        </plugins>
    </reporting>

    <modules>
        <module>bsf-api</module>
        <module>bsf-engines</module>
        <module>bsf-utils</module>
        <module>distribution</module>
        <module>testing</module>
    </modules>

 <profiles>
     <!-- Override plugin versions that don't work with Java 1.4 -->
     <profile>
       <id>JDK14</id>
       <activation>
         <jdk>1.4</jdk>
       </activation>
       <properties>
           <!-- Remote resources 1.1 (defined in Apache Parent V7) requires Java 1.5+ -->
           <jakarta.remote-resources.version>1.0</jakarta.remote-resources.version>
           <!-- compiler 2.3.1 requires 1.5+ last version to support Java 1.4 is 2.1 -->
           <jakarta.compiler.version>2.1</jakarta.compiler.version>
       </properties>
     </profile>
    <!--
     | Stop the JDK1.6+ ScriptManager failing when it cannot find 
     | the class org/mozilla/javascript/ContextFactory.
     -->
        <profile>
            <id>JDK16minimum</id>
            <activation>
                <jdk>[1.6,)</jdk>
            </activation>
            <dependencies>
                 <dependency>
                     <groupId>rhino</groupId>
                     <artifactId>js</artifactId>
                     <version>1.6R5</version>
                     <scope>test</scope>
                 </dependency>
            </dependencies>
        </profile>
    <!--
       Profile for running the build using JDK 1.4
       (JAVA_1_4_HOME needs to be defined, e.g. in settings.xml or an environment variable)
      -->
    <profile>
      <id>java-1.4</id>
      <properties>
        <jakarta.compiler.fork>true</jakarta.compiler.fork>
        <jakarta.compiler.compilerVersion>1.4</jakarta.compiler.compilerVersion>
        <jakarta.compiler.javac>${JAVA_1_4_HOME}/bin/javac</jakarta.compiler.javac>
        <jakarta.surefire.java>${JAVA_1_4_HOME}/bin/java</jakarta.surefire.java>
      </properties>
    </profile>

    <!--
       Profile for running the build using JDK 1.5
       (JAVA_1_5_HOME needs to be defined, e.g. in settings.xml or an environment variable)
      -->
    <profile>
      <id>java-1.5</id>
      <properties>
        <jakarta.compiler.fork>true</jakarta.compiler.fork>
        <jakarta.compiler.compilerVersion>1.5</jakarta.compiler.compilerVersion>
        <jakarta.compiler.javac>${JAVA_1_5_HOME}/bin/javac</jakarta.compiler.javac>
        <jakarta.surefire.java>${JAVA_1_5_HOME}/bin/java</jakarta.surefire.java>
      </properties>
    </profile>

    <!--
       Profile for running the build using JDK 1.6
       (JAVA_1_6_HOME needs to be defined, e.g. in settings.xml or an environment variable)
      -->
    <profile>
        <id>java-1.6</id>
        <properties>
          <jakarta.compiler.fork>true</jakarta.compiler.fork>
          <jakarta.compiler.compilerVersion>1.6</jakarta.compiler.compilerVersion>
          <jakarta.compiler.javac>${JAVA_1_6_HOME}/bin/javac</jakarta.compiler.javac>
          <jakarta.surefire.java>${JAVA_1_6_HOME}/bin/java</jakarta.surefire.java>
        </properties>
    <!--
     | Stop the JDK1.6 ScriptManager failing when it cannot find 
     | the class org/mozilla/javascript/ContextFactory.
     -->
            <dependencies>
                 <dependency>
                     <groupId>rhino</groupId>
                     <artifactId>js</artifactId>
                     <version>1.6R5</version>
                     <scope>test</scope>
                 </dependency>
            </dependencies>
      </profile>

    <!--
       Profile for running the build using JDK 1.7
       (JAVA_1_7_HOME needs to be defined, e.g. in settings.xml or an environment variable)
      -->
    <profile>
        <id>java-1.7</id>
        <properties>
          <jakarta.compiler.fork>true</jakarta.compiler.fork>
          <jakarta.compiler.compilerVersion>1.7</jakarta.compiler.compilerVersion>
          <jakarta.compiler.javac>${JAVA_1_7_HOME}/bin/javac</jakarta.compiler.javac>
          <jakarta.surefire.java>${JAVA_1_7_HOME}/bin/java</jakarta.surefire.java>
        </properties>
    <!--
     | Stop the JDK1.7 ScriptManager failing when it cannot find 
     | the class org/mozilla/javascript/ContextFactory.
     -->
            <dependencies>
                 <dependency>
                     <groupId>rhino</groupId>
                     <artifactId>js</artifactId>
                     <version>1.6R5</version>
                     <scope>test</scope>
                 </dependency>
            </dependencies>
      </profile>

    <!-- The apache-release profile is not suitable (it creates extra artifacts) so provide our own -->
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-install-plugin</artifactId>
            <configuration>
              <createChecksum>true</createChecksum>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>create-source-jar</id>
                <goals>
                  <goal>jar</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-release-plugin</artifactId>
            <configuration>
              <!-- Pass these arguments to the deploy plugin. -->
              <arguments>-Prelease</arguments>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>create-javadoc-jar</id>
                <goals>
                  <goal>javadoc</goal>
                  <goal>jar</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
            <configuration>
              <source>${maven.compile.source}</source>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- 
     | Profile to allow testing of deploy phase
     | e.g.
     | mvn deploy -Ptest-deploy -Prelease -Dgpg.skip
     -->
    <profile>
      <id>test-deploy</id>
      <properties>
        <altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
      </properties>
    </profile>
 </profiles>
</project>