Update org.apache.openjpa.revision.properties from SVN to GIT (#50)
Signed-off-by: Will Dazey <dazeydev.3@gmail.com>
diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
index aa4f60b..a0a9233 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
@@ -63,7 +63,6 @@
import org.apache.openjpa.lib.util.Options;
import org.apache.openjpa.lib.util.Services;
import org.apache.openjpa.lib.util.StringUtil;
-import org.apache.openjpa.lib.util.svn.SVNUtils;
import org.apache.openjpa.meta.AccessCode;
import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.FieldMetaData;
@@ -183,8 +182,7 @@
in.close();
}
}
- String prop = revisionProps.getProperty("openjpa.enhancer.revision");
- rev = SVNUtils.svnInfoToInteger(prop);
+ rev = Integer.parseInt(revisionProps.getProperty("openjpa.enhancer.revision"));
} catch (Exception e) {
}
if (rev > 0) {
diff --git a/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties b/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties
index 1dfd63f..c0eec83 100644
--- a/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties
+++ b/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties
@@ -634,4 +634,4 @@
"{0}". Expected type was "{1}".
version-id: version id
-openjpa-revision: Apache svn revision
+openjpa-revision: Apache git revision
diff --git a/openjpa-lib/pom.xml b/openjpa-lib/pom.xml
index 8517f25..d7629f8 100644
--- a/openjpa-lib/pom.xml
+++ b/openjpa-lib/pom.xml
@@ -82,49 +82,42 @@
<build>
<plugins>
<!--
- create o.a.openjpa.revision.properties with all version
- including git hash - disabled for now
- since we need to be able to build from sources
- zip (when there is no .svn/ metadata)
+ get the git revision number and set it in the git.revision setting - disabled for now
+ since we need to be able to build from sources zip (when there is no .git/config)
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
- <id>set subversion revision</id>
+ <id>set git version</id>
<phase>compile</phase>
<configuration>
<target>
- <property name="tmpdir" value="${java.io.tmpdir}/openjpamvntmp" />
- <condition property="outdir" value="${project.build.outputDirectory}">
- <available type="dir" file="${project.build.outputDirectory}" />
- </condition>
-
- <property name="outdir" value="${tmpdir}" />
-
- # Write the svn info to a temp file
- <echo file="pcenhancer.revision.file" />
- <exec output="pcenhancer.revision.file" failonerror="false" failifexecutionfails="false" executable="svn" append="false">
- <arg line="info ../openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java" />
+ <echo>Getting the 'GIT' revision value</echo>
+ <exec outputproperty="git.revision" failonerror="false" failifexecutionfails="false" executable="git">
+ <arg line="rev-parse --short HEAD" />
</exec>
- # Remove all spaces so we can have a proper key
- <replace file="pcenhancer.revision.file" token=" " value="" />
- # Load the property file
- <property prefix="pcenhancer" file="pcenhancer.revision.file" />
- <delete file="pcenhancer.revision.file" />
+ <echo>Revision: ${git.revision}</echo>
- <property name="pcenhancer.LastChangedRev" value="-1" />
- <echo>Revision: ${buildNumber}</echo>
+ <echo>Getting the 'PCEnhancer' revision value</echo>
+ <exec outputproperty="pcenhancer.git.revision" failonerror="false" failifexecutionfails="false" executable="git" append="false">
+ <arg line="rev-parse --short HEAD:./../openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java" />
+ </exec>
+ <echo>openjpa.enhancer.revision=${pcenhancer.git.revision}</echo>
+
<echo>OpenJPA version: ${project.version}</echo>
-
+ <condition property="outdir" value="${project.build.outputDirectory}" else="${java.io.tmpdir}/openjpamvntmp">
+ <available type="dir" file="${project.build.outputDirectory}" />
+ </condition>
<mkdir dir="${outdir}/META-INF" />
- <echo file="${outdir}/META-INF/org.apache.openjpa.revision.properties">revision.number=${buildNumber}
+
+ <echo file="${outdir}/META-INF/org.apache.openjpa.revision.properties">
+revision.number=${git.revision}
openjpa.version=${project.version}
-openjpa.enhancer.revision=${pcenhancer.LastChangedRev}
-</echo>
- <delete dir="${tmpdir}" />
+openjpa.enhancer.revision=${pcenhancer.git.revision}
+ </echo>
</target>
</configuration>
<goals>
diff --git a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/svn/SVNUtils.java b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/svn/SVNUtils.java
deleted file mode 100644
index 68f0c08..0000000
--- a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/svn/SVNUtils.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openjpa.lib.util.svn;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-
-public class SVNUtils {
- static final Pattern fullRevisionPattern = Pattern.compile("(([0-9]*:)?)[0-9]+(([MSms]+)?)");
- static final Pattern revisionPattern = Pattern.compile("[0-9]+");
-
- /**
- * A public worker method that takes the output from running the svnversion command and parses the trailing integer
- * version out.
- *
- * For example: 959691:959709M would return 959709
- *
- * @param svninfo
- * @return The formatted int version, or -1 if svninfo is null or unparsable.
- */
- public static int svnInfoToInteger(String svninfo) {
- if (svninfo == null || fullRevisionPattern.matcher(svninfo).matches() == false) {
- return -1;
- }
- // We only want to look after ":"
- int index = svninfo.indexOf(":");
- if(index != -1){
- svninfo = svninfo.substring(index+1);
- }
-
- Matcher matcher = revisionPattern.matcher(svninfo);
- if(matcher.find()){
- return Integer.parseInt(matcher.group());
- }
-
- return -1;
- }
-}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java
deleted file mode 100644
index 402fd57..0000000
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openjpa.lib.util.svn;
-
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class TestSVNUtils {
-
- @Test
- public void testNull() {
- assertEquals(-1, SVNUtils.svnInfoToInteger(null));
- }
-
- @Test
- public void testBasic() {
- int i = 12345678;
- assertEquals(i, SVNUtils.svnInfoToInteger(i + ""));
- }
-
- @Test
- public void testGoodTrailingString() {
- int i = 12345678;
- assertEquals(i, SVNUtils.svnInfoToInteger(i + "m"));
- }
-
- @Test
- public void testMixedRevision() {
- int i = 12345678;
- assertEquals(i, SVNUtils.svnInfoToInteger("55555:" + i));
- }
-
- @Test
- public void testMixedRevisionTrailingString() {
- int i = 12345678;
- assertEquals(i, SVNUtils.svnInfoToInteger("55555:" + i + "MS"));
- }
-
- @Test
- public void testBad() {
- int i = 12345678;
- assertEquals(-1, SVNUtils.svnInfoToInteger("55555:aa" + i + "ms"));
- }
-
-}