You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2016/12/09 18:20:48 UTC

svn commit: r1773448 - in /openwebbeans/meecrowave/trunk: meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/ meecrowave-core/src/main/java/org/apache/meecrowave/ meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/ meecr...

Author: rmannibucau
Date: Fri Dec  9 18:20:47 2016
New Revision: 1773448

URL: http://svn.apache.org/viewvc?rev=1773448&view=rev
Log:
test for multipart to ensure it works OOTB + include/exclude scanning default config - quite convenient in programmatical usage

Added:
    openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MultipartTest.java
Modified:
    openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java
    openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java
    openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnowClassesFilter.java
    openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java
    openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java
    openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/PrincipalTest.java
    openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/SharedLibTest.java
    openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java
    openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java
    openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java

Modified: openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java Fri Dec  9 18:20:47 2016
@@ -97,6 +97,8 @@ public class MeecrowaveConfiguration imp
     private boolean java9SkipWorkarounds = false;
     private String scanningIncludes;
     private String scanningExcludes;
+    private String scanningPackageIncludes;
+    private String scanningPackageExcludes;
 
     @Override
     public void validate() throws ConfigurationException {
@@ -580,4 +582,132 @@ public class MeecrowaveConfiguration imp
     public void setScanningExcludes(final String scanningExcludes) {
         this.scanningExcludes = scanningExcludes;
     }
+
+    public String getJsonpBufferStrategy() {
+        return jsonpBufferStrategy;
+    }
+
+    public void setJsonpBufferStrategy(final String jsonpBufferStrategy) {
+        this.jsonpBufferStrategy = jsonpBufferStrategy;
+    }
+
+    public int getJsonpMaxStringLen() {
+        return jsonpMaxStringLen;
+    }
+
+    public void setJsonpMaxStringLen(final int jsonpMaxStringLen) {
+        this.jsonpMaxStringLen = jsonpMaxStringLen;
+    }
+
+    public int getJsonpMaxReadBufferLen() {
+        return jsonpMaxReadBufferLen;
+    }
+
+    public void setJsonpMaxReadBufferLen(final int jsonpMaxReadBufferLen) {
+        this.jsonpMaxReadBufferLen = jsonpMaxReadBufferLen;
+    }
+
+    public int getJsonpMaxWriteBufferLen() {
+        return jsonpMaxWriteBufferLen;
+    }
+
+    public void setJsonpMaxWriteBufferLen(final int jsonpMaxWriteBufferLen) {
+        this.jsonpMaxWriteBufferLen = jsonpMaxWriteBufferLen;
+    }
+
+    public boolean isJsonpSupportsComment() {
+        return jsonpSupportsComment;
+    }
+
+    public void setJsonpSupportsComment(final boolean jsonpSupportsComment) {
+        this.jsonpSupportsComment = jsonpSupportsComment;
+    }
+
+    public boolean isJsonpPrettify() {
+        return jsonpPrettify;
+    }
+
+    public void setJsonpPrettify(final boolean jsonpPrettify) {
+        this.jsonpPrettify = jsonpPrettify;
+    }
+
+    public String getJsonbEncoding() {
+        return jsonbEncoding;
+    }
+
+    public void setJsonbEncoding(final String jsonbEncoding) {
+        this.jsonbEncoding = jsonbEncoding;
+    }
+
+    public boolean isJsonbNulls() {
+        return jsonbNulls;
+    }
+
+    public void setJsonbNulls(final boolean jsonbNulls) {
+        this.jsonbNulls = jsonbNulls;
+    }
+
+    public boolean isJsonbIJson() {
+        return jsonbIJson;
+    }
+
+    public void setJsonbIJson(final boolean jsonbIJson) {
+        this.jsonbIJson = jsonbIJson;
+    }
+
+    public boolean isJsonbPrettify() {
+        return jsonbPrettify;
+    }
+
+    public void setJsonbPrettify(final boolean jsonbPrettify) {
+        this.jsonbPrettify = jsonbPrettify;
+    }
+
+    public String getJsonbBinaryStrategy() {
+        return jsonbBinaryStrategy;
+    }
+
+    public void setJsonbBinaryStrategy(final String jsonbBinaryStrategy) {
+        this.jsonbBinaryStrategy = jsonbBinaryStrategy;
+    }
+
+    public String getJsonbNamingStrategy() {
+        return jsonbNamingStrategy;
+    }
+
+    public void setJsonbNamingStrategy(final String jsonbNamingStrategy) {
+        this.jsonbNamingStrategy = jsonbNamingStrategy;
+    }
+
+    public String getJsonbOrderStrategy() {
+        return jsonbOrderStrategy;
+    }
+
+    public void setJsonbOrderStrategy(final String jsonbOrderStrategy) {
+        this.jsonbOrderStrategy = jsonbOrderStrategy;
+    }
+
+    public boolean isJava9SkipWorkarounds() {
+        return java9SkipWorkarounds;
+    }
+
+    public void setJava9SkipWorkarounds(final boolean java9SkipWorkarounds) {
+        this.java9SkipWorkarounds = java9SkipWorkarounds;
+    }
+
+    public String getScanningPackageIncludes() {
+        return scanningPackageIncludes;
+    }
+
+    public void setScanningPackageIncludes(final String scanningPackageIncludes) {
+        this.scanningPackageIncludes = scanningPackageIncludes;
+    }
+
+    public String getScanningPackageExcludes() {
+        return scanningPackageExcludes;
+    }
+
+    public void setScanningPackageExcludes(final String scanningPackageExcludes) {
+        this.scanningPackageExcludes = scanningPackageExcludes;
+    }
 }

Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java Fri Dec  9 18:20:47 2016
@@ -873,6 +873,12 @@ public class Meecrowave implements AutoC
         @CliOption(name = "scanning-exclude", description = "A forced exclude list of jar names (comma separated values)")
         private String scanningExcludes;
 
