/** * Copyright 2015-2016 Red Hat, Inc, and individual contributors. * * Licensed 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. */ package org.wildfly.swarm.spi.api; /** * This class defines all system properties used by Swarm */ public interface SwarmProperties { /** * Causes a deployed artifact to be dumped to disk when swarm starts, for debugging. Defaults to <code>false</code> */ String EXPORT_DEPLOYMENT = "swarm.export.deployment"; /** * Sets a global port adjustment, defaults to 0 */ String PORT_OFFSET = "swarm.port.offset"; /** * Interface to bind servers, defaults to 0.0.0.0 */ String BIND_ADDRESS = "swarm.bind.address"; /** * Since introducing the delayed open HTTP listeners, it has been determined * that maybe it'd be useful to be able to eagerly open the listeners through usage of a property. * If non-<code>null</code>, will cause the http listeners to not be lazy. */ String HTTP_EAGER = "swarm.http.eager"; /** * Sets the HTTP port to be used, defaults to 8080 */ String HTTP_PORT = "swarm.http.port"; /** * Sets the AJP port to be used, defaults to 8009 */ String AJP_PORT = "swarm.ajp.port"; /** * Sets the HTTPS port to be used, defaults to 8443 */ String HTTPS_PORT = "swarm.https.port"; /** * If true, generates a self-signed certificate for development purposes */ String HTTPS_GENERATE_SELF_SIGNED_CERTIFICATE = "swarm.https.certificate.generate"; /** * The host used in the self-signed certificate if {@link SwarmProperties#HTTPS_GENERATE_SELF_SIGNED_CERTIFICATE} is true * Defaults to localhost */ String HTTPS_GENERATE_SELF_SIGNED_CERTIFICATE_HOST = "swarm.https.certificate.generate.host"; /** * The context path to be used, defaults to / */ String CONTEXT_PATH = "swarm.context.path"; /** * If provided, the swarm process will pause for debugging on the given port. * This option is only available when running an Arquillian test or mvn wildfly-swarm:run, not when executing java -jar. * The latter requires normal Java debug agent parameters. */ String DEBUG_PORT = "swarm.debug.port"; /** * If provided, the swarm container will log bootstrap information */ String DEBUG_BOOTSTRAP = "swarm.debug.bootstrap"; /** * The environment this process is running on (eg. openshift) */ String ENVIRONMENT = "swarm.environment"; /** * Activates a stage in project-stages.yml */ String PROJECT_STAGE = "swarm.project.stage"; /** * A URL spec reference to a project stage file * * @see java.net.URL */ String PROJECT_STAGE_FILE = "swarm.project.stage.file"; /** * Timeout, in seconds, to wait for a deployment to occur, defaults to 300 */ String DEPLOYMENT_TIMEOUT = "swarm.deployment.timeout"; /** * Port number for Swarm's Arquillian Daemon. */ String ARQUILLIAN_DAEMON_PORT = "swarm.arquillian.daemon.port"; /** * Formats a property as ${property} * * @param property the property to be formatted * @return the formatted value as ${property} */ static String propertyVar(final String property) { return String.format("${%s}", property); } /** * Formats a property as ${property:defaultValue} * * @param property the property to be formatted * @param defaultValue * @return the formatted value as ${property:defaultValue} */ static String propertyVar(final String property, final String defaultValue) { return String.format("${%s:%s}", property, defaultValue); } }