You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by bo...@apache.org on 2011/03/11 18:20:51 UTC
svn commit: r1080680 - in /incubator/rat/main/trunk: RELEASE_NOTES.txt
apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java
apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
Author: bodewig
Date: Fri Mar 11 17:20:51 2011
New Revision: 1080680
URL: http://svn.apache.org/viewvc?rev=1080680&view=rev
Log:
support Ruby when adding licenses. RAT-84
Modified:
incubator/rat/main/trunk/RELEASE_NOTES.txt
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java
incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
Modified: incubator/rat/main/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/RELEASE_NOTES.txt?rev=1080680&r1=1080679&r2=1080680&view=diff
==============================================================================
--- incubator/rat/main/trunk/RELEASE_NOTES.txt (original)
+++ incubator/rat/main/trunk/RELEASE_NOTES.txt Fri Mar 11 17:20:51 2011
@@ -9,6 +9,8 @@ RAT 0.8
templates
* RAT-83 Support automatic addition of license headers to Scala
source files
+ * RAT-84 Support automatic addition of license headers to Ruby
+ source files
RAT 0.7
=======
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java?rev=1080680&r1=1080679&r2=1080680&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java Fri Mar 11 17:20:51 2011
@@ -47,6 +47,7 @@ public abstract class AbstractLicenceApp
private static final int TYPE_BAT = 12;
private static final int TYPE_VM = 13;
private static final int TYPE_SCALA = 14;
+ private static final int TYPE_RUBY = 15;
private boolean isForced;
@@ -88,7 +89,7 @@ public abstract class AbstractLicenceApp
String line;
boolean first = true;
while ((line = br.readLine()) != null) {
- if (first && type == TYPE_PYTHON) {
+ if (first && (type == TYPE_PYTHON || type == TYPE_RUBY)) {
doFirstLine(document, writer, line, "#!/usr/bin");
} else if (first && type == TYPE_BAT) {
doFirstLine(document, writer, line, "@echo off");
@@ -174,6 +175,8 @@ public abstract class AbstractLicenceApp
return TYPE_VM;
} else if (document.getPath().endsWith(".scala")) {
return TYPE_SCALA;
+ } else if (document.getPath().endsWith(".rb")) {
+ return TYPE_RUBY;
}
return TYPE_UNKNOWN;
}
@@ -216,6 +219,7 @@ public abstract class AbstractLicenceApp
case TYPE_SH: return "#\n";
case TYPE_BAT: return "rem\n";
case TYPE_SCALA: return "/*\n";
+ case TYPE_RUBY: return "#\n";
default: return "";
}
}
@@ -243,6 +247,7 @@ public abstract class AbstractLicenceApp
case TYPE_SH: return "#\n";
case TYPE_BAT: return "rem\n";
case TYPE_SCALA: return " */\n";
+ case TYPE_RUBY: return "#\n";
default: return "";
}
}
@@ -275,6 +280,7 @@ public abstract class AbstractLicenceApp
case TYPE_BAT: return "rem" + content + "\n";
case TYPE_VM: return "##" + content + "\n";
case TYPE_SCALA: return " *" + content + "\n";
+ case TYPE_RUBY: return "#" + content + "\n";
default: return "";
}
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java?rev=1080680&r1=1080679&r2=1080680&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java Fri Mar 11 17:20:51 2011
@@ -251,4 +251,53 @@ public class TestLicenceAppender extends
newFile.delete();
}
+ public void testAddLicenseToRubyWithoutHashBang() throws IOException {
+ String filename = "tmp.rb";
+ String firstLine = "#";
+
+ File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
+ FileWriter writer = new FileWriter(file);
+ writer.write("class Foo\n");
+ writer.write("end\n");
+ writer.close();
+
+ ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
+ appender.append(file);
+
+ File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
+
+ BufferedReader reader = new BufferedReader(new FileReader(newFile));
+ String line = reader.readLine();
+ assertEquals("First line is incorrect", firstLine, line);
+
+ file.delete();
+ newFile.delete();
+ }
+
+ public void testAddLicenseToRubyWithHashBang() throws IOException {
+ String filename = "tmp.rb";
+ String firstLine = "#!/usr/bin/env ruby";
+ String secondLine = "#";
+
+ File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
+ FileWriter writer = new FileWriter(file);
+ writer.write(firstLine + "\n");
+ writer.write("class Foo\n");
+ writer.write("end\n");
+ writer.close();
+
+ ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
+ appender.append(file);
+
+ File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
+
+ BufferedReader reader = new BufferedReader(new FileReader(newFile));
+ String line = reader.readLine();
+ assertEquals("First line is incorrect", firstLine, line);
+ line = reader.readLine();
+ assertEquals("Second line is incorrect", secondLine, line);
+
+ file.delete();
+ newFile.delete();
+ }
}