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>