Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/EigenDecomposition.java URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/EigenDecomposition.java?rev=1352052&r1=1352051&r2=1352052&view=diff ============================================================================== --- mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/EigenDecomposition.java (original) +++ mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/EigenDecomposition.java Wed Jun 20 12:07:50 2012 @@ -21,7 +21,6 @@ package org.apache.mahout.math.solver; - import org.apache.mahout.math.DenseMatrix; import org.apache.mahout.math.DenseVector; import org.apache.mahout.math.Matrix; @@ -41,23 +40,15 @@ import org.apache.mahout.math.function.F * A.times(V) equals V.times(D). The matrix V may be badly conditioned, or even singular, so the * validity of the equation A = V*D*inverse(V) depends upon V.cond(). */ - public class EigenDecomposition { - /** - * Row and column dimension (square matrix). - */ - private int n; - - /** - * Arrays for internal storage of eigenvalues. - */ - private Vector d; - private Vector e; - /** - * Array for internal storage of eigenvectors. - */ - private Matrix v; + /** Row and column dimension (square matrix). */ + private final int n; + /** Arrays for internal storage of eigenvalues. */ + private final Vector d; + private final Vector e; + /** Array for internal storage of eigenvectors. */ + private final Matrix v; public EigenDecomposition(Matrix x) { this(x, isSymmetric(x)); @@ -118,7 +109,7 @@ public class EigenDecomposition { x.assign(0); x.viewDiagonal().assign(d); for (int i = 0; i < n; i++) { - final double v = e.getQuick(i); + double v = e.getQuick(i); if (v > 0) { x.setQuick(i, i + 1, v); } else if (v < 0) { @@ -168,7 +159,7 @@ public class EigenDecomposition { g = -g; } e.setQuick(i, scale * g); - h = h - f * g; + h -= f * g; d.setQuick(i - 1, f - g); for (int j = 0; j < i; j++) { e.setQuick(j, 0.0); @@ -271,7 +262,7 @@ public class EigenDecomposition { if (m > l) { int iter = 0; do { - iter = iter + 1; // (Could check iteration count here.) + iter++; // (Could check iteration count here.) // Compute implicit shift @@ -288,7 +279,7 @@ public class EigenDecomposition { for (int i = l + 2; i < n; i++) { d.setQuick(i, d.getQuick(i) - h); } - f = f + h; + f += h; // Implicit QL transformation. @@ -373,7 +364,7 @@ public class EigenDecomposition { // Scale column. - final Vector hColumn = hessenBerg.viewColumn(m - 1).viewPart(m, high - m + 1); + Vector hColumn = hessenBerg.viewColumn(m - 1).viewPart(m, high - m + 1); double scale = hColumn.norm(1); if (scale != 0.0) { @@ -386,7 +377,7 @@ public class EigenDecomposition { if (ort.getQuick(m) > 0) { g = -g; } - h = h - ort.getQuick(m) * g; + h -= ort.getQuick(m) * g; ort.setQuick(m, ort.getQuick(m) - g); // Apply Householder similarity transformation @@ -418,7 +409,7 @@ public class EigenDecomposition { for (int j = m; j <= high; j++) { double g = ort.viewPart(m, high - m + 1).dot(v.viewColumn(j).viewPart(m, high - m + 1)); // Double division avoids possible underflow - g = (g / ort.getQuick(m)) / hessenBerg.getQuick(m, m - 1); + g = g / ort.getQuick(m) / hessenBerg.getQuick(m, m - 1); v.viewColumn(j).viewPart(m, high - m + 1).assign(ort.viewPart(m, high - m + 1), Functions.plusMult(g)); } } @@ -428,8 +419,8 @@ public class EigenDecomposition { // Complex scalar division. - private transient double cdivr; - private transient double cdivi; + private double cdivr; + private double cdivi; private void cdiv(double xr, double xi, double yr, double yi) { double r; @@ -459,13 +450,20 @@ public class EigenDecomposition { // Initialize - final int nn = this.n; + int nn = this.n; int n = nn - 1; - final int low = 0; - final int high = nn - 1; + int low = 0; + int high = nn - 1; double eps = Math.pow(2.0, -52.0); double exshift = 0.0; - double p = 0, q = 0, r = 0, s = 0, z = 0, t, w, x, y; + double p = 0; + double q = 0; + double r = 0; + double s = 0; + double z = 0; + double w; + double x; + double y; // Store roots isolated by balanc and compute matrix norm @@ -530,8 +528,8 @@ public class EigenDecomposition { p = x / s; q = z / s; r = Math.sqrt(p * p + q * q); - p = p / r; - q = q / r; + p /= r; + q /= r; // Row modification @@ -565,7 +563,7 @@ public class EigenDecomposition { e.setQuick(n - 1, z); e.setQuick(n, -z); } - n = n - 2; + n -= 2; iter = 0; // No convergence yet @@ -613,7 +611,7 @@ public class EigenDecomposition { } } - iter = iter + 1; // (Could check iteration count here.) + iter++; // (Could check iteration count here.) // Look for two consecutive small sub-diagonal elements @@ -626,14 +624,14 @@ public class EigenDecomposition { q = h.getQuick(m + 1, m + 1) - z - r - s; r = h.getQuick(m + 2, m + 1); s = Math.abs(p) + Math.abs(q) + Math.abs(r); - p = p / s; - q = q / s; - r = r / s; + p /= s; + q /= s; + r /= s; if (m == l) { break; } - final double hmag = Math.abs(h.getQuick(m - 1, m - 1)) + Math.abs(h.getQuick(m + 1, m + 1)); - final double threshold = eps * Math.abs(p) * (Math.abs(z) + hmag); + double hmag = Math.abs(h.getQuick(m - 1, m - 1)) + Math.abs(h.getQuick(m + 1, m + 1)); + double threshold = eps * Math.abs(p) * (Math.abs(z) + hmag); if (Math.abs(h.getQuick(m, m - 1)) * (Math.abs(q) + Math.abs(r)) < threshold) { break; } @@ -657,9 +655,9 @@ public class EigenDecomposition { r = notlast ? h.getQuick(k + 2, k - 1) : 0.0; x = Math.abs(p) + Math.abs(q) + Math.abs(r); if (x != 0.0) { - p = p / x; - q = q / x; - r = r / x; + p /= x; + q /= x; + r /= x; } } if (x == 0.0) { @@ -675,19 +673,19 @@ public class EigenDecomposition { } else if (l != m) { h.setQuick(k, k - 1, -h.getQuick(k, k - 1)); } - p = p + s; + p += s; x = p / s; y = q / s; z = r / s; - q = q / p; - r = r / p; + q /= p; + r /= p; // Row modification for (int j = k; j < nn; j++) { p = h.getQuick(k, j) + q * h.getQuick(k + 1, j); if (notlast) { - p = p + r * h.getQuick(k + 2, j); + p += r * h.getQuick(k + 2, j); h.setQuick(k + 2, j, h.getQuick(k + 2, j) - p * z); } h.setQuick(k, j, h.getQuick(k, j) - p * x); @@ -699,7 +697,7 @@ public class EigenDecomposition { for (int i = 0; i <= Math.min(n, k + 3); i++) { p = x * h.getQuick(i, k) + y * h.getQuick(i, k + 1); if (notlast) { - p = p + z * h.getQuick(i, k + 2); + p += z * h.getQuick(i, k + 2); h.setQuick(i, k + 2, h.getQuick(i, k + 2) - p * r); } h.setQuick(i, k, h.getQuick(i, k) - p); @@ -711,7 +709,7 @@ public class EigenDecomposition { for (int i = low; i <= high; i++) { p = x * v.getQuick(i, k) + y * v.getQuick(i, k + 1); if (notlast) { - p = p + z * v.getQuick(i, k + 2); + p += z * v.getQuick(i, k + 2); v.setQuick(i, k + 2, v.getQuick(i, k + 2) - p * r); } v.setQuick(i, k, v.getQuick(i, k) - p); @@ -734,6 +732,7 @@ public class EigenDecomposition { // Real vector + double t; if (q == 0) { int l = n; h.setQuick(n, n, 1.0); @@ -741,7 +740,7 @@ public class EigenDecomposition { w = h.getQuick(i, i) - p; r = 0.0; for (int j = l; j <= n; j++) { - r = r + h.getQuick(i, j) * h.getQuick(j, n); + r += h.getQuick(i, j) * h.getQuick(j, n); } if (e.getQuick(i) < 0.0) { z = w; @@ -749,10 +748,10 @@ public class EigenDecomposition { } else { l = i; if (e.getQuick(i) == 0.0) { - if (w != 0.0) { - h.setQuick(i, n, -r / w); - } else { + if (w == 0.0) { h.setQuick(i, n, -r / (eps * norm)); + } else { + h.setQuick(i, n, -r / w); } // Solve real equations @@ -773,7 +772,7 @@ public class EigenDecomposition { // Overflow control t = Math.abs(h.getQuick(i, n)); - if ((eps * t) * t > 1) { + if (eps * t * t > 1) { for (int j = i; j <= n; j++) { h.setQuick(j, n, h.getQuick(j, n) / t); } @@ -799,12 +798,11 @@ public class EigenDecomposition { h.setQuick(n, n - 1, 0.0); h.setQuick(n, n, 1.0); for (int i = n - 2; i >= 0; i--) { - double ra, sa, vr, vi; - ra = 0.0; - sa = 0.0; + double ra = 0.0; + double sa = 0.0; for (int j = l; j <= n; j++) { - ra = ra + h.getQuick(i, j) * h.getQuick(j, n - 1); - sa = sa + h.getQuick(i, j) * h.getQuick(j, n); + ra += h.getQuick(i, j) * h.getQuick(j, n - 1); + sa += h.getQuick(i, j) * h.getQuick(j, n); } w = h.getQuick(i, i) - p; @@ -824,10 +822,10 @@ public class EigenDecomposition { x = h.getQuick(i, i + 1); y = h.getQuick(i + 1, i); - vr = (d.getQuick(i) - p) * (d.getQuick(i) - p) + e.getQuick(i) * e.getQuick(i) - q * q; - vi = (d.getQuick(i) - p) * 2.0 * q; - if (vr == 0.0 & vi == 0.0) { - final double hmag = Math.abs(x) + Math.abs(y); + double vr = (d.getQuick(i) - p) * (d.getQuick(i) - p) + e.getQuick(i) * e.getQuick(i) - q * q; + double vi = (d.getQuick(i) - p) * 2.0 * q; + if (vr == 0.0 && vi == 0.0) { + double hmag = Math.abs(x) + Math.abs(y); vr = eps * norm * (Math.abs(w) + Math.abs(q) + hmag + Math.abs(z)); } cdiv(x * r - z * ra + q * sa, x * s - z * sa - q * ra, vr, vi); @@ -846,7 +844,7 @@ public class EigenDecomposition { // Overflow control t = Math.max(Math.abs(h.getQuick(i, n - 1)), Math.abs(h.getQuick(i, n))); - if ((eps * t) * t > 1) { + if (eps * t * t > 1) { for (int j = i; j <= n; j++) { h.setQuick(j, n - 1, h.getQuick(j, n - 1) / t); h.setQuick(j, n, h.getQuick(j, n) / t); @@ -873,7 +871,7 @@ public class EigenDecomposition { for (int i = low; i <= high; i++) { z = 0.0; for (int k = low; k <= Math.min(j, high); k++) { - z = z + v.getQuick(i, k) * h.getQuick(k, j); + z += v.getQuick(i, k) * h.getQuick(k, j); } v.setQuick(i, j, z); } @@ -887,8 +885,8 @@ public class EigenDecomposition { int n = a.columnSize(); boolean isSymmetric = true; - for (int j = 0; (j < n) & isSymmetric; j++) { - for (int i = 0; (i < n) & isSymmetric; i++) { + for (int j = 0; (j < n) && isSymmetric; j++) { + for (int i = 0; (i < n) && isSymmetric; i++) { isSymmetric = a.getQuick(i, j) == a.getQuick(j, i); } }
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/LSMR.java URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/LSMR.java?rev=1352052&r1=1352051&r2=1352052&view=diff ============================================================================== --- mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/LSMR.java (original) +++ mahout/trunk/math/src/main/java/org/apache/mahout/math/solver/LSMR.java Wed Jun 20 12:07:50 2012 @@ -561,10 +561,6 @@ public class LSMR { this.localSize = localSize; } - private void setLambda(double lambda) { - this.lambda = lambda; - } - public double getLambda() { return lambda; } Modified: mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java?rev=1352052&r1=1352051&r2=1352052&view=diff ============================================================================== --- mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java (original) +++ mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java Wed Jun 20 12:07:50 2012 @@ -26,9 +26,6 @@ import java.util.Map; public final class TestMatrixView extends MahoutTestCase { - private static final int ROW = AbstractMatrix.ROW; - private static final int COL = AbstractMatrix.COL; - private final double[][] values = {{0.0, 1.1, 2.2}, {1.1, 2.2, 3.3}, {3.3, 4.4, 5.5}, {5.5, 6.6, 7.7}, {7.7, 8.8, 9.9}}; Modified: mahout/trunk/math/src/test/java/org/apache/mahout/math/als/AlternatingLeastSquaresSolverTest.java URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/als/AlternatingLeastSquaresSolverTest.java?rev=1352052&r1=1352051&r2=1352052&view=diff ============================================================================== --- mahout/trunk/math/src/test/java/org/apache/mahout/math/als/AlternatingLeastSquaresSolverTest.java (original) +++ mahout/trunk/math/src/test/java/org/apache/mahout/math/als/AlternatingLeastSquaresSolverTest.java Wed Jun 20 12:07:50 2012 @@ -24,29 +24,19 @@ import org.apache.mahout.math.RandomAcce import org.apache.mahout.math.SequentialAccessSparseVector; import org.apache.mahout.math.SparseMatrix; import org.apache.mahout.math.Vector; -import org.junit.Before; import org.junit.Test; import java.util.Arrays; public class AlternatingLeastSquaresSolverTest extends MahoutTestCase { - private AlternatingLeastSquaresSolver solver; - - @Override - @Before - public void setUp() throws Exception { - super.setUp(); - solver = new AlternatingLeastSquaresSolver(); - } - @Test public void addLambdaTimesNuiTimesE() { int nui = 5; double lambda = 0.2; Matrix matrix = new SparseMatrix(5, 5); - solver.addLambdaTimesNuiTimesE(matrix, lambda, nui); + AlternatingLeastSquaresSolver.addLambdaTimesNuiTimesE(matrix, lambda, nui); for (int n = 0; n < 5; n++) { assertEquals(1.0, matrix.getQuick(n, n), EPSILON); @@ -58,7 +48,7 @@ public class AlternatingLeastSquaresSolv Vector f1 = new DenseVector(new double[] { 1, 2, 3 }); Vector f2 = new DenseVector(new double[] { 4, 5, 6 }); - Matrix miIi = solver.createMiIi(Arrays.asList(f1, f2), 3); + Matrix miIi = AlternatingLeastSquaresSolver.createMiIi(Arrays.asList(f1, f2), 3); assertEquals(1.0, miIi.getQuick(0, 0), EPSILON); assertEquals(2.0, miIi.getQuick(1, 0), EPSILON); @@ -75,7 +65,7 @@ public class AlternatingLeastSquaresSolv ratings.setQuick(3, 3.0); ratings.setQuick(5, 5.0); - Matrix riIiMaybeTransposed = solver.createRiIiMaybeTransposed(ratings); + Matrix riIiMaybeTransposed = AlternatingLeastSquaresSolver.createRiIiMaybeTransposed(ratings); assertEquals(1, riIiMaybeTransposed.numCols(), 1); assertEquals(3, riIiMaybeTransposed.numRows(), 3); @@ -92,7 +82,7 @@ public class AlternatingLeastSquaresSolv ratings.setQuick(5, 5.0); try { - solver.createRiIiMaybeTransposed(ratings); + AlternatingLeastSquaresSolver.createRiIiMaybeTransposed(ratings); fail(); } catch (IllegalArgumentException e) {} } Modified: mahout/trunk/math/src/test/java/org/apache/mahout/math/solver/EigenDecompositionTest.java URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/test/java/org/apache/mahout/math/solver/EigenDecompositionTest.java?rev=1352052&r1=1352051&r2=1352052&view=diff ============================================================================== --- mahout/trunk/math/src/test/java/org/apache/mahout/math/solver/EigenDecompositionTest.java (original) +++ mahout/trunk/math/src/test/java/org/apache/mahout/math/solver/EigenDecompositionTest.java Wed Jun 20 12:07:50 2012 @@ -24,16 +24,15 @@ import org.apache.mahout.math.MatrixSlic import org.apache.mahout.math.Vector; import org.apache.mahout.math.function.DoubleFunction; import org.apache.mahout.math.function.Functions; +import org.junit.Assert; import org.junit.Test; import java.util.Random; -import static org.junit.Assert.assertEquals; - public class EigenDecompositionTest { @Test public void testDegenerateMatrix() { - double[][] m = new double[][]{ + double[][] m = { new double[]{0.641284, 0.767303, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}, new double[]{0.767303, 3.050159, 2.561342, 0.000000, 0.000000, 0.000000, 0.000000}, new double[]{0.000000, 2.561342, 5.000609, 0.810507, 0.000000, 0.000000, 0.000000}, @@ -51,8 +50,7 @@ public class EigenDecompositionTest { @Test public void testDeficientRank() { Matrix a = new DenseMatrix(10, 3).assign(new DoubleFunction() { - Random gen = RandomUtils.getRandom(); - + private final Random gen = RandomUtils.getRandom(); @Override public double apply(double arg1) { return gen.nextGaussian(); @@ -66,17 +64,17 @@ public class EigenDecompositionTest { Matrix v = eig.getV(); check("EigenvalueDecomposition (rank deficient)...", a.times(v), v.times(d)); - assertEquals(0, eig.getImagEigenvalues().norm(1), 1e-10); - assertEquals(3, eig.getRealEigenvalues().norm(0), 1e-10); + Assert.assertEquals(0, eig.getImagEigenvalues().norm(1), 1.0e-10); + Assert.assertEquals(3, eig.getRealEigenvalues().norm(0), 1.0e-10); } @Test public void testEigen() { double[] evals = - {0., 1., 0., 0., - 1., 0., 2.e-7, 0., - 0., -2.e-7, 0., 1., - 0., 0., 1., 0.}; + {0.0, 1.0, 0.0, 0.0, + 1.0, 0.0, 2.0e-7, 0.0, + 0.0, -2.0e-7, 0.0, 1.0, + 0.0, 0.0, 1.0, 0.0}; int i = 0; Matrix a = new DenseMatrix(4, 4); for (MatrixSlice row : a) { @@ -94,7 +92,7 @@ public class EigenDecompositionTest { public void testSequential() { int validld = 3; Matrix A = new DenseMatrix(validld, validld); - double[] columnwise = {1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.}; + double[] columnwise = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0}; int i = 0; for (MatrixSlice row : A) { for (Vector.Element element : row.vector()) { @@ -115,8 +113,8 @@ public class EigenDecompositionTest { } - private void check(String msg, Matrix a, Matrix b) { - assertEquals(msg, 0, a.minus(b).aggregate(Functions.PLUS, Functions.ABS), 1e-10); + private static void check(String msg, Matrix a, Matrix b) { + Assert.assertEquals(msg, 0, a.minus(b).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10); } } Modified: mahout/trunk/pom.xml URL: http://svn.apache.org/viewvc/mahout/trunk/pom.xml?rev=1352052&r1=1352051&r2=1352052&view=diff ============================================================================== --- mahout/trunk/pom.xml (original) +++ mahout/trunk/pom.xml Wed Jun 20 12:07:50 2012 @@ -178,13 +178,13 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.8.2</version> + <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> - <version>3.0</version> + <version>3.1</version> <scope>test</scope> </dependency> @@ -356,12 +356,12 @@ <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> - <version>1.8.2</version> + <version>1.8.8</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> - <version>1.8.2</version> + <version>1.8.8</version> </dependency> <dependency> @@ -373,18 +373,18 @@ <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> - <version>1.5.6</version> + <version>1.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <version>1.6.1</version> + <version>1.6.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jcl</artifactId> - <version>1.6.1</version> + <version>1.6.6</version> <scope>test</scope> </dependency> @@ -415,13 +415,13 @@ <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> - <version>1.3.1</version> + <version>1.4.2</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> - <version>r09</version> + <version>12.0</version> </dependency> <dependency> @@ -459,22 +459,22 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>2.8</version> + <version>2.8.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> - <version>1.6</version> + <version>1.7</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> - <version>2.2</version> + <version>2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> - <version>2.3.1</version> + <version>2.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -484,12 +484,12 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> - <version>2.4.3</version> + <version>2.5</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> - <version>2.8</version> + <version>2.9</version> <configuration> <outputDirectory>${eclipse.outputDirectory}</outputDirectory> <buildcommands> @@ -529,7 +529,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> - <version>2.1</version> + <version>2.3.1</version> <configuration> <useReleaseProfile>true</useReleaseProfile> <releaseProfiles>release,mahout_release</releaseProfiles> @@ -542,7 +542,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> + <version>2.4</version> <configuration> <encoding>UTF-8</encoding> <source>1.6</source> @@ -553,7 +553,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.6</version> + <version>2.9.1</version> <dependencies> <dependency> <groupId>org.apache.mahout</groupId> @@ -586,7 +586,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <version>2.5</version> + <version>2.7.1</version> <dependencies> <dependency> <groupId>org.apache.mahout</groupId> @@ -620,12 +620,12 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> - <version>2.8.1</version> + <version>2.12</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> - <version>1.1</version> + <version>1.3</version> <configuration> <skipTests>${skipTests}</skipTests> <appendedResourcesDirectory>./src/main/appended-resources</appendedResourcesDirectory> @@ -666,15 +666,14 @@ <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> - <version>2.6.3</version> + <version>3.1.4</version> </plugin> </plugins> - <resources> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - </resource> + <resource> + <directory>src/main/resources</directory> + <filtering>true</filtering> + </resource> </resources> </build> <modules> @@ -723,6 +722,7 @@ <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> + <version>2.1.2</version> <executions> <execution> <id>attach-sources</id> @@ -736,6 +736,7 @@ <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> + <version>2.8.1</version> <executions> <execution> <id>attach-javadocs</id> @@ -749,7 +750,7 @@ <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> - <version>1.1</version> + <version>1.4</version> <executions> <execution> <goals> @@ -768,6 +769,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> + <version>2.4</version> <configuration> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> @@ -777,10 +779,12 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.9.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> + <version>2.7.1</version> </plugin> </plugins> </build> @@ -799,7 +803,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> - <version>2.8</version> + <version>2.9</version> <executions> <execution> <id>setup.eclipse.project</id> @@ -831,13 +835,13 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> - <version>2.8.1</version> + <version>2.12</version> </plugin> <!-- checkstyle --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.6</version> + <version>2.9.1</version> <configuration> <configLocation>${project.build.directory}/../../buildtools/src/main/resources/mahout-checkstyle.xml</configLocation> <consoleOutput>true</consoleOutput> @@ -847,7 +851,7 @@ <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> - <version>2.6.3</version> + <version>3.1.4</version> <configuration> <generateHistorical>true</generateHistorical> <licenseLocation>buildtools/clover.license</licenseLocation> @@ -860,13 +864,13 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>2.7</version> + <version>2.8.1</version> </plugin> <!-- code duplication - copy and paste detection --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <version>2.5</version> + <version>2.7.1</version> <configuration> <rulesets> <ruleset>../buildtools/src/main/resources/mahout-pmd-ruleset.xml</ruleset> @@ -894,7 +898,7 @@ <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> - <version>2.3.1</version> + <version>2.5</version> <configuration> <xmlOutput>true</xmlOutput> <xmlOutputDirectory>target/findbugs</xmlOutputDirectory> @@ -911,7 +915,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> - <version>2.4</version> + <version>2.7.1</version> <configuration> <onlyCurrentVersion>true</onlyCurrentVersion> <columnNames>Type,Key,Summary,Status,Resolution,Assignee</columnNames> @@ -928,17 +932,17 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> - <version>2.6</version> + <version>2.12</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>2.8</version> + <version>2.8.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.3.1</version> + <version>2.4</version> <reportSets> <reportSet> <reports> @@ -953,7 +957,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <version>2.5</version> + <version>2.7.1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId>
