diff --git a/contributing/development/building-status/index.html b/contributing/development/building-status/index.html index feafcee..5672f7a 100644 --- a/contributing/development/building-status/index.html +++ b/contributing/development/building-status/index.html @@ -323,8 +323,6 @@ $ adb reverse tcp:4567 tcp:4567 $ react-native run-android # FOR IOS -# Attention: We will shortly be upgrading to React Native 0.4x -# Until then you need to be running Xcode 8.2.1 or lower to build for ios $ react-native run-ios

Access Geth on Device

diff --git a/index.html b/index.html index 19db65b..1364197 100644 --- a/index.html +++ b/index.html @@ -381,5 +381,5 @@ Without the dedication of these fine gentlemen and lady, Status would not exist. diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json index 6c0a782..38a0b8e 100644 --- a/mkdocs/search_index.json +++ b/mkdocs/search_index.json @@ -407,7 +407,7 @@ }, { "location": "/contributing/development/building-status/", - "text": "Building Status\n\n\nThis document is the entry point for developers of Status. This guide is for anyone who is interested in building, developing, debugging or submitting a bug report, pull request or contributing to Status with code.\n\n\nThis guide is written with OS X in mind.\n\n\nBuild and Test\n\n\nRequirements\n\n\n\n\nHomebrew\n + \nbrew update\n (optional, for OS X) + \nbrew tap caskroom/cask\n. For Windows use \nChocolatey\n.\n\n\nNode \n NPM\n \nbrew install node watchman\n\n\nLein\n \nbrew install leiningen\n\n\nreact-native\n \nnpm install -g react-native-cli\n\n\nLatest JDK\n \nbrew cask install java\n\n\nAndroid SDK with build tools version 23.0.1 [Mac] \nbrew cask install android-sdk\n or \nWindows/Linux\n\n\nGenymotion\n (optional, you may use an Android Virtual Device or real device)\n\n\nSetup Android Development Environment / Simulator\n\n\nGIT over SSH, please add public key to Github\n\n\nMaven\n \nbrew install maven\n\n\nFor Windows, \nRuby\n \nchoco install ruby\n\n\nCocoapods\n \nsudo gem install cocoapods\n.\n\n\n\n\nWindows-specific Setup Notes\n\n\nSetting up a development instance in Windows requires some tweaks. Consider the following before attempting the following sections:\n\n\n\n\nMake sure you run everything in a elevated command prompt (Right-click a link to Cmd.exe or Cygwin and click 'Run as Administrator')\n\n\nDo not use the ./re-natal symlink. Write your own \nre-natal.sh\n script that uses full relative paths, give it execution permissions with \nchmod +x\n, and use it instead. Script:\n\n\n\n\n#!/usr/bin/env node\n\nrequire('coffee-script/register');\nrequire('./node_modules/re-natal/index.js');\n\n\n\n\n\n\nIn the root \npackage.json\n edit \n\"./postinstall.sh\"\n to \n\"postinstall.sh\"\n\n\nAny \nnpm install\n commands (except for \nnpm install -g\n global commands) should be done as follows, to avoid windows symlink problems: \nnpm install --no-bin-links\n\n\nDo not use Cygwin for \nnpm install\n commands, use cmd.exe.\n\n\nReact-native is not bug-free. If you run into an error like \nerror: bundling: UnableToResolveError: Unable to resolve module...\n, the guaranteed solution is to manually edit the \nrequire()\n statements to the full relative path. E.g. \n(crypt = require('crypto'))\n becomes \n(crypt = require('../../../../node_modules/crypto/package.json'))\n.\n\n\n\n\nDependencies \n Setup\n\n\n$ git clone git@github.com:status-im/status-react.git -b master \n cd status-react\n# or\n$ git clone git@github.com:status-im/status-react.git -b develop \n cd status-react\n\n$ lein deps \n npm install \n ./re-natal deps \n lein generate-externs \n ./re-natal use-figwheel \n lein re-frisk use-re-natal \n ./re-natal enable-source-maps\n$ mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack\n$ cd ios \n pod install \n cd ..\n\n\n\nBuilding Status for Release\n\n\n# fill in store file properties in android/gradle.properties\n$ lein prod-build\n$ react-native run-android --variant=release\n# for iOS, build in Xcode\n\n\n\nBuilding Status for Development\n\n\n$ lein prod-build\n\n$ ./re-natal use-android-device \ndevice\n # (genymotion, real or avd)\n# or\n$ ./re-natal use-ios-device \ndevice\n # (simulator or real)\n\n$ ./re-natal use-figwheel\n\n# new tab, run figwheel REPL\n$ BUILD_IDS=\"ios,android\" lein repl\n\n# new tab, run react native packager\n$ react-native start\n\n# FOR ANDROID\n# new tab, enable communication to react-native, figwheel and re-frisk debugging\n$ adb reverse tcp:8081 tcp:8081\n$ adb reverse tcp:3449 tcp:3449\n$ adb reverse tcp:4567 tcp:4567\n$ react-native run-android\n\n# FOR IOS\n# Attention: We will shortly be upgrading to React Native 0.4x\n# Until then you need to be running Xcode 8.2.1 or lower to build for ios\n$ react-native run-ios\n\n\n\nAccess Geth on Device\n\n\nadb forward tcp:8545 tcp:8545\nbuild/bin/geth attach http://localhost:8545\n\n\n\nContributing\n\n\nPlease make sure your contributions adhere to our coding guidelines:\n\n\n\n\nCode must be idiomatic Clojure, please refer to the \nstyle guidelines\n (i.e. use \nlein eastwood\n\n \n \nlein kibit\n).\n\n\nCode must be documented.\n\n\nPull requests need to be based on and opened against the \ndevelop\n branch.\n\n\nCommit messages should be prefixed with the root namespace(s) under \nstatus-im\n that they modify.\n\n\ne.g. \"contacts, ios: add contact stylistic changes\"\n\n\n\n\nIssues\n\n\nOnly Github is used to track issues. (Please include the commit and branch when reporting an issue.)\n\n\nOverv.io\n is used to overview issues in multiple repositories.\n\n\nCode formatting\n\n\nPlease run \nlein eastwood\n and \nlein kibit\n before contributing.\n\n\nBranch naming\n\n\nBranch format must be under \nCATEGORY/PLAIN-TEXT-#ISSUE_NUMBER\n acceptable branches are;\n\n\nfeature/discover\n or \nbug/broken-form-#113\n\n\nThe following categories are;\n- \nfeature/\n for implementation of features\n- \nbug/\n for fixing bugs\n- \ntests/\n for unit/UI tests\n- \nexperiment/\n for non-features\n- \nwip/\n for longer lived branches\n- \njunk/\n for irrelevant/soon-to-be-deleted branches\n\n\nPull Requests\n\n\nPull Requests should by default use the \ndevelop\n branch as a base. The \nmaster\n branch is kept stable and \ndevelop\n is periodically merged there. Tags are used for releases. Each Pull Request must be rebased against \ndevelop\n and squashed into a single commit, prefixed with the root namespace(s) under \nstatus-im\n that they modify. e.g.\n\n\n\n\n\"contacts, ios: add contact stylistic changes\"\n\n\n\n\nWalkthrough\n\n\nFork the repository on Github's web UI.\n\n\nClone your fork. Add the upstream as a remote.\n\n\n$ git clone git@github.com:\nyou\n/status-react.git\n$ git remote add upstream git@github.com:status-im/status-react.git\n\n\n\nNow you have two remotes: \norigin\n pointing to your fork and \nupstream\n pointing to the shared repo.\n\n\n$ git fetch --all\n\n\n\nThen isolate the bug/feature work you will do into a topic branch\n\n\n$ git checkout -b bug/missing-contact-#116 upstream/develop\n\n\n\nKeep your branch fresh against upstream\n\n\n$ git fetch upstream\n$ git rebase upstream/develop\n\n\n\nIf multiple people are working on the same feature branch don't forget to also\n\n\n$ git rebase upstream bug/missing-contact-#116\n\n\n\nWhen you are ready to make your pull request\n\n\n$ git push origin\n\n\n\nAfter PR has been reviewed do a final cleanup and squash your commit\n\n\n$ git rebase -i upstream/develop\n$ git push -f origin\n\n\n\nRepository Overview\n\n\nThe Status application is divided into 6 core repositories;\n\n\n\n\n\n\nstatus-react\n - our main react native application writtein in Clojurescript, Java \n Objective C\n\n\n\n\n\n\ngo-ethereum\n - our branch of \ngo-ethereum\n which contains our custom modifications in \ngo-ethereum/status-develop\n\n\n\n\n\n\nstatus-go\n - represents our binding to the \ngo-ethereum\n lib and exposes methods to \nstatus-react\n to Java / Objective C.\n\n\n\n\nstatus-lib\n - implements our application protocols for chatbots, has been absorbed into \nstatus-react\n until application protocol settles\n\n\nreact-native-status\n - the intent behind this repo was to seperate Java/Objective C code into a react native module, it may be absorbed into \nstatus-react\n in future\n\n\nstatus-server\n - is our intermediary server primarily used for contact discovery.", + "text": "Building Status\n\n\nThis document is the entry point for developers of Status. This guide is for anyone who is interested in building, developing, debugging or submitting a bug report, pull request or contributing to Status with code.\n\n\nThis guide is written with OS X in mind.\n\n\nBuild and Test\n\n\nRequirements\n\n\n\n\nHomebrew\n + \nbrew update\n (optional, for OS X) + \nbrew tap caskroom/cask\n. For Windows use \nChocolatey\n.\n\n\nNode \n NPM\n \nbrew install node watchman\n\n\nLein\n \nbrew install leiningen\n\n\nreact-native\n \nnpm install -g react-native-cli\n\n\nLatest JDK\n \nbrew cask install java\n\n\nAndroid SDK with build tools version 23.0.1 [Mac] \nbrew cask install android-sdk\n or \nWindows/Linux\n\n\nGenymotion\n (optional, you may use an Android Virtual Device or real device)\n\n\nSetup Android Development Environment / Simulator\n\n\nGIT over SSH, please add public key to Github\n\n\nMaven\n \nbrew install maven\n\n\nFor Windows, \nRuby\n \nchoco install ruby\n\n\nCocoapods\n \nsudo gem install cocoapods\n.\n\n\n\n\nWindows-specific Setup Notes\n\n\nSetting up a development instance in Windows requires some tweaks. Consider the following before attempting the following sections:\n\n\n\n\nMake sure you run everything in a elevated command prompt (Right-click a link to Cmd.exe or Cygwin and click 'Run as Administrator')\n\n\nDo not use the ./re-natal symlink. Write your own \nre-natal.sh\n script that uses full relative paths, give it execution permissions with \nchmod +x\n, and use it instead. Script:\n\n\n\n\n#!/usr/bin/env node\n\nrequire('coffee-script/register');\nrequire('./node_modules/re-natal/index.js');\n\n\n\n\n\n\nIn the root \npackage.json\n edit \n\"./postinstall.sh\"\n to \n\"postinstall.sh\"\n\n\nAny \nnpm install\n commands (except for \nnpm install -g\n global commands) should be done as follows, to avoid windows symlink problems: \nnpm install --no-bin-links\n\n\nDo not use Cygwin for \nnpm install\n commands, use cmd.exe.\n\n\nReact-native is not bug-free. If you run into an error like \nerror: bundling: UnableToResolveError: Unable to resolve module...\n, the guaranteed solution is to manually edit the \nrequire()\n statements to the full relative path. E.g. \n(crypt = require('crypto'))\n becomes \n(crypt = require('../../../../node_modules/crypto/package.json'))\n.\n\n\n\n\nDependencies \n Setup\n\n\n$ git clone git@github.com:status-im/status-react.git -b master \n cd status-react\n# or\n$ git clone git@github.com:status-im/status-react.git -b develop \n cd status-react\n\n$ lein deps \n npm install \n ./re-natal deps \n lein generate-externs \n ./re-natal use-figwheel \n lein re-frisk use-re-natal \n ./re-natal enable-source-maps\n$ mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack\n$ cd ios \n pod install \n cd ..\n\n\n\nBuilding Status for Release\n\n\n# fill in store file properties in android/gradle.properties\n$ lein prod-build\n$ react-native run-android --variant=release\n# for iOS, build in Xcode\n\n\n\nBuilding Status for Development\n\n\n$ lein prod-build\n\n$ ./re-natal use-android-device \ndevice\n # (genymotion, real or avd)\n# or\n$ ./re-natal use-ios-device \ndevice\n # (simulator or real)\n\n$ ./re-natal use-figwheel\n\n# new tab, run figwheel REPL\n$ BUILD_IDS=\"ios,android\" lein repl\n\n# new tab, run react native packager\n$ react-native start\n\n# FOR ANDROID\n# new tab, enable communication to react-native, figwheel and re-frisk debugging\n$ adb reverse tcp:8081 tcp:8081\n$ adb reverse tcp:3449 tcp:3449\n$ adb reverse tcp:4567 tcp:4567\n$ react-native run-android\n\n# FOR IOS\n$ react-native run-ios\n\n\n\nAccess Geth on Device\n\n\nadb forward tcp:8545 tcp:8545\nbuild/bin/geth attach http://localhost:8545\n\n\n\nContributing\n\n\nPlease make sure your contributions adhere to our coding guidelines:\n\n\n\n\nCode must be idiomatic Clojure, please refer to the \nstyle guidelines\n (i.e. use \nlein eastwood\n\n \n \nlein kibit\n).\n\n\nCode must be documented.\n\n\nPull requests need to be based on and opened against the \ndevelop\n branch.\n\n\nCommit messages should be prefixed with the root namespace(s) under \nstatus-im\n that they modify.\n\n\ne.g. \"contacts, ios: add contact stylistic changes\"\n\n\n\n\nIssues\n\n\nOnly Github is used to track issues. (Please include the commit and branch when reporting an issue.)\n\n\nOverv.io\n is used to overview issues in multiple repositories.\n\n\nCode formatting\n\n\nPlease run \nlein eastwood\n and \nlein kibit\n before contributing.\n\n\nBranch naming\n\n\nBranch format must be under \nCATEGORY/PLAIN-TEXT-#ISSUE_NUMBER\n acceptable branches are;\n\n\nfeature/discover\n or \nbug/broken-form-#113\n\n\nThe following categories are;\n- \nfeature/\n for implementation of features\n- \nbug/\n for fixing bugs\n- \ntests/\n for unit/UI tests\n- \nexperiment/\n for non-features\n- \nwip/\n for longer lived branches\n- \njunk/\n for irrelevant/soon-to-be-deleted branches\n\n\nPull Requests\n\n\nPull Requests should by default use the \ndevelop\n branch as a base. The \nmaster\n branch is kept stable and \ndevelop\n is periodically merged there. Tags are used for releases. Each Pull Request must be rebased against \ndevelop\n and squashed into a single commit, prefixed with the root namespace(s) under \nstatus-im\n that they modify. e.g.\n\n\n\n\n\"contacts, ios: add contact stylistic changes\"\n\n\n\n\nWalkthrough\n\n\nFork the repository on Github's web UI.\n\n\nClone your fork. Add the upstream as a remote.\n\n\n$ git clone git@github.com:\nyou\n/status-react.git\n$ git remote add upstream git@github.com:status-im/status-react.git\n\n\n\nNow you have two remotes: \norigin\n pointing to your fork and \nupstream\n pointing to the shared repo.\n\n\n$ git fetch --all\n\n\n\nThen isolate the bug/feature work you will do into a topic branch\n\n\n$ git checkout -b bug/missing-contact-#116 upstream/develop\n\n\n\nKeep your branch fresh against upstream\n\n\n$ git fetch upstream\n$ git rebase upstream/develop\n\n\n\nIf multiple people are working on the same feature branch don't forget to also\n\n\n$ git rebase upstream bug/missing-contact-#116\n\n\n\nWhen you are ready to make your pull request\n\n\n$ git push origin\n\n\n\nAfter PR has been reviewed do a final cleanup and squash your commit\n\n\n$ git rebase -i upstream/develop\n$ git push -f origin\n\n\n\nRepository Overview\n\n\nThe Status application is divided into 6 core repositories;\n\n\n\n\n\n\nstatus-react\n - our main react native application writtein in Clojurescript, Java \n Objective C\n\n\n\n\n\n\ngo-ethereum\n - our branch of \ngo-ethereum\n which contains our custom modifications in \ngo-ethereum/status-develop\n\n\n\n\n\n\nstatus-go\n - represents our binding to the \ngo-ethereum\n lib and exposes methods to \nstatus-react\n to Java / Objective C.\n\n\n\n\nstatus-lib\n - implements our application protocols for chatbots, has been absorbed into \nstatus-react\n until application protocol settles\n\n\nreact-native-status\n - the intent behind this repo was to seperate Java/Objective C code into a react native module, it may be absorbed into \nstatus-react\n in future\n\n\nstatus-server\n - is our intermediary server primarily used for contact discovery.", "title": "Building Status" }, { @@ -442,7 +442,7 @@ }, { "location": "/contributing/development/building-status/#building-status-for-development", - "text": "$ lein prod-build\n\n$ ./re-natal use-android-device device # (genymotion, real or avd)\n# or\n$ ./re-natal use-ios-device device # (simulator or real)\n\n$ ./re-natal use-figwheel\n\n# new tab, run figwheel REPL\n$ BUILD_IDS=\"ios,android\" lein repl\n\n# new tab, run react native packager\n$ react-native start\n\n# FOR ANDROID\n# new tab, enable communication to react-native, figwheel and re-frisk debugging\n$ adb reverse tcp:8081 tcp:8081\n$ adb reverse tcp:3449 tcp:3449\n$ adb reverse tcp:4567 tcp:4567\n$ react-native run-android\n\n# FOR IOS\n# Attention: We will shortly be upgrading to React Native 0.4x\n# Until then you need to be running Xcode 8.2.1 or lower to build for ios\n$ react-native run-ios", + "text": "$ lein prod-build\n\n$ ./re-natal use-android-device device # (genymotion, real or avd)\n# or\n$ ./re-natal use-ios-device device # (simulator or real)\n\n$ ./re-natal use-figwheel\n\n# new tab, run figwheel REPL\n$ BUILD_IDS=\"ios,android\" lein repl\n\n# new tab, run react native packager\n$ react-native start\n\n# FOR ANDROID\n# new tab, enable communication to react-native, figwheel and re-frisk debugging\n$ adb reverse tcp:8081 tcp:8081\n$ adb reverse tcp:3449 tcp:3449\n$ adb reverse tcp:4567 tcp:4567\n$ react-native run-android\n\n# FOR IOS\n$ react-native run-ios", "title": "Building Status for Development" }, {