Skip to content

Commit

Permalink
added files required for launching runtime in IDE
Browse files Browse the repository at this point in the history
Signed-off-by: Kai Kreuzer <[email protected]>
  • Loading branch information
kaikreuzer committed Jan 6, 2016
1 parent 3bcacb7 commit 1bb6dac
Show file tree
Hide file tree
Showing 13 changed files with 465 additions and 2,516 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ distribution/openhabhome/userdata/mapdb/storage.mapdb.t

/*features*/*/src/main/history/
maven-metadata-local.xml
launch/home/logs
launch/home/userdata
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>targetplatform</name>
<name>demo-resources</name>
<comment></comment>
<projects>
</projects>
Expand Down
11 changes: 11 additions & 0 deletions launch/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>launch</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
23 changes: 23 additions & 0 deletions launch/home/etc/jetty-deployer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">

<!-- =========================================================== -->
<!-- Configure the deployment manager -->
<!-- =========================================================== -->
<Call name="addBean">
<Arg>
<New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
<Set name="contexts">
<Ref refid="Contexts" />
</Set>
<Call name="setContextAttribute">
<Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
<Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
</Call>
</New>
</Arg>
</Call>

</Configure>
31 changes: 31 additions & 0 deletions launch/home/etc/jetty-selector.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">


<!-- =========================================================== -->
<!-- Add connector -->
<!-- =========================================================== -->

<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
<Arg><Ref refid="Server" /></Arg>
<Arg name="factories">
<Array type="org.eclipse.jetty.server.ConnectionFactory">
<Item>
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
<Arg name="config"><Ref refid="httpConfig" /></Arg>
</New>
</Item>
</Array>
</Arg>
<Set name="host"><SystemProperty name="jetty.host" /></Set>
<Set name="port"><SystemProperty name="org.osgi.service.http.port" default="8080" /></Set>
<Set name="idleTimeout">300000</Set>
</New>
</Arg>
</Call>

</Configure>
138 changes: 138 additions & 0 deletions launch/home/etc/jetty.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">


<!-- =============================================================== -->
<!-- Configure the Jetty Server -->
<!-- -->
<!-- Documentation of this file format can be found at: -->
<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax -->
<!-- =============================================================== -->

<Configure id="Server" class="org.eclipse.jetty.server.Server">

<!-- =========================================================== -->
<!-- Server Thread Pool -->
<!-- =========================================================== -->
<Get name="ThreadPool">
<Set name="minThreads">5</Set>
<Set name="maxThreads">100</Set>
</Get>


<!-- =========================================================== -->
<!-- Set handler Collection Structure -->
<!-- =========================================================== -->
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<!-- Add rule in order to take care of the X-Forwarded-Scheme header -->
<Call name="addRule">
<Arg>
<New
class="org.eclipse.jetty.rewrite.handler.ForwardedSchemeHeaderRule">
<Set name="header">X-Forwarded-Scheme</Set>
<Set name="headerValue">https</Set> <!-- if this is unset, any value will match against the rule -->
<Set name="scheme">https</Set>
</New>
</Arg>
</Call>
<Call name="addRule">
<Arg>
<New
class="org.eclipse.jetty.rewrite.handler.ForwardedSchemeHeaderRule">
<Set name="header">X-Forwarded-Scheme</Set>
<Set name="headerValue">http</Set> <!-- if this is unset, any value will match against the rule -->
<Set name="scheme">http</Set>
</New>
</Arg>
</Call>

<!-- show the dashboard as default -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule">
<Set name="regex">/$</Set>
<Set name="replacement">/start/index</Set>
</New>
</Arg>
</Call>
</New>
</Item>
<Item>
<New id="Contexts"
class="org.eclipse.jetty.server.handler.ContextHandlerCollection" />
</Item>
<Item>
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler" />
</Item>
<Item>
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler" />
</Item>
</Array>
</Set>
</New>
</Set>

<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
<Set name="secureScheme">https</Set>
<Set name="securePort">
<Property name="org.osgi.service.http.port.secure" default="8443" />
</Set>
<Set name="outputBufferSize">32768</Set>
<Set name="requestHeaderSize">8192</Set>
<Set name="responseHeaderSize">8192</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">false</Set>
<Set name="headerCacheSize">512</Set>
</New>


<!-- =========================================================== -->
<!-- extra options -->
<!-- =========================================================== -->
<Set name="stopAtShutdown">true</Set>
<Set name="stopTimeout">1000</Set>
<Set name="dumpAfterStart">false</Set>
<Set name="dumpBeforeStop">false</Set>


<!-- =========================================================== -->
<!-- jetty-jndi by default -->
<!-- =========================================================== -->
<Call class="org.eclipse.jetty.webapp.Configuration$ClassList"
name="setServerDefault">
<Arg>
<Ref refid="Server" />
</Arg>
<Call name="addAfter">
<Arg name="afterClass">org.eclipse.jetty.webapp.FragmentConfiguration</Arg>
<Arg>
<Array type="String">
<Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.eclipse.jetty.plus.webapp.PlusConfiguration</Item>
<Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item>
</Array>
</Arg>
</Call>
</Call>

