diff --git a/build-shaded-dtest-jar.sh b/build-shaded-dtest-jar.sh new file mode 100755 index 0000000000..efedcaa080 --- /dev/null +++ b/build-shaded-dtest-jar.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +set -xe + +# Cassandra version that is specified in build.xml +CASSANDRA_VERSION=$1 +# In-JVM dtest version that is specified in relocate-dependencies.pom +DTEST_VERSION=$2 +ARTIFACT_NAME=cassandra-dtest +REPO_DIR=~/.m2/repository + +ant clean +ant dtest-jar + +# Install the version that will be shaded +mvn install:install-file \ + -Dfile=./build/dtest-${CASSANDRA_VERSION}.jar \ + -DgroupId=org.apache.cassandra \ + -DartifactId=${ARTIFACT_NAME}-local \ + -Dversion=${DTEST_VERSION} \ + -Dpackaging=jar \ + -DgeneratePom=true \ + -DlocalRepositoryPath=${REPO_DIR} + +# Create shaded artifact +mvn -f relocate-dependencies.pom package -DskipTests -nsu + +# Deploy shaded artifact +mvn install:install-file \ + -Dfile=./target/${ARTIFACT_NAME}-shaded-${DTEST_VERSION}.jar \ + -DgroupId=org.apache.cassandra \ + -DartifactId=${ARTIFACT_NAME}-shaded \ + -Dversion=${DTEST_VERSION} \ + -Dpackaging=jar \ + -DgeneratePom=true \ + -DlocalRepositoryPath=${REPO_DIR} + +set +xe diff --git a/build.xml b/build.xml index e77dd0b988..8c9c49dfe4 100644 --- a/build.xml +++ b/build.xml @@ -583,7 +583,7 @@ - + diff --git a/lib/snakeyaml-1.11.jar b/lib/snakeyaml-1.11.jar deleted file mode 100644 index 3e237cd29b..0000000000 Binary files a/lib/snakeyaml-1.11.jar and /dev/null differ diff --git a/lib/snakeyaml-1.23.jar b/lib/snakeyaml-1.23.jar new file mode 100644 index 0000000000..adcef4f72c Binary files /dev/null and b/lib/snakeyaml-1.23.jar differ diff --git a/relocate-dependencies.pom b/relocate-dependencies.pom new file mode 100644 index 0000000000..0e5eabc963 --- /dev/null +++ b/relocate-dependencies.pom @@ -0,0 +1,132 @@ + + 4.0.0 + + org.apache.cassandra + cassandra-dtest-shaded + 4.0.1-SNAPSHOT + jar + + Cassandra in-jvm dtests shaded jar + + + library + 1.8 + src/test/unit/java + UTF-8 + UTF-8 + + 4.12 + ${java.version} + ${java.version} + + + + + + org.apache.cassandra + cassandra-dtest-local + 4.0.0-SNAPSHOT + + + + junit + junit + ${junit.version} + test + + + + + + ${test.source.directory} + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.1 + + + false + + + + org.apache.cassandra:cassandra-dtest-local + + + + + + io.netty + relocated.shaded.io.netty + + + + com.google + relocated.shaded.com.google + + + + com.datastax + relocated.shaded.com.datastax + + + + + + *:* + + **/Log4j2Plugins.dat + + + + + io.netty:netty-* + + META-INF/maven/ + META-INF/io.netty.versions.properties + + + + + com.google.guava:guava + + META-INF/maven/ + + + + + com.google.guava:failureaccess + + META-INF/maven/ + + + + + com.datastax.cassandra:cassandra-driver-core + + META-INF/maven/ + + + + + + + + + package + + shade + + + + + + + + + + + diff --git a/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java b/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java index ca5e41a926..08dfd4c978 100644 --- a/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java +++ b/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java @@ -22,7 +22,9 @@ import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.lang.annotation.Annotation; import java.net.URL; +import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -146,11 +148,12 @@ public class YamlConfigurationLoader implements ConfigurationLoader @Override protected List createDefaultList(int initSize) { + return Lists.newCopyOnWriteArrayList(); } @Override - protected Map createDefaultMap() + protected Map createDefaultMap(int initSize) { return Maps.newConcurrentMap(); } @@ -160,12 +163,6 @@ public class YamlConfigurationLoader implements ConfigurationLoader { return Sets.newConcurrentHashSet(); } - - @Override - protected Set createDefaultSet() - { - return Sets.newConcurrentHashSet(); - } } private Config loadConfig(Yaml yaml, byte[] configBytes) @@ -192,7 +189,7 @@ public class YamlConfigurationLoader implements ConfigurationLoader } @Override - public Property getProperty(Class type, String name) throws IntrospectionException + public Property getProperty(Class type, String name) { final Property result = super.getProperty(type, name); @@ -224,6 +221,16 @@ public class YamlConfigurationLoader implements ConfigurationLoader { return result.get(object); } + + public List getAnnotations() + { + return Collections.EMPTY_LIST; + } + + public A getAnnotation(Class aClass) + { + return null; + } }; }