diff --git a/.gitignore b/.gitignore index 3ada4312c..837bbf05d 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,10 @@ cordova/*.keystore cache webkitbuilds/* !webkitbuilds/README.md +!webkitbuilds/setup-win32.iss +!webkitbuilds/setup-win64.iss +!webkitbuilds/favicon.ico +!webkitbuilds/.desktop # chrome extensions browser-extensions/chrome/copay-chrome-extension diff --git a/Gruntfile.js b/Gruntfile.js index 3555d86cb..7b0e5c1d9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -165,6 +165,12 @@ module.exports = function(grunt) { flatten: true, src: 'bower_components/foundation-icon-fonts/foundation-icons.*', dest: 'public/icons/' + }, + linux: { + files: [ + {expand: true, cwd: 'webkitbuilds/',src: '.desktop',dest: 'webkitbuilds/copay/linux32/', flatten: true, filter: 'isFile' }, + {expand: true, cwd: 'webkitbuilds/',src: '.desktop',dest: 'webkitbuilds/copay/linux64/', flatten: true, filter: 'isFile' }, + ], } }, karma: { @@ -194,6 +200,26 @@ module.exports = function(grunt) { exeIco: './public/img/icons/icon.ico' }, src: ['./package.json', './public/**/*'] + }, + compress: { + linux32: { + options: { + archive: './webkitbuilds/copay-linux32.zip' + }, + expand: true, + cwd: './webkitbuilds/copay/linux32/', + src: ['**/*'], + dest: 'copay-linux32/' + }, + linux64: { + options: { + archive: './webkitbuilds/copay-linux64.zip' + }, + expand: true, + cwd: './webkitbuilds/copay/linux64/', + src: ['**/*'], + dest: 'copay-linux64/' + } } }); @@ -208,9 +234,10 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-karma'); grunt.loadNpmTasks('grunt-karma-coveralls'); grunt.loadNpmTasks('grunt-node-webkit-builder'); + grunt.loadNpmTasks('grunt-contrib-compress'); grunt.registerTask('default', [ - 'nggettext_compile', 'exec:version', 'concat', 'copy' + 'nggettext_compile', 'exec:version', 'concat', 'copy:icons' ]); grunt.registerTask('prod', [ 'default', 'uglify' @@ -218,5 +245,5 @@ module.exports = function(grunt) { grunt.registerTask('translate', ['nggettext_extract']); grunt.registerTask('test', ['karma:unit']); grunt.registerTask('test-coveralls', ['karma:prod', 'coveralls']); - grunt.registerTask('desktop', ['prod', 'nodewebkit']); + grunt.registerTask('desktop', ['prod', 'nodewebkit', 'copy-linux', 'compress-linux32', 'compress-linux64']); }; diff --git a/package.json b/package.json index 1c9d03830..10d7533aa 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,8 @@ "fullscreen": false }, "webkit": { - "page-cache": false, - "java": false, + "page-cache": false, + "java": false, "plugin": false }, "id": "jid1-x7bV5evAaI1P9Q", @@ -59,6 +59,8 @@ "devDependencies": { "angular": "^1.3.14", "angular-mocks": "^1.3.14", + "grunt-contrib-compress": "^0.13.0", + "grunt-contrib-copy": "^0.8.0", "grunt-karma": "^0.10.1", "grunt-karma-coveralls": "^2.5.3", "grunt-node-webkit-builder": "^1.0.2", diff --git a/webkitbuilds/.desktop b/webkitbuilds/.desktop new file mode 100644 index 000000000..b3a3fec2d --- /dev/null +++ b/webkitbuilds/.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Version=1.0.1 +Name=Copay +Comment=A multisignature wallet +Exec=copay +Icon=favicon.ico +Terminal=false +Categories=Finance diff --git a/webkitbuilds/favicon.ico b/webkitbuilds/favicon.ico new file mode 100644 index 000000000..03f394e70 Binary files /dev/null and b/webkitbuilds/favicon.ico differ diff --git a/webkitbuilds/setup-win32.iss b/webkitbuilds/setup-win32.iss new file mode 100644 index 000000000..436b13a2d --- /dev/null +++ b/webkitbuilds/setup-win32.iss @@ -0,0 +1,46 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "Copay" +#define MyAppVersion "1.0.1" +#define MyAppPublisher "BitPay" +#define MyAppURL "https://copay.io" +#define MyAppExeName "copay.exe" + +[Setup] +AppId={804636ee-b017-4cad-8719-e58ac97ffa5c} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +;AppVerName={#MyAppName} {#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DefaultGroupName={#MyAppName} +OutputBaseFilename=copay-installer-32 +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "copay\win32\copay.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "copay\win32\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "favicon.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}/icon.ico" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}/icon.ico"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent + diff --git a/webkitbuilds/setup-win64.iss b/webkitbuilds/setup-win64.iss new file mode 100644 index 000000000..4c3a4c803 --- /dev/null +++ b/webkitbuilds/setup-win64.iss @@ -0,0 +1,46 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "Copay" +#define MyAppVersion "1.0.1" +#define MyAppPublisher "BitPay" +#define MyAppURL "https://copay.io" +#define MyAppExeName "copay.exe" + +[Setup] +AppId={804636ee-b017-4cad-8719-e58ac97ffa5c} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +;AppVerName={#MyAppName} {#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DefaultGroupName={#MyAppName} +OutputBaseFilename=copay-installer-64 +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "copay\win64\copay.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "copay\win64\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "favicon.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}/icon.ico" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}/icon.ico"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent +