Commit Graph

37 Commits

Author SHA1 Message Date
emizzle f5c77b1416
Process logs API refactor
There are three separate instances of process log APIs: embark logs, blockchain logs (when in standalone mode), and child process logs (storage, communication, blockchain, etc). Each one was repeating the implementation of creating a process log API endpoint. This commit centralises the API declaration by using the class `ProcessLogsApi`.

`ProcessLogsApi` is started for all three components mentioned above: blockchain (in standalone) in the `BlockchainListener` module, embark in the `EmbarkListener` module, and for all child processes in the `ProcessLauncher`.

These listeners have two functions:
1. Create the process logs API endpoints for `get` and `ws`, and
2. Ensure that all logs are logged through the `LogHandler`, which normalises the output of the log and ensures each log has a timestamp and id (used in the cockpit for log ordering).

Also, this commit moved the pipeline in to a module, so that the `embark` object could be passed to the `ProcessLogsApi` (to be used for registering API endpoints).
2018-10-25 13:04:28 +02:00
Jonathan Rainville 7a70f5df26
use constants instead of magic numbers 2018-10-22 19:54:47 +02:00
Jonathan Rainville ddc8b36329
make tests work by using events 2018-10-22 19:54:45 +02:00
Jonathan Rainville ca3aea7923
BROKEN: solc doesnt load 2018-10-22 19:54:45 +02:00
Jonathan Rainville 86f1cf51d2 enable node=embark 2018-08-23 12:54:43 -04:00
Iuri Matias 29b0d01f22 move processes into core 2018-08-21 16:04:22 -04:00
Iuri Matias 7fcc504873 fix requires 2018-08-21 16:03:35 -04:00
Iuri Matias 540afedbaf fix library manager init 2018-08-21 16:03:35 -04:00
Iuri Matias 2ed7238190 move process files into processes folder 2018-08-21 16:02:18 -04:00
emizzle a100dd4260 Requested PR fixes
Added catch to live-plugin-manager install promise running in child process

Removed some `else`'s ;)

Only showing solc downloading spinner when `--nodashboard` option is used.

When installing package in main process and simultaneous downloads fail, all callbacks called with error.

Updated logging in npmTimer.
2018-06-15 17:06:59 -04:00
emizzle 5e20f27c99 Solc loading issue now fully resolved
Added better error checking for solidity compilation errors

Extracted timer functionality for downloading packages so it works across the main process and child processes.

Npm class is instantiated only once and reused for event commands.

Npm class can handle concurrent requests for the same package and callback the installation result for each request.
2018-06-15 17:06:59 -04:00
emizzle b96df79c59 Finally fixed the solc loading issue.
Moved the instantiation of the live-plugin-manager in to the child solc process. This allowed us to use the live-plugin-manager to require the installed solc file.

If the module is the same version as used by embark, the module is still loading using the normal require (from node_modules), as before.
2018-06-15 17:06:59 -04:00
emizzle eedcdc77a7 Solc loading issue now fully resolved
Added better error checking for solidity compilation errors

Extracted timer functionality for downloading packages so it works across the main process and child processes.

Npm class is instantiated only once and reused for event commands.

Npm class can handle concurrent requests for the same package and callback the installation result for each request.
2018-06-15 17:02:53 -04:00
emizzle 62f3b85bc4 Finally fixed the solc loading issue.
Moved the instantiation of the live-plugin-manager in to the child solc process. This allowed us to use the live-plugin-manager to require the installed solc file.

If the module is the same version as used by embark, the module is still loading using the normal require (from node_modules), as before.
2018-06-15 16:54:08 -04:00
Richard Ramos bf25381fa6 Rebasing changes from develop 2018-06-11 16:40:14 -04:00
Iuri Matias a41cf99be0 reverse condition 2018-06-05 16:13:17 -04:00
Iuri Matias 0e6d526ab4 comply with linter 2018-06-05 08:37:27 -04:00
Iuri Matias c0e559a7d9 assign roles so ipc connections don't conflict; fallback if can't connect to ipc 2018-06-04 18:15:37 -04:00
Iuri Matias a57bce2a40 refactor to use callbacks on ipc requests 2018-06-04 18:15:37 -04:00
Iuri Matias 1821e89346 refactor ipc to a module 2018-06-04 18:15:37 -04:00
Iuri Matias 6e37c2d91b only reply to compile action 2018-06-04 18:15:37 -04:00
Iuri Matias e96842f9da use .embark instead of /tmp 2018-06-04 18:15:37 -04:00
Iuri Matias b16c06025b use ipc for compiler 2018-06-04 18:15:37 -04:00
Jonathan Rainville 33bd52e9ec add id to solc process to avoid multiple callback calls 2018-06-01 13:44:35 -04:00
Jonathan Rainville a7be2cda26 convert solcw to use once 2018-05-18 14:22:58 -04:00
Jonathan Rainville c5c00fc3b4 conflict in solcW 2018-05-18 14:11:29 -04:00
Iuri Matias 46c2be16de don't unnecessary reload solc 2018-05-18 13:41:25 -04:00
Iuri Matias c94d8e9f91 update old solc process to new process wrapper 2018-05-17 15:26:44 -04:00
Iuri Matias e0db5ed61a refactor to use dappPath 2018-04-02 15:06:56 -04:00
Iuri Matias 4b0925d425 fallback to shelljs if pwd is empty (windows issue) 2018-03-26 14:54:47 -04:00
Iuri Matias 7a7330e695 update solidity module to use compileStandard and the standard json 2018-01-27 15:07:48 -05:00
Iuri Matias 7e38a239b7 fix package name listener 2017-12-30 19:34:15 -05:00
Iuri Matias 1c38f3fb89 move lib 2017-12-30 18:25:59 -05:00
Iuri Matias 2f3abc37b7 use module command to get solc version 2017-12-30 18:12:16 -05:00
Iuri Matias 11af38268b refactor: get versions from module instead of config 2017-12-30 16:48:53 -05:00
Iuri Matias ce6c570634 use utils joinPath instead of path.join 2017-12-16 17:10:11 -05:00
Iuri Matias ce4f75ddc4 extract solc to its own module 2017-12-16 17:08:18 -05:00