Skip to content

Commit

Permalink
Merge pull request #1460 from jolocom/release/v1.7.0
Browse files Browse the repository at this point in the history
Release/v1.7.0
  • Loading branch information
Exulansis authored Sep 13, 2019
2 parents 885d6bd + 3a1b573 commit 885fd76
Show file tree
Hide file tree
Showing 354 changed files with 16,397 additions and 12,744 deletions.
14 changes: 0 additions & 14 deletions .babelrc

This file was deleted.

6 changes: 6 additions & 0 deletions .buckconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

[android]
target = Google Inc.:Google APIs:23

[maven_repositories]
central = https://repo1.maven.org/maven2
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ module.exports = {
// use ES6-style imports instead
'@typescript-eslint/no-triple-slash-reference': ['error'],
'@typescript-eslint/no-var-requires': ['off'],
'@typescript-eslint/no-use-before-define': ['off']
'@typescript-eslint/no-use-before-define': ['off'],
'@typescript-eslint/explicit-function-return-type': ['off'],
},
}
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pbxproj -text
80 changes: 60 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,35 +1,75 @@
# General
bower_components/
node_modules/
build/
.tern-project
.expo/
package-lock.json
coverage/
.flowconfig
.buckconfig
.gitattributes
.watchmanconfig
.DS_Store
dist/
.idea
db.sqlite3

# React Native Android
android/app/JoloSmartWallet.keystore
android/.build
android/.gradle
#### Below is the default react native .gitignore ###
############### DO NOT EDIT BELOW ###################

# React Native IOS
ios/main.jsbundle
ios/main.jsbundle.map
ios/smartwallet/main.jsbundle
ios/smartwallet/main.jsbundle.map
#
# OSX
#
.DS_Store

# Xcode
#
build/
*.pbxuser
xcuserdata/
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Haul
haul-debug.log
# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml

# Editors
# Visual Studio Code
#
.vscode/

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# BUCK
buck-out/
\.buckd/
*.keystore

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/

*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots

# Bundle artifact
*.jsbundle
/LocalSmartWalletData
1 change: 1 addition & 0 deletions .watchmanconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
67 changes: 29 additions & 38 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,46 @@ include CLA (ContributorLicenseAgreement)

## Branching Model

inspired by http://nvie.com/posts/a-successful-git-branching-model/
Inspired by [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/)

### Development
- General development takes place on `develop` branch.
- Features are branched off and merged back by the developer
- Naming convention `feature/#{issue-id}-{name-of-feature}`
- Merging back to `develop` may occur in form of a pull request requiring a code review.
- Pull request is mandatory for external developers
- at all times the tests on `develop` branch should pass. The developer that brakes the tests is responsible to resolve as soon as possible

### Testing
- When the developer has successfully tested his feature on `develop` branch (environment: `dev.littlesister.jolocom.com`) he can merge it to `testing` branch (environment: `test.littlesister.jolocom.com`) and assign the related issue to a tester.
- The `testing` branch shall pass at all times
- If the tester finds a bug he will reassign the issue to the original developer who will then fix it on the `testing` branch with a direct commit or as part of a feature branch
- General development takes place on `develop` branch.
- Features are branched off and merged back to `develop`.
- Naming convention: `{issue-id}/{name-of-feature}`.
- e.g. `1333/loading_issues`
- Merging back to `develop` occurs in the form of a pull request requiring a code review.
- The tests on `develop` branch should pass at all times. A developer who makes test-breaking changes must resolve them as soon as possible.

### Release
<!-- - When the sprint ends and stakeholder/product owner decide for release an seperate `release` branch is created and deployed (environment: `staging.wallet.jolocom.com`). -->
- This branch is still open for minor changes (i.e. updating the changelog)
- For release the `release` branch is merged into the `master` branch (environment: `littlesister.jolocom.com)
- The commit on the master branch should be tagged.
- Do not forget to merge back to `develop` branch

### Production Bug
- Bugs on `master` branch are fixed in a seperate `hotfix` branch.
- Do not forget to merge back to `develop` branch
- We create a release branch from `develop`
- Naming convention: `release/{vSEM.VERSION.NUMBER}`.
- e.g. `release/v1.6.0`
- This branch is still open for minor changes (e.g. bumping the version before release.)
- For release the `release` branch is merged into the `master` branch.
- The commit on the master branch should be tagged - this can be done through GitHub at the same time as officially creating a release at https://github.com/jolocom/smartwallet-app/releases
- Don't forget to merge the release branch back into the `develop` branch.

### Hotfixes for Production

## Conventions
- Bugs on `master` branch are fixed in a separate `hotfix` branch that branches off master.
- Naming convention: `hotfix/{name-of-fix}`.
- e.g `hotfix/version_alignment`
- Don't forget to merge the hotfix branch back into the `develop` branch.

### Coding standards

- We use standardsjs (http://standardjs.com/) with a couple of exceptions:
- Space after ES6 method names is not required `noSpaceRequired() {}`
## Conventions

- Use ESlint for checking syntax consistency automatically.
- Preferably setup your editor to run ESlint on file save.
- Use a git pre-commit hook
1. Rename `.git/hooks/pre-commit.sample` to `pre-commit`
2. Replace contents by https://github.com/jolocom/little-sister/wiki/ESLint-pre-commit-hook
### Coding standards

### Documentation
- https://en.wikipedia.org/wiki/JSDoc
- We use [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/) to maintain a consistent style across the codebase.
- ESLint and Prettier configuration files are included, as well as the prerequisite devDependencies in `package.json`.
- Your text editor/IDE should have plugins for these two tools.
- Your editor may also have the option to run Prettier formatting on save.
- The `yarn format` script is provided to run ESLint and Prettier rules on the codebase, auto-fixing where possible.

### Commit messages
- title is short and references github issue #
- description is as descriptive as necessary so there is nothing unexpected introduced in commit
### Issue description
- when and in which environment did the issue occur
- what was the expected behaviour
- what was the actual behaviour
- how to replicate
- any additional logs that may help debug (yes, maybe even screenshots)

- Title is short and references GitHub issue # if appropriate.
- Description is as descriptive as necessary so there is nothing unexpected introduced in the commit.
77 changes: 32 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,69 +6,56 @@ Interested in our vision? Take a look at our [whitepaper](https://jolocom.io/wp-

[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/jolocom/SmartWallet)

Setup for development
---------------------
## Prerequisites

Setup requires Node.JS to be installed on your computer. If you do not have it please see:
https://nodejs.org/en/download/
- Set-up requires [Node.js](https://nodejs.org/en/download/) to be installed on your computer.
- Starting with version `1.2.0` of the Jolocom SmartWallet, `Node.js v10+` is required to build the project. Versions prior to `1.2.0` require `Node.js v8`.
- We use [Yarn](https://yarnpkg.com) as our package manager.

## Installation

Prerequisites:
- [yarn](https://yarnpkg.com)
1. Clone the smartwallet-app repository to your computer.
2. `cd` into the directory and run `yarn` or `yarn install` from your terminal to install the required packages.

After cloning the smartwallet-app repository to a directory on your computer, enter the directory and run the following command:

```bash
yarn install
```

### Debug build on a device or simulator

Starting with version `1.2.0`, the Jolocom SmartWallet requires `Node.js v10+` to build. Versions prior to `1.2.0` require `Node.js v8`.
### Running a debug version for development

#### Android

Please set up an android development environment and install the required SDKs.
Set the path to the SDK in ```android/local.properties``` and ```export``` it to the environment variable ```ANDROID_HOME```, if that was not already done.
- Please set up an Android development environment and install the required SDKs.
- The [Getting Started](https://facebook.github.io/react-native/docs/getting-started) guide for React Native may come in handy.
- Look for the instructions under React Native CLI Quickstart.
- Connect an Android device and enable USB debugging **OR** start an Android AVD emulator
- Run `yarn run:android` to install the application and run it.
- NOTE: this will start a metro bundler server automatically, with stdout/stderr discarded. You can close this and run `yarn start` to manually start the bundler and receive more detailed output.

Then:
### iOS

```bash
# 1. Bundle app with haul and start development server.
yarn bundle:android
# 2a. Install and run app on a connected device or simulator in one go. Use a second shell for this.
yarn install:android && yarn run:android
# 2b. As alternative use:
react-native run-android
```
In case you encounter connectivity errors to haul, restart it with the first command or start the app manually after haul.
- Please set up an appropriate Xcode development environment.
- The [Getting Started](https://facebook.github.io/react-native/docs/getting-started) guide for React Native may come in handy.
- Look for the instructions under React Native CLI Quickstart.
- Run `yarn build:ios` to assemble the application bundle.
- Run `yarn run:ios` to install and run the application in an emulator.
- This will default to an iPhone X emulator.
- The device can be specified by adding `--simulator` and the device name.
- e.g. `yarn run:ios --simulator "iPhone SE"`
- NOTE: this will start a metro bundler server automatically, with stdout/stderr discarded. You can close this and run `yarn start` to manually start the bundler and receive more detailed output.

#### iOS
A debug build can also be built through Xcode.

Please set up the appropriate XCode development environment.
Running a build on a physical device requires the appropriate code signing certificates.

Then:

```bash
react-native run-ios --device
yarn ios
```

The first command will run and install a debug build on an attached iOS device. A terminal window may pop up which starts a Metro Bundler, please stop this process.
The second command will start the Haul bundler and serve the build on your device if both are running on the same network. If remote debugging is enabled, the debugger-ui will also be available here.

#### Testing and Cleaning
## Testing and Formatting

Testing uses Jest. The following script enables watch and testing coverage display as well.

```bash
yarn test --watch --coverage
```
Use ```yarn run``` to display all scripts, e.g. for cleaning.

Documentation
-------------
Additional documentation can be found at our [wiki](https://github.com/jolocom/smartwallet-app/wiki).
Use `yarn run` to display all scripts, e.g. for formatting.

- We use [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/) to keep a consistent style across the codebase.
- There are plugins available for a range of IDEs and text editors; automatic formatting on save is also supported in some editors.
- `yarn format` will format files automatically as much as possible.

Copyright (C) 2014-2019 JOLOCOM GmbH
Copyright (C) 2014-2019 JOLOCOM GmbH
18 changes: 4 additions & 14 deletions android/app/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,13 @@
# - `buck install -r android/app` - compile, install and run application
#

load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")

lib_deps = []

for jarfile in glob(['libs/*.jar']):
name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')]
lib_deps.append(':' + name)
prebuilt_jar(
name = name,
binary_jar = jarfile,
)
create_aar_targets(glob(["libs/*.aar"]))

for aarfile in glob(['libs/*.aar']):
name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')]
lib_deps.append(':' + name)
android_prebuilt_aar(
name = name,
aar = aarfile,
)
create_jar_targets(glob(["libs/*.jar"]))

android_library(
name = "all-libs",
Expand Down
Loading

0 comments on commit 885fd76

Please sign in to comment.