mirror of https://github.com/apache/openjpa.git
Update org.apache.openjpa.revision.properties from SVN to GIT (#50)
Signed-off-by: Will Dazey <dazeydev.3@gmail.com>
This commit is contained in:
parent
cd81d36024
commit
99a5a10218
|
@ -63,7 +63,6 @@ import org.apache.openjpa.lib.util.Localizer.Message;
|
||||||
import org.apache.openjpa.lib.util.Options;
|
import org.apache.openjpa.lib.util.Options;
|
||||||
import org.apache.openjpa.lib.util.Services;
|
import org.apache.openjpa.lib.util.Services;
|
||||||
import org.apache.openjpa.lib.util.StringUtil;
|
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.AccessCode;
|
||||||
import org.apache.openjpa.meta.ClassMetaData;
|
import org.apache.openjpa.meta.ClassMetaData;
|
||||||
import org.apache.openjpa.meta.FieldMetaData;
|
import org.apache.openjpa.meta.FieldMetaData;
|
||||||
|
@ -183,8 +182,7 @@ public class PCEnhancer {
|
||||||
in.close();
|
in.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String prop = revisionProps.getProperty("openjpa.enhancer.revision");
|
rev = Integer.parseInt(revisionProps.getProperty("openjpa.enhancer.revision"));
|
||||||
rev = SVNUtils.svnInfoToInteger(prop);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
if (rev > 0) {
|
if (rev > 0) {
|
||||||
|
|
|
@ -634,4 +634,4 @@ invalid-config-object: Invalid object provided in configuration property \
|
||||||
"{0}". Expected type was "{1}".
|
"{0}". Expected type was "{1}".
|
||||||
|
|
||||||
version-id: version id
|
version-id: version id
|
||||||
openjpa-revision: Apache svn revision
|
openjpa-revision: Apache git revision
|
||||||
|
|
|
@ -82,49 +82,42 @@
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<!--
|
<!--
|
||||||
create o.a.openjpa.revision.properties with all version
|
get the git revision number and set it in the git.revision setting - disabled for now
|
||||||
including git hash - disabled for now
|
since we need to be able to build from sources zip (when there is no .git/config)
|
||||||
since we need to be able to build from sources
|
|
||||||
zip (when there is no .svn/ metadata)
|
|
||||||
-->
|
-->
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-antrun-plugin</artifactId>
|
<artifactId>maven-antrun-plugin</artifactId>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>set subversion revision</id>
|
<id>set git version</id>
|
||||||
<phase>compile</phase>
|
<phase>compile</phase>
|
||||||
<configuration>
|
<configuration>
|
||||||
<target>
|
<target>
|
||||||
<property name="tmpdir" value="${java.io.tmpdir}/openjpamvntmp" />
|
<echo>Getting the 'GIT' revision value</echo>
|
||||||
<condition property="outdir" value="${project.build.outputDirectory}">
|
<exec outputproperty="git.revision" failonerror="false" failifexecutionfails="false" executable="git">
|
||||||
<available type="dir" file="${project.build.outputDirectory}" />
|
<arg line="rev-parse --short HEAD" />
|
||||||
</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" />
|
|
||||||
</exec>
|
</exec>
|
||||||
|
|
||||||
# Remove all spaces so we can have a proper key
|
<echo>Revision: ${git.revision}</echo>
|
||||||
<replace file="pcenhancer.revision.file" token=" " value="" />
|
|
||||||
# Load the property file
|
<echo>Getting the 'PCEnhancer' revision value</echo>
|
||||||
<property prefix="pcenhancer" file="pcenhancer.revision.file" />
|
<exec outputproperty="pcenhancer.git.revision" failonerror="false" failifexecutionfails="false" executable="git" append="false">
|
||||||
<delete file="pcenhancer.revision.file" />
|
<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>
|
||||||
|
|
||||||
<property name="pcenhancer.LastChangedRev" value="-1" />
|
|
||||||
<echo>Revision: ${buildNumber}</echo>
|
|
||||||
<echo>OpenJPA version: ${project.version}</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" />
|
<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.version=${project.version}
|
||||||
openjpa.enhancer.revision=${pcenhancer.LastChangedRev}
|
openjpa.enhancer.revision=${pcenhancer.git.revision}
|
||||||
</echo>
|
</echo>
|
||||||
<delete dir="${tmpdir}" />
|
|
||||||
</target>
|
</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
<goals>
|
<goals>
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue