You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2016/08/26 18:24:19 UTC
[2/3] accumulo git commit: ACCUMULO-3948 Prevent test jar from being
deployed
ACCUMULO-3948 Prevent test jar from being deployed
Use maven-assembly-plugin to create test jar instead of
maven-jar-plugin, which attaches the jar for deployment.
Moves creation of the plugin to earlier phase of the build
(ACCUMULO-4058).
Prefer the use of the maven build directory over the system temp
directory for temporary files.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/b08c4b91
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/b08c4b91
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/b08c4b91
Branch: refs/heads/master
Commit: b08c4b9116f201148af22f69e7c3022c0c597e4b
Parents: d7c50d1
Author: Christopher Tubbs <ct...@apache.org>
Authored: Fri Aug 26 14:20:45 2016 -0400
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Fri Aug 26 14:20:45 2016 -0400
----------------------------------------------------------------------
test/pom.xml | 40 ++++++-------
.../org/apache/accumulo/test/ShellServerIT.java | 14 +++--
.../test/functional/ScannerContextIT.java | 59 +++++++-------------
test/src/main/test-jars/Iterators.xml | 36 ++++++++++++
4 files changed, 84 insertions(+), 65 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/b08c4b91/test/pom.xml
----------------------------------------------------------------------
diff --git a/test/pom.xml b/test/pom.xml
index 92aeeaf..422543a 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -239,26 +239,6 @@
</systemPropertyVariables>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <id>create-iterator-test-jar</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- <phase>pre-integration-test</phase>
- <configuration>
- <finalName>TestIterators</finalName>
- <classifier />
- <includes>
- <include>org/apache/accumulo/test/functional/ValueReversingIterator.class</include>
- </includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
</plugins>
</pluginManagement>
<plugins>
@@ -282,6 +262,26 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>create-iterator-test-jar</id>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <attach>false</attach>
+ <finalName>TestJar</finalName>
+ <descriptors>
+ <descriptor>src/main/test-jars/Iterators.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<profiles>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/b08c4b91/test/src/main/java/org/apache/accumulo/test/ShellServerIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/ShellServerIT.java b/test/src/main/java/org/apache/accumulo/test/ShellServerIT.java
index 8db0185..6746198 100644
--- a/test/src/main/java/org/apache/accumulo/test/ShellServerIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ShellServerIT.java
@@ -64,8 +64,8 @@ import org.apache.accumulo.core.metadata.MetadataTable;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.util.format.Formatter;
import org.apache.accumulo.core.util.format.FormatterConfig;
-import org.apache.accumulo.harness.SharedMiniClusterBase;
import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
+import org.apache.accumulo.harness.SharedMiniClusterBase;
import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
import org.apache.accumulo.shell.Shell;
import org.apache.accumulo.test.functional.SlowIterator;
@@ -1790,22 +1790,24 @@ public class ShellServerIT extends SharedMiniClusterBase {
}
private static final String FAKE_CONTEXT = "FAKE";
- private static final String FAKE_CONTEXT_CLASSPATH = "file:///tmp/ShellServerIT-iterators.jar";
+ private static final String FAKE_CONTEXT_CLASSPATH = "file://" + System.getProperty("user.dir") + "/target/" + ShellServerIT.class.getSimpleName()
+ + "-fake-iterators.jar";
private static final String REAL_CONTEXT = "REAL";
- private static final String REAL_CONTEXT_CLASSPATH = "file:///tmp/TestIterators-tests.jar";
+ private static final String REAL_CONTEXT_CLASSPATH = "file://" + System.getProperty("user.dir") + "/target/" + ShellServerIT.class.getSimpleName()
+ + "-real-iterators.jar";
private void setupRealContextPath() throws Exception {
- // Copy the TestIterators jar to tmp
+ // Copy the test iterators jar to tmp
Path baseDir = new Path(System.getProperty("user.dir"));
Path targetDir = new Path(baseDir, "target");
- Path jarPath = new Path(targetDir, "TestIterators-tests.jar");
+ Path jarPath = new Path(targetDir, "TestJar-Iterators.jar");
Path dstPath = new Path(REAL_CONTEXT_CLASSPATH);
FileSystem fs = SharedMiniClusterBase.getCluster().getFileSystem();
fs.copyFromLocalFile(jarPath, dstPath);
}
private void setupFakeContextPath() throws Exception {
- // Copy the TestIterators jar to tmp
+ // Copy the test iterators jar to tmp
Path baseDir = new Path(System.getProperty("user.dir"));
Path targetDir = new Path(baseDir, "target");
Path classesDir = new Path(targetDir, "classes");
http://git-wip-us.apache.org/repos/asf/accumulo/blob/b08c4b91/test/src/main/java/org/apache/accumulo/test/functional/ScannerContextIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/ScannerContextIT.java b/test/src/main/java/org/apache/accumulo/test/functional/ScannerContextIT.java
index 91c066f..579881e 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/ScannerContextIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/ScannerContextIT.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import java.io.IOException;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map.Entry;
@@ -52,7 +53,7 @@ public class ScannerContextIT extends AccumuloClusterHarness {
private static final String CONTEXT = ScannerContextIT.class.getSimpleName();
private static final String CONTEXT_PROPERTY = Property.VFS_CONTEXT_CLASSPATH_PROPERTY + CONTEXT;
- private static final String CONTEXT_DIR = "file:///tmp";
+ private static final String CONTEXT_DIR = "file://" + System.getProperty("user.dir") + "/target";
private static final String CONTEXT_CLASSPATH = CONTEXT_DIR + "/Test.jar";
private static int ITERATIONS = 10;
private static final long WAIT = 7000;
@@ -71,20 +72,24 @@ public class ScannerContextIT extends AccumuloClusterHarness {
fs = FileSystem.get(CachedConfiguration.getInstance());
}
- @Test
- public void test() throws Exception {
- // Copy the TestIterators jar to tmp
+ private Path copyTestIteratorsJarToTmp() throws IOException {
+ // Copy the test iterators jar to tmp
Path baseDir = new Path(System.getProperty("user.dir"));
Path targetDir = new Path(baseDir, "target");
- Path jarPath = new Path(targetDir, "TestIterators-tests.jar");
+ Path jarPath = new Path(targetDir, "TestJar-Iterators.jar");
Path dstPath = new Path(CONTEXT_DIR + "/Test.jar");
fs.copyFromLocalFile(jarPath, dstPath);
// Sleep to ensure jar change gets picked up
UtilWaitThread.sleep(WAIT);
+ return dstPath;
+ }
+ @Test
+ public void test() throws Exception {
+ Path dstPath = copyTestIteratorsJarToTmp();
try {
Connector c = getConnector();
- // Set the classloader context property on the table to point to the TestIterators jar file.
+ // Set the classloader context property on the table to point to the test iterators jar file.
c.instanceOperations().setProperty(CONTEXT_PROPERTY, CONTEXT_CLASSPATH);
// Insert rows with the word "Test" in the value.
@@ -101,7 +106,7 @@ public class ScannerContextIT extends AccumuloClusterHarness {
scanCheck(c, tableName, null, null, "Test");
batchCheck(c, tableName, null, null, "Test");
- // This iterator is in the TestIterators jar file
+ // This iterator is in the test iterators jar file
IteratorSetting cfg = new IteratorSetting(21, "reverse", "org.apache.accumulo.test.functional.ValueReversingIterator");
// Check that ValueReversingIterator is not already on the classpath by not setting the context. This should fail.
@@ -129,22 +134,14 @@ public class ScannerContextIT extends AccumuloClusterHarness {
@Test
public void testScanContextOverridesTableContext() throws Exception {
- // Copy the TestIterators jar to tmp
- Path baseDir = new Path(System.getProperty("user.dir"));
- Path targetDir = new Path(baseDir, "target");
- Path jarPath = new Path(targetDir, "TestIterators-tests.jar");
- Path dstPath = new Path(CONTEXT_DIR + "/Test.jar");
- fs.copyFromLocalFile(jarPath, dstPath);
- // Sleep to ensure jar change gets picked up
- UtilWaitThread.sleep(WAIT);
-
+ Path dstPath = copyTestIteratorsJarToTmp();
try {
Connector c = getConnector();
// Create two contexts FOO and ScanContextIT. The FOO context will point to a classpath
- // that contains nothing. The ScanContextIT context will point to the TestIterators.jar
+ // that contains nothing. The ScanContextIT context will point to the test iterators jar
String tableContext = "FOO";
String tableContextProperty = Property.VFS_CONTEXT_CLASSPATH_PROPERTY + tableContext;
- String tableContextDir = "file:///tmp";
+ String tableContextDir = "file://" + System.getProperty("user.dir") + "/target";
String tableContextClasspath = tableContextDir + "/TestFoo.jar";
// Define both contexts
c.instanceOperations().setProperty(tableContextProperty, tableContextClasspath);
@@ -163,7 +160,7 @@ public class ScannerContextIT extends AccumuloClusterHarness {
bw.close();
scanCheck(c, tableName, null, null, "Test");
batchCheck(c, tableName, null, null, "Test");
- // This iterator is in the TestIterators jar file
+ // This iterator is in the test iterators jar file
IteratorSetting cfg = new IteratorSetting(21, "reverse", "org.apache.accumulo.test.functional.ValueReversingIterator");
// Check that ValueReversingIterator is not already on the classpath by not setting the context. This should fail.
@@ -192,18 +189,10 @@ public class ScannerContextIT extends AccumuloClusterHarness {
@Test
public void testOneScannerDoesntInterfereWithAnother() throws Exception {
- // Copy the TestIterators jar to tmp
- Path baseDir = new Path(System.getProperty("user.dir"));
- Path targetDir = new Path(baseDir, "target");
- Path jarPath = new Path(targetDir, "TestIterators-tests.jar");
- Path dstPath = new Path(CONTEXT_DIR + "/Test.jar");
- fs.copyFromLocalFile(jarPath, dstPath);
- // Sleep to ensure jar change gets picked up
- UtilWaitThread.sleep(WAIT);
-
+ Path dstPath = copyTestIteratorsJarToTmp();
try {
Connector c = getConnector();
- // Set the classloader context property on the table to point to the TestIterators jar file.
+ // Set the classloader context property on the table to point to the test iterators jar file.
c.instanceOperations().setProperty(CONTEXT_PROPERTY, CONTEXT_CLASSPATH);
// Insert rows with the word "Test" in the value.
@@ -247,18 +236,10 @@ public class ScannerContextIT extends AccumuloClusterHarness {
@Test
public void testClearContext() throws Exception {
- // Copy the TestIterators jar to tmp
- Path baseDir = new Path(System.getProperty("user.dir"));
- Path targetDir = new Path(baseDir, "target");
- Path jarPath = new Path(targetDir, "TestIterators-tests.jar");
- Path dstPath = new Path(CONTEXT_DIR + "/Test.jar");
- fs.copyFromLocalFile(jarPath, dstPath);
- // Sleep to ensure jar change gets picked up
- UtilWaitThread.sleep(WAIT);
-
+ Path dstPath = copyTestIteratorsJarToTmp();
try {
Connector c = getConnector();
- // Set the classloader context property on the table to point to the TestIterators jar file.
+ // Set the classloader context property on the table to point to the test iterators jar file.
c.instanceOperations().setProperty(CONTEXT_PROPERTY, CONTEXT_CLASSPATH);
// Insert rows with the word "Test" in the value.
http://git-wip-us.apache.org/repos/asf/accumulo/blob/b08c4b91/test/src/main/test-jars/Iterators.xml
----------------------------------------------------------------------
diff --git a/test/src/main/test-jars/Iterators.xml b/test/src/main/test-jars/Iterators.xml
new file mode 100644
index 0000000..f074720
--- /dev/null
+++ b/test/src/main/test-jars/Iterators.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>Iterators</id>
+ <formats>
+ <format>jar</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>${project.build.directory}/test-classes</directory>
+ <outputDirectory>./</outputDirectory>
+ <directoryMode>0755</directoryMode>
+ <fileMode>0644</fileMode>
+ <includes>
+ <include>**/ValueReversingIterator.class</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</assembly>