diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/XtextVersion.xtend b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/XtextVersion.xtend index 233ab6287..aa2b407cf 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/XtextVersion.xtend +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/XtextVersion.xtend @@ -48,8 +48,8 @@ class XtextVersion { version.endsWith("-SNAPSHOT") } - def isBeta() { - version.matches(".*beta(\\d)*") + def isStable() { + return !isSnapshot && !version.matches("\\d+\\.\\d+(\\.\\d+)+") } def getXtendGradlePluginVersion() { diff --git a/plugins/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend b/plugins/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend index 390b1249e..d870e0d34 100644 --- a/plugins/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend +++ b/plugins/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend @@ -71,7 +71,7 @@ class TargetPlatformProject extends ProjectDescriptor { «IF config.xtextVersion.isSnapshot» - «ELSEIF config.xtextVersion.isBeta» + «ELSEIF config.xtextVersion.isStable» «ELSE» diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/XtextVersionTests.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/XtextVersionTests.java new file mode 100644 index 000000000..fd1231887 --- /dev/null +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/XtextVersionTests.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.util; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * @author dhuebner - Initial contribution and API + */ +public class XtextVersionTests { + + @Test + public void testVersionKinds() { + + XtextVersion version = new XtextVersion("2.9.0-SNAPSHOT"); + //snapshot + assertTrue(version.isSnapshot()); + assertFalse(version.isStable()); + + // stable version pre-release + version = new XtextVersion("2.9.0.beta1"); + assertFalse(version.isSnapshot()); + assertTrue(version.isStable()); + + version = new XtextVersion("2.9.0.rc1"); + assertFalse(version.isSnapshot()); + assertTrue(version.isStable()); + + version = new XtextVersion("2.9.0.maybeSomthingElse"); + assertFalse(version.isSnapshot()); + assertTrue(version.isStable()); + + // releases + version = new XtextVersion("2.9.0"); + assertFalse(version.isSnapshot()); + assertFalse(version.isStable()); + + version = new XtextVersion("2.9.0.1"); + assertFalse(version.isSnapshot()); + assertFalse(version.isStable()); + + } + +}