diff options
author | Tor Norbye <tnorbye@google.com> | 2014-08-19 12:53:10 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-08-19 12:53:10 -0700 |
commit | 02cf98d65c798d368fcec43ed64a001d513bdd4f (patch) | |
tree | e39e210ab20917b7e5ffdce14a42f5747506eed0 /jps/standalone-builder/src/org/jetbrains/jps/idea/IdeaProjectLoader.java | |
parent | 2e5965e996aad62ab1338b09d54caaf99ff3dd6a (diff) | |
download | idea-02cf98d65c798d368fcec43ed64a001d513bdd4f.tar.gz |
Snapshot idea/138.1503 from git://git.jetbrains.org/idea/community.git
Change-Id: Ie01af1d8710ec0ff51d90301bda1a18b0b5c0faf
Diffstat (limited to 'jps/standalone-builder/src/org/jetbrains/jps/idea/IdeaProjectLoader.java')
-rw-r--r-- | jps/standalone-builder/src/org/jetbrains/jps/idea/IdeaProjectLoader.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/jps/standalone-builder/src/org/jetbrains/jps/idea/IdeaProjectLoader.java b/jps/standalone-builder/src/org/jetbrains/jps/idea/IdeaProjectLoader.java new file mode 100644 index 000000000000..b392dcf15081 --- /dev/null +++ b/jps/standalone-builder/src/org/jetbrains/jps/idea/IdeaProjectLoader.java @@ -0,0 +1,30 @@ +package org.jetbrains.jps.idea; + +import groovy.lang.Script; + +import java.io.File; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +/** + * @author max + */ +public class IdeaProjectLoader { + public static String guessHome(Script script) throws IOException, URISyntaxException { + String uri = (String)script.getProperty("gant.file"); + File home = new File(new URI(uri).getSchemeSpecificPart()); + + while (home != null) { + if (home.isDirectory() && new File(home, ".idea").exists()) { + return home.getCanonicalPath(); + } + + + home = home.getParentFile(); + } + + + throw new IllegalArgumentException("Cannot guess project home from '" + uri + "'"); + } +} |