diff --git a/bin/kcl-bootstrap b/bin/kcl-bootstrap index 1716c29f..70a2596e 100755 --- a/bin/kcl-bootstrap +++ b/bin/kcl-bootstrap @@ -19,6 +19,7 @@ permissions and limitations under the License. var fs = require('fs'); +var fsExtra = require('fs-extra'); var http = require('http'); var https = require('https'); var path = require('path'); @@ -29,24 +30,27 @@ var util = require('util'); var MAVEN_PACKAGE_LIST = [ - getMavenPackageInfo('commons-codec', 'commons-codec', '1.3'), - getMavenPackageInfo('joda-time', 'joda-time', '2.4'), - getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-dynamodb', '1.10.22'), - getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-kinesis', '1.10.22'), - getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-cloudwatch', '1.10.22'), - getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-cloudwatchmetrics', '1.10.22'), - getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-core', '1.10.22'), - getMavenPackageInfo('com.fasterxml.jackson.core', 'jackson-databind', '2.1.1'), - getMavenPackageInfo('commons-logging', 'commons-logging', '1.1.1'), - getMavenPackageInfo('com.amazonaws', 'amazon-kinesis-client', '1.6.1'), - getMavenPackageInfo('com.fasterxml.jackson.core', 'jackson-core', '2.1.1'), - getMavenPackageInfo('org.apache.httpcomponents', 'httpclient', '4.3'), - getMavenPackageInfo('org.apache.httpcomponents', 'httpcore', '4.3'), - getMavenPackageInfo('com.fasterxml.jackson.core', 'jackson-annotations', '2.1.1'), - getMavenPackageInfo('com.amazonaws', 'dynamodb-streams-kinesis-adapter', '1.0.1'), + getMavenPackageInfo('commons-codec', 'commons-codec', '1.9'), + getMavenPackageInfo('joda-time', 'joda-time', '2.8.1'), + getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-dynamodb', '1.11.14'), + getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-kinesis', '1.11.14'), + getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-cloudwatch', '1.11.14'), + getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-cloudwatchmetrics', '1.11.14'), + getMavenPackageInfo('com.amazonaws', 'aws-java-sdk-core', '1.11.14'), + getMavenPackageInfo('com.fasterxml.jackson.core', 'jackson-databind', '2.6.6'), + getMavenPackageInfo('com.fasterxml.jackson.dataformat', 'jackson-dataformat-cbor', '2.6.6'), + getMavenPackageInfo('commons-logging', 'commons-logging', '1.1.3'), + getMavenPackageInfo('commons-logging', 'commons-logging', '1.2'), + // getMavenPackageInfo('com.amazonaws', 'amazon-kinesis-client', '1.6.5'), + getMavenPackageInfo('com.fasterxml.jackson.core', 'jackson-core', '2.6.6'), + getMavenPackageInfo('org.apache.httpcomponents', 'httpclient', '4.5.2'), + getMavenPackageInfo('org.apache.httpcomponents', 'httpcore', '4.4.4'), + getMavenPackageInfo('com.fasterxml.jackson.core', 'jackson-annotations', '2.6.6'), + // getMavenPackageInfo('com.amazonaws', 'dynamodb-streams-kinesis-adapter', '1.1.1'), getMavenPackageInfo('com.google.guava', 'guava', '19.0-rc2' ), getMavenPackageInfo('com.google.protobuf', 'protobuf-java', '2.6.1' ), getMavenPackageInfo('commons-lang','commons-lang','2.6'), + getMavenPackageInfo('org.apache.commons','commons-lang3','3.3.2'), ]; var DEFAULT_JAR_PATH = path.resolve(path.join(__dirname, '..', 'lib', 'jars')); @@ -98,9 +102,20 @@ function parseArguments() { if ( args.stream ) { MULTI_LANG_DAEMON_CLASS = 'com.amazonaws.services.dynamodbv2/streamsadapter.StreamsMultiLangDaemon'; } + moveIncludedJars(args.jarPath); return args; } +function moveIncludedJars(jarPath) { + const includedJarsPath = path.join(__dirname, '..', 'lib', 'included-jars'); + const includedJarsFilenames = fs.readdirSync(includedJarsPath); + includedJarsFilenames.forEach(function (includedJarsFilename) { + const adapterSourcePath = path.resolve(path.join(includedJarsPath, includedJarsFilename)); + const adapterTargetPath = path.resolve(path.join(jarPath, includedJarsFilename)); + fsExtra.copySync(adapterSourcePath, adapterTargetPath); + }); +} + function startKinesisClientLibraryApplication(options) { var classpath = getClasspath(options).join(getPathDelimiter()); var java = options.java; diff --git a/lib/included-jars/amazon-kinesis-client-1.6.5.jar b/lib/included-jars/amazon-kinesis-client-1.6.5.jar new file mode 100644 index 00000000..b9518a30 Binary files /dev/null and b/lib/included-jars/amazon-kinesis-client-1.6.5.jar differ diff --git a/lib/included-jars/dynamodb-streams-kinesis-adapter-1.1.1.jar b/lib/included-jars/dynamodb-streams-kinesis-adapter-1.1.1.jar new file mode 100644 index 00000000..9ce4d14d Binary files /dev/null and b/lib/included-jars/dynamodb-streams-kinesis-adapter-1.1.1.jar differ diff --git a/package.json b/package.json index 8ee68491..014e3a81 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ }, "dependencies": { "commander": "~2.6.0", + "fs-extra": "^2.0.0", "machina": "~1.0.0-1" }, "devDependencies": {