<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->
 

<property name="module" value="sec-ssl"/>
<property name="appname" value="${module}-converter"/>         

<property name="assemble" 
	value="${build.classes.dir}/archive"/>
<property name="appclientjar.files" value="${build.classes.dir}"/>         
<property name="appclient.jar" 
	value="${assemble.dir}/${appname}-client.jar"/>         

<property name="test.client" 
	value="com.sun.s1peqe.security.ssl.converter.client.ConverterClient"/>

<property name="application.xml" value="descriptor/application.xml"/>
<property name="sun-application.xml" value="descriptor/sun-application.xml"/>
<property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
<property name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml"/>
<property name="application-client.xml" 
	value="descriptor/application-client.xml"/>
<property name="sun-application-client.xml" 
	value="descriptor/sun-application-client.xml"/>

<property name="app.type" value="application"/>

<!-- ============================================================ -->
<!-- Standalone Client specific properties which run without ACC  -->
<!-- ============================================================ -->
<!--
<property name="jndi.name" value="SSLconverter"/>
<property name="provider.url" value="iiop://localhost:${orb.port}"/> 
<property name="ctxfactory" value="com.sun.enterprise.naming.SerialInitContextFactory"/> 
<property name="ctxfactory" value="com.sun.jndi.cosnaming.CNCtxFactory"/> 
-->