<Call class="java.lang.System" name="setProperty">
<Arg>java.naming.factory.initial</Arg>
<Arg>
<Property name="java.naming.factory.initial"
default="org.eclipse.jetty.jndi.InitialContextFactory" />
</Arg>
</Call>

<Call class="java.lang.System" name="setProperty">
<Arg>java.naming.factory.url.pkgs</Arg>
<Arg>
<Property name="java.naming.factory.url.pkgs" default="org.eclipse.jetty.jndi" />
</Arg>
</Call>

</Configure>
Binary file added launch/home/etc/keystore
Binary file not shown.
35 changes: 35 additions & 0 deletions launch/home/etc/services.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This file defines required service configurations.
# It can be overridden by user specific configurations in conf/services folder.

org.eclipse.smarthome.folder:items=items
org.eclipse.smarthome.folder:sitemaps=sitemap
org.eclipse.smarthome.folder:rules=rules
org.eclipse.smarthome.folder:scripts=script
org.eclipse.smarthome.folder:persistence=persist
org.eclipse.smarthome.folder:things=things

org.eclipse.smarthome.security:option=OFF

org.eclipse.smarthome.persistence:default=rrd4j

org.eclipse.smarthome.chart:provider=default

org.eclipse.smarthome.classicui:defaultSitemap=_default

org.openhab.autoapprove:enabled=false
org.eclipse.smarthome.binding.sonos:opmlPartnerID=IAeIhU42

org.jupnp:multicastResponsePort=0
org.jupnp:streamListenPort=8080
org.jupnp:threadPoolSize=200

com.eclipsesource.jaxrs.connector:root=/rest
com.eclipsesource.jaxrs.swagger.config:swagger.basePath=/rest
com.eclipsesource.jaxrs.swagger.config:swagger.info.title=openHAB REST API

# Configuration of scheduled thread pool sizes
org.eclipse.smarthome.threadpool:thingHandler=3
org.eclipse.smarthome.threadpool:discovery=3

# Non-scheduled thread pools can also provide a max size
org.eclipse.smarthome.threadpool:safeCall=3,10
55 changes: 55 additions & 0 deletions launch/home/logback_debug.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<configuration scan="true">

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-30.30logger{36}:%-5line] - %msg%ex{10}%n</pattern>
</encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${openhab.logdir:-userdata/logs}/openhab.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-30.30logger{36}:%-5line] - %msg%ex{10}%n</pattern>
</encoder>
</appender>

<appender name="EVENTFILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${openhab.logdir:-userdata/logs}/events.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- weekly rollover and archiving -->
<fileNamePattern>${openhab.logdir:-userdata/logs}/events-%d{yyyy-ww}.log.zip</fileNamePattern>

<!-- maximum number of archive files to keep -->
<maxHistory>26</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
</appender>

<logger name="smarthome.event" level="INFO" additivity="false">
<appender-ref ref="EVENTFILE" />
<appender-ref ref="STDOUT" />
</logger>

<logger name="org.openhab" level="DEBUG" />
<logger name="org.eclipse.smarthome" level="DEBUG" />

<logger name="org.eclipse.jetty" level="INFO" />
<logger name="org.jupnp" level="ERROR"/>
<!-- temporary workaround for https://github.com/openhab/jmdns/issues/12 -->
<logger name="javax.jmdns" level="OFF"/>
<logger name="javax.jmdns.impl" level="OFF"/>
<logger name="javax.jmdns.impl.constants" level="OFF"/>
<logger name="tuwien.auto.calimero" level="WARN" />

<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>

<!-- temporary workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=402750 -->
<logger name="OSGi" level="OFF" />