+        @CliOption(name = "scanning-package-include", description = "A forced include list of packages names (comma separated values)")
+        private String scanningPackageIncludes;
+
+        @CliOption(name = "scanning-package-exclude", description = "A forced exclude list of packages names (comma separated values)")
+        private String scanningPackageExcludes;
+
         @CliOption(name = "tomcat-default", description = "Should Tomcat default be set (session timeout, mime mapping etc...)")
         private boolean useTomcatDefaults = true;
 
@@ -904,6 +910,32 @@ public class Meecrowave implements AutoC
             }));
         }
 
+        public String getScanningPackageIncludes() {
+            return scanningPackageIncludes;
+        }
+
+        public void setScanningPackageIncludes(final String scanningPackageIncludes) {
+            this.scanningPackageIncludes = scanningPackageIncludes;
+        }
+
+        public String getScanningPackageExcludes() {
+            return scanningPackageExcludes;
+        }
+
+        public void setScanningPackageExcludes(final String scanningPackageExcludes) {
+            this.scanningPackageExcludes = scanningPackageExcludes;
+        }
+
+        public Builder excludePackages(final String packages) {
+            this.setScanningPackageExcludes(packages);
+            return this;
+        }
+
+        public Builder includePackages(final String packages) {
+            this.setScanningPackageIncludes(packages);
+            return this;
+        }
+
         public void setExtension(final Class<?> type, final Object value) {
             extensions.put(type, value);
         }

Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnowClassesFilter.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnowClassesFilter.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnowClassesFilter.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnowClassesFilter.java Fri Dec  9 18:20:47 2016
@@ -18,17 +18,22 @@
  */
 package org.apache.meecrowave.openwebbeans;
 
+import org.apache.meecrowave.Meecrowave;
 import org.apache.xbean.finder.filter.Filter;
 
 import java.util.HashSet;
+import java.util.Optional;
 import java.util.Set;
+import java.util.stream.Stream;
+
+import static java.util.Optional.ofNullable;
 
 public class KnowClassesFilter implements Filter { // one easy and efficient solution for fatjars
     private static final String[] EMPTY_ARRAY = new String[0];
 
     // this has to be configured from the root config
-    private final String[] forced = EMPTY_ARRAY;
-    private final String[] skipped = EMPTY_ARRAY;
+    private String[] forced = EMPTY_ARRAY;
+    private String[] skipped = EMPTY_ARRAY;
 
     private final Filter delegateAccept;
     private final Filter delegateSkip;
@@ -152,14 +157,31 @@ public class KnowClassesFilter implement
         delegateAccept = new OptimizedExclusionFilter(included);
     }
 
