diff --git a/build.gradle b/build.gradle index afe21cc5e8..8ba5d6e4ff 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,4 @@ +import org.apache.tools.ant.filters.ReplaceTokens import org.apache.tools.ant.taskdefs.condition.Os plugins { @@ -25,6 +26,13 @@ run { } } +processResources { + from(sourceSets.main.resources.srcDirs) { + include '**/*.properties' + filter(ReplaceTokens, tokens: [ 'app.version': project.version ]) + } +} + repositories { jcenter() maven { url 'http://partnerdemo.artifactoryonline.com/partnerdemo/libs-snapshots-local' } diff --git a/src/main/java/io/bitsquare/app/BitsquareEnvironment.java b/src/main/java/io/bitsquare/app/BitsquareEnvironment.java index daa5f15680..57a5ade700 100644 --- a/src/main/java/io/bitsquare/app/BitsquareEnvironment.java +++ b/src/main/java/io/bitsquare/app/BitsquareEnvironment.java @@ -42,6 +42,8 @@ import static com.google.common.base.Preconditions.checkNotNull; public class BitsquareEnvironment extends StandardEnvironment { + public static final String APP_VERSION_KEY = "app.version"; + public static final String USER_DATA_DIR_KEY = "user.data.dir"; public static final String DEFAULT_USER_DATA_DIR = defaultUserDataDir(); @@ -90,13 +92,28 @@ public class BitsquareEnvironment extends StandardEnvironment { } + PropertySource filesystemProperties() throws Exception { + String location = String.format("file:%s/bitsquare.properties", appDataDir); + Resource resource = resourceLoader.getResource(location); + + if (!resource.exists()) + return new PropertySource.StubPropertySource(BITSQUARE_FILESYSTEM_PROPERTY_SOURCE_NAME); + + return new ResourcePropertySource(BITSQUARE_FILESYSTEM_PROPERTY_SOURCE_NAME, resource); + } + + PropertySource classpathProperties() throws Exception { + Resource resource = resourceLoader.getResource("classpath:bitsquare.properties"); + return new ResourcePropertySource(BITSQUARE_CLASSPATH_PROPERTY_SOURCE_NAME, resource); + } + PropertySource defaultProperties() throws Exception { return new PropertiesPropertySource(BITSQUARE_DEFAULT_PROPERTY_SOURCE_NAME, new Properties() {{ setProperty(APP_DATA_DIR_KEY, appDataDir); setProperty(APP_NAME_KEY, appName); setProperty(UserAgent.NAME_KEY, appName); - setProperty(UserAgent.VERSION_KEY, "0.1"); + setProperty(UserAgent.VERSION_KEY, BitsquareEnvironment.this.getRequiredProperty(APP_VERSION_KEY)); setProperty(WalletFacade.DIR_KEY, appDataDir); setProperty(WalletFacade.PREFIX_KEY, appName); @@ -108,21 +125,6 @@ public class BitsquareEnvironment extends StandardEnvironment { }}); } - PropertySource classpathProperties() throws Exception { - Resource resource = resourceLoader.getResource("classpath:bitsquare.properties"); - return new ResourcePropertySource(BITSQUARE_CLASSPATH_PROPERTY_SOURCE_NAME, resource); - } - - PropertySource filesystemProperties() throws Exception { - String location = String.format("file:%s/bitsquare.conf", appDataDir); - Resource resource = resourceLoader.getResource(location); - - if (!resource.exists()) - return new PropertySource.StubPropertySource(BITSQUARE_FILESYSTEM_PROPERTY_SOURCE_NAME); - - return new ResourcePropertySource(BITSQUARE_FILESYSTEM_PROPERTY_SOURCE_NAME, resource); - } - private static String defaultUserDataDir() { String os = System.getProperty("os.name").toLowerCase(); diff --git a/src/main/java/io/bitsquare/app/gui/BitsquareApp.java b/src/main/java/io/bitsquare/app/gui/BitsquareApp.java index 188c30ada9..1160edffce 100644 --- a/src/main/java/io/bitsquare/app/gui/BitsquareApp.java +++ b/src/main/java/io/bitsquare/app/gui/BitsquareApp.java @@ -25,10 +25,8 @@ import io.bitsquare.gui.ViewLoader; import io.bitsquare.gui.components.Popups; import io.bitsquare.gui.util.ImageUtil; import io.bitsquare.persistence.Persistence; -import io.bitsquare.preferences.ApplicationPreferences; import io.bitsquare.user.User; -import com.google.common.base.Preconditions; import com.google.common.base.Throwables; import com.google.inject.Guice; @@ -48,6 +46,7 @@ import javafx.stage.Stage; import org.springframework.core.env.Environment; +import static com.google.common.base.Preconditions.checkNotNull; import static io.bitsquare.app.BitsquareEnvironment.*; public class BitsquareApp extends Application { @@ -62,8 +61,7 @@ public class BitsquareApp extends Application { @Override public void start(Stage primaryStage) throws IOException { - Preconditions.checkArgument(env != null, "Environment must not be null"); - + checkNotNull(env, "Environment must not be null"); bitsquareAppModule = new BitsquareAppModule(env, primaryStage); injector = Guice.createInjector(bitsquareAppModule); @@ -82,7 +80,6 @@ public class BitsquareApp extends Application { // load and apply any stored settings User user = injector.getInstance(User.class); - ApplicationPreferences applicationPreferences = injector.getInstance(ApplicationPreferences.class); AccountSettings accountSettings = injector.getInstance(AccountSettings.class); Persistence persistence = injector.getInstance(Persistence.class); persistence.init(); diff --git a/src/main/java/io/bitsquare/app/gui/BitsquareAppMain.java b/src/main/java/io/bitsquare/app/gui/BitsquareAppMain.java index da72226152..18da83cfd6 100644 --- a/src/main/java/io/bitsquare/app/gui/BitsquareAppMain.java +++ b/src/main/java/io/bitsquare/app/gui/BitsquareAppMain.java @@ -42,7 +42,7 @@ public class BitsquareAppMain extends BitsquareExecutable { parser.accepts(USER_DATA_DIR_KEY, "User data directory").withRequiredArg().defaultsTo(DEFAULT_USER_DATA_DIR); parser.accepts(APP_NAME_KEY, "Application name").withRequiredArg().defaultsTo(DEFAULT_APP_NAME); parser.accepts(APP_DATA_DIR_KEY, "Application data directory").withRequiredArg().defaultsTo(DEFAULT_APP_DATA_DIR); - parser.accepts(NAME_KEY, "Network name").withRequiredArg(); + parser.accepts(NAME_KEY, "Name of this node").withRequiredArg(); parser.accepts(PORT_KEY, "Port to listen on").withRequiredArg().defaultsTo(String.valueOf(Node.DEFAULT_PORT)); parser.accepts(BITCOIN_NETWORK_KEY).withRequiredArg().defaultsTo(BitcoinModule.DEFAULT_BITCOIN_NETWORK); parser.accepts(BOOTSTRAP_NODE_NAME_KEY).withRequiredArg().defaultsTo(BootstrapNodes.DEFAULT.getName()); diff --git a/src/main/java/io/bitsquare/network/Node.java b/src/main/java/io/bitsquare/network/Node.java index 349f9dcfce..08252e8e0a 100644 --- a/src/main/java/io/bitsquare/network/Node.java +++ b/src/main/java/io/bitsquare/network/Node.java @@ -20,8 +20,8 @@ package io.bitsquare.network; import com.google.common.base.Objects; public final class Node { - public static final String NAME_KEY = "name"; - public static final String PORT_KEY = "port"; + public static final String NAME_KEY = "node.name"; + public static final String PORT_KEY = "node.port"; /** * Default port is one