/* * Copyright (c) 2013, 2015 QNX Software Systems 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.cdt.internal.qt.core.index; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.eclipse.cdt.internal.qt.core.Activator; /** * A container class to interpret and store value of the the qmake version. */ public final class QMakeVersion implements IQtVersion { // QMAKE_VERSION looks like 2.01a or 3.0 private static final Pattern REGEXP = Pattern.compile( "([\\d]+)\\.([\\d]+).*" ); // parses major and minor version numbers only public static QMakeVersion create(String version) { if (version == null) { return null; } Matcher m = REGEXP.matcher(version.trim()); if (!m.matches()) { return null; } try { int major = Integer.parseInt(m.group(1)); int minor = Integer.parseInt(m.group(2)); return new QMakeVersion(major, minor); } catch(NumberFormatException e) { Activator.log(e); } return null; } private final int major; private final int minor; private QMakeVersion(int major, int minor) { this.major = major; this.minor = minor; } @Override public int getMajor() { return major; } @Override public int getMinor() { return minor; } }