</configuration>
6 changes: 6 additions & 0 deletions launch/home/quartz.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
org.quartz.scheduler.skipUpdateCheck = true
org.quartz.scheduler.instanceName = openHAB-job-scheduler
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
34 changes: 34 additions & 0 deletions launch/openHAB_Runtime.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="false"/>
<booleanAttribute key="automaticAdd" value="false"/>
<booleanAttribute key="automaticValidate" value="true"/>
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="clearws" value="true"/>
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/openHAB_Runtime"/>
<booleanAttribute key="default" value="false"/>
<booleanAttribute key="default_auto_start" value="true"/>
<booleanAttribute key="includeOptional" value="false"/>
<stringAttribute key="location" value="${workspace_loc}/../runtime-org.openhab.runtime.product.product"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.clean=true -Dosgi.noShutdown=true -Dlogback.configurationFile=logback_debug.xml -Djava.library.path=./lib -Dorg.quartz.properties=quartz.properties -Djetty.home=. -DmdnsName=openhab -Dopenhab.logdir=logs -Dsmarthome.servicepid=org.openhab -Dsmarthome.configdir=${project_loc:demo-resources}/src/main/resources -Dsmarthome.userdata=userdata -Dsmarthome.servicecfg=etc/services.cfg -Dorg.osgi.service.http.port.secure=8443 -Dorg.osgi.service.http.port=8080 -Dopenhab.conf=${project_loc:demo-resources}/src/main/resources -Djetty.keystore.path=etc/keystore -Djetty.truststore.path=etc/keystore"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:launch}/home"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value=""/>
<stringAttribute key="productFile" value="/org.openhab.runtime.product/org.openhab.runtime.product.product"/>
<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.eclipsesource.jaxrs.jersey-min@default:default,com.eclipsesource.jaxrs.provider.gson@default:default,com.eclipsesource.jaxrs.provider.swagger@default:default,com.eclipsesource.jaxrs.publisher@default:default,com.eclipsesource.jaxrs.swagger-all@default:default,com.google.gson*2.3.1@default:default,com.google.guava@default:default,com.google.inject@default:default,javax.inject@default:default,javax.jmdns@default:default,javax.servlet*3.1.0.v20140303-1611@default:default,javax.transaction@default:false,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.exec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient*4.3.6.v201411290715@default:default,org.apache.httpcomponents.httpcore*4.3.3.v201411290715@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http*9.2.12.v20150709@default:default,org.eclipse.jetty.io*9.2.12.v20150709@default:default,org.eclipse.jetty.osgi.alpn.fragment@default:false,org.eclipse.jetty.osgi.boot@default:default,org.eclipse.jetty.osgi.httpservice@default:default,org.eclipse.jetty.rewrite@default:default,org.eclipse.jetty.security*9.2.12.v20150709@default:default,org.eclipse.jetty.server*9.2.12.v20150709@default:default,org.eclipse.jetty.servlet*9.2.12.v20150709@default:default,org.eclipse.jetty.util*9.2.12.v20150709@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.smarthome.binding.hue@default:default,org.eclipse.smarthome.binding.ntp@default:default,org.eclipse.smarthome.binding.yahooweather@default:default,org.eclipse.smarthome.config.core@default:default,org.eclipse.smarthome.config.discovery@default:default,org.eclipse.smarthome.config.dispatch@default:default,org.eclipse.smarthome.config.xml@default:default,org.eclipse.smarthome.core.autoupdate@default:default,org.eclipse.smarthome.core.binding.xml@default:default,org.eclipse.smarthome.core.extension.sample@default:default,org.eclipse.smarthome.core.id@default:default,org.eclipse.smarthome.core.persistence@default:default,org.eclipse.smarthome.core.scheduler@default:default,org.eclipse.smarthome.core.thing.xml@default:default,org.eclipse.smarthome.core.thing@default:default,org.eclipse.smarthome.core.transform@default:default,org.eclipse.smarthome.core@default:default,org.eclipse.smarthome.io.console.eclipse@default:default,org.eclipse.smarthome.io.console@default:default,org.eclipse.smarthome.io.monitor@default:default,org.eclipse.smarthome.io.multimedia@default:default,org.eclipse.smarthome.io.net@default:default,org.eclipse.smarthome.io.rest.core@default:default,org.eclipse.smarthome.io.rest.sitemap@default:default,org.eclipse.smarthome.io.rest.sse@default:default,org.eclipse.smarthome.io.rest@default:default,org.eclipse.smarthome.io.transport.mdns@default:default,org.eclipse.smarthome.io.transport.upnp@default:default,org.eclipse.smarthome.model.core@5:default,org.eclipse.smarthome.model.item.runtime@3:default,org.eclipse.smarthome.model.item@3:default,org.eclipse.smarthome.model.persistence.runtime@3:default,org.eclipse.smarthome.model.persistence@3:default,org.eclipse.smarthome.model.rule.runtime@3:default,org.eclipse.smarthome.model.rule@3:default,org.eclipse.smarthome.model.script.runtime@3:default,org.eclipse.smarthome.model.script@3:default,org.eclipse.smarthome.model.sitemap.runtime@3:default,org.eclipse.smarthome.model.sitemap@3:default,org.eclipse.smarthome.model.thing.runtime@3:default,org.eclipse.smarthome.model.thing@3:default,org.eclipse.smarthome.storage.mapdb@default:default,org.eclipse.smarthome.transform.map@default:default,org.eclipse.smarthome.ui.basic@default:default,org.eclipse.smarthome.ui.classic@default:default,org.eclipse.smarthome.ui.icon@default:default,org.eclipse.smarthome.ui.paper@default:default,org.eclipse.smarthome.ui@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.xtext@default:default,org.jupnp@default:default,org.objectweb.asm@default:default,org.openhab.core.compat1x@default:default,org.openhab.core.init@default:default,org.openhab.core@5:default,org.openhab.io.rest.docs@default:default,org.openhab.ui.basicui@default:false,org.openhab.ui.classicui@default:default,org.openhab.ui.dashboard@default:default,org.openhab.ui.iconset.classic@default:default,org.openhab.ui.paperui@default:false,org.slf4j.api@default:default,org.slf4j.jul@default:default,org.slf4j.log4j@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
<booleanAttribute key="useProduct" value="true"/>
<booleanAttribute key="usefeatures" value="false"/>
</launchConfiguration>
Loading

0 comments on commit 1bb6dac

Please sign in to comment.