TENTACLES-4 Build infra
* Updating dependencies.
* Adding rat to every run and rat report to site reports.
* Started basic site and augmented pom.xml
* Enabled new maven skin for tentacles site.
* LHF: Removed some PMD warnings.
git-svn-id: https://svn.apache.org/repos/asf/creadur/tentacles/trunk@1623233 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 59fab37..1833f3f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,19 +30,29 @@
<description>Utility to download binaries from a remote repository and scan them for LICENSE and NOTICE files</description>
<dependencies>
<dependency>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>${apacheRatVersion}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.3.2</version>
+ <version>${httpClientVersion}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
- <version>4.3.2</version>
+ <version>${httpClientVersion}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
- <version>2.4.0</version>
+ <version>2.4.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -57,33 +67,49 @@
<dependency>
<groupId>org.codehaus.swizzle</groupId>
<artifactId>swizzle-stream</artifactId>
- <!-- Upgrade when 1.6.2 is released -->
- <!--version>1.6.2-SNAPSHOT</version-->
- <version>1.6.1</version>
+ <version>1.6.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.8.1</version>
+ <version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <javaVersion>1.6</javaVersion>
+ <httpClientVersion>4.3.2</httpClientVersion>
+ <apacheRatVersion>0.11</apacheRatVersion>
</properties>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/TENTACLES</url>
</issueManagement>
- <!-- TODO
- <ciManagement>
- <system>Jenkins</system>
- <url>http://ci.apache.org/builders/tentacles_trunk</url>
+ <ciManagement>
+ <system>Buildbot</system>
+ <url>http://ci.apache.org/builders/tentacles_trunk</url>
+ <!--
Jenkins builds are at:
https://builds.apache.org/job/Creadur-Tentacles/ - check Java6 compliance and run all tests
https://builds.apache.org/job/Creadur-Tentacles-Site/ - generate mvn site
- </ciManagement>
-->
+ </ciManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Whisker Development (Apache Creadur project)</name>
+ <subscribe>dev-subscribe@creadur.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@creadur.apache.org</unsubscribe>
+ <post>dev@creadur.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/creadur-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>WHisker Commits (Apache Creadur project)</name>
+ <subscribe>commits-subscribe@creadur.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@creadur.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/creadur-commits/</archive>
+ </mailingList>
+ </mailingLists>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
@@ -91,11 +117,66 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>${javaVersion}</source>
+ <target>${javaVersion}</target>
</configuration>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <!-- This checks the bytecode version of the dependencies transitively -->
+ <id>enforce-bytecode-version</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <enforceBytecodeVersion>
+ <maxJdkVersion>${javaVersion}</maxJdkVersion>
+ </enforceBytecodeVersion>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>extra-enforcer-rules</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>animal-sniffer-maven-plugin</artifactId>
+ <version>1.11</version>
+ <executions>
+ <execution>
+ <!-- This checks the source code of our project -->
+ <!--
+ Note that this cannot use our ${javaVersion} property, so it must
+ be changed manually when we decide to move to a higher version of
+ Java
+ -->
+ <id>check-java-1.6-compat</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <configuration>
+ <signature>
+ <groupId>org.codehaus.mojo.signature</groupId>
+ <artifactId>java16</artifactId>
+ <version>1.0</version>
+ </signature>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
@@ -130,10 +211,6 @@
<!-- Until Maven finds a way to allow inheritance, duplicated in plugin4maven -->
<reportPlugins>
<plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.12.1</version>
@@ -231,38 +308,50 @@
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
- <version>0.10</version>
+ <version>${apacheRatVersion}</version>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>${apacheRatVersion}</version>
+ <configuration>
+ <excludes>
+ <exclude>README*</exclude>
+ <exclude>src/main/resources/licenses/*</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
- <profiles>
- <profile>
- <id>rat</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <version>0.10</version>
- <configuration>
- <excludes>
- <exclude>README*</exclude>
- <exclude>src/main/resources/licenses/*</exclude>
- </excludes>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/creadur/tentacles/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/creadur/tentacles/trunk</developerConnection>
+ <url>http://svn.apache.org/repos/asf/creadur/tentacles/trunk</url>
+ </scm>
+ <licenses>
+ <license>
+ <name>Apache License, Version 2</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ <comments>An OSI approved open source license.</comments>
+ </license>
+ </licenses>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org</url>
+ </organization>
</project>
diff --git a/src/main/java/org/apache/creadur/tentacles/Deauthorize.java b/src/main/java/org/apache/creadur/tentacles/Deauthorize.java
index af493b3..6f72b41 100644
--- a/src/main/java/org/apache/creadur/tentacles/Deauthorize.java
+++ b/src/main/java/org/apache/creadur/tentacles/Deauthorize.java
@@ -112,7 +112,7 @@
final String text = io.slurp(file);
// You really can't trust text to be in the native line ending
- final String eol = (text.contains("\r\n")) ? "\r\n" : "\n";
+ final String eol = text.contains("\r\n") ? "\r\n" : "\n";
final String startComment = eol + "/*";
final String endComment = "*/" + eol;
diff --git a/src/main/java/org/apache/creadur/tentacles/IOSystem.java b/src/main/java/org/apache/creadur/tentacles/IOSystem.java
index 6752b2b..b424537 100644
--- a/src/main/java/org/apache/creadur/tentacles/IOSystem.java
+++ b/src/main/java/org/apache/creadur/tentacles/IOSystem.java
@@ -34,10 +34,13 @@
import java.net.URL;
import java.util.zip.ZipInputStream;
+import org.apache.log4j.Logger;
+
/**
* @version $Rev$ $Date$
*/
public class IOSystem {
+ private static final Logger LOG = Logger.getLogger(IOSystem.class);
public String slurp(final File file) throws IOException {
final ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -114,10 +117,12 @@
((Flushable) closeable).flush();
}
} catch (final IOException e) {
+ LOG.error("Error when trying to flush before closing " + closeable, e);
}
try {
closeable.close();
} catch (final IOException e) {
+ LOG.error("Error when trying to close " + closeable, e);
}
}
diff --git a/src/main/java/org/apache/creadur/tentacles/Main.java b/src/main/java/org/apache/creadur/tentacles/Main.java
index a9aa7f3..0fa4844 100644
--- a/src/main/java/org/apache/creadur/tentacles/Main.java
+++ b/src/main/java/org/apache/creadur/tentacles/Main.java
@@ -52,8 +52,7 @@
root.setLevel(Level.INFO);
}
- private static final org.apache.log4j.Logger log = org.apache.log4j.Logger
- .getLogger(Main.class);
+ private static final Logger log = Logger.getLogger(Main.class);
private static final String CRAWL_PATTERN = ".*\\.(jar|zip|war|ear|rar|tar.gz)";
private final Reports reports;
diff --git a/src/main/java/org/apache/creadur/tentacles/NexusClient.java b/src/main/java/org/apache/creadur/tentacles/NexusClient.java
index 5d53553..b9fbd64 100644
--- a/src/main/java/org/apache/creadur/tentacles/NexusClient.java
+++ b/src/main/java/org/apache/creadur/tentacles/NexusClient.java
@@ -49,7 +49,7 @@
public File download(final URI uri, final File file) throws IOException {
if (file.exists()) {
- final long length = getConentLength(uri);
+ final long length = getContentLength(uri);
if (file.length() == length) {
log.info("Exists " + uri);
@@ -72,14 +72,13 @@
return file;
}
- private long getConentLength(final URI uri) throws IOException {
+ private long getContentLength(final URI uri) throws IOException {
final HttpResponse head = head(uri);
final Header[] headers = head.getHeaders("Content-Length");
- for (final Header header : headers) {
- return new Long(header.getValue());
+ if(headers != null && headers.length >= 1) {
+ return Long.valueOf(headers[0].getValue());
}
-
return -1;
}
diff --git a/src/site/site.xml b/src/site/site.xml
new file mode 100644
index 0000000..4d493b6
--- /dev/null
+++ b/src/site/site.xml
@@ -0,0 +1,60 @@
+<project name="apache-tentacles">
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ <version>1.3.1</version>
+ </skin>
+
+ <custom>
+ <fluidoSkin>
+<googleSearch>
+ <sitesearch/>
+ </googleSearch>
+ <topBarEnabled>true</topBarEnabled>
+ <sideBarEnabled>true</sideBarEnabled>
+ </fluidoSkin>
+ </custom>
+
+<body>
+ <menu name="The Apache Software Foundation" inherit="bottom">
+ <item name='About the Foundation'
+ href="http://www.apache.org/foundation"/>
+ <item name='The projects'
+ href="http://projects.apache.org"/>
+ <item name='The people'
+ href="http://people.apache.org"/>
+ <item name='How we work'
+ href='http://www.apache.org/foundation/how-it-works.html'/>
+ <item name='Our history'
+ href='http://www.apache.org/foundation/how-it-works.html#history'/>
+ <item name='News'
+ href='http://blogs.apache.org/foundation/'/>
+ </menu>
+
+ <menu name="Contribute" inherit="bottom">
+ <item name="Get Involved" href='http://www.apache.org/foundation/getinvolved.html'/>
+ </menu>
+
+ <menu name="Committer Info" inherit="bottom">
+ <item name="Publish this site" href="site-publish.html"/>
+ <item name="Committers' FAQ" href='http://www.apache.org/dev/committers.html'/>
+ <item name='New Committers Guide' href='http://www.apache.org/dev/new-committers-guide.html'/>
+ <item name='Plant Apache' href='http://planet.apache.org/committers/'/>
+ <item name='Community' href='http://community.apache.org/'/>
+ <item name='Legal' href='http://www.apache.org/legal/'/>
+ <item name='Branding' href='http://www.apache.org/foundation/marks/'/>
+ <item name='Media Relations' href='http://www.apache.org/press/'/>
+ </menu>
+
+ <menu ref="modules"/>
+ <menu ref="reports"/>
+
+ <footer>Copyright © 2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+ Apache Creadur, Creadur, Apache Rat, Apache Tentacles, Apache Whisker, Apache and the Apache feather logo are trademarks
+ of The Apache Software Foundation.
+ Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ All other marks mentioned may be trademarks or registered trademarks of their respective owners.</footer>
+
+</body>
+
+</project>