You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by rd...@apache.org on 2011/07/12 09:07:33 UTC
svn commit: r1145472 - in /incubator/rat/eye/trunk:
org/apache/rat/eye/engine.py test/test_engine.py
Author: rdonkin
Date: Tue Jul 12 07:07:32 2011
New Revision: 1145472
URL: http://svn.apache.org/viewvc?rev=1145472&view=rev
Log:
Outlined pipeline
Modified:
incubator/rat/eye/trunk/org/apache/rat/eye/engine.py
incubator/rat/eye/trunk/test/test_engine.py
Modified: incubator/rat/eye/trunk/org/apache/rat/eye/engine.py
URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/org/apache/rat/eye/engine.py?rev=1145472&r1=1145471&r2=1145472&view=diff
==============================================================================
--- incubator/rat/eye/trunk/org/apache/rat/eye/engine.py (original)
+++ incubator/rat/eye/trunk/org/apache/rat/eye/engine.py Tue Jul 12 07:07:32 2011
@@ -27,6 +27,15 @@ import os.path
import zipfile
#
+# High Level
+#
+
+def report(directory, checks, styles):
+ Reporter(styles).report(
+ Reviewer(checks).review(
+ AccumulativeScanner().scan().findings))
+
+#
# Utilities
#
@@ -234,6 +243,16 @@ class MetaInfReviewer():
for review in self.reviews:
review.reviewMetaInf(metainf)
+class Reporter():
+ """
+ Aggregates and renders reports.
+ """
+ def __init__(self, styles = []):
+ self.styles = styles
+
+ def report(self, list):
+ return [style.present(resource) for style in self.styles for resource in list]
+
class Reviewer():
"""
Reviews artifacts.
@@ -246,7 +265,7 @@ class Reviewer():
if (hasattr(item, "reportTo")):
for review in self.reviews:
item.reportTo(review)
- return self
+ return list
class Reports():
"""
@@ -343,3 +362,4 @@ class Jar(Artifact, ZipContainer):
if (hasattr(reviewer, "reviewJar")):
reviewer.reviewJar(self)
return self
+
Modified: incubator/rat/eye/trunk/test/test_engine.py
URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/test/test_engine.py?rev=1145472&r1=1145471&r2=1145472&view=diff
==============================================================================
--- incubator/rat/eye/trunk/test/test_engine.py (original)
+++ incubator/rat/eye/trunk/test/test_engine.py Tue Jul 12 07:07:32 2011
@@ -42,6 +42,13 @@ class AReviewer():
def reviewArtifact(self, artifact):
self.artifacts.append(artifact)
+class AStyle():
+ def __init__(self):
+ self.resources = []
+
+ def present(self, resource):
+ self.resources.append(resource)
+
class TestEngine(unittest.TestCase):
def testSmoke(self):
@@ -244,14 +251,24 @@ class TestEngine(unittest.TestCase):
def testReviewerSmokeOrChoke(self):
engine.Reviewer([]).review([])
+
+ def testReporterSmokeOrChoke(self):
+ engine.Reporter([]).report([])
def testReviewerReview(self):
aJar = engine.Jar(".", "whatever.jar")
- subject = engine.Reviewer([AReviewer()]).review([aJar])
+ subject = engine.Reviewer([AReviewer()])
+ subject.review([aJar])
self.assertEquals(subject.reviews[0].jars, [aJar])
self.assertEquals(subject.reviews[0].dirs, [])
self.assertEquals(subject.reviews[0].artifacts, [aJar])
+ def testReporterReport(self):
+ aJar = engine.Jar(".", "whatever.jar")
+ anotherJar = engine.Jar(".", "biff.jar")
+ styles = [AStyle(), AStyle()]
+ engine.Reporter(styles).report
+
def testMetaInfReviewerDoReviewJar(self):
testSpy = AMetaInfReview()
subject = engine.MetaInfReviewer([testSpy])