You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2016/08/23 17:14:04 UTC

tomee git commit: TOMEE-1911 fixing gradle 3.0 compatibility

Repository: tomee
Updated Branches:
  refs/heads/master 2b190f0b7 -> e6ebfddea


TOMEE-1911 fixing gradle 3.0 compatibility


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/e6ebfdde
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/e6ebfdde
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/e6ebfdde

Branch: refs/heads/master
Commit: e6ebfddea1e509540d3783aaa4870aed20e2c630
Parents: 2b190f0
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Tue Aug 23 19:13:02 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Tue Aug 23 19:13:02 2016 +0200

----------------------------------------------------------------------
 .../src/main/resources/default.exclusions       |  1 +
 .../gradle/embedded/TomEEEmbeddedTask.java      | 53 ++++----------------
 .../classloader/FilterGradleClassLoader.java    | 27 ++++++++--
 gradle/pom.xml                                  |  2 +-
 pom.xml                                         |  2 +-
 5 files changed, 35 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/e6ebfdde/container/openejb-core/src/main/resources/default.exclusions
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/resources/default.exclusions b/container/openejb-core/src/main/resources/default.exclusions
index c993bd0..b2dd209 100644
--- a/container/openejb-core/src/main/resources/default.exclusions
+++ b/container/openejb-core/src/main/resources/default.exclusions
@@ -137,6 +137,7 @@ jsse.jar
 juli-
 junit-
 kahadb-
+kotlin-runtime
 leveldb
 log4j-
 logkit-

http://git-wip-us.apache.org/repos/asf/tomee/blob/e6ebfdde/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/TomEEEmbeddedTask.java
----------------------------------------------------------------------
diff --git a/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/TomEEEmbeddedTask.java b/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/TomEEEmbeddedTask.java
index eb637d8..b5c3e27 100644
--- a/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/TomEEEmbeddedTask.java
+++ b/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/TomEEEmbeddedTask.java
@@ -21,8 +21,6 @@ import org.gradle.api.DefaultTask;
 import org.gradle.api.GradleException;
 import org.gradle.api.Project;
 import org.gradle.api.artifacts.Configuration;
-import org.gradle.api.logging.LogLevel;
-import org.gradle.api.logging.LoggingManager;
 import org.gradle.api.tasks.Input;
 import org.gradle.api.tasks.Optional;
 import org.gradle.api.tasks.TaskAction;
