aboutsummaryrefslogtreecommitdiff
path: root/src/main/groovy/frege/gradle/plugins/FregeJarFile.java
diff options
context:
space:
mode:
authorDierk König <dierk.koenig@canoo.com>2015-11-21 10:09:31 +0100
committerDierk König <dierk.koenig@canoo.com>2015-11-21 10:09:31 +0100
commitf0807811f48c50b6a5fe7816ef48c148be9f9903 (patch)
treec61df925b637d26c95086510ee471ac861a36731 /src/main/groovy/frege/gradle/plugins/FregeJarFile.java
parentfa6dce676590c83bc84d130e1241cf585f88a469 (diff)
parent73dd702743a5b4d8816e495e55c19f391669fc25 (diff)
downloadfrege-gradle-plugin-f0807811f48c50b6a5fe7816ef48c148be9f9903.tar.gz
frege-gradle-plugin-f0807811f48c50b6a5fe7816ef48c148be9f9903.tar.bz2
frege-gradle-plugin-f0807811f48c50b6a5fe7816ef48c148be9f9903.zip
Merge pull request #28 from breskeby/base-plugin
Base plugin
Diffstat (limited to 'src/main/groovy/frege/gradle/plugins/FregeJarFile.java')
-rw-r--r--src/main/groovy/frege/gradle/plugins/FregeJarFile.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/groovy/frege/gradle/plugins/FregeJarFile.java b/src/main/groovy/frege/gradle/plugins/FregeJarFile.java
new file mode 100644
index 0000000..eaf7d8f
--- /dev/null
+++ b/src/main/groovy/frege/gradle/plugins/FregeJarFile.java
@@ -0,0 +1,34 @@
+package frege.gradle.plugins;
+
+import org.gradle.util.VersionNumber;
+
+import java.io.File;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class FregeJarFile {
+ private static final Pattern FILE_NAME_PATTERN = Pattern.compile("(frege(?:-all)?)-(\\d.*?)(-indy)?.jar");
+ private final File file;
+ private final Matcher matcher;
+ private String version;
+
+ private FregeJarFile(File file, Matcher matcher) {
+ this.file = file;
+ this.matcher = matcher;
+ }
+
+
+ public static FregeJarFile parse(File file) {
+ Matcher matcher = FILE_NAME_PATTERN.matcher(file.getName());
+ return matcher.matches() ? new FregeJarFile(file, matcher) : null;
+ }
+
+ public String getDependencyNotation() {
+ return "org.frege-lang:frege:" + getVersion();
+
+ }
+
+ public VersionNumber getVersion() {
+ return VersionNumber.parse(matcher.group(2));
+ }
+}