diff options
9 files changed, 364 insertions, 139 deletions
@@ -76,6 +76,11 @@ <version>3.0</version> </dependency> <dependency> + <groupId>joda-time</groupId> + <artifactId>joda-time</artifactId> + <version>2.1</version> + </dependency> + <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.3.168</version> diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java new file mode 100755 index 0000000..e80097b --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java @@ -0,0 +1,173 @@ +package io.trygvis.esper.testing.jenkins; + +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import org.jdom2.Element; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import fj.F; +import fj.data.Option; +import io.trygvis.esper.testing.Util; + +import static fj.data.List.iterableList; +import static fj.data.Option.none; +import static fj.data.Option.some; +import static fj.data.Option.somes; +import static io.trygvis.esper.testing.Util.childText; +import static io.trygvis.esper.testing.jenkins.JenkinsBuildXml.ChangeSetItemXml.parseChangeSetItem; +import static io.trygvis.esper.testing.jenkins.JenkinsBuildXml.RevisionXml.parseRevision; + +public class JenkinsBuildXml { + private static final Logger logger = LoggerFactory.getLogger(JenkinsBuildXml.class); + + public final URI url; + + public final int number; + + public final Option<String> result; + + public final int duration; + + public final long timestamp; + + public final Option<ChangeSetXml> changeSet; + + JenkinsBuildXml(URI url, int number, Option<String> result, int duration, long timestamp, Option<ChangeSetXml> changeSet) { + this.url = url; + this.number = number; + this.result = result; + this.duration = duration; + this.timestamp = timestamp; + this.changeSet = changeSet; + } + + public static Option<JenkinsBuildXml> parse(Element root) { + Option<URI> url = childText(root, "url").bind(Util.parseUri); + Option<Integer> number = childText(root, "number").bind(Util.parseInt); + Option<String> result = childText(root, "result"); + Option<Integer> duration = childText(root, "duration").bind(Util.parseInt); + Option<Long> timestamp = childText(root, "timestamp").bind(Util.parseLong); + + if (url.isNone()) { + logger.warn("Missing required field: <url>"); + return none(); + } + if (number.isNone()) { + logger.warn("Missing required field: <number>"); + return none(); + } + if (duration.isNone()) { + logger.warn("Missing required field: <duration>"); + return none(); + } + if (timestamp.isNone()) { + logger.warn("Missing required field: <timestamp>"); + return none(); + } + + Option<ChangeSetXml> changeSet = none(); + Element e = root.getChild("changeSet"); + if (e != null) { + changeSet = ChangeSetXml.parse(e); + } + + return some(new JenkinsBuildXml(url.some(), number.some(), result, duration.some(), timestamp.some(), changeSet)); + } + + public static class ChangeSetXml { + public final List<ChangeSetItemXml> items; + + public final Option<RevisionXml> revision; + + public ChangeSetXml(List<ChangeSetItemXml> items, Option<RevisionXml> revision) { + this.items = items; + this.revision = revision; + } + + public static Option<ChangeSetXml> parse(Element changeSet) { + + List<ChangeSetItemXml> items = new ArrayList<>(somes(iterableList(changeSet.getChildren("item")).map(parseChangeSetItem)).toCollection()); + + Option<RevisionXml> revision = Option.fromNull(changeSet.getChild("revision")).bind(parseRevision); + + return some(new ChangeSetXml(items, revision)); + } + } + + public static class ChangeSetItemXml { + public final String commitId; + + public final DateTime date; + + public final String msg; + + /** + * Only subversion has this field + */ + public final Option<String> user; + + public ChangeSetItemXml(String commitId, DateTime date, String msg, Option<String> user) { + this.commitId = commitId; + this.date = date; + this.msg = msg; + this.user = user; + } + + private static final F<String, Option<DateTime>> parseDate = new F<String, Option<DateTime>>() { + DateTimeFormatter parser = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss Z"); + + public Option<DateTime> f(String s) { + try { + return some(parser.parseDateTime(s)); + } catch (IllegalArgumentException e) { + return none(); + } + } + }; + + public static final F<Element, Option<ChangeSetItemXml>> parseChangeSetItem = new F<Element, Option<ChangeSetItemXml>>() { + public Option<ChangeSetItemXml> f(Element item) { + Option<String> commitId = childText(item, "commitId"); + Option<DateTime> date = childText(item, "date").bind(parseDate); + Option<String> msg = childText(item, "msg"); + Option<String> user = childText(item, "user"); + + if (commitId.isNone() || date.isNone() || msg.isNone()) { + return none(); + } + + return some(new ChangeSetItemXml(commitId.some(), date.some(), msg.some(), user)); + } + }; + } + + public static class RevisionXml { + public final String module; + + public final String revision; + + public RevisionXml(String module, String revision) { + this.module = module; + this.revision = revision; + } + + public static final F<Element, Option<RevisionXml>> parseRevision = new F<Element, Option<RevisionXml>>() { + public Option<RevisionXml> f(Element e) { + Option<String> module = childText(e, "module"); + Option<String> revision = childText(e, "revision"); + + if (module.isNone() || revision.isNone()) { + return none(); + } + + return some(new RevisionXml(module.some(), revision.some())); + } + }; + } +} diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java index 0aa63c1..39dfc66 100755 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java @@ -2,7 +2,6 @@ package io.trygvis.esper.testing.jenkins; import fj.*; import fj.data.*; -import io.trygvis.esper.testing.*; import io.trygvis.esper.testing.jenkins.JenkinsJobXml.*; import io.trygvis.esper.testing.util.*; import org.apache.abdera.*; @@ -20,7 +19,6 @@ import java.util.*; import java.util.List; import static fj.data.Option.*; -import static io.trygvis.esper.testing.Util.*; import static io.trygvis.esper.testing.util.HttpClient.inputStreamOnly; import static java.lang.System.currentTimeMillis; import static org.apache.commons.lang.StringUtils.*; @@ -80,12 +78,12 @@ public class JenkinsClient { if (d.isNone()) { Option<String> n = Option.none(); - return new JenkinsXml(n, n, n, Collections.<JenkinsJobEntryXml>emptyList()); + return new JenkinsXml(n, n, n, Collections.<JenkinsXml.JobXml>emptyList()); } Element root = d.some().getRootElement(); - List<JenkinsJobEntryXml> jobs = new ArrayList<>(); + List<JenkinsXml.JobXml> jobs = new ArrayList<>(); for (Element job : root.getChildren("job")) { String name = trimToNull(job.getChildText("name")); String u = trimToNull(job.getChildText("url")); @@ -95,7 +93,7 @@ public class JenkinsClient { continue; } - jobs.add(new JenkinsJobEntryXml(name, u, color)); + jobs.add(new JenkinsXml.JobXml(name, u, color)); } return new JenkinsXml( @@ -155,53 +153,7 @@ public class JenkinsClient { } } - public static class JenkinsBuildXml { - - public final URI url; - public final int number; - public final String result; - public final int duration; - public final long timestamp; - - JenkinsBuildXml(URI url, int number, String result, int duration, long timestamp) { - this.url = url; - this.number = number; - this.result = result; - this.duration = duration; - this.timestamp = timestamp; - } - - public static Option<JenkinsBuildXml> parse(Element root) { - Option<URI> url = childText(root, "url").bind(Util.parseUri); - Option<Integer> number = childText(root, "number").bind(Util.parseInt); - Option<String> result = childText(root, "result"); - Option<Integer> duration = childText(root, "duration").bind(Util.parseInt); - Option<Long> timestamp = childText(root, "timestamp").bind(Util.parseLong); - - if(url.isNone()) { - logger.warn("Missing required field: <url>"); - return none(); - } - if(number.isNone()) { - logger.warn("Missing required field: <number>"); - return none(); - } - if(result.isNone()) { - logger.warn("Missing required field: <result>"); - return none(); - } - if(duration.isNone()) { - logger.warn("Missing required field: <duration>"); - return none(); - } - if(timestamp.isNone()) { - logger.warn("Missing required field: <timestamp>"); - return none(); - } - - return some(new JenkinsBuildXml(url.some(), number.some(), result.some(), duration.some(), timestamp.some())); - } - }} +} class JenkinsEntryXml { public final String id; @@ -219,99 +171,24 @@ class JenkinsXml { public final Option<String> nodeName; public final Option<String> nodeDescription; public final Option<String> description; - public final List<JenkinsJobEntryXml> jobs; + public final List<JobXml> jobs; - JenkinsXml(Option<String> nodeName, Option<String> nodeDescription, Option<String> description, List<JenkinsJobEntryXml> jobs) { + JenkinsXml(Option<String> nodeName, Option<String> nodeDescription, Option<String> description, List<JobXml> jobs) { this.nodeName = nodeName; this.nodeDescription = nodeDescription; this.description = description; this.jobs = jobs; } -} - -class JenkinsJobEntryXml { - public final String name; - public final String url; - public final String color; - - JenkinsJobEntryXml(String name, String url, String color) { - this.name = name; - this.url = url; - this.color = color; - } -} -class JenkinsJobXml { - enum JenkinsJobType { - FREE_STYLE, MAVEN_MODULE_SET, MAVEN_MODULE, MATRIX - } + public static class JobXml { + public final String name; + public final String url; + public final String color; - public final JenkinsJobType type; - public final Option<String> description; - public final Option<String> displayName; - public final Option<String> name; - public final URI url; - public final Option<String> color; - public final boolean buildable; - public final Option<BuildXml> lastBuild; - public final Option<BuildXml> lastCompletedBuild; - public final Option<BuildXml> lastFailedBuild; - public final Option<BuildXml> lastSuccessfulBuild; - public final Option<BuildXml> lastUnsuccessfulBuild; - - protected JenkinsJobXml(JenkinsJobType type, Option<String> description, Option<String> displayName, - Option<String> name, URI url, Option<String> color, boolean buildable, - Option<BuildXml> lastBuild, Option<BuildXml> lastCompletedBuild, - Option<BuildXml> lastFailedBuild, Option<BuildXml> lastSuccessfulBuild, - Option<BuildXml> lastUnsuccessfulBuild) { - this.type = type; - this.description = description; - this.displayName = displayName; - this.name = name; - this.url = url; - this.color = color; - this.buildable = buildable; - this.lastBuild = lastBuild; - this.lastCompletedBuild = lastCompletedBuild; - this.lastFailedBuild = lastFailedBuild; - this.lastSuccessfulBuild = lastSuccessfulBuild; - this.lastUnsuccessfulBuild = lastUnsuccessfulBuild; - } - - static class BuildXml { - public final int number; - public final URI url; - public static F<Element, Option<BuildXml>> buildXml = new F<Element, Option<BuildXml>>() { - public Option<BuildXml> f(Element element) { - Option<Integer> number = childText(element, "number").bind(Util.parseInt); - Option<URI> url = childText(element, "url").bind(Util.parseUri); - - if (number.isNone() || url.isNone()) { - return Option.none(); - } - - return some(new BuildXml(number.some(), url.some())); - } - }; - - BuildXml(int number, URI url) { - this.number = number; + JobXml(String name, String url, String color) { + this.name = name; this.url = url; + this.color = color; } } - - public static JenkinsJobXml parse(URI url, JenkinsJobType type, Element root) { - return new JenkinsJobXml(type, - childText(root, "description"), - childText(root, "displayName"), - childText(root, "name"), - childText(root, "url").bind(Util.parseUri).orSome(url), - childText(root, "color"), - childText(root, "buildable").bind(Util.parseBoolean).orSome(false), - child(root, "lastBuild").bind(BuildXml.buildXml), - child(root, "lastCompletedBuild").bind(BuildXml.buildXml), - child(root, "lastFailedBuild").bind(BuildXml.buildXml), - child(root, "lastSuccessfulBuild").bind(BuildXml.buildXml), - child(root, "lastUnsuccessfulBuild").bind(BuildXml.buildXml)); - } } diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsJobXml.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsJobXml.java new file mode 100755 index 0000000..8cbe049 --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsJobXml.java @@ -0,0 +1,88 @@ +package io.trygvis.esper.testing.jenkins; + +import java.net.URI; + +import org.jdom2.Element; + +import fj.F; +import fj.data.Option; +import io.trygvis.esper.testing.Util; + +import static fj.data.Option.some; +import static io.trygvis.esper.testing.Util.child; +import static io.trygvis.esper.testing.Util.childText; + +class JenkinsJobXml { + enum JenkinsJobType { + FREE_STYLE, MAVEN_MODULE_SET, MAVEN_MODULE, MATRIX + } + + public final JenkinsJobType type; + public final Option<String> description; + public final Option<String> displayName; + public final Option<String> name; + public final URI url; + public final Option<String> color; + public final boolean buildable; + public final Option<BuildXml> lastBuild; + public final Option<BuildXml> lastCompletedBuild; + public final Option<BuildXml> lastFailedBuild; + public final Option<BuildXml> lastSuccessfulBuild; + public final Option<BuildXml> lastUnsuccessfulBuild; + + protected JenkinsJobXml(JenkinsJobType type, Option<String> description, Option<String> displayName, + Option<String> name, URI url, Option<String> color, boolean buildable, + Option<BuildXml> lastBuild, Option<BuildXml> lastCompletedBuild, + Option<BuildXml> lastFailedBuild, Option<BuildXml> lastSuccessfulBuild, + Option<BuildXml> lastUnsuccessfulBuild) { + this.type = type; + this.description = description; + this.displayName = displayName; + this.name = name; + this.url = url; + this.color = color; + this.buildable = buildable; + this.lastBuild = lastBuild; + this.lastCompletedBuild = lastCompletedBuild; + this.lastFailedBuild = lastFailedBuild; + this.lastSuccessfulBuild = lastSuccessfulBuild; + this.lastUnsuccessfulBuild = lastUnsuccessfulBuild; + } + + static class BuildXml { + public final int number; + public final URI url; + public static F<Element, Option<BuildXml>> buildXml = new F<Element, Option<BuildXml>>() { + public Option<BuildXml> f(Element element) { + Option<Integer> number = childText(element, "number").bind(Util.parseInt); + Option<URI> url = childText(element, "url").bind(Util.parseUri); + + if (number.isNone() || url.isNone()) { + return Option.none(); + } + + return some(new BuildXml(number.some(), url.some())); + } + }; + + BuildXml(int number, URI url) { + this.number = number; + this.url = url; + } + } + + public static JenkinsJobXml parse(URI url, JenkinsJobType type, Element root) { + return new JenkinsJobXml(type, + childText(root, "description"), + childText(root, "displayName"), + childText(root, "name"), + childText(root, "url").bind(Util.parseUri).orSome(url), + childText(root, "color"), + childText(root, "buildable").bind(Util.parseBoolean).orSome(false), + child(root, "lastBuild").bind(BuildXml.buildXml), + child(root, "lastCompletedBuild").bind(BuildXml.buildXml), + child(root, "lastFailedBuild").bind(BuildXml.buildXml), + child(root, "lastSuccessfulBuild").bind(BuildXml.buildXml), + child(root, "lastUnsuccessfulBuild").bind(BuildXml.buildXml)); + } +} diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java index 4bbc007..ebc46ce 100755 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java @@ -46,7 +46,7 @@ public class JenkinsServerActor implements TransactionalActor { continue; } - logger.info("New build: " + entry.id + ", fetching info"); + logger.debug("Build: " + entry.id + ", fetching info"); Option<JenkinsBuildXml> buildXmlOption = client.fetchBuild(apiXml(entry.url)); @@ -56,6 +56,12 @@ public class JenkinsServerActor implements TransactionalActor { JenkinsBuildXml build = buildXmlOption.some(); + if(build.result.isNone()) { + logger.debug("Not done building, <result> is not available."); + continue; + } + String result = build.result.some(); + URI jobUrl = extrapolateJobUrlFromBuildUrl(build.url.toASCIIString()); Option<JenkinsJobDto> jobDtoOption = dao.selectJobByUrl(jobUrl); @@ -86,7 +92,7 @@ public class JenkinsServerActor implements TransactionalActor { job, entry.id, build.url, - build.result, + result, build.number, build.duration, build.timestamp); diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerOld.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerOld.java index 7e1dc9a..cfd9939 100644..100755 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerOld.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerOld.java @@ -86,7 +86,7 @@ public class JenkinsServerOld implements Closeable { JenkinsXml xml = client.fetchJobs(url); List<URI> jobUris = new ArrayList<>(xml.jobs.size()); - for (JenkinsJobEntryXml job : xml.jobs) { + for (JenkinsXml.JobXml job : xml.jobs) { jobUris.add(URI.create(job.url)); } diff --git a/src/test/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXmlTest.java b/src/test/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXmlTest.java new file mode 100755 index 0000000..75d7326 --- /dev/null +++ b/src/test/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXmlTest.java @@ -0,0 +1,62 @@ +package io.trygvis.esper.testing.jenkins; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; + +import org.jdom2.Document; +import org.joda.time.DateTime; +import org.joda.time.LocalDateTime; +import org.joda.time.chrono.ISOChronology; + +import fj.data.Option; +import io.trygvis.esper.testing.util.XmlParser; +import junit.framework.TestCase; + +import static org.joda.time.DateTimeZone.forOffsetHours; +import static org.joda.time.DateTimeZone.forOffsetHoursMinutes; +import static org.joda.time.chrono.ISOChronology.getInstance; + +public class JenkinsBuildXmlTest extends TestCase { + XmlParser parser = new XmlParser(); + ISOChronology minus6 = getInstance(forOffsetHours(-6)); + ISOChronology minus5 = getInstance(forOffsetHours(-5)); + ISOChronology plus530 = getInstance(forOffsetHoursMinutes(5, 30)); + + public Option<Document> f(InputStream inputStream) { + return parser.parseDocument(inputStream); + } + + public void testYo() throws IOException { + try (InputStream is = getClass().getResourceAsStream("/jenkins/build/build-with-git-commits.xml")) { + Option<JenkinsBuildXml> option = JenkinsBuildXml.parse(parser.parseDocument(is).some().getRootElement()); + + assertTrue(option.isSome()); + JenkinsBuildXml build = option.some(); + + assertEquals(URI.create("http://ci.jruby.org/job/jruby-dist-master/1085/"), build.url); + assertEquals(1085, build.number); + assertTrue(build.result.isSome()); + assertEquals(488824, build.duration); + assertTrue(build.changeSet.isSome()); + JenkinsBuildXml.ChangeSetXml changeSet = build.changeSet.some(); + assertTrue(changeSet.revision.isNone()); + assertEquals(8, changeSet.items.size()); + + assertItem(changeSet.items.get(0), "df6d3e8773dff6cc727a6ca4d8eaa8b5f970138d", "Add missing jnr-enxio to NB project.", new DateTime(2012, 12, 5, 10, 40, 58, 0, minus6)); + assertItem(changeSet.items.get(1), "54f6ce8c6e9a2c068c6b1bdfa096dcabb4e0ef1c", "Added description for vertexFor method", new DateTime(2012, 12, 5, 10, 56, 3, 0, plus530)); + assertItem(changeSet.items.get(2), "b6edf4a29157ef5ecd4e050c79f9353200ed0daf", "Added spec for allData method of DirectedGraph.java", new DateTime(2012, 12, 5, 10, 56, 3, 0, plus530)); + assertItem(changeSet.items.get(3), "9deef648a66d8fd4ed1b119419410b28492b87b4", "Added spec for removeEdge(Edge edge) method in DirectedGraph.java", new DateTime(2012, 12, 5, 11, 7, 34, 0, plus530)); + assertItem(changeSet.items.get(4), "9a3eb797ce136349f3866fc2ae9b35be360fb3df", "Added spec for getInorderData method of DirectedGraph.java", new DateTime(2012, 12, 5, 11, 20, 17, 0, plus530)); + assertItem(changeSet.items.get(5), "41b5de23dd2d7ccbc170252a43b8996316b93075", "No need to look up TZ here. In all cases leading up to here,", new DateTime(2012, 12, 6, 0, 5, 37, 0, minus5)); + assertItem(changeSet.items.get(6), "def4c054ae82848c92b015a3267ace2c2cedd193", "Identify the correct JIRA ticket.", new DateTime(2012, 12, 6, 0, 8, 8, 0, minus5)); + assertItem(changeSet.items.get(7), "82f12220d01c2c07398107fa5f5a2d50feb7c8c4", "As ugly as it might be, maintaining a map of exceptional time zone", new DateTime(2012, 12, 6, 0, 17, 26, 0, minus5)); + } + } + + private void assertItem(JenkinsBuildXml.ChangeSetItemXml item, String commitId, String msg, DateTime date) { + assertEquals(commitId, item.commitId); + assertEquals(msg, item.msg); + assertEquals(date.toDateTime(item.date.getZone()), item.date); + } +} diff --git a/src/test/resources/jenkins/build/build-with-git-commits.xml b/src/test/resources/jenkins/build/build-with-git-commits.xml new file mode 100755 index 0000000..e04113d --- /dev/null +++ b/src/test/resources/jenkins/build/build-with-git-commits.xml @@ -0,0 +1,12 @@ +<!-- http://ci.jruby.org/job/jruby-dist-master/1085/api/xml --> +<freeStyleBuild><action><cause><shortDescription>Started by timer</shortDescription></cause></action><action><buildsByBranchName><originmaster><buildNumber>1085</buildNumber><revision><SHA1>82f12220d01c2c07398107fa5f5a2d50feb7c8c4</SHA1><branch><SHA1>82f12220d01c2c07398107fa5f5a2d50feb7c8c4</SHA1><name>origin/master</name></branch></revision></originmaster></buildsByBranchName><lastBuiltRevision><SHA1>82f12220d01c2c07398107fa5f5a2d50feb7c8c4</SHA1><branch><SHA1>82f12220d01c2c07398107fa5f5a2d50feb7c8c4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>git://jruby.org/jruby.git</remoteUrl><scmName></scmName></action><action></action><action></action><building>false</building><duration>488824</duration><estimatedDuration>522747</estimatedDuration><fullDisplayName>jruby-dist-master #1085</fullDisplayName><id>2012-12-06_03-01-02</id><keepLog>false</keepLog><number>1085</number><result>SUCCESS</result><timestamp>1354791662000</timestamp><url>http://ci.jruby.org/job/jruby-dist-master/1085/</url><builtOn></builtOn><changeSet><item><affectedPath>nbproject/nbjdk.properties</affectedPath><affectedPath>nbproject/project.xml</affectedPath><commitId>df6d3e8773dff6cc727a6ca4d8eaa8b5f970138d</commitId><timestamp>1354732858000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/Charles%20Oliver%20Nutter</absoluteUrl><fullName>Charles Oliver Nutter</fullName></author><comment>Add missing jnr-enxio to NB project. +</comment><date>2012-12-05 10:40:58 -0600</date><id>df6d3e8773dff6cc727a6ca4d8eaa8b5f970138d</id><msg>Add missing jnr-enxio to NB project.</msg><path><editType>edit</editType><file>nbproject/nbjdk.properties</file></path><path><editType>edit</editType><file>nbproject/project.xml</file></path></item><item><affectedPath>src/org/jruby/ir/util/DirectedGraph.java</affectedPath><commitId>54f6ce8c6e9a2c068c6b1bdfa096dcabb4e0ef1c</commitId><timestamp>1354733763000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/csonpatki</absoluteUrl><fullName>csonpatki</fullName></author><comment>Added description for vertexFor method +</comment><date>2012-12-05 10:56:03 +0530</date><id>54f6ce8c6e9a2c068c6b1bdfa096dcabb4e0ef1c</id><msg>Added description for vertexFor method</msg><path><editType>edit</editType><file>src/org/jruby/ir/util/DirectedGraph.java</file></path></item><item><affectedPath>spec/ir/directed_graph/directed_graph_spec.rb</affectedPath><commitId>b6edf4a29157ef5ecd4e050c79f9353200ed0daf</commitId><timestamp>1354733763000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/csonpatki</absoluteUrl><fullName>csonpatki</fullName></author><comment>Added spec for allData method of DirectedGraph.java +</comment><date>2012-12-05 10:56:03 +0530</date><id>b6edf4a29157ef5ecd4e050c79f9353200ed0daf</id><msg>Added spec for allData method of DirectedGraph.java</msg><path><editType>edit</editType><file>spec/ir/directed_graph/directed_graph_spec.rb</file></path></item><item><affectedPath>spec/ir/directed_graph/directed_graph_spec.rb</affectedPath><commitId>9deef648a66d8fd4ed1b119419410b28492b87b4</commitId><timestamp>1354734454000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/csonpatki</absoluteUrl><fullName>csonpatki</fullName></author><comment>Added spec for removeEdge(Edge edge) method in DirectedGraph.java +</comment><date>2012-12-05 11:07:34 +0530</date><id>9deef648a66d8fd4ed1b119419410b28492b87b4</id><msg>Added spec for removeEdge(Edge edge) method in DirectedGraph.java</msg><path><editType>edit</editType><file>spec/ir/directed_graph/directed_graph_spec.rb</file></path></item><item><affectedPath>spec/ir/directed_graph/directed_graph_spec.rb</affectedPath><commitId>9a3eb797ce136349f3866fc2ae9b35be360fb3df</commitId><timestamp>1354735217000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/csonpatki</absoluteUrl><fullName>csonpatki</fullName></author><comment>Added spec for getInorderData method of DirectedGraph.java +</comment><date>2012-12-05 11:20:17 +0530</date><id>9a3eb797ce136349f3866fc2ae9b35be360fb3df</id><msg>Added spec for getInorderData method of DirectedGraph.java</msg><path><editType>edit</editType><file>spec/ir/directed_graph/directed_graph_spec.rb</file></path></item><item><affectedPath>src/org/jruby/RubyTime.java</affectedPath><commitId>41b5de23dd2d7ccbc170252a43b8996316b93075</commitId><timestamp>1354781137000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/hasari</absoluteUrl><fullName>Hiro Asari</fullName></author><comment>No need to look up TZ here. In all cases leading up to here, +we should rely on the String value passed to set up the Time object. +</comment><date>2012-12-06 00:05:37 -0500</date><id>41b5de23dd2d7ccbc170252a43b8996316b93075</id><msg>No need to look up TZ here. In all cases leading up to here,</msg><path><editType>edit</editType><file>src/org/jruby/RubyTime.java</file></path></item><item><affectedPath>src/org/jruby/RubyTime.java</affectedPath><commitId>def4c054ae82848c92b015a3267ace2c2cedd193</commitId><timestamp>1354781288000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/hasari</absoluteUrl><fullName>Hiro Asari</fullName></author><comment>Identify the correct JIRA ticket. +</comment><date>2012-12-06 00:08:08 -0500</date><id>def4c054ae82848c92b015a3267ace2c2cedd193</id><msg>Identify the correct JIRA ticket.</msg><path><editType>edit</editType><file>src/org/jruby/RubyTime.java</file></path></item><item><affectedPath>src/org/jruby/RubyTime.java</affectedPath><commitId>82f12220d01c2c07398107fa5f5a2d50feb7c8c4</commitId><timestamp>1354781846000</timestamp><author><absoluteUrl>http://ci.jruby.org/user/hasari</absoluteUrl><fullName>Hiro Asari</fullName></author><comment>As ugly as it might be, maintaining a map of exceptional time zone +values may be the best way to address #215. +</comment><date>2012-12-06 00:17:26 -0500</date><id>82f12220d01c2c07398107fa5f5a2d50feb7c8c4</id><msg>As ugly as it might be, maintaining a map of exceptional time zone</msg><path><editType>edit</editType><file>src/org/jruby/RubyTime.java</file></path></item></changeSet><culprit><absoluteUrl>http://ci.jruby.org/user/Charles%20Oliver%20Nutter</absoluteUrl><fullName>Charles Oliver Nutter</fullName></culprit><culprit><absoluteUrl>http://ci.jruby.org/user/csonpatki</absoluteUrl><fullName>csonpatki</fullName></culprit><culprit><absoluteUrl>http://ci.jruby.org/user/hasari</absoluteUrl><fullName>Hiro Asari</fullName></culprit></freeStyleBuild> diff --git a/src/test/resources/jenkins/build/build-with-subversion-commits.xml b/src/test/resources/jenkins/build/build-with-subversion-commits.xml new file mode 100755 index 0000000..92fbbab --- /dev/null +++ b/src/test/resources/jenkins/build/build-with-subversion-commits.xml @@ -0,0 +1,2 @@ +<!-- https://builds.apache.org/job/Lucene-Solr-Tests-4.x-Java6/1102/api/xml --> +<freeStyleBuild><action><cause><shortDescription>Started by timer</shortDescription></cause></action><action></action><action></action><action></action><action><failCount>0</failCount><skipCount>39</skipCount><totalCount>4583</totalCount><urlName>testReport</urlName></action><action></action><artifact><displayPath>README.txt</displayPath><fileName>README.txt</fileName><relativePath>README.txt</relativePath></artifact><building>false</building><duration>1646526</duration><estimatedDuration>1466031</estimatedDuration><fullDisplayName>Lucene-Solr-Tests-4.x-Java6 #1102</fullDisplayName><id>2012-12-11_03-17-24</id><keepLog>false</keepLog><number>1102</number><result>SUCCESS</result><timestamp>1355195844624</timestamp><url>https://builds.apache.org/job/Lucene-Solr-Tests-4.x-Java6/1102/</url><builtOn>lucene</builtOn><changeSet><item><affectedPath></affectedPath><affectedPath>dev-tools</affectedPath><affectedPath>lucene</affectedPath><affectedPath>lucene/BUILD.txt</affectedPath><affectedPath>lucene/CHANGES.txt</affectedPath><affectedPath>lucene/JRE_VERSION_MIGRATION.txt</affectedPath><affectedPath>lucene/LICENSE.txt</affectedPath><affectedPath>lucene/MIGRATE.txt</affectedPath><affectedPath>lucene/NOTICE.txt</affectedPath><affectedPath>lucene/README.txt</affectedPath><affectedPath>lucene/SYSTEM_REQUIREMENTS.txt</affectedPath><affectedPath>lucene/analysis</affectedPath><affectedPath>lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java</affectedPath><affectedPath>lucene/backwards</affectedPath><affectedPath>lucene/benchmark</affectedPath><affectedPath>lucene/build.xml</affectedPath><affectedPath>lucene/codecs</affectedPath><affectedPath>lucene/common-build.xml</affectedPath><affectedPath>lucene/core</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip</affectedPath><affectedPath>lucene/demo</affectedPath><affectedPath>lucene/facet</affectedPath><affectedPath>lucene/grouping</affectedPath><affectedPath>lucene/highlighter</affectedPath><affectedPath>lucene/ivy-settings.xml</affectedPath><affectedPath>lucene/join</affectedPath><affectedPath>lucene/licenses</affectedPath><affectedPath>lucene/memory</affectedPath><affectedPath>lucene/misc</affectedPath><affectedPath>lucene/module-build.xml</affectedPath><affectedPath>lucene/queries</affectedPath><affectedPath>lucene/queryparser</affectedPath><affectedPath>lucene/sandbox</affectedPath><affectedPath>lucene/site</affectedPath><affectedPath>lucene/spatial</affectedPath><affectedPath>lucene/suggest</affectedPath><affectedPath>lucene/test-framework</affectedPath><affectedPath>lucene/tools</affectedPath><affectedPath>solr</affectedPath><affectedPath>solr/CHANGES.txt</affectedPath><affectedPath>solr/LICENSE.txt</affectedPath><affectedPath>solr/NOTICE.txt</affectedPath><affectedPath>solr/README.txt</affectedPath><affectedPath>solr/SYSTEM_REQUIREMENTS.txt</affectedPath><affectedPath>solr/build.xml</affectedPath><affectedPath>solr/cloud-dev</affectedPath><affectedPath>solr/common-build.xml</affectedPath><affectedPath>solr/contrib</affectedPath><affectedPath>solr/core</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/schema/IndexSchema.java</affectedPath><affectedPath>solr/example</affectedPath><affectedPath>solr/licenses</affectedPath><affectedPath>solr/licenses/httpclient-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpclient-NOTICE.txt</affectedPath><affectedPath>solr/licenses/httpcore-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpcore-NOTICE.txt</affectedPath><affectedPath>solr/licenses/httpmime-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpmime-NOTICE.txt</affectedPath><affectedPath>solr/scripts</affectedPath><affectedPath>solr/site</affectedPath><affectedPath>solr/solrj</affectedPath><affectedPath>solr/test-framework</affectedPath><affectedPath>solr/testlogging.properties</affectedPath><affectedPath>solr/webapp</affectedPath><author><absoluteUrl>https://builds.apache.org/user/markrmiller</absoluteUrl><fullName>markrmiller</fullName></author><commitId>1419960</commitId><timestamp>-1</timestamp><date>2012-12-11T01:08:10.682365Z</date><msg>SOLR-2986: Add MoreLikeThis to warning about features that require uniqueKey. Also, change the warning to warn log level.</msg><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/dev-tools</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/BUILD.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/CHANGES.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/JRE_VERSION_MIGRATION.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/LICENSE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/MIGRATE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/README.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/SYSTEM_REQUIREMENTS.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/analysis</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/backwards</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/benchmark</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/codecs</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/common-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/demo</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/facet</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/grouping</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/highlighter</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/ivy-settings.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/join</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/licenses</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/memory</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/misc</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/module-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/queries</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/queryparser</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/sandbox</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/site</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/spatial</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/suggest</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/test-framework</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/tools</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/CHANGES.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/LICENSE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/README.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/SYSTEM_REQUIREMENTS.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/cloud-dev</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/common-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/contrib</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/schema/IndexSchema.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/example</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpclient-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpclient-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpcore-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpcore-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpmime-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpmime-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/scripts</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/site</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/solrj</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/test-framework</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/testlogging.properties</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp</file></path><revision>1419960</revision><user>markrmiller</user></item><item><affectedPath></affectedPath><affectedPath>dev-tools</affectedPath><affectedPath>lucene</affectedPath><affectedPath>lucene/BUILD.txt</affectedPath><affectedPath>lucene/CHANGES.txt</affectedPath><affectedPath>lucene/JRE_VERSION_MIGRATION.txt</affectedPath><affectedPath>lucene/LICENSE.txt</affectedPath><affectedPath>lucene/MIGRATE.txt</affectedPath><affectedPath>lucene/NOTICE.txt</affectedPath><affectedPath>lucene/README.txt</affectedPath><affectedPath>lucene/SYSTEM_REQUIREMENTS.txt</affectedPath><affectedPath>lucene/analysis</affectedPath><affectedPath>lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java</affectedPath><affectedPath>lucene/backwards</affectedPath><affectedPath>lucene/benchmark</affectedPath><affectedPath>lucene/build.xml</affectedPath><affectedPath>lucene/codecs</affectedPath><affectedPath>lucene/common-build.xml</affectedPath><affectedPath>lucene/core</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip</affectedPath><affectedPath>lucene/demo</affectedPath><affectedPath>lucene/facet</affectedPath><affectedPath>lucene/grouping</affectedPath><affectedPath>lucene/highlighter</affectedPath><affectedPath>lucene/ivy-settings.xml</affectedPath><affectedPath>lucene/join</affectedPath><affectedPath>lucene/licenses</affectedPath><affectedPath>lucene/memory</affectedPath><affectedPath>lucene/misc</affectedPath><affectedPath>lucene/module-build.xml</affectedPath><affectedPath>lucene/queries</affectedPath><affectedPath>lucene/queryparser</affectedPath><affectedPath>lucene/sandbox</affectedPath><affectedPath>lucene/site</affectedPath><affectedPath>lucene/spatial</affectedPath><affectedPath>lucene/suggest</affectedPath><affectedPath>lucene/test-framework</affectedPath><affectedPath>lucene/tools</affectedPath><affectedPath>solr</affectedPath><affectedPath>solr/CHANGES.txt</affectedPath><affectedPath>solr/LICENSE.txt</affectedPath><affectedPath>solr/NOTICE.txt</affectedPath><affectedPath>solr/README.txt</affectedPath><affectedPath>solr/SYSTEM_REQUIREMENTS.txt</affectedPath><affectedPath>solr/build.xml</affectedPath><affectedPath>solr/cloud-dev</affectedPath><affectedPath>solr/common-build.xml</affectedPath><affectedPath>solr/contrib</affectedPath><affectedPath>solr/core</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java</affectedPath><affectedPath>solr/example</affectedPath><affectedPath>solr/licenses</affectedPath><affectedPath>solr/licenses/httpclient-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpclient-NOTICE.txt</affectedPath><affectedPath>solr/licenses/httpcore-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpcore-NOTICE.txt</affectedPath><affectedPath>solr/licenses/httpmime-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpmime-NOTICE.txt</affectedPath><affectedPath>solr/scripts</affectedPath><affectedPath>solr/site</affectedPath><affectedPath>solr/solrj</affectedPath><affectedPath>solr/test-framework</affectedPath><affectedPath>solr/testlogging.properties</affectedPath><affectedPath>solr/webapp</affectedPath><author><absoluteUrl>https://builds.apache.org/user/markrmiller</absoluteUrl><fullName>markrmiller</fullName></author><commitId>1419953</commitId><timestamp>-1</timestamp><date>2012-12-11T00:56:19.684855Z</date><msg>SOLR-4071: Validate that name is pass to Collections API create, and behave the same way as on startup when collection.configName is not explicitly passed.</msg><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/dev-tools</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/BUILD.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/CHANGES.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/JRE_VERSION_MIGRATION.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/LICENSE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/MIGRATE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/README.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/SYSTEM_REQUIREMENTS.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/analysis</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/backwards</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/benchmark</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/codecs</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/common-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/demo</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/facet</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/grouping</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/highlighter</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/ivy-settings.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/join</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/licenses</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/memory</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/misc</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/module-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/queries</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/queryparser</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/sandbox</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/site</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/spatial</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/suggest</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/test-framework</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/tools</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/CHANGES.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/LICENSE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/README.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/SYSTEM_REQUIREMENTS.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/cloud-dev</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/common-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/contrib</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/example</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpclient-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpclient-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpcore-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpcore-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpmime-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpmime-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/scripts</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/site</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/solrj</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/test-framework</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/testlogging.properties</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp</file></path><revision>1419953</revision><user>markrmiller</user></item><item><affectedPath></affectedPath><affectedPath>dev-tools</affectedPath><affectedPath>lucene</affectedPath><affectedPath>lucene/BUILD.txt</affectedPath><affectedPath>lucene/CHANGES.txt</affectedPath><affectedPath>lucene/JRE_VERSION_MIGRATION.txt</affectedPath><affectedPath>lucene/LICENSE.txt</affectedPath><affectedPath>lucene/MIGRATE.txt</affectedPath><affectedPath>lucene/NOTICE.txt</affectedPath><affectedPath>lucene/README.txt</affectedPath><affectedPath>lucene/SYSTEM_REQUIREMENTS.txt</affectedPath><affectedPath>lucene/analysis</affectedPath><affectedPath>lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java</affectedPath><affectedPath>lucene/backwards</affectedPath><affectedPath>lucene/benchmark</affectedPath><affectedPath>lucene/build.xml</affectedPath><affectedPath>lucene/codecs</affectedPath><affectedPath>lucene/common-build.xml</affectedPath><affectedPath>lucene/core</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip</affectedPath><affectedPath>lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip</affectedPath><affectedPath>lucene/demo</affectedPath><affectedPath>lucene/facet</affectedPath><affectedPath>lucene/grouping</affectedPath><affectedPath>lucene/highlighter</affectedPath><affectedPath>lucene/ivy-settings.xml</affectedPath><affectedPath>lucene/join</affectedPath><affectedPath>lucene/licenses</affectedPath><affectedPath>lucene/memory</affectedPath><affectedPath>lucene/misc</affectedPath><affectedPath>lucene/module-build.xml</affectedPath><affectedPath>lucene/queries</affectedPath><affectedPath>lucene/queryparser</affectedPath><affectedPath>lucene/sandbox</affectedPath><affectedPath>lucene/site</affectedPath><affectedPath>lucene/spatial</affectedPath><affectedPath>lucene/suggest</affectedPath><affectedPath>lucene/test-framework</affectedPath><affectedPath>lucene/tools</affectedPath><affectedPath>solr</affectedPath><affectedPath>solr/CHANGES.txt</affectedPath><affectedPath>solr/LICENSE.txt</affectedPath><affectedPath>solr/NOTICE.txt</affectedPath><affectedPath>solr/README.txt</affectedPath><affectedPath>solr/SYSTEM_REQUIREMENTS.txt</affectedPath><affectedPath>solr/build.xml</affectedPath><affectedPath>solr/cloud-dev</affectedPath><affectedPath>solr/common-build.xml</affectedPath><affectedPath>solr/contrib</affectedPath><affectedPath>solr/core</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java</affectedPath><affectedPath>solr/example</affectedPath><affectedPath>solr/licenses</affectedPath><affectedPath>solr/licenses/httpclient-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpclient-NOTICE.txt</affectedPath><affectedPath>solr/licenses/httpcore-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpcore-NOTICE.txt</affectedPath><affectedPath>solr/licenses/httpmime-LICENSE-ASL.txt</affectedPath><affectedPath>solr/licenses/httpmime-NOTICE.txt</affectedPath><affectedPath>solr/scripts</affectedPath><affectedPath>solr/site</affectedPath><affectedPath>solr/solrj</affectedPath><affectedPath>solr/test-framework</affectedPath><affectedPath>solr/testlogging.properties</affectedPath><affectedPath>solr/webapp</affectedPath><affectedPath>solr/webapp/web/js/scripts/cores.js</affectedPath><affectedPath>solr/webapp/web/js/scripts/dashboard.js</affectedPath><affectedPath>solr/webapp/web/tpl/cores.html</affectedPath><affectedPath>solr/webapp/web/tpl/dashboard.html</affectedPath><author><absoluteUrl>https://builds.apache.org/user/markrmiller</absoluteUrl><fullName>markrmiller</fullName></author><commitId>1419940</commitId><timestamp>-1</timestamp><date>2012-12-11T00:10:12.700549Z</date><msg>SOLR-3948: Calculate/display deleted documents in admin interface.</msg><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/dev-tools</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/BUILD.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/CHANGES.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/JRE_VERSION_MIGRATION.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/LICENSE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/MIGRATE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/README.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/SYSTEM_REQUIREMENTS.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/analysis</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/backwards</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/benchmark</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/codecs</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/common-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/demo</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/facet</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/grouping</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/highlighter</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/ivy-settings.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/join</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/licenses</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/memory</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/misc</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/module-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/queries</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/queryparser</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/sandbox</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/site</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/spatial</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/suggest</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/test-framework</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/lucene/tools</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/CHANGES.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/LICENSE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/README.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/SYSTEM_REQUIREMENTS.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/cloud-dev</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/common-build.xml</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/contrib</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/example</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpclient-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpclient-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpcore-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpcore-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpmime-LICENSE-ASL.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/licenses/httpmime-NOTICE.txt</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/scripts</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/site</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/solrj</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/test-framework</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/testlogging.properties</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/cores.js</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/dashboard.js</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp/web/tpl/cores.html</file></path><path><editType>edit</editType><file>/lucene/dev/branches/branch_4x/solr/webapp/web/tpl/dashboard.html</file></path><revision>1419940</revision><user>markrmiller</user></item><kind>svn</kind><revision><module>http://svn.apache.org/repos/asf/lucene/dev/branches/branch_4x</module><revision>1419960</revision></revision></changeSet><culprit><absoluteUrl>https://builds.apache.org/user/markrmiller</absoluteUrl><fullName>markrmiller</fullName></culprit></freeStyleBuild> |