+    public void init(final Meecrowave.Builder config) {
+        forced = buildArray(config.getScanningPackageIncludes()).orElse(forced);
+        skipped = buildArray(config.getScanningPackageExcludes()).orElse(skipped);
+    }
+
+    private Optional<String[]> buildArray(final String config) {
+        return ofNullable(config)
+                .map(v -> Stream.of(v.split(","))
+                        .map(String::trim)
+                        .filter(i -> !i.isEmpty())
+                        .toArray(String[]::new));
+    }
+
     @Override
     public boolean accept(final String name) {
         if (forced != null && startsWith(forced, name)) {
             return true;
         }
-        if (skipped != null && startsWith(skipped, name)) {
+
+        // skip has the same logic than forced + the fact that if we have some forced packaged we skip all others
+        // this is not symmetric but often what is desired
+        if ((skipped != null && skipped.length > 0 && startsWith(skipped, name)) || (skipped != null && skipped.length == 0 && forced != null && forced.length > 0)) {
             return false;
         }
+
         return delegateAccept.accept(name) || !delegateSkip.accept(name);
     }
 

Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java Fri Dec  9 18:20:47 2016
@@ -22,6 +22,7 @@ import org.apache.meecrowave.Meecrowave;
 import org.apache.meecrowave.logging.tomcat.LogFacade;
 import org.apache.tomcat.JarScanFilter;
 import org.apache.webbeans.web.scanner.WebScannerService;
+import org.apache.xbean.finder.filter.Filter;
 
 import javax.servlet.ServletContext;
 import java.io.File;
@@ -132,10 +133,15 @@ public class OWBTomcatWebScannerService
         this.filter = filter;
 
         super.init(ctx);
+        final Meecrowave.Builder config = Meecrowave.Builder.class.cast(ServletContext.class.cast(ctx).getAttribute("meecrowave.configuration"));
         if (this.filter == null) {
-            final Meecrowave.Builder config = Meecrowave.Builder.class.cast(ServletContext.class.cast(ctx).getAttribute("meecrowave.configuration"));
             this.filter = new KnownJarsFilter(config);
         }
+
+        final Filter userFilter = this.webBeansContext.getService(Filter.class);
+        if (KnowClassesFilter.class.isInstance(userFilter)) {
+            KnowClassesFilter.class.cast(userFilter).init(config);
+        }
     }
 
     @Override

Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MeecrowaveTest.java Fri Dec  9 18:20:47 2016
@@ -89,7 +89,7 @@ public class MeecrowaveTest {
         } catch (final IOException e) {
             fail(e.getMessage());
         }
