Hi

On Thu, Mar 22, 2018 at 6:27 PM, Joao De Almeida Pereira <
jdealmeidapere...@pivotal.io> wrote:

> Hello Hackers
>
> In the PoC we did with Electron last month this was the point where we
> stopped
>
> What did we accomplish:
>  - Use Electron as a runtime and packaging solution for the application
>  - Support opening new windows when the preferences ask for them
>  - Make the application generally work
>  - Use Chrome as a default browser for the application
>  - Building scripts for all platforms using `yarn`, please review Readme
>  - The packaged Python version is 3.6 to Mac and Linux, and 3.4 to Windows
>  - In our point of view it is a simpler way to generate the installers
>
> Work in progress:
>  - No random port for the server, so you can only start 1 instance per
> machine
>  - Tab support, there is no native support for tabs in Electron. It is
> possible to do that, and eventually you will see a option in the menu to
> create a new tab, but for this PoC we decided to disable the creation of
> tabs. Tabs need to be implemented using HTML and cannot be ripped of from
> the current window, like in Chrome
>  - Did not test in CentOS, but tested in Ubuntu and it is working (We
> tried but the electron required GLIBC 2.25 that was not on the version of
> CentOS that we had)
>  - In Linux despite the fact that we close the window, the application is
> still running and need to be killed by hand
>  - We didn't test Debugger opening in new window
>  - Loading screen has no reference to pgAdmin
>  - No logging file for the runtime
>  - Windows we are using python 3.4 and using prior version of psycopg2
> 2.5.6 and pycrypto 2.6.1 (The version of psycopg2 is not the correct one,
> this is because we couldn't find a precompile version of psycopg2)
>  - This is just a spike and the code looks pretty messy. This need to be
> changed in order to make it more readable and have some tests around it
>  - Murtuza and Fahar were not able to run the application in Windows
>  - Khushboo was not able to run Ubuntu version
>
> Given this was the status at the time, we need to pick and choose what we
> really want to implement right out of the box and what could be postponed.
> In order to generate Windows build and ensure that the Linux build is
> working we need so help. If we could have access to the machines that you
> use to build pgAdmin or access to the venv folder that is generated in
> these machines we could try to create a build from that.
>
> The changes we produced still applies cleanly on master and can be found
> in: https://github.com/greenplum-db/pgadmin4/tree/electron-over-master
>
>
I just tried building the PoC again, and got much further than before - in
fact I did get a working app bundle out at the end, however the dist build
did spew out the errors below:

piranha:electron dpage$ yarn dist
yarn run v1.3.2
$ ./node_modules/.bin/electron-builder
  • electron-builder version=20.0.7
  • loaded configuration file=package.json ("build" field)
  • writing effective config file=dist/electron-builder.yaml
  • no native production dependencies
  • asar using is disabled — it is strongly not recommended solution=enable
asar and use asarUnpack to unpack files that must be externally available
  • packaging       platform=darwin arch=x64 electron=1.8.2
appOutDir=dist/mac
  • signing         file=dist/mac/pgAdmin 4.app identityName=Developer ID
Application: <redacted> identityHash=<redacted>
Error: Command failed: codesign --verify --deep --strict --verbose=2
/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper NP.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper NP.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper EH.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper EH.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app: No such
file or directory

    at ChildProcess.exithandler (child_process.js:275:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
>From previous event:
    at MacPackager.sign
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/macPackager.js:286:11)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/macPackager.ts:94:26
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
>From previous event:
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/macPackager.ts:94:10
    at Generator.next (<anonymous>)
>From previous event:
    at MacPackager.pack
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/macPackager.js:209:11)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:372:24
    at Generator.next (<anonymous>)
    at xfs.stat
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/fs-extra-p/node_modules/fs-extra/lib/mkdirs/mkdirs.js:56:16)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/polyfills.js:287:18
    at FSReqWrap.oncomplete (fs.js:153:5)
>From previous event:
    at Packager.doBuild
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:441:11)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:316:52
    at Generator.next (<anonymous>)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/graceful-fs.js:99:16
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/graceful-fs.js:43:10
    at FSReqWrap.oncomplete (fs.js:135:15)
>From previous event:
    at Packager._build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:385:11)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:278:23
    at Generator.next (<anonymous>)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
>From previous event:
    at Packager.build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:341:11)
    at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/index.ts:50:40
    at Generator.next (<anonymous>)
>From previous event:
    at build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/index.js:47:21)
    at build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/builder.ts:228:10)
    at then
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:48:33)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
>From previous event:
    at Object.args [as handler]
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:48:33)
    at Object.runCommand
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/lib/command.js:235:44)
    at Object.parseArgs [as _parseArgs]
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/yargs.js:1042:24)
    at Object.get [as argv]
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/yargs.js:957:21)
    at Object.<anonymous>
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:42:15)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this
command.


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Reply via email to