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; + } }