-        try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort()).start()) {
+        try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort().includePackages("org.superbiz.app")).start()) {
             meecrowave.deployWebapp("", root);
             assertEquals("hello", slurp(new URL("http://localhost:" + meecrowave.getConfiguration().getHttpPort() + "/index.html")));
             assertEquals("simple", slurp(new URL("http://localhost:" + meecrowave.getConfiguration().getHttpPort() + "/api/test")));
@@ -105,7 +105,7 @@ public class MeecrowaveTest {
 
     @Test
     public void classpath() {
-        try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort()).bake()) {
+        try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort().includePackages("org.superbiz.app")).bake()) {
             assertEquals("simple", slurp(new URL("http://localhost:" + meecrowave.getConfiguration().getHttpPort() + "/api/test")));
             assertEquals("simplefiltertrue", slurp(new URL("http://localhost:" + meecrowave.getConfiguration().getHttpPort() + "/filter")));
             assertEquals(
@@ -118,7 +118,7 @@ public class MeecrowaveTest {
 
     @Test
     public void json() {
-        try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort()).bake()) {
+        try (final Meecrowave meecrowave = new Meecrowave(new Meecrowave.Builder().randomHttpPort().includePackages("org.superbiz.app")).bake()) {
             assertEquals("{\"name\":\"test\"}", slurp(new URL("http://localhost:" + meecrowave.getConfiguration().getHttpPort() + "/api/test/json")));
         } catch (final IOException e) {
             fail(e.getMessage());

Added: openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MultipartTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MultipartTest.java?rev=1773448&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MultipartTest.java (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/MultipartTest.java Fri Dec  9 18:20:47 2016
@@ -0,0 +1,80 @@
+/*
+ * 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.meecrowave;
+
+import org.apache.johnzon.mapper.reflection.JohnzonParameterizedType;
+import org.junit.Test;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.json.bind.annotation.JsonbProperty;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+// just a sample using multiparts
+public class MultipartTest {
+    @Test
+    public void configBinding() {
+        try (final Meecrowave meecrowave = new Meecrowave(
+                new Meecrowave.Builder()
+                        .randomHttpPort()
+                        .includePackages(MultipartTest.MultiEndpoint.class.getName())).bake()) {
+            final Client client = ClientBuilder.newClient();
+            try {
+                // for mixed types use org.apache.cxf.jaxrs.ext.multipart.MultipartBody
+                final Map<String, JsonbModel> response = client.target("http://localhost:" + meecrowave.getConfiguration().getHttpPort() + "/MultipartTest")
+                        .request()
+                        .get(new GenericType<Map<String, JsonbModel>>(new JohnzonParameterizedType(Map.class, String.class, JsonbModel.class)) {{}});
+                assertEquals(1, response.size());
+                assertEquals("ok", response.get(MediaType.APPLICATION_JSON).value);
+            } finally {
+                client.close();
+            }
+        }
+    }
+
+    @ApplicationScoped
+    @Path("MultipartTest")
+    public static class MultiEndpoint {
+        @Produces("multipart/mixed")
+        @GET
+        public Map<String, Object> getBooks() {
+            final JsonbModel jsonbModel = new JsonbModel();
+            jsonbModel.value = "ok";
+
+            final Map<String, Object> map = new LinkedHashMap<>();
+            map.put("application/json", jsonbModel);
+
+            return map;
+        }
+    }
+
+    public static class JsonbModel {
+        @JsonbProperty("test")
+        public String value;
+    }
+}

Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/PrincipalTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/PrincipalTest.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/PrincipalTest.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/PrincipalTest.java Fri Dec  9 18:20:47 2016
@@ -37,6 +37,7 @@ public class PrincipalTest {
     public void run() throws IOException {
         try (final Meecrowave container = new Meecrowave(new Meecrowave.Builder()
                 .randomHttpPort()
+                .includePackages("org.superbiz.app")
                 .realm(new RealmBase() {
                     @Override
                     protected String getPassword(final String username) {

Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/SharedLibTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/SharedLibTest.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/SharedLibTest.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/test/java/org/apache/meecrowave/SharedLibTest.java Fri Dec  9 18:20:47 2016
@@ -32,6 +32,7 @@ public class SharedLibTest {
     public void run() throws IOException {
         try (final Meecrowave container = new Meecrowave(new Meecrowave.Builder()
                 .randomHttpPort()
+                .includePackages("org.superbiz.app,org.apache.deltaspike")
                 .sharedLibraries("target/shared-test"))
                 .bake()) {
             assertEquals(

Modified: openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java Fri Dec  9 18:20:47 2016
@@ -87,6 +87,8 @@ public class MeecrowaveExtension {
     private boolean java9SkipWorkarounds = false;
     private String scanningIncludes;
     private String scanningExcludes;
+    private String scanningPackageIncludes;
+    private String scanningPackageExcludes;
 
     public boolean isJava9SkipWorkarounds() {
         return java9SkipWorkarounds;
@@ -583,4 +585,20 @@ public class MeecrowaveExtension {
     public void setScanningExcludes(final String scanningExcludes) {
         this.scanningExcludes = scanningExcludes;
     }
+
+    public String getScanningPackageIncludes() {
+        return scanningPackageIncludes;
+    }
+
+    public void setScanningPackageIncludes(final String scanningPackageIncludes) {
+        this.scanningPackageIncludes = scanningPackageIncludes;
+    }
+
+    public String getScanningPackageExcludes() {
+        return scanningPackageExcludes;
+    }
+
+    public void setScanningPackageExcludes(String scanningPackageExcludes) {
+        this.scanningPackageExcludes = scanningPackageExcludes;
+    }
 }

Modified: openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java Fri Dec  9 18:20:47 2016
@@ -307,6 +307,14 @@ public class MeecrowaveTask extends Defa
     @Optional
     private String scanningExcludes;
 
+    @Input
+    @Optional
+    private String scanningPackageIncludes;
+
+    @Input
+    @Optional
+    private String scanningPackageExcludes;
+
     @TaskAction
     public void bake() {
         fixConfig();
@@ -971,4 +979,124 @@ public class MeecrowaveTask extends Defa
     public void setScanningExcludes(final String scanningExcludes) {
         this.scanningExcludes = scanningExcludes;
     }
+
+    public String getJsonpBufferStrategy() {
+        return jsonpBufferStrategy;
+    }
+
+    public void setJsonpBufferStrategy(final String jsonpBufferStrategy) {
+        this.jsonpBufferStrategy = jsonpBufferStrategy;
+    }
+
+    public int getJsonpMaxStringLen() {
+        return jsonpMaxStringLen;
+    }
+
+    public void setJsonpMaxStringLen(final int jsonpMaxStringLen) {
+        this.jsonpMaxStringLen = jsonpMaxStringLen;
+    }
+
+    public int getJsonpMaxReadBufferLen() {
+        return jsonpMaxReadBufferLen;
+    }
+
+    public void setJsonpMaxReadBufferLen(final int jsonpMaxReadBufferLen) {
+        this.jsonpMaxReadBufferLen = jsonpMaxReadBufferLen;
+    }
+
+    public int getJsonpMaxWriteBufferLen() {
+        return jsonpMaxWriteBufferLen;
+    }
+
+    public void setJsonpMaxWriteBufferLen(final int jsonpMaxWriteBufferLen) {
+        this.jsonpMaxWriteBufferLen = jsonpMaxWriteBufferLen;
+    }
+
+    public boolean isJsonpSupportsComment() {
+        return jsonpSupportsComment;
+    }
+
+    public void setJsonpSupportsComment(final boolean jsonpSupportsComment) {
+        this.jsonpSupportsComment = jsonpSupportsComment;
+    }
+
+    public boolean isJsonpPrettify() {
+        return jsonpPrettify;
+    }
+
+    public void setJsonpPrettify(final boolean jsonpPrettify) {
+        this.jsonpPrettify = jsonpPrettify;
+    }
+
+    public String getJsonbEncoding() {
+        return jsonbEncoding;
+    }
+
+    public void setJsonbEncoding(final String jsonbEncoding) {
+        this.jsonbEncoding = jsonbEncoding;
+    }
+
+    public boolean isJsonbNulls() {
+        return jsonbNulls;
+    }
+
+    public void setJsonbNulls(final boolean jsonbNulls) {
+        this.jsonbNulls = jsonbNulls;
+    }
+
+    public boolean isJsonbIJson() {
+        return jsonbIJson;
+    }
+
+    public void setJsonbIJson(final boolean jsonbIJson) {
+        this.jsonbIJson = jsonbIJson;
+    }
+
+    public boolean isJsonbPrettify() {
+        return jsonbPrettify;
+    }
+
+    public void setJsonbPrettify(final boolean jsonbPrettify) {
+        this.jsonbPrettify = jsonbPrettify;
+    }
+
+    public String getJsonbBinaryStrategy() {
+        return jsonbBinaryStrategy;
+    }
+
+    public void setJsonbBinaryStrategy(final String jsonbBinaryStrategy) {
+        this.jsonbBinaryStrategy = jsonbBinaryStrategy;
+    }
+
+    public String getJsonbNamingStrategy() {
+        return jsonbNamingStrategy;
+    }
+
+    public void setJsonbNamingStrategy(final String jsonbNamingStrategy) {
+        this.jsonbNamingStrategy = jsonbNamingStrategy;
+    }
+
+    public String getJsonbOrderStrategy() {
+        return jsonbOrderStrategy;
+    }
+
+    public void setJsonbOrderStrategy(final String jsonbOrderStrategy) {
+        this.jsonbOrderStrategy = jsonbOrderStrategy;
+    }
+
+    public String getScanningPackageIncludes() {
+        return scanningPackageIncludes;
+    }
+
+    public void setScanningPackageIncludes(final String scanningPackageIncludes) {
+        this.scanningPackageIncludes = scanningPackageIncludes;
+    }
+
+    public String getScanningPackageExcludes() {
+        return scanningPackageExcludes;
+    }
+
+    public void setScanningPackageExcludes(final String scanningPackageExcludes) {
+        this.scanningPackageExcludes = scanningPackageExcludes;
+    }
 }

Modified: openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java?rev=1773448&r1=1773447&r2=1773448&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java Fri Dec  9 18:20:47 2016
@@ -248,6 +248,12 @@ public class MeecrowaveRunMojo extends A
     @Parameter(property = "meecrowave.scanning-include")
     private String scanningExcludes;
 
+    @Parameter(property = "meecrowave.scanning-package-include")
+    private String scanningPackageIncludes;
+
+    @Parameter(property = "meecrowave.scanning-package-exclude")
+    private String scanningPackageExcludes;
+
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
         if (skip) {