From 0c90081c129104208e331d3477973f57d2c9bb03 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Mon, 2 Apr 2012 16:13:45 +0200 Subject: [PATCH] Make wallet tool compile to a minimized, bundled JAR so it can be used standalone, and change the wallet-tool script to use it that way. It makes running much faster. --- tools/pom.xml | 74 ++++++++++++++----- .../com/google/bitcoin/tools/WalletTool.java | 1 - tools/wallet-tool | 11 ++- 3 files changed, 66 insertions(+), 20 deletions(-) diff --git a/tools/pom.xml b/tools/pom.xml index adab09751..17cb4830a 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -32,22 +32,62 @@ BitCoinJ Tools A collection of useful tools that use the BitCoinJ library to perform wallet operations - - - com.google - bitcoinj - ${project.parent.version} - - - net.sf.jopt-simple - jopt-simple - 4.3 - - - org.slf4j - slf4j-jdk14 - 1.6.4 - - + + + + org.apache.maven.plugins + maven-shade-plugin + 1.6 + + + + + + true + + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + com.google.bitcoin.tools.WalletTool + + + + + + package + + shade + + + + + + + + + com.google + bitcoinj + ${project.parent.version} + + + net.sf.jopt-simple + jopt-simple + 4.3 + + + org.slf4j + slf4j-jdk14 + 1.6.4 + + \ No newline at end of file diff --git a/tools/src/main/java/com/google/bitcoin/tools/WalletTool.java b/tools/src/main/java/com/google/bitcoin/tools/WalletTool.java index 17b09af08..20a1da0dd 100644 --- a/tools/src/main/java/com/google/bitcoin/tools/WalletTool.java +++ b/tools/src/main/java/com/google/bitcoin/tools/WalletTool.java @@ -40,7 +40,6 @@ import java.util.logging.LogManager; /** * A command line tool for manipulating wallets and working with Bitcoin.

- * */ public class WalletTool { private static final Logger log = LoggerFactory.getLogger(WalletTool.class); diff --git a/tools/wallet-tool b/tools/wallet-tool index fd1d66e4f..fd54cb353 100755 --- a/tools/wallet-tool +++ b/tools/wallet-tool @@ -1,2 +1,9 @@ -#!/bin/sh -mvn -q exec:java -Dexec.mainClass=WalletTool -Dexec.args="$*" +#!/bin/bash + +# Check if the jar has been built. +if [ ! -e target/bitcoinj-tools-*.jar ]; then + echo "Compiling WalletTool to a JAR" + mvn -q package -DskipTests +fi + +java -jar target/bitcoinj-tools-*.jar $*