@@ -39,6 +37,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Scanner;
@@ -122,6 +121,10 @@ public class TomEEEmbeddedTask extends DefaultTask {
 
     @Optional
     @Input
+    private Collection<String> classloaderFilteredPackages;
+
+    @Optional
+    @Input
     private boolean webResourceCached = true;
 
     @Optional
@@ -172,10 +175,6 @@ public class TomEEEmbeddedTask extends DefaultTask {
     @Input
     private String dir;
 
-    @Optional
-    @Input
-    private LogLevel logLevel = LogLevel.INFO;
-
     /* TODO if needed
     @Parameter //a dvanced config but a simple boolean will be used for defaults (withLiveReload)
     private LiveReload liveReload;
@@ -192,15 +191,11 @@ public class TomEEEmbeddedTask extends DefaultTask {
 
         final Thread thread = Thread.currentThread();
         final ClassLoader tccl = thread.getContextClassLoader();
-        final LoggingManager logging = getProject().getLogging();
-        final LogSetup logSetup = new LogSetup(logging, logging.getStandardOutputCaptureLevel(), logging.getStandardErrorCaptureLevel(), logLevel).init();
-        logging.setLevel(logLevel);
         thread.setContextClassLoader(createLoader(tccl));
         try {
             doRun();
         } finally {
             thread.setContextClassLoader(tccl);
-            logSetup.reset();
         }
     }
 
@@ -323,13 +318,16 @@ public class TomEEEmbeddedTask extends DefaultTask {
             String line;
             final Scanner scanner = new Scanner(System.in);
             while ((line = scanner.nextLine()) != null) {
-                switch (line.trim()) {
+                final String cmd = line.trim().toLowerCase(Locale.ENGLISH);
+                switch (cmd) {
                     case "exit":
                     case "quit":
                         running.set(false);
                         Runtime.getRuntime().removeShutdownHook(hook);
                         container.close();
                         return;
+                    default:
+                        getLogger().warn("Unknown: '" + cmd + "', use 'exit' or 'quit'");
                 }
             }
         } catch (final Exception e) {
@@ -405,7 +403,7 @@ public class TomEEEmbeddedTask extends DefaultTask {
         addFiles(classpath.getFiles(), urls);
 
         // use JVM loader to avoid the noise of gradle and its plugins
-        return new URLClassLoader(urls.toArray(new URL[urls.size()]), new FilterGradleClassLoader(parent));
+        return new URLClassLoader(urls.toArray(new URL[urls.size()]), new FilterGradleClassLoader(parent, classloaderFilteredPackages));
     }
 
     private void addFiles(final Collection<File> files, final Collection<URL> urls) {
@@ -676,35 +674,4 @@ public class TomEEEmbeddedTask extends DefaultTask {
     public void setSingleClassloader(final boolean singleClassloader) {
         this.singleClassloader = singleClassloader;
     }
-
-    public void setLogLevel(final LogLevel logLevel) {
-        this.logLevel = logLevel;
-    }
-
-    private static final class LogSetup {
-        private final LoggingManager logging;
-        private final LogLevel stdOutLvl;
-        private final LogLevel stdErrLvl;
-        private final LogLevel requiredLvl;
-
-        private LogSetup(final LoggingManager logging, final LogLevel stdOutLvl, final LogLevel stdErrLvl,
-                         final LogLevel requiredLvl) {
-            this.logging = logging;
-            this.stdOutLvl = stdOutLvl;
-            this.stdErrLvl = stdErrLvl;
-            this.requiredLvl = requiredLvl;
-        }
-
-
-        public LogSetup init() {
-            logging.captureStandardError(requiredLvl);
-            logging.captureStandardOutput(requiredLvl);
-            return this;
-        }
-
-        public void reset() {
-            logging.captureStandardError(stdErrLvl);
-            logging.captureStandardOutput(stdOutLvl);
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/tomee/blob/e6ebfdde/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/classloader/FilterGradleClassLoader.java
----------------------------------------------------------------------
diff --git a/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/classloader/FilterGradleClassLoader.java b/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/classloader/FilterGradleClassLoader.java
index 00fb440..227c329 100644
--- a/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/classloader/FilterGradleClassLoader.java
+++ b/gradle/gradle-tomee-embedded/src/main/java/org/apache/tomee/gradle/embedded/classloader/FilterGradleClassLoader.java
@@ -19,16 +19,19 @@ package org.apache.tomee.gradle.embedded.classloader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.util.Collection;
 import java.util.Enumeration;
 
 import static java.util.Collections.emptyEnumeration;
 
-public class FilterGradleClassLoader extends ClassLoader { // TODO: make configurable
+public class FilterGradleClassLoader extends ClassLoader {
     private final ClassLoader delegate;
+    private final Collection<String> filtered;
 
-    public FilterGradleClassLoader(final ClassLoader gradle) {
+    public FilterGradleClassLoader(final ClassLoader gradle, final Collection<String> filtered) {
         super(gradle.getParent());
-        delegate = gradle;
+        this.delegate = gradle;
+        this.filtered = filtered;
     }
 
     @Override
@@ -106,16 +109,30 @@ public class FilterGradleClassLoader extends ClassLoader { // TODO: make configu
                         name.startsWith("org.sonatype.") ||
                         name.startsWith("org.testng.") ||
                         name.startsWith("org.yaml.") ||
-                        isForbiddenGradleClass(name)
+                        isForbiddenGradleClass(name) ||
+                        isFiltered(name)
         )) {
             throw new ClassNotFoundException();
         }
     }
 
+    private boolean isFiltered(final String name) {
+        if (filtered == null || name == null) {
+            return false;
+        }
+        for (final String pck : filtered) {
+            if (name.startsWith(pck)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private boolean isForbiddenGradleClass(final String name) { // we need logging classes but we don't want to scan gradle
         return name.startsWith("org.gradle.initialization") || name.startsWith("org.gradle.launcher")
                 || name.startsWith("org.gradle.execution") || name.startsWith("org.gradle.internal")
-                || name.startsWith("org.gradle.tooling") || name.startsWith("org.gradle.api.internal.tasks");
+                || name.startsWith("org.gradle.tooling") || name.startsWith("org.gradle.api.internal.tasks")
+                || name.startsWith("org.gradle.util") || name.startsWith("org.gradle.wrapper");
     }
 
     private boolean checkResource(final String name) {

http://git-wip-us.apache.org/repos/asf/tomee/blob/e6ebfdde/gradle/pom.xml
----------------------------------------------------------------------
diff --git a/gradle/pom.xml b/gradle/pom.xml
index fb0f4ef..8a30790 100644
--- a/gradle/pom.xml
+++ b/gradle/pom.xml
@@ -40,7 +40,7 @@
     <dependency>
       <groupId>org.gradle</groupId>
       <artifactId>gradle-core</artifactId>
-      <version>2.12</version>
+      <version>3.0</version>
       <scope>provided</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/tomee/blob/e6ebfdde/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8fc87f0..7b7b6d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,7 +99,7 @@
     <openjpa.version>2.4.1</openjpa.version>
     <org.apache.openwebbeans.version>1.6.3</org.apache.openwebbeans.version>
     <jcs.version>2.0-M1</jcs.version>
-    <johnzon.version>0.9.4</johnzon.version>
+    <johnzon.version>0.9.5</johnzon.version>
 
     <!-- Maven module versions -->
     <maven-bundle-plugin.version>2.3.7</maven-bundle-plugin.version>