Merge pull request #581 from Daniel-Dos/TOMEE-2699

TOMEE-2699-Translate to portuguese MicroProfile - Timeout 
diff --git a/boms/pom.xml b/boms/pom.xml
index 70fdb93..78b03b0 100644
--- a/boms/pom.xml
+++ b/boms/pom.xml
@@ -35,6 +35,7 @@
 
   <modules>
     <module>jaxb-runtime</module>
+    <module>tomee-microprofile</module>
   </modules>
 
 </project>
diff --git a/boms/tomee-microprofile/pom.xml b/boms/tomee-microprofile/pom.xml
new file mode 100644
index 0000000..2a4ccb7
--- /dev/null
+++ b/boms/tomee-microprofile/pom.xml
@@ -0,0 +1,1370 @@
+<?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.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<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.tomee.bom</groupId>
+    <artifactId>boms</artifactId>
+    <version>8.0.1-SNAPSHOT</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>tomee-microprofile</artifactId>
+  <packaging>pom</packaging>
+  <name>TomEE :: BOMs :: TomEE MicroProfile</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>2.9.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>2.9.9</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>2.9.9.3</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.woodstox</groupId>
+      <artifactId>woodstox-core</artifactId>
+      <version>5.0.3</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.istack</groupId>
+      <artifactId>istack-commons-runtime</artifactId>
+      <version>3.0.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.fastinfoset</groupId>
+      <artifactId>FastInfoset</artifactId>
+      <version>1.2.16</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <version>1.9.3</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>1.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-daemon</groupId>
+      <artifactId>commons-daemon</artifactId>
+      <version>1.1.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-digester</groupId>
+      <artifactId>commons-digester</artifactId>
+      <version>1.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
+      <version>2.3.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.serp</groupId>
+      <artifactId>serp</artifactId>
+      <version>1.15.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.bval</groupId>
+      <artifactId>bval-jsr</artifactId>
+      <version>2.0.3</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-collections4</artifactId>
+      <version>4.3</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-dbcp2</artifactId>
+      <version>2.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>3.8.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
+      <version>2.3</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-core</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-management</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-client</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-extension-providers</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-extension-search</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-json-basic</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-security-cors</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-security-jose</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-security-jose-jaxrs</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-security-oauth2</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-service-description</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-security</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http</artifactId>
+      <version>${cxf.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-transaction</artifactId>
+      <version>3.1.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.javamail</groupId>
+      <artifactId>geronimo-javamail_1.4_mail</artifactId>
+      <version>1.9.0-alpha-2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-core</artifactId>
+      <version>${johnzon.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jaxrs</artifactId>
+      <version>${johnzon.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonb</artifactId>
+      <version>${johnzon.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-mapper</artifactId>
+      <version>${johnzon.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.myfaces.core</groupId>
+      <artifactId>myfaces-api</artifactId>
+      <version>${myfaces.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.myfaces.core</groupId>
+      <artifactId>myfaces-impl</artifactId>
+      <version>${myfaces.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb.shade</groupId>
+      <artifactId>quartz-openejb-shade</artifactId>
+      <version>2.2.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openjpa</groupId>
+      <artifactId>openjpa</artifactId>
+      <version>${openjpa.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-ee</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-ee-common</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-ejb</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-el22</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-impl</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-jsf</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-spi</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-web</artifactId>
+      <version>${openwebbeans.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.taglibs</groupId>
+      <artifactId>taglibs-standard-impl</artifactId>
+      <version>1.2.5</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.taglibs</groupId>
+      <artifactId>taglibs-standard-jstlel</artifactId>
+      <version>1.2.5</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.taglibs</groupId>
+      <artifactId>taglibs-standard-spec</artifactId>
+      <version>1.2.5</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-api</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-catalina</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-catalina-ha</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-coyote</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-dbcp</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-el-api</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jasper</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jasper-el</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jaspic-api</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jdbc</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jni</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-jsp-api</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-juli</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-servlet-api</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-storeconfig</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-tribes</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-util</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-util-scan</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-websocket</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-websocket-api</artifactId>
+      <version>${tomcat.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>javaee-api</artifactId>
+      <version>8.0-2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>mbean-annotation-api</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-api</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-client</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-core</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-cxf-rs</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-cxf-transport</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-ejbd</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-hsql</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-http</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-javaagent</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-jee</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-jee-accessors</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-jpa-integration</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-loader</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-rest</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-server</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-catalina</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-common</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-config</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-jaxrs</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-jdbc</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-juli</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-loader</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-mojarra</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-myfaces</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>tomee-webapp</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ws.xmlschema</groupId>
+      <artifactId>xmlschema-core</artifactId>
+      <version>2.2.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-asm7-shaded</artifactId>
+      <version>${xbeanVersion}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-bundleutils</artifactId>
+      <version>${xbeanVersion}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-finder-shaded</artifactId>
+      <version>${xbeanVersion}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-naming</artifactId>
+      <version>${xbeanVersion}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-reflect</artifactId>
+      <version>${xbeanVersion}</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.swizzle</groupId>
+      <artifactId>swizzle-stream</artifactId>
+      <version>1.6.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.woodstox</groupId>
+      <artifactId>stax2-api</artifactId>
+      <version>3.1.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jdt</groupId>
+      <artifactId>ecj</artifactId>
+      <version>3.18.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <version>2.3.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>txw2</artifactId>
+      <version>2.3.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+      <version>2.3.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jvnet.staxex</groupId>
+      <artifactId>stax-ex</artifactId>
+      <version>1.8.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.metatype.sxc</groupId>
+      <artifactId>sxc-jaxb-core</artifactId>
+      <version>0.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.metatype.sxc</groupId>
+      <artifactId>sxc-runtime</artifactId>
+      <version>0.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.objectweb.howl</groupId>
+      <artifactId>howl</artifactId>
+      <version>1.0.1-1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.7.21</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-jdk14</artifactId>
+      <version>1.7.21</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>serializer</artifactId>
+      <version>2.7.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <version>2.7.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+</project>
+
diff --git a/container/openejb-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties b/container/openejb-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
index 337d75b..b49fb62 100644
--- a/container/openejb-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
+++ b/container/openejb-core/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
@@ -119,3 +119,9 @@
 org.apache.webbeans.spi.ValidatorService=org.apache.openejb.cdi.OpenEJBValidatorService
 org.apache.webbeans.spi.ContainerLifecycle=org.apache.openejb.cdi.OpenEJBLifecycle
 org.apache.webbeans.spi.ResourceInjectionService=org.apache.openejb.cdi.CdiResourceInjectionService
+
+# New properties in OWB 2.0.11
+org.apache.webbeans.container.InjectionResolver.fastMatching = false
+org.apache.webbeans.service.DefaultInjectionPointService.implicitSupport = false
+org.apache.webbeans.spi.InjectionPointService = org.apache.webbeans.service.DefaultInjectionPointService
+
diff --git a/examples/cucumber-jvm/README_pt.adoc b/examples/cucumber-jvm/README_pt.adoc
new file mode 100644
index 0000000..87c38bc
--- /dev/null
+++ b/examples/cucumber-jvm/README_pt.adoc
@@ -0,0 +1,187 @@
+= Cucumber JVM
+:index-group: Testing Techniques
+:jbake-type: page
+:jbake-status: published
+
+
+== Sobre Cucumber
+Cucumber é uma ferramenta que ativa suporte para link:https://en.wikipedia.org/wiki/Behavior-driven_development[Behaviour-Driven Development (BDD)] pela execução de * cenários * escritos em texto sem formatação e valida se o software faz o que esses cenários dizem. O formato usado para descrever os cenários é o link:https://docs.cucumber.io/gherkin/reference/[sintaxe do gherkin].
+
+Cucumber foi originalmente escrito na linguagem de programação Ruby, mas agora suporta uma variedade de diferentes linguagens de programação através de varias implementações, incluindo Java.
+
+== Sobre Cucumber JVM
+
+É a implementação Java pura de Cucumber que pode integrar com todos os contêineres populares de injeção de dependência.
+
+== Dependências
+Para este exemplo nós vamos adicionar duas dependências no `pom.xml` na sessão dependências. `cucumber-openejb` para integração com o Open EJB e `cucumber-junit` usar o JUnit para executar cenários de cucumber.
+
+[source,xml]
+----
+<dependency>
+      <groupId>io.cucumber</groupId>
+      <artifactId>cucumber-openejb</artifactId>
+      <version>4.2.3</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.openejb</groupId>
+          <artifactId>openejb-core</artifactId>
+        </exclusion>
+      </exclusions>
+</dependency>
+<dependency>
+  <groupId>io.cucumber</groupId>
+  <artifactId>cucumber-junit</artifactId>
+  <version>4.2.3</version>
+  <scope>test</scope>
+</dependency>
+----
+
+
+
+
+== Ponto de entrada do teste
+
+A classe `org.superbiz.cucumber.CucumberTest` é o ponto de entrada podemos identificar quando a fase de teste do maven é executada. O `@RunWith(Cucumber.class)` é a anotação que permite a integração do cucumber e a partir daí, ele verifica os arquivos de recursos disponíveis (`hello.feature`) e seu mapeamento programático correspondente (HelloStepDef.java)
+
+[source,java,numbered]
+----
+package org.superbiz.cucumber;
+
+import cucumber.api.junit.Cucumber;
+import org.junit.runner.RunWith;
+
+@RunWith(Cucumber.class)
+public class CucumberTest {
+    // o conjunto, carregará automaticamente os recursos
+}
+----
+
+
+== Arquivo de recursos
+O `hello.feature` O arquivo contém a sintaxe `gherkin` que indica a sequência de passos que cucumber vai executar. Verifique o link:https://docs.cucumber.io/gherkin/reference/[ documentação de referência do cucumber gherkin] para entender as palavras-chave disponíveis, regras e condicionais.
+
+
+[source,bash]
+----
+Feature: Hello
+
+  Scenario: Say Hello
+    Given A name 'foo'
+    Then The bean says 'hello foo'
+----
+
+== Definições das etapas
+
+Este é o conjunto de instruções programáticas que corresponderão aos cenários do arquivo de recursos e suas ações correspondentes. A classe `HelloStepDef.java` tem as anotações `Given` e `Then` do pacote `cucumber.api.java.en`. Para  este exemplo estamos usando o inglês, mas a ferramenta pode suportar idiomas diferentes.
+
+A expressão de uma definição de etapa pode ser uma expressão regular ou uma expressão de cucumber. Neste exemplo, estamos usando Expressão Regular, mas você pode verificar o link:https://docs.cucumber.io/cucumber/step-definitions/[Referência de definição de etapa] documentação para obter mais informações.
+
+[source,java,numbered]
+----
+package org.superbiz.cucumber;
+
+import cucumber.api.java.en.Given;
+import cucumber.api.java.en.Then;
+
+import javax.inject.Inject;
+
+import static org.junit.Assert.assertEquals;
+
+public class HelloStepDef {
+
+    @Inject
+    private Hello hello;
+
+    private String name;
+
+    @Given("^A name '([a-z]*)'$")
+    public void initName(final String name) {
+        this.name = name;
+    }
+
+    @Then("^The bean says '([ a-z]*)'$ ")
+    public void checkResult(final String result) {
+        assertEquals(result, hello.hello(name));
+    }
+}
+----
+
+No código acima, você pode ver como o JUnit entrou em ação na linha `assertEquals (resultado, hello.hello (nome));` quando o resultado obtido com a execução do método hello do hello bean é comparado com o valor ` result` do arquivo de recurso `hello.feature`
+
+== Executando
+Em ordem de executar este exemplo, certifique-se de ter clonado o repositorio `https://github.com/apache/tomee`  para seu computador local e navegue para a pasta `tomee/examples/cucumber-jvm`
+
+Então você só precisa executar:
+
+[source,bash]
+----
+mvn clean test
+----
+
+
+=== Resultado
+[source,bash]
+----
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.cucumber.CucumberTest
+INFO - ********************************************************************************
+INFO - OpenEJB http://tomee.apache.org/
+INFO - Startup: Tue Feb 26 14:01:02 CST 2019
+INFO - Copyright 1999-2018 (C) Apache OpenEJB Project, All Rights Reserved.
+INFO - Version: 8.0.0-SNAPSHOT
+INFO - Build date: 20190226
+INFO - Build time: 11:17
+INFO - ********************************************************************************
+INFO - openejb.home = /Users/norm/git/tomee/examples/cucumber-jvm
+INFO - openejb.base = /Users/norm/git/tomee/examples/cucumber-jvm
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@769f71a9
+INFO - Succeeded in installing singleton service
+INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
+INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Creating TransactionManager(id=Default Transaction Manager)
+INFO - Creating SecurityService(id=Default Security Service)
+INFO - Found EjbModule in classpath: /Users/norm/git/tomee/examples/cucumber-jvm/target/classes
+INFO - Beginning load: /Users/norm/git/tomee/examples/cucumber-jvm/target/classes
+INFO - Configuring enterprise application: /Users/norm/git/tomee/examples/cucumber-jvm
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean cucumber-jvm.Comp351520508: Container(type=MANAGED, id=Default Managed Container)
+INFO - Creating Container(id=Default Managed Container)
+INFO - Using directory /var/folders/xg/3840xb4543j_n48v_y19_kv00000gn/T for stateful session passivation
+INFO - Enterprise application "/Users/norm/git/tomee/examples/cucumber-jvm" loaded.
+INFO - Assembling app: /Users/norm/git/tomee/examples/cucumber-jvm
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@769f71a9
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFO - OpenWebBeans Container is starting...
+INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 331 ms.
+INFO - Deployed Application(path=/Users/norm/git/tomee/examples/cucumber-jvm)
+..INFO - Undeploying app: /Users/norm/git/tomee/examples/cucumber-jvm
+INFO - Destroying OpenEJB container
+
+1 Scenarios (1 passed)
+2 Steps (2 passed)
+0m2.117s
+
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.339 sec
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESS
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 5.462 s
+[INFO] Finished at: 2019-02-26T14:01:04-06:00
+[INFO] Final Memory: 29M/619M
+[INFO] ------------------------------------------------------------------------
+
+----
diff --git a/examples/datasource-ciphered-password/README_pt.adoc b/examples/datasource-ciphered-password/README_pt.adoc
new file mode 100644
index 0000000..85fd804
--- /dev/null
+++ b/examples/datasource-ciphered-password/README_pt.adoc
@@ -0,0 +1,223 @@
+:index-group: DataSources
+:jbake-type: page
+:jbake-status: status=published
+= DataSource Ciphered Password
+
+== Exemplo de senha cifrada da fonte de dados
+
+Este exemplo mostra como usar uma senha cifrada com um OpenEJB
+fonte de dados.
+
+Também mostra como implementar sua própria criptografia.
+
+== Configuração
+
+A configuração é simplesmente uma configuração de fonte de dados com um
+parâmetro adicional PasswordCipher para especificar a criptografia para
+usar.
+
+Exemplo usando a criptografia Static3DES:
+
+....
+    properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
+    properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
+    properties.setProperty("ProtectedDatasource.JdbcUrl", "jdbc:hsqldb:mem:protected");
+    properties.setProperty("ProtectedDatasource.UserName", "user");
+    // the plain text password is "YouLLN3v3rFindM3"
+    properties.setProperty("ProtectedDatasource.Password", "fEroTNXjaL5SOTyRQ92x3DNVS/ksbtgs");
+    properties.setProperty("ProtectedDatasource.PasswordCipher", "Static3DES");
+    properties.setProperty("ProtectedDatasource.JtaManaged", "true");
+....
+
+== Usando sua própria implementação
+
+O exemplo implementa uma criptografia reversa que simplesmente inverte a
+senha para criptografar/descriptografar.
+
+A implementação é feita com a biblioteca commons-lang:
+
+[source,java,numered]
+....
+public static class ReverseEncryption implements PasswordCipher {
+    @Override public char[] encrypt(String plainPassword) {
+        return StringUtils.reverse(plainPassword).toCharArray();
+    }
+
+    @Override public String decrypt(char[] encryptedPassword) {
+        return new String(encrypt(new String(encryptedPassword)));
+    }
+}
+....
+
+Para ser funcional, ele precisa do arquivo
+`META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/reverse`.
+
+O nome do arquivo (reversa) define o nome da criptografia a ser usada para o
+Parâmetro PasswordCipher.
+
+Este arquivo simplesmente contém a classe de implementação da criptografia.
+
+Então você simplesmente declara essa criptografia para sua fonte de dados:
+
+....
+    properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
+    properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
+    properties.setProperty("ProtectedDatasource.JdbcUrl", "jdbc:hsqldb:mem:protected");
+    properties.setProperty("ProtectedDatasource.UserName", USER);
+    properties.setProperty("ProtectedDatasource.Password", "3MdniFr3v3NLLuoY");
+    properties.setProperty("ProtectedDatasource.PasswordCipher", "reverse");
+    properties.setProperty("ProtectedDatasource.JtaManaged", "true");
+....
+
+== Documentação
+
+Para mais informações, consulte a
+http://tomee.apache.org/3.0/datasource-password-encryption.html[documentação]
+
+== Fonte de teste completa
+
+[source,java,numered]
+....
+package org.superbiz;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.openejb.resource.jdbc.PasswordCipher;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import javax.annotation.Resource;
+import javax.ejb.embeddable.EJBContainer;
+import javax.naming.Context;
+import javax.sql.DataSource;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Properties;
+
+import static junit.framework.Assert.assertNotNull;
+
+public class DataSourceCipheredExampleTest {
+    private static final String USER = DataSourceCipheredExampleTest.class.getSimpleName().toUpperCase();
+    private static final String PASSWORD = "YouLLN3v3rFindM3";
+    private static final String DATASOURCE_URL = "jdbc:hsqldb:mem:protected";
+
+    @Resource
+    private DataSource dataSource;
+
+    @BeforeClass
+    public static void addDatabaseUserWithPassword() throws Exception {
+        Class.forName("org.hsqldb.jdbcDriver");
+        Connection conn = DriverManager.getConnection(DATASOURCE_URL, "sa", "");
+        conn.setAutoCommit(true);
+        Statement st = conn.createStatement();
+        st.executeUpdate("CREATE USER " + USER + " PASSWORD '" + PASSWORD + "';");
+        st.close();
+        conn.commit();
+        conn.close();
+    }
+
+    @Test
+    public void accessDatasource() throws Exception {
+        // define the datasource
+        Properties properties = new Properties();
+        properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
+        properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
+        properties.setProperty("ProtectedDatasource.JdbcUrl", DATASOURCE_URL);
+        properties.setProperty("ProtectedDatasource.UserName", USER);
+        properties.setProperty("ProtectedDatasource.Password", "fEroTNXjaL5SOTyRQ92x3DNVS/ksbtgs");
+        properties.setProperty("ProtectedDatasource.PasswordCipher", "Static3DES");
+        properties.setProperty("ProtectedDatasource.JtaManaged", "true");
+
+        // start the context and makes junit test injections
+        EJBContainer container = EJBContainer.createEJBContainer(properties);
+        Context context = container.getContext();
+        context.bind("inject", this);
+
+        // test the datasource
+        assertNotNull(dataSource);
+        assertNotNull(dataSource.getConnection());
+
+        // closing the context
+        container.close();
+    }
+
+    @Test
+    public void accessDatasourceWithMyImplementation() throws Exception {
+        // define the datasource
+        Properties properties = new Properties();
+        properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
+        properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
+        properties.setProperty("ProtectedDatasource.JdbcUrl", "jdbc:hsqldb:mem:protected");
+        properties.setProperty("ProtectedDatasource.UserName", USER);
+        properties.setProperty("ProtectedDatasource.Password", "3MdniFr3v3NLLuoY");
+        properties.setProperty("ProtectedDatasource.PasswordCipher", "reverse");
+        properties.setProperty("ProtectedDatasource.JtaManaged", "true");
+
+        // start the context and makes junit test injections
+        EJBContainer container = EJBContainer.createEJBContainer(properties);
+        Context context = container.getContext();
+        context.bind("inject", this);
+
+        // test the datasource
+        assertNotNull(dataSource);
+        assertNotNull(dataSource.getConnection());
+
+        // closing the context
+        container.close();
+    }
+
+    public static class ReverseEncryption implements PasswordCipher {
+        @Override
+        public char[] encrypt(String plainPassword) {
+            return StringUtils.reverse(plainPassword).toCharArray();
+        }
+
+        @Override
+        public String decrypt(char[] encryptedPassword) {
+            return new String(encrypt(new String(encryptedPassword)));
+        }
+    }
+}
+....
+
+== Executando
+
+....
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.DataSourceCipheredExampleTest
+Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
+http://tomee.apache.org/
+INFO - openejb.home = /Users/dblevins/examples/datasource-ciphered-password
+INFO - openejb.base = /Users/dblevins/examples/datasource-ciphered-password
+INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Configuring Service(id=ProtectedDatasource, type=Resource, provider-id=Default JDBC Database)
+INFO - Found EjbModule in classpath: /Users/dblevins/examples/datasource-ciphered-password/target/test-classes
+INFO - Beginning load: /Users/dblevins/examples/datasource-ciphered-password/target/test-classes
+INFO - Configuring enterprise application: /Users/dblevins/examples/datasource-ciphered-password
+WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean datasource-ciphered-password.Comp: Container(type=MANAGED, id=Default Managed Container)
+INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.DataSourceCipheredExampleTest/dataSource' in bean datasource-ciphered-password.Comp to Resource(id=ProtectedDatasource)
+INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.DataSourceCipheredExampleTest/dataSource' in bean org.superbiz.DataSourceCipheredExampleTest to Resource(id=ProtectedDatasource)
+INFO - Enterprise application "/Users/dblevins/examples/datasource-ciphered-password" loaded.
+INFO - Assembling app: /Users/dblevins/examples/datasource-ciphered-password
+INFO - Jndi(name="java:global/datasource-ciphered-password/datasource-ciphered-password.Comp!org.apache.openejb.BeanContext$Comp")
+INFO - Jndi(name="java:global/datasource-ciphered-password/datasource-ciphered-password.Comp")
+INFO - Jndi(name="java:global/EjbModule86823325/org.superbiz.DataSourceCipheredExampleTest!org.superbiz.DataSourceCipheredExampleTest")
+INFO - Jndi(name="java:global/EjbModule86823325/org.superbiz.DataSourceCipheredExampleTest")
+INFO - Created Ejb(deployment-id=datasource-ciphered-password.Comp, ejb-name=datasource-ciphered-password.Comp, container=Default Managed Container)
+INFO - Created Ejb(deployment-id=org.superbiz.DataSourceCipheredExampleTest, ejb-name=org.superbiz.DataSourceCipheredExampleTest, container=Default Managed Container)
+INFO - Started Ejb(deployment-id=datasource-ciphered-password.Comp, ejb-name=datasource-ciphered-password.Comp, container=Default Managed Container)
+INFO - Started Ejb(deployment-id=org.superbiz.DataSourceCipheredExampleTest, ejb-name=org.superbiz.DataSourceCipheredExampleTest, container=Default Managed Container)
+INFO - Deployed Application(path=/Users/dblevins/examples/datasource-ciphered-password)
+INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.331 sec
+
+Results :
+
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
+....
diff --git a/examples/groovy-spock/README-es.adoc b/examples/groovy-spock/README-es.adoc
new file mode 100644
index 0000000..dbb3f96
--- /dev/null
+++ b/examples/groovy-spock/README-es.adoc
@@ -0,0 +1,87 @@
+:index-group: Misc
+:jbake-type: page
+:jbake-status: status=published
+= HelloSpecification
+
+_Este es una guía de como implementar http://spockframework.org[Spock Framework] para pruebas._
+
+== Hello
+
+[source,groovy]
+----
+include::src/main/groovy/org/superbiz/groovy/Hello.groovy[]
+----
+
+== HelloSpecification
+
+Esta clase extiende de `*_spock.lang.Specification_*` para registrar la especificación de prueba.
+
+Inyecte el bean *Hello* con _@Inject_ y use http://arquillian.org[Arquilian] para desplegar la prueba.
+
+[source,groovy]
+----
+include::src/test/groovy/org/superbiz/groovy/HelloSpecification.groovy[]
+----
+
+== Ejecutando
+
+Para correr la prueba ejecute.
+
+[source,bash]
+----
+$ mvn test
+----
+
+....
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.groovy.HelloSpecification
+INFO - ********************************************************************************
+INFO - OpenEJB http://tomee.apache.org/
+INFO - Startup: Fri Oct 04 00:11:58 ECT 2019
+INFO - Copyright 1999-2018 (C) Apache OpenEJB Project, All Rights Reserved.
+INFO - Version: 8.0.0-SNAPSHOT
+INFO - Build date: 20190907
+INFO - Build time: 04:10
+INFO - ********************************************************************************
+INFO - openejb.home = /Users/sergio/workspace/git/tomee/examples/groovy-spock
+INFO - openejb.base = /Users/sergio/workspace/git/tomee/examples/groovy-spock
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@4c9f8c13
+INFO - Succeeded in installing singleton service
+INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Using 'openejb.deployments.classpath=false'
+INFO - Creating TransactionManager(id=Default Transaction Manager)
+INFO - Creating SecurityService(id=Default Security Service)
+INFO - Configuring enterprise application: /Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean fb09e09c-4da2-47dd-83e9-4fd3f1e685e3_org.superbiz.groovy.HelloSpecification: Container(type=MANAGED, id=Default Managed Container)
+INFO - Creating Container(id=Default Managed Container)
+INFO - Using directory /var/folders/3j/qhs78rln3y9bl0c279f2j13m0000gn/T for stateful session passivation
+INFO - Enterprise application "/Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war" loaded.
+INFO - Assembling app: /Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@4c9f8c13
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFO - OpenWebBeans Container is starting...
+INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 1555 ms.
+INFO - Deployed Application(path=/Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war)
+Checking hello instance: This is the Hello instance
+Comparing 'hi' to 'hi'
+INFO - Undeploying app: /Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.264 sec - in org.superbiz.groovy.HelloSpecification
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESS
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time:  46.149 s
+[INFO] Finished at: 2019-10-04T00:12:15-05:00
+[INFO] ------------------------------------------------------------------------
+....
diff --git a/examples/groovy-spock/README.adoc b/examples/groovy-spock/README.adoc
new file mode 100644
index 0000000..9b73b22
--- /dev/null
+++ b/examples/groovy-spock/README.adoc
@@ -0,0 +1,87 @@
+:index-group: Misc
+:jbake-type: page
+:jbake-status: status=published
+= HelloSpecification
+
+_This example is guide of implementation the http://spockframework.org[Spock Framework] how class test._
+
+== Hello
+
+[source,groovy]
+----
+include::src/main/groovy/org/superbiz/groovy/Hello.groovy[]
+----
+
+== HelloSpecification
+
+This class extends of `*_spock.lang.Specification_*` for register the specification test.
+
+Inject bean *Hello* with _@Inject_ and use http://arquillian.org[Arquilian] for test deploy.
+
+[source,groovy]
+----
+include::src/test/groovy/org/superbiz/groovy/HelloSpecification.groovy[]
+----
+
+== Running
+
+For run test execute.
+
+[source,bash]
+----
+$ mvn test
+----
+
+....
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.groovy.HelloSpecification
+INFO - ********************************************************************************
+INFO - OpenEJB http://tomee.apache.org/
+INFO - Startup: Fri Oct 04 00:11:58 ECT 2019
+INFO - Copyright 1999-2018 (C) Apache OpenEJB Project, All Rights Reserved.
+INFO - Version: 8.0.0-SNAPSHOT
+INFO - Build date: 20190907
+INFO - Build time: 04:10
+INFO - ********************************************************************************
+INFO - openejb.home = /Users/sergio/workspace/git/tomee/examples/groovy-spock
+INFO - openejb.base = /Users/sergio/workspace/git/tomee/examples/groovy-spock
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@4c9f8c13
+INFO - Succeeded in installing singleton service
+INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Using 'openejb.deployments.classpath=false'
+INFO - Creating TransactionManager(id=Default Transaction Manager)
+INFO - Creating SecurityService(id=Default Security Service)
+INFO - Configuring enterprise application: /Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean fb09e09c-4da2-47dd-83e9-4fd3f1e685e3_org.superbiz.groovy.HelloSpecification: Container(type=MANAGED, id=Default Managed Container)
+INFO - Creating Container(id=Default Managed Container)
+INFO - Using directory /var/folders/3j/qhs78rln3y9bl0c279f2j13m0000gn/T for stateful session passivation
+INFO - Enterprise application "/Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war" loaded.
+INFO - Assembling app: /Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@4c9f8c13
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFO - OpenWebBeans Container is starting...
+INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 1555 ms.
+INFO - Deployed Application(path=/Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war)
+Checking hello instance: This is the Hello instance
+Comparing 'hi' to 'hi'
+INFO - Undeploying app: /Users/sergio/workspace/git/tomee/examples/groovy-spock/fb09e09c-4da2-47dd-83e9-4fd3f1e685e3.war
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.264 sec - in org.superbiz.groovy.HelloSpecification
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESS
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time:  46.149 s
+[INFO] Finished at: 2019-10-04T00:12:15-05:00
+[INFO] ------------------------------------------------------------------------
+....
diff --git a/examples/groovy-spock/src/test/groovy/org/superbiz/groovy/HelloSpecification.groovy b/examples/groovy-spock/src/test/groovy/org/superbiz/groovy/HelloSpecification.groovy
index 08b0c15..dfc1638 100644
--- a/examples/groovy-spock/src/test/groovy/org/superbiz/groovy/HelloSpecification.groovy
+++ b/examples/groovy-spock/src/test/groovy/org/superbiz/groovy/HelloSpecification.groovy
@@ -24,6 +24,7 @@
 import org.jboss.shrinkwrap.api.asset.EmptyAsset
 import org.jboss.shrinkwrap.api.spec.WebArchive
 import org.junit.runner.RunWith
+import spock.lang.Specification
 
 import javax.inject.Inject
 
@@ -31,10 +32,10 @@
 import static org.junit.Assert.assertNotNull
 
 @RunWith(ArquillianSputnik.class)
-class HelloSpecification extends spock.lang.Specification {
+class HelloSpecification extends Specification {
 
     @Inject
-    private org.superbiz.groovy.Hello hello
+    private Hello hello
 
     @Deployment
     def static WebArchive "create archive"() {
diff --git a/examples/mp-config-source-database/README_es.adoc b/examples/mp-config-source-database/README_es.adoc
new file mode 100644
index 0000000..4e23a1f
--- /dev/null
+++ b/examples/mp-config-source-database/README_es.adoc
@@ -0,0 +1,109 @@
+= MicroProfile Configuration ConfigSource Database
+:index-group: MicroProfile
+:jbake-type: page
+:jbake-status: published
+
+Este es un ejemplo sobre cómo implementar un ConfigSource para la configuración personalizada de microprofile. El ConfigSource personalizado lee los valores 
+de configuración de una base de datos.
+
+[discrete]
+==== ConfigSource Feature
+
+Para proporcionar un ConfigSource personalizado de una base de datos, debe comenzar con una clase que implemente la interfaz `ConfigSource`, 
+sobreescribiendo 3 métodos: `getProperties`, `getValue`, y `getName`
+
+[source,java]
+----
+public class DatabaseConfigSource implements ConfigSource {
+    private DataSource dataSource;
+
+    public DatabaseConfigSource() {
+        try {
+            dataSource = (DataSource) new InitialContext().lookup("openejb:Resource/config-source-database");
+        } catch (final NamingException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    @Override
+    public Map<String, String> getProperties() {
+        final Map<String, String> properties = new HashMap<>();
+
+        try {
+            final Connection connection = dataSource.getConnection();
+            final PreparedStatement query = connection.prepareStatement("SELECT NAME, VALUE FROM CONFIGURATIONS");
+            final ResultSet names = query.executeQuery();
+
+            while (names.next()) {
+                properties.put(names.getString(0), names.getString(1));
+            }
+
+            DbUtils.closeQuietly(names);
+            DbUtils.closeQuietly(query);
+            DbUtils.closeQuietly(connection);
+        } catch (final SQLException e) {
+            e.printStackTrace();
+        }
+
+        return properties;
+    }
+
+    @Override
+    public String getValue(final String propertyName) {
+        try {
+            final Connection connection = dataSource.getConnection();
+            final PreparedStatement query =
+                    connection.prepareStatement("SELECT VALUE FROM CONFIGURATIONS WHERE NAME = ?");
+            query.setString(1, propertyName);
+            final ResultSet value = query.executeQuery();
+
+            if (value.next()) {
+                return value.getString(1);
+            }
+
+            DbUtils.closeQuietly(value);
+            DbUtils.closeQuietly(query);
+            DbUtils.closeQuietly(connection);
+        } catch (final SQLException e) {
+            e.printStackTrace();
+        }
+
+        return null;
+    }
+
+    @Override
+    public String getName() {
+        return DatabaseConfigSource.class.getSimpleName();
+    }
+}
+----
+
+Para simplificar, en el ejemplo anterior, la definición de la base de datos y los datos que se utilizarán para la configuración corresponden a un 
+`Resource`, declarado en el archivo de configuración `tomee.xml` como `Resource` del tipo: `DataSource`, de la siguiente manera:
+
+[source,xml]
+----
+<tomee>
+  <Resource id="config-source-database" type="DataSource">
+
+  </Resource>
+</tomee>
+----
+
+y está vinculado al conjunto de instrucciones SQL, definidas en el script `import-config-source-database.sql`:
+
+
+[source,sql]
+----
+CREATE TABLE CONFIGURATIONS (NAME VARCHAR (255) NOT NULL PRIMARY KEY, VALUE VARCHAR(255) NOT NULL);
+INSERT INTO CONFIGURATIONS(NAME, VALUE) VALUES('application.currency', 'Euro');
+INSERT INTO CONFIGURATIONS(NAME, VALUE) VALUES('application.country', 'PT');
+----
+
+
+== Ejecutando la aplicación:
+
+[source,bash]
+----
+mvn clean install tomee:run
+----
diff --git a/examples/mp-metrics-counted/README_es.adoc b/examples/mp-metrics-counted/README_es.adoc
index 78b360f..b40f0c6 100644
--- a/examples/mp-metrics-counted/README_es.adoc
+++ b/examples/mp-metrics-counted/README_es.adoc
@@ -3,7 +3,7 @@
 :jbake-type: page
 :jbake-status: published
 
-Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE. El
+Este es un ejemplo sobre cómo utilizar las métricas de MicroProfile en TomEE. El
 proyecto incluye un perfil de Docker que se puede usar para crear una imagen de
 Docker.
 
diff --git a/examples/mp-metrics-gauge/README_es.adoc b/examples/mp-metrics-gauge/README_es.adoc
index 8a2bc93..1fe8a79 100644
--- a/examples/mp-metrics-gauge/README_es.adoc
+++ b/examples/mp-metrics-gauge/README_es.adoc
@@ -4,7 +4,7 @@
 :jbake-type: page
 :jbake-status: published
 
-Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.
+Este es un ejemplo sobre cómo utilizar las métricas de MicroProfile en TomEE.
 
 == Ejecute la aplicación:
 
diff --git a/examples/mp-metrics-histogram/README_es.adoc b/examples/mp-metrics-histogram/README_es.adoc
index 4bafb2d..08bbfd5 100644
--- a/examples/mp-metrics-histogram/README_es.adoc
+++ b/examples/mp-metrics-histogram/README_es.adoc
@@ -3,7 +3,7 @@
 :jbake-type: page
 :jbake-status: published
 
-Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.
+Este es un ejemplo sobre cómo utilizar las métricas de MicroProfile en TomEE.
 
 == Ejecute la aplicación:
 
diff --git a/examples/mp-metrics-metered/README_es.adoc b/examples/mp-metrics-metered/README_es.adoc
index 80a6f03..107af7f 100644
--- a/examples/mp-metrics-metered/README_es.adoc
+++ b/examples/mp-metrics-metered/README_es.adoc
@@ -3,7 +3,7 @@
 :jbake-type: page
 :jbake-status: published
 
-Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.
+Este es un ejemplo sobre cómo utilizar las métricas de MicroProfile en TomEE.
 
 == Ejecute la aplicación:
 
diff --git a/examples/mp-metrics-timed/README_es.adoc b/examples/mp-metrics-timed/README_es.adoc
index 7141445..ed9368c 100644
--- a/examples/mp-metrics-timed/README_es.adoc
+++ b/examples/mp-metrics-timed/README_es.adoc
@@ -3,7 +3,7 @@
 :jbake-type: page
 :jbake-status: published
 
-Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.
+Este es un ejemplo sobre cómo utilizar las métricas de MicroProfile en TomEE.
 
 == Ejecute la aplicación:
 
diff --git a/examples/simple-rest/README_es.adoc b/examples/simple-rest/README_es.adoc
new file mode 100644
index 0000000..0ac7352
--- /dev/null
+++ b/examples/simple-rest/README_es.adoc
@@ -0,0 +1,144 @@
+:index-group: REST
+:jbake-type: page
+:jbake-status: status=published
+
+= REST Simple
+
+Definir un servicio Rest es muy fácil, simplemente necesitamos agregar la anotación ``@Path`` en la clase y después definir los métodos HTTP que vamos a usar (``@GET``, ``@POST``, …).
+
+= El Código
+
+== El servicio REST: ``@Path``, ``@GET``, ``@POST``
+
+Aquí tenemos un REST simple, anotamos la clase con ``@Path("/greeting")`` para indicar la ruta correspondiente a la clase ``GreetingService``. Definimos ``message()`` como ``@GET`` y ``lowerCase()`` como ``@POST`` para la ruta ``/greeting``. Pronto tenemos un servicio, muy simple ¿verdad?
+
+[source,java]
+....
+package org.superbiz.rest;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+
+@Path("/greeting")
+public class GreetingService {
+    @GET
+    public String message() {
+        return "Hi REST!";
+    }
+
+    @POST
+    public String lowerCase(final String message) {
+        return "Hi REST!".toLowerCase();
+    }
+}
+....
+
+== Probando
+
+== Prueba para el servicio JAXRS
+
+Usamos el OpenEJB ApplicationComposer para facilitar la prueba.
+
+La idea primero es activar los servicios jaxrs. Esto se hace utilizando la anotación ``@EnableServices``.
+
+Entonces creamos la aplicación simplemente devolviendo un objeto representando el  ``web.xml``. Aquí simplemente lo utilizamos para definir el contexto raíz, pero también puede ser utilizado para definir la aplicación REST. Y para completar la definición de la aplicación agregamos la anotación ``@Classes`` para definir el conjunto de clases a ser utilizado en esta app.
+
+Finalmente para probarlo utilizamos la API cliente de ``cxf`` para llamar el servicio REST en los métodos  ``get()`` y ``post()``.
+
+[source,java]
+....
+package org.superbiz.rest;
+
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.EnableServices;
+import org.apache.openejb.testing.Module;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+
+@EnableServices(value = "jaxrs")
+@RunWith(ApplicationComposer.class)
+public class GreetingServiceTest {
+    @Module
+    public SingletonBean app() {
+        return (SingletonBean) new SingletonBean(GreetingService.class).localBean();
+    }
+
+    @Test
+    public void get() throws IOException {
+        final String message = WebClient.create("http://localhost:4204").path("/GreetingServiceTest/greeting/").get(String.class);
+        assertEquals("Hi REST!", message);
+    }
+
+    @Test
+    public void post() throws IOException {
+        final String message = WebClient.create("http://localhost:4204").path("/GreetingServiceTest/greeting/").post("Hi REST!", String.class);
+        assertEquals("hi rest!", message);
+    }
+}
+....
+
+== Ejecución
+
+Ejecutar la aplicación es muy simple. En el directorio ``simple-rest`` ejecuta:
+
+[source,bash]
+....
+$ mvn clean install
+....
+
+Que probablemente genere una salida como la siguiente.
+
+[source,bash]
+....
+INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Creating TransactionManager(id=Default Transaction Manager)
+INFO - Creating SecurityService(id=Default Security Service)
+INFO - Initializing network services
+INFO - Creating ServerService(id=httpejbd)
+INFO - Creating ServerService(id=cxf-rs)
+INFO - Initializing network services
+INFO - Starting service httpejbd
+INFO - Started service httpejbd
+INFO - Starting service cxf-rs
+INFO - Started service cxf-rs
+INFO -   ** Bound Services **
+INFO -   NAME                 IP              PORT
+INFO -   httpejbd             127.0.0.1       4204
+INFO - -------
+INFO - Ready!
+INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
+INFO - Creating Container(id=Default Managed Container)
+INFO - Using directory /tmp for stateful session passivation
+INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
+INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Existing thread singleton service in SystemInstance() null
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@12c9b196
+INFO - Succeeded in installing singleton service
+INFO - OpenWebBeans Container is starting...
+INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFO - All injection points are validated successfully.
+INFO - OpenWebBeans Container has started, it took 11 ms.
+INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
+INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
+INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
+INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Stopping network services
+INFO - Stopping server services
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
+
+Results :
+
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
+....
+
diff --git a/examples/vaadin-lts-v08-simple/README.adoc b/examples/vaadin-lts-v08-simple/README.adoc
index 364f479..3f129aa 100644
--- a/examples/vaadin-lts-v08-simple/README.adoc
+++ b/examples/vaadin-lts-v08-simple/README.adoc
@@ -1,5 +1,9 @@
 == Vaadin V8 (LTS) - Simple WebApp in Java
 
+:index-group: Frameworks
+:jbake-type: page
+:jbake-status: published
+
 This demo will show how to start with a simple Vaadin V8 webapp, based
 on pure Java API running on TomEE (webprofile)
 
diff --git a/examples/vaadin-lts-v08-simple/README_pt.adoc b/examples/vaadin-lts-v08-simple/README_pt.adoc
index 0d98386..d8718f1 100644
--- a/examples/vaadin-lts-v08-simple/README_pt.adoc
+++ b/examples/vaadin-lts-v08-simple/README_pt.adoc
@@ -1,5 +1,9 @@
 == Vaadin V8 (LTS) - WebApp Simples em Java
 
+:index-group: Frameworks
+:jbake-type: page
+:jbake-status: published
+
 Essa demo vai mostrar como iniciar com uma simples webapp V8, baseado na API pura do Java executando no TomEE (webprofile)
 
 O Framework Vaadin é open source e está disponível em
diff --git a/examples/vaadin-lts-v10-simple/README.adoc b/examples/vaadin-lts-v10-simple/README.adoc
index 27943b4..cb5aed4 100644
--- a/examples/vaadin-lts-v10-simple/README.adoc
+++ b/examples/vaadin-lts-v10-simple/README.adoc
@@ -1,5 +1,9 @@
 == Vaadin V10 (LTS) - Simple WebApp in Java
 
+:index-group: Frameworks
+:jbake-type: page
+:jbake-status: published
+
 This demo will show how to start with a simple Vaadin V10 webapp, based
 on pure Java API running on TomEE (webprofile)
 
diff --git a/examples/vaadin-lts-v10-simple/README_pt.adoc b/examples/vaadin-lts-v10-simple/README_pt.adoc
new file mode 100644
index 0000000..38378c7
--- /dev/null
+++ b/examples/vaadin-lts-v10-simple/README_pt.adoc
@@ -0,0 +1,41 @@
+== Vaadin V10 (LTS) - Simples WebApp em Java
+
+:index-group: Frameworks
+:jbake-type: page
+:jbake-status: published
+
+Essa demo vai mostrar como iniciar com uma simples webapp Vaadin V10, baseada na API pura do Java executando no TomEE (webprofile)
+
+A plataforma Vaadin é OpenSource e está disponível em
+https://github.com/vaadin/platform[Github]
+
+=== Construindo esse exemplo
+
+Para construir esse exemplo, apenas execute _mvn clean install tomee:run_ Você vai encontrar o app executando em http://localhost:8080/
+
+=== Implementação
+
+Essa implementação está usando o https://vaadin.com/flow[Flow API] da plataforma Vaadin.
+
+[source,java]
+----
+@Route("")
+public class HelloVaadinV10 extends Composite<Div> {
+    public HelloVaadinV10() {
+        final VerticalLayout layout = new VerticalLayout();
+        layout
+            .add(new Button("click me",
+                            event -> layout.add(new Label("clicked again"))
+            ));
+        //set the main Component
+        getContent().add(layout);
+    }
+}
+----
+
+A documentação da plataforma Vaadin V10 está disponível
+https://vaadin.com/docs/v10/flow/Overview.html[aqui]
+
+=== Informações de suporte
+
+A partir do Vaadin 10, o Vaadin está se mudando para o modelo de release train com quatro grandes releases por ano. Isso permite que eles enviem novas features mais rapidamente para os desenvolvedores. O Vaadin continua seu compromisso com a estabilidade a longo prazo com os releases long-term support (LTS). Os releases LTs vão sair aproximadamente a cada 2 anos e vão oferecer 5 anos de suporte.
diff --git a/pom.xml b/pom.xml
index 64c0be9..be291a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,7 +115,7 @@
     <geronimo-javamail_1.4_mail.version>1.9.0-alpha-2</geronimo-javamail_1.4_mail.version>
 
     <openjpa.version>3.1.0</openjpa.version>
-    <openwebbeans.version>2.0.9</openwebbeans.version>
+    <openwebbeans.version>2.0.12</openwebbeans.version>
     <jcs.version>2.1</jcs.version>
     <johnzon.version>1.1.13</johnzon.version>
 
diff --git a/tomee/tomee-bootstrap/pom.xml b/tomee/tomee-bootstrap/pom.xml
new file mode 100644
index 0000000..86eea17
--- /dev/null
+++ b/tomee/tomee-bootstrap/pom.xml
@@ -0,0 +1,59 @@
+<?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.
+-->
+
+<!-- $Rev: 600338 $ $Date: 2007-12-02 09:08:04 -0800 (Sun, 02 Dec 2007) $ -->
+
+<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>tomee</artifactId>
+    <groupId>org.apache.tomee</groupId>
+    <version>8.0.1-SNAPSHOT</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>tomee-bootstrap</artifactId>
+  <packaging>jar</packaging>
+  <name>TomEE :: TomEE :: Bootstrap</name>
+  <description>This module contains the classes that will be added to the catalina class loader</description>
+
+  <properties>
+    <tomee.build.name>${project.groupId}.tomee.catalina</tomee.build.name>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tomee.bom</groupId>
+      <artifactId>tomee-microprofile</artifactId>
+      <version>${project.version}</version>
+      <type>pom</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.projectlombok</groupId>
+      <artifactId>lombok</artifactId>
+      <version>1.18.8</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
+
diff --git a/tomee/tomee-bootstrap/src/main/java/org/apache/tomee/bootstrap/Start.java b/tomee/tomee-bootstrap/src/main/java/org/apache/tomee/bootstrap/Start.java
new file mode 100644
index 0000000..0ab8129
--- /dev/null
+++ b/tomee/tomee-bootstrap/src/main/java/org/apache/tomee/bootstrap/Start.java
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+package org.apache.tomee.bootstrap;
+
+import org.apache.catalina.startup.Catalina;
+
+import java.net.URL;
+import java.net.URLClassLoader;
+
+public class Start {
+
+    public static void main(String[] args) {
+        start();
+    }
+    public static void start() {
+
+        final long start = System.currentTimeMillis();
+        System.setProperty("catalina.home", "/tmp/apache-tomee-microprofile-8.0.0-M3");
+        System.setProperty("catalina.base", "/tmp/apache-tomee-microprofile-8.0.0-M3");
+        final URLClassLoader loader = new URLClassLoader(new URL[0], Start.class.getClassLoader());
+
+        final Catalina catalina = new Catalina();
+        catalina.setParentClassLoader(loader);
+        catalina.setAwait(false);
+        catalina.load();
+        catalina.start();
+        final long elapsed = System.currentTimeMillis() - start;
+        System.out.println("Elapsed "+elapsed);
+    }
+}
diff --git a/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/Misc.java b/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/Misc.java
new file mode 100644
index 0000000..09370be
--- /dev/null
+++ b/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/Misc.java
@@ -0,0 +1,232 @@
+/*
+ * 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.
+ */
+package org.apache.tomee.bootstrap;
+
+import lombok.Getter;
+import lombok.ToString;
+import org.apache.openejb.loader.Files;
+import org.apache.openejb.loader.Zips;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class Misc {
+
+    public static void main(String[] args) throws IOException {
+
+        final Repository repository = Repository.build();
+
+        final File file = new File("/Users/dblevins/work/apache/downloads/apache-tomee-8.0.0-webprofile.zip");
+        final File tmpdir = Files.tmpdir();
+        Zips.unzip(file, tmpdir);
+
+        final List<File> jars = Files.collect(tmpdir, ".*.jar");
+
+        final List<Artifact> collect = jars.stream()
+                .filter(jar -> !jar.getName().equals("bootstrap.jar"))
+                .filter(jar -> !jar.getName().equals("catalina-ant.jar"))
+                .filter(jar -> !jar.getName().startsWith("tomcat-i18n"))
+                .map(repository::from)
+                .sorted()
+                .peek(artifact -> System.out.print(artifact.asDep()))
+                .collect(Collectors.toList());
+
+
+        collect.stream().forEach(System.out::println);
+
+
+        System.out.println(tmpdir.getAbsolutePath());
+    }
+
+    public static class Repository {
+        private final Map<String, File> artifacts = new HashMap<>();
+        private final File path = new File("/Users/dblevins/.m2/repository/");
+
+        public static Repository build() {
+            final Repository repository = new Repository();
+
+            final List<File> jars = Files.collect(repository.path, ".*\\.jar");
+            for (final File jar : jars) {
+                repository.artifacts.put(jar.getName(), jar);
+            }
+
+            return repository;
+        }
+
+        public Artifact from(final File jar) {
+            if (jar.getName().equals("commons-daemon.jar")) {
+                return new Artifact("commons-daemon", "commons-daemon", "1.1.0");
+            }
+
+            if (jar.getName().equals("tomcat-juli.jar")) {
+                return new Artifact("org.apache.tomee", "tomee-juli", "${project.version}");
+            }
+
+            if (jar.getName().equals("catalina-ha.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-catalina-ha", "9.0.22");
+            }
+
+            if (jar.getName().equals("catalina-storeconfig.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-storeconfig", "9.0.22");
+            }
+
+            if (jar.getName().equals("catalina-tribes.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-tribes", "9.0.22");
+            }
+
+            if (jar.getName().equals("catalina.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-catalina", "9.0.22");
+            }
+
+            if (jar.getName().equals("el-api.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-el-api", "9.0.22");
+            }
+
+            if (jar.getName().equals("jasper-el.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-jasper-el", "9.0.22");
+            }
+
+            if (jar.getName().equals("jasper.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-jasper", "9.0.22");
+            }
+
+            if (jar.getName().equals("jaspic-api.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-jaspic-api", "9.0.22");
+            }
+
+            if (jar.getName().equals("servlet-api.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-servlet-api", "9.0.22");
+            }
+            if (jar.getName().equals("websocket-api.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-websocket-api", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-coyote.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-coyote", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-dbcp.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-dbcp", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-api.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-api", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-websocket.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-websocket", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-util.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-util", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-util-scan.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-util-scan", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-jni.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-jni", "9.0.22");
+            }
+            if (jar.getName().equals("tomcat-jdbc.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-jdbc", "9.0.22");
+            }
+            if (jar.getName().equals("jsp-api.jar")) {
+                return new Artifact("org.apache.tomcat", "tomcat-jsp-api", "9.0.22");
+            }
+
+            if (jar.getName().equals("ecj-4.12.jar")) {
+                return new Artifact("org.eclipse.jdt", "ecj", "3.18.0");
+            }
+
+            if (jar.getName().startsWith("openejb-")) {
+                final String artifact = jar.getName().replaceAll("-8.0.0.*", "");
+                return new Artifact("org.apache.tomee", artifact, "${project.version}");
+            }
+            if (jar.getName().startsWith("tomee-")) {
+                final String artifact = jar.getName().replaceAll("-8.0.0.*", "");
+                return new Artifact("org.apache.tomee", artifact, "${project.version}");
+            }
+
+
+            // /Users/dblevins/.m2/repository//org/apache/xbean/xbean-naming/4.14/xbean-naming-4.14.jar
+            final File file = getFile(jar);
+            final File versionDir = file.getParentFile();
+            final File artifactDir = versionDir.getParentFile();
+
+            final String groupId = artifactDir.getParentFile()
+                    .getAbsolutePath()
+                    .substring(path.getAbsolutePath().length() + 1)
+                    .replace("/", ".");
+
+            return Artifact.builder()
+                    .artifactId(artifactDir.getName())
+                    .version(versionDir.getName())
+                    .groupId(groupId)
+                    .build();
+        }
+
+        private File getFile(final File jar) {
+            {
+                final File file = artifacts.get(jar.getName());
+                if (file != null) return file;
+            }
+            {
+                final String name = jar.getName();
+                final String relativeName = name.substring(name.length() - 4);
+
+                for (final Map.Entry<String, File> entry : artifacts.entrySet()) {
+                    if (entry.getKey().startsWith(relativeName)) return entry.getValue();
+                }
+            }
+
+            throw new IllegalStateException(jar.getName());
+        }
+    }
+
+    @lombok.Builder
+    @Getter
+    @ToString
+    public static class Artifact implements Comparable<Artifact> {
+        private final String groupId;
+        private final String artifactId;
+        private final String version;
+
+        @Override
+        public int compareTo(final Artifact o) {
+            final String a = this.getGroupId() + ":" + this.artifactId;
+            final String b = o.getGroupId() + ":" + o.artifactId;
+            return a.compareTo(b);
+        }
+
+        public String asDep() {
+            final String g = groupId;
+            final String a = artifactId;
+            final String v = version;
+            return "" +
+                    "    <dependency>\n" +
+                    "      <groupId>" + g + "</groupId>\n" +
+                    "      <artifactId>" + a + "</artifactId>\n" +
+                    "      <version>" + v + "</version>\n" +
+                    "      <exclusions>\n" +
+                    "        <exclusion>\n" +
+                    "          <artifactId>*</artifactId>\n" +
+                    "          <groupId>*</groupId>\n" +
+                    "        </exclusion>\n" +
+                    "      </exclusions>\n" +
+                    "    </dependency>\n";
+        }
+    }
+
+}