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