зеркало из https://github.com/mozilla/fxa.git
feat(scripts): add android support, remove Firefox Hello mozilla/fxa-local-dev#67)
This commit is contained in:
Родитель
a3f7394d58
Коммит
5de68fe310
|
@ -5,6 +5,8 @@ loop-server
|
|||
syncserver
|
||||
selenium-*
|
||||
|
||||
servers_android.json
|
||||
|
||||
node_modules
|
||||
pm2
|
||||
dump.rdb
|
||||
|
|
41
README.md
41
README.md
|
@ -163,6 +163,22 @@ Available options:
|
|||
|
||||
**Use `npm run test-oauth` - only OAuth functional tests**
|
||||
|
||||
*******
|
||||
|
||||
### Firefox for Android
|
||||
|
||||
> Skip this if you are not working on Firefox for Android and FxA.
|
||||
|
||||
You can test sync locally in Firefox for Android using an emulator or a device on the same network. These docs were tested with the [Genymotion](https://www.genymotion.com/download) simulator.
|
||||
|
||||
* Install Firefox on the device or emulator.
|
||||
* Run `npm run start-android` this will: stop all local FxA servers, create a local PM2 configuration and rerun the servers.
|
||||
|
||||
The script will tell you which IP to use to work with FxA.
|
||||
|
||||
Follow the instructions of the script to update values in `about:config`.
|
||||
|
||||
|
||||
*******
|
||||
|
||||
### Firefox for iOS
|
||||
|
@ -198,31 +214,6 @@ NODE_ENV=dev DB=mysql node bin/internal.js
|
|||
|
||||
*******
|
||||
|
||||
### Hello/Loop Setup
|
||||
|
||||
> Skip this if you are not working on testing Firefox Hello.
|
||||
|
||||
To get the Hello service setup and configured to run with a local version of Firefox Accounts, you need to run a couple commands after running `npm run postinstall` and `./pm2 start servers.json`.
|
||||
|
||||
#### Install Hello Service
|
||||
```bash
|
||||
npm run install-extras
|
||||
```
|
||||
|
||||
#### Start Hello service
|
||||
|
||||
Note: The Hello Service currently only supports node version 0.10.
|
||||
|
||||
```bash
|
||||
nvm install 0.10
|
||||
nvm exec 0.10 ./pm2 start servers_extra.json
|
||||
```
|
||||
|
||||
#### Run
|
||||
Once services have started, run `npm start` to open Firefox with a local profile. Access the Hello service as you normally would.
|
||||
|
||||
*******
|
||||
|
||||
### Running with MailDev
|
||||
|
||||
If you want to inspect emails, you can run fxa-local-dev with [MailDev](https://www.npmjs.com/package/maildev).
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var execSync = require('child_process').execSync;
|
||||
var _ = require('lodash');
|
||||
var chalk = require('chalk');
|
||||
var internalIp = require('internal-ip');
|
||||
var ip = internalIp.v4();
|
||||
|
||||
function createConfig () {
|
||||
var servers = require('../servers.json');
|
||||
|
||||
function findConfig(name) {
|
||||
return _.findIndex(servers.apps, function(obj) {
|
||||
return obj.name === name;
|
||||
});
|
||||
}
|
||||
|
||||
function setConf(idx, name, value) {
|
||||
servers.apps[idx].env[name] = value;
|
||||
}
|
||||
|
||||
var auth = findConfig('auth-server key server PORT 9000');
|
||||
var content = findConfig('content-server PORT 3030');
|
||||
var oauth = findConfig('oauth-server PORT 9010');
|
||||
|
||||
setConf(auth, 'CONTENT_SERVER_URL', 'http://' + ip + ':3030');
|
||||
setConf(auth, 'PUBLIC_URL', 'http://' + ip + ':9000');
|
||||
setConf(auth, 'MAILER_HOST', ip);
|
||||
setConf(auth, 'SMTP_PORT', '9999');
|
||||
setConf(auth, 'OAUTH_URL', 'http://' + ip + ':9010');
|
||||
|
||||
setConf(content, 'PUBLIC_URL', 'http://' + ip + ':3030');
|
||||
setConf(content, 'FXA_URL', 'http://' + ip + ':9000');
|
||||
setConf(content, 'FXA_OAUTH_URL', 'http://' + ip + ':9010');
|
||||
setConf(content, 'FXA_PROFILE_URL', 'http://' + ip + ':1111');
|
||||
setConf(content, 'FXA_PROFILE_IMAGES_URL', 'http://' + ip + ':1112');
|
||||
|
||||
setConf(oauth, 'PUBLIC_URL', 'http://' + ip + ':9010');
|
||||
setConf(oauth, 'CONTENT_URL', 'http://' + ip + ':3030');
|
||||
setConf(oauth, 'ISSUER', ip + ':9000');
|
||||
setConf(oauth, 'VERIFICATION_URL', 'http://' + ip + ':5050/v2');
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, '..', 'servers_android.json'), JSON.stringify(servers, null, 2));
|
||||
}
|
||||
|
||||
function run(cmd) {
|
||||
var result = execSync(cmd);
|
||||
console.log(result.toString());
|
||||
}
|
||||
|
||||
run(__dirname + '/../pm2 kill');
|
||||
createConfig(ip);
|
||||
run(__dirname + '/../pm2 start servers_android.json');
|
||||
|
||||
console.log(chalk.green('***********'));
|
||||
console.log(chalk.green('Access the fxa-content-server via:', 'http://' + ip + ':3030'));
|
||||
console.log(chalk.green('***********'));
|
||||
console.log(chalk.green('Make sure your Firefox for Android configuration is the following:'));
|
||||
console.log(chalk.green('identity.fxaccounts.auth.uri', ' http://' + ip + ':9000/v1'));
|
||||
console.log(chalk.green('identity.fxaccounts.remote.oauth.uri', ' http://' + ip + ':9010/v1'));
|
||||
console.log(chalk.green('identity.fxaccounts.remote.profile.uri', ' http://' + ip + ':1111/v1'));
|
||||
console.log(chalk.green('identity.fxaccounts.remote.webchannel.uri', 'http://' + ip + ':3030'));
|
||||
console.log(chalk.green('***********'));
|
||||
console.log(chalk.green('Add http://' + ip + ':3030 to "webchannel.allowObject.urlWhitelist"'));
|
|
@ -7,6 +7,7 @@
|
|||
"install-extras": "_scripts/install_extras.sh",
|
||||
"update": "./pm2 kill && _scripts/update_all.sh",
|
||||
"start": "fxa-dev-launcher",
|
||||
"start-android": "node _scripts/start-android.js",
|
||||
"test": "node test/functional.js --suite=full",
|
||||
"test-core": "node test/functional.js --suite=core",
|
||||
"test-oauth": "node test/functional.js --suite=oauth",
|
||||
|
@ -27,6 +28,8 @@
|
|||
"chalk": "1.1.1",
|
||||
"foxfire": "1.0.1",
|
||||
"fxa-dev-launcher": "vladikoff/fxa-dev-launcher",
|
||||
"internal-ip": "1.2.0",
|
||||
"lodash": "4.16.2",
|
||||
"minimist": "1.1.1",
|
||||
"pm2": "1.1.3",
|
||||
"replace-in-file": "0.2.1",
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
"min_uptime": "2m"
|
||||
},
|
||||
{
|
||||
"name": "auth-server key server",
|
||||
"name": "auth-server key server PORT 9000",
|
||||
"script": "bin/key_server.js",
|
||||
"cwd": "fxa-auth-server",
|
||||
"env": {
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"apps": [
|
||||
{
|
||||
"name": "loop-server PORT 10222",
|
||||
"script": "loop/index.js",
|
||||
"cwd": "loop-server",
|
||||
"env": {
|
||||
"NODE_ENV": "test",
|
||||
"PORT": "10222",
|
||||
"CONFIG_FILES": "../_scripts/configs/loop.json"
|
||||
},
|
||||
"max_restarts": "1",
|
||||
"min_uptime": "2m"
|
||||
},
|
||||
{
|
||||
"name": "redis-server PORT 6379",
|
||||
"script": "redis.sh",
|
||||
"cwd": "_scripts",
|
||||
"max_restarts": "1",
|
||||
"min_uptime": "2m"
|
||||
}
|
||||
]
|
||||
}
|
Загрузка…
Ссылка в новой задаче