NIHVIVO-1229 Add revisionInfo steps to the build files. Tweak the response parser in the utility.
This commit is contained in:
parent
8263bd9cf1
commit
fe5a4f12cd
3 changed files with 88 additions and 6 deletions
|
@ -87,7 +87,7 @@ public class InfoResponseParser {
|
|||
}
|
||||
|
||||
private boolean isTrunkPath() {
|
||||
return path.equals(TRUNK_PREFIX);
|
||||
return path.startsWith(TRUNK_PREFIX);
|
||||
}
|
||||
|
||||
private boolean isTagPath() {
|
||||
|
@ -95,7 +95,7 @@ public class InfoResponseParser {
|
|||
}
|
||||
|
||||
private String getTagName() {
|
||||
return path.substring(TAGS_PREFIX.length());
|
||||
return getFirstLevel(discardPrefix(path, TAGS_PREFIX));
|
||||
}
|
||||
|
||||
private boolean isBranchPath() {
|
||||
|
@ -103,7 +103,24 @@ public class InfoResponseParser {
|
|||
}
|
||||
|
||||
private String getBranchName() {
|
||||
return path.substring(BRANCHES_PREFIX.length());
|
||||
return getFirstLevel(discardPrefix(path, BRANCHES_PREFIX));
|
||||
}
|
||||
|
||||
private String discardPrefix(String string, String prefix) {
|
||||
if (string.length() < prefix.length()) {
|
||||
return "";
|
||||
} else {
|
||||
return string.substring(prefix.length());
|
||||
}
|
||||
}
|
||||
|
||||
private String getFirstLevel(String string) {
|
||||
int slashHere = string.indexOf('/');
|
||||
if (slashHere == -1) {
|
||||
return string;
|
||||
} else {
|
||||
return string.substring(0, slashHere);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -254,10 +254,48 @@ deploy - Deploy the application directly into the Tomcat webapps directory.
|
|||
</java>
|
||||
</target>
|
||||
|
||||
<!-- =================================
|
||||
target: revisionInfo
|
||||
================================= -->
|
||||
<target name="revisionInfo" depends="test" description="--> Store revision info in build">
|
||||
<property name="revisionInfo.product.dir" location="${ant.file.vitroCore}/.." />
|
||||
<property name="revisionInfo.build.file" location="${war-classes.dir}/revisionInfo.txt" />
|
||||
|
||||
<delete file="${revisionInfo.build.file}" />
|
||||
|
||||
<tstamp>
|
||||
<format property="revisionInfo.timestamp" pattern="yyyy-MM-dd HH:mm:ss" />
|
||||
</tstamp>
|
||||
<echo file="${revisionInfo.build.file}">${revisionInfo.timestamp}
|
||||
</echo>
|
||||
|
||||
<javac srcdir="${webapp.dir}/../utilities/buildutils/revisioninfo"
|
||||
destdir="${test-classes.dir}"
|
||||
debug="true"
|
||||
deprecation="true"
|
||||
optimize="false"
|
||||
source="1.6">
|
||||
</javac>
|
||||
|
||||
<java classname="edu.cornell.mannlib.vitro.utilities.revisioninfo.RevisionInfoBuilder"
|
||||
fork="no"
|
||||
failonerror="true"
|
||||
logerror="true"
|
||||
outputproperty="revisionInfo.outputLine">
|
||||
<classpath refid="test.run.classpath" />
|
||||
<arg value="${ant.project.name}" />
|
||||
<arg file="${revisionInfo.product.dir}" />
|
||||
</java>
|
||||
<echo file="${revisionInfo.build.file}" append="true">${revisionInfo.outputLine}
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
<!-- =================================
|
||||
target: deploy
|
||||
================================= -->
|
||||
<target name="deploy" depends="test" description="--> Build the app and install in Tomcat">
|
||||
<target name="deploy"
|
||||
depends="revisionInfo"
|
||||
description="--> Build the app and install in Tomcat">
|
||||
<property name="webapp.deploy.home" value="${tomcat.home}/webapps/${webapp.name}" />
|
||||
|
||||
<mkdir dir="${webapp.deploy.home}" />
|
||||
|
|
|
@ -181,20 +181,47 @@
|
|||
<arg value="${testlevel}" />
|
||||
</java>
|
||||
</target>
|
||||
<!-- =================================
|
||||
target: revisionInfo
|
||||
================================= -->
|
||||
<target name="revisionInfo" description="--> Store revision info in build">
|
||||
<innercall target="revisionInfo" />
|
||||
<antcall target="productRevisionInfo" />
|
||||
</target>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - -
|
||||
target: productRevisionInfo
|
||||
- - - - - - - - - - - - - - - - - -->
|
||||
<target name="productRevisionInfo">
|
||||
<property name="revisionInfo.product.dir" location="${ant.file}/.." />
|
||||
<property name="revisionInfo.build.file" location="${war-classes.dir}/revisionInfo.txt" />
|
||||
|
||||
<java classname="edu.cornell.mannlib.vitro.utilities.revisioninfo.RevisionInfoBuilder"
|
||||
fork="no"
|
||||
failonerror="true"
|
||||
logerror="true"
|
||||
outputproperty="revisionInfo.outputLine">
|
||||
<classpath refid="test.run.classpath" />
|
||||
<arg value="${ant.project.name}" />
|
||||
<arg file="${revisionInfo.product.dir}" />
|
||||
</java>
|
||||
<echo file="${revisionInfo.build.file}" append="true">${revisionInfo.outputLine}
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
<!-- =================================
|
||||
target: deploy
|
||||
================================= -->
|
||||
<target name="deploy" description="--> Build the app and install in Tomcat">
|
||||
<!-- the inner "deploy" would just do a sync that will be done by productDeploy -->
|
||||
<innercall target="test" />
|
||||
<innercall target="revisionInfo" />
|
||||
<antcall target="productDeploy" />
|
||||
</target>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - -
|
||||
target: productDeploy
|
||||
- - - - - - - - - - - - - - - - - -->
|
||||
<target name="productDeploy" depends="productTest">
|
||||
<target name="productDeploy" depends="productRevisionInfo">
|
||||
<property name="webapp.deploy.home" value="${tomcat.home}/webapps/${webapp.name}" />
|
||||
|
||||
<mkdir dir="${webapp.deploy.home}" />
|
||||
|
|
Loading…
Add table
Reference in a new issue