diff --git a/pom.xml b/pom.xml
index bf3de0345e..c4707d78f4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,11 +31,11 @@
1.2.1
0.22
- 3.3.0
+ 3.3.1-SNAPSHOT
- 3.1.1
+ 3.3.0
3.3.0
- 3.0.2
+ 3.3.0-SNAPSHOT
4.3.4.Final
diff --git a/zanata-war/pom.xml b/zanata-war/pom.xml
index 01a8f6fe01..b3dee8052b 100644
--- a/zanata-war/pom.xml
+++ b/zanata-war/pom.xml
@@ -1015,7 +1015,7 @@
- 2.9.0-01-20130710.222406-4
+ 2.9.0-01-20140221.234306-6
diff --git a/zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java b/zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java
index 5a27e85c49..b8f0cd9880 100644
--- a/zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java
+++ b/zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java
@@ -94,6 +94,10 @@ public class ApplicationConfiguration implements Serializable {
@Setter
private String buildTimestamp;
+ @Getter
+ @Setter
+ private String scmDescribe;
+
@Getter
private boolean copyTransEnabled = true;
diff --git a/zanata-war/src/main/java/org/zanata/ZanataInit.java b/zanata-war/src/main/java/org/zanata/ZanataInit.java
index c7468915fb..46290d9789 100644
--- a/zanata-war/src/main/java/org/zanata/ZanataInit.java
+++ b/zanata-war/src/main/java/org/zanata/ZanataInit.java
@@ -49,6 +49,8 @@
import org.jboss.seam.contexts.ServletLifecycle;
import org.jboss.seam.core.Events;
import org.zanata.exception.ZanataInitializationException;
+import org.zanata.rest.dto.VersionInfo;
+import org.zanata.util.VersionUtility;
import com.beust.jcommander.internal.Lists;
@@ -72,7 +74,6 @@ public class ZanataInit {
}
public static final String EVENT_Zanata_Startup = "Zanata.startup";
- public static final String UNKNOWN_VERSION = "UNKNOWN";
@In
private ApplicationConfiguration applicationConfiguration;
@@ -84,9 +85,9 @@ public void initZanata() throws Exception {
String appServerHome = servletContext.getRealPath("/");
File manifestFile = new File(appServerHome, "META-INF/MANIFEST.MF");
- String version = "UNKOWN";
- String buildTimestamp = "UNKOWN";
+ VersionInfo ver = new VersionInfo();
+ Attributes atts = null;
if (manifestFile.canRead()) {
Manifest mf = new Manifest();
final FileInputStream fis = new FileInputStream(manifestFile);
@@ -95,24 +96,15 @@ public void initZanata() throws Exception {
} finally {
fis.close();
}
-
- Attributes atts = mf.getMainAttributes();
-
- version = atts.getValue("Implementation-Version");
- buildTimestamp = atts.getValue("Implementation-Build");
-
- if (version == null) {
- version = UNKNOWN_VERSION;
- }
- if (buildTimestamp == null) {
- buildTimestamp = UNKNOWN_VERSION;
- }
- this.applicationConfiguration.setVersion(version);
- this.applicationConfiguration.setBuildTimestamp(buildTimestamp);
-
+ atts = mf.getMainAttributes();
}
+ ver = VersionUtility.getVersionInfo(atts, ZanataInit.class);
+
+ this.applicationConfiguration.setVersion(ver.getVersionNo());
+ this.applicationConfiguration.setBuildTimestamp(ver.getBuildTimeStamp());
+ this.applicationConfiguration.setScmDescribe(ver.getScmDescribe());
- this.logBanner(version, buildTimestamp);
+ logBanner(ver);
if (this.applicationConfiguration.isDebug()) {
log.info("debug: enabled");
@@ -310,7 +302,7 @@ private static void list(Context ctx, String indent, StringBuffer buffer,
}
}
- private void logBanner(final String version, final String build) {
+ private void logBanner(VersionInfo ver) {
log.info("============================================");
log.info(" _____ _ ");
log.info(" |__ /__ _ _ __ __ _| |_ __ _ ");
@@ -318,8 +310,9 @@ private void logBanner(final String version, final String build) {
log.info(" / /| (_| | | | | (_| | || (_| | ");
log.info(" /____\\__,_|_| |_|\\__,_|\\__\\__,_| ");
log.info(" ");
- log.info(" version " + version + ", build " + build);
- log.info(" Red Hat Inc 2012");
+ log.info(" Version: " + ver.getVersionNo());
+ log.info(" SCM: " + ver.getScmDescribe());
+ log.info(" Red Hat Inc 2008-2014");
log.info("============================================");
}
}
diff --git a/zanata-war/src/main/resources/messages.properties b/zanata-war/src/main/resources/messages.properties
index a326026c66..ecfd886b29 100644
--- a/zanata-war/src/main/resources/messages.properties
+++ b/zanata-war/src/main/resources/messages.properties
@@ -103,7 +103,7 @@ jsf.IrcHelp=IRC Help
jsf.FAQ=FAQ
jsf.SiteMap=Site map
-jsf.RunningVersionInfo=#{messages['jsf.Zanata']} #{applicationConfiguration.version} (#{applicationConfiguration.buildTimestamp})
+jsf.RunningVersionInfo=#{messages['jsf.Zanata']} #{applicationConfiguration.version} (#{applicationConfiguration.scmDescribe})
! © is a copyright symbol
! "Red Hat, Inc" should only be translated to an alternative legal name for the same entity. If in doubt, leave it as-is.
jsf.CopyrightNotice=Copyright © 2008-14 Red Hat, Inc
diff --git a/zanata-war/src/test/java/org/zanata/rest/compat/StatisticsCompatibilityITCase.java b/zanata-war/src/test/java/org/zanata/rest/compat/StatisticsCompatibilityITCase.java
index bcc4ae7bbc..0980852b60 100644
--- a/zanata-war/src/test/java/org/zanata/rest/compat/StatisticsCompatibilityITCase.java
+++ b/zanata-war/src/test/java/org/zanata/rest/compat/StatisticsCompatibilityITCase.java
@@ -22,9 +22,11 @@
import org.dbunit.operation.DatabaseOperation;
import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.junit.Before;
import org.junit.Test;
import org.zanata.RestTest;
import org.zanata.provider.DBUnitProvider;
+import org.zanata.apicompat.rest.client.IStatisticsResource;
import org.zanata.apicompat.rest.dto.stats.ContainerTranslationStatistics;
import org.zanata.apicompat.rest.dto.stats.TranslationStatistics;
import org.zanata.apicompat.rest.service.StatisticsResource;
@@ -41,6 +43,16 @@
*/
public class StatisticsCompatibilityITCase extends RestTest {
+ private StatisticsResource statsResource;
+
+ @Before
+ public void before() {
+ statsResource =
+ super.createProxy(
+ createClientProxyFactory(TRANSLATOR, TRANSLATOR_KEY),
+ IStatisticsResource.class);
+ }
+
@Override
protected void prepareDBUnitOperations() {
addBeforeTestOperation(new DBUnitProvider.DataSetOperation(
@@ -70,11 +82,6 @@ protected void prepareDBUnitOperations() {
@Test
@RunAsClient
public void getStatisticsForIteration() throws Exception {
- StatisticsResource statsResource =
- super.createProxy(
- createClientProxyFactory(TRANSLATOR, TRANSLATOR_KEY),
- StatisticsResource.class, "/");
-
ContainerTranslationStatistics stats =
statsResource.getStatistics("sample-project", "1.0", true,
true, null);
@@ -120,11 +127,6 @@ public void getStatisticsForIteration() throws Exception {
@Test
@RunAsClient
public void getStatisticsForDocument() throws Exception {
- StatisticsResource statsResource =
- super.createProxy(
- createClientProxyFactory(TRANSLATOR, TRANSLATOR_KEY),
- StatisticsResource.class, "/");
-
ContainerTranslationStatistics stats =
statsResource.getStatistics("sample-project", "1.0",
"my/path/document.txt", true, null);
@@ -167,11 +169,6 @@ public void getStatisticsForDocument() throws Exception {
@Test
@RunAsClient
public void getStatisticsForIterationAndLocale() throws Exception {
- StatisticsResource statsResource =
- super.createProxy(
- createClientProxyFactory(TRANSLATOR, TRANSLATOR_KEY),
- StatisticsResource.class, "/");
-
ContainerTranslationStatistics stats =
statsResource.getStatistics("sample-project", "1.0", true,
false, new String[] { "as" });
@@ -209,11 +206,6 @@ public void getStatisticsForIterationAndLocale() throws Exception {
@Test
@RunAsClient
public void getStatisticsForDocumentAndLocale() throws Exception {
- StatisticsResource statsResource =
- super.createProxy(
- createClientProxyFactory(TRANSLATOR, TRANSLATOR_KEY),
- StatisticsResource.class, "/");
-
ContainerTranslationStatistics stats =
statsResource.getStatistics("sample-project", "1.0",
"my/path/document.txt", true, new String[] { "as" });
diff --git a/zanata-war/src/test/java/org/zanata/rest/compat/VersionCompatibilityITCase.java b/zanata-war/src/test/java/org/zanata/rest/compat/VersionCompatibilityITCase.java
index 6038ef51aa..4dc471529f 100644
--- a/zanata-war/src/test/java/org/zanata/rest/compat/VersionCompatibilityITCase.java
+++ b/zanata-war/src/test/java/org/zanata/rest/compat/VersionCompatibilityITCase.java
@@ -41,10 +41,7 @@ public void getVersionXml() {
IVersionResource versionClient =
super.createProxy(
createClientProxyFactory(TRANSLATOR, TRANSLATOR_KEY),
- IVersionResource.class,
- // TODO remove this parameter after upgrading
- // to apicompat 3.2
- "/version");
+ IVersionResource.class);
VersionInfo versionInfo = versionClient.get().getEntity();
assertThat(versionInfo.getVersionNo(), notNullValue());