Repository: tomee
Updated Branches:
  refs/heads/develop 8fdd9db6c -> 60c48233f


auto dir, maven friendly ATM for TomEEEmbeddedRule


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

Branch: refs/heads/develop
Commit: 60c48233f7dc6f0eb39f876eb2242baa91ec9b8f
Parents: 8fdd9db
Author: Romain Manni-Bucau <[email protected]>
Authored: Mon Feb 23 08:29:37 2015 +0100
Committer: Romain Manni-Bucau <[email protected]>
Committed: Mon Feb 23 08:29:37 2015 +0100

----------------------------------------------------------------------
 .../tomee/embedded/junit/TomEEEmbeddedRule.java    | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/60c48233/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java
----------------------------------------------------------------------
diff --git 
a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java
 
b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java
index 362d004..83af365 100644
--- 
a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java
+++ 
b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java
@@ -29,6 +29,8 @@ import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 
+import static java.util.Arrays.asList;
+
 public class TomEEEmbeddedRule implements TestRule {
     private final Configuration configuration;
     private final File docBase;
@@ -36,7 +38,7 @@ public class TomEEEmbeddedRule implements TestRule {
     private final Collection<Object> injects = new LinkedList<>();
 
     public TomEEEmbeddedRule() {
-        this(new Configuration().http(NetworkUtil.getNextAvailablePort()), "");
+        this(new 
Configuration().http(NetworkUtil.getNextAvailablePort()).dir(autoDir()), "");
     }
 
     public TomEEEmbeddedRule(final Configuration configuration, final String 
context) {
@@ -77,6 +79,9 @@ public class TomEEEmbeddedRule implements TestRule {
 
     @Override
     public Statement apply(final Statement statement, Description description) 
{
+        if (configuration.getDir() == null) {
+            configuration.dir(autoDir());
+        }
         return new Statement() {
             @Override
             public void evaluate() throws Throwable {
@@ -101,4 +106,14 @@ public class TomEEEmbeddedRule implements TestRule {
         }
         return new LinkedList<>(callers);
     }
+
+    private static String autoDir() {
+        for (final String test : asList("target", "../target", "workdir")) {
+            final File dir = new File(test);
+            if (dir.isDirectory()) {
+                return new File(dir, "tomee-embedded_" + 
System.identityHashCode(test)).getAbsolutePath();
+            }
+        }
+        return null;
+    }
 }

Reply via email to