Skip to content
This repository has been archived by the owner on Feb 7, 2023. It is now read-only.

Commit

Permalink
OpenSauce integration
Browse files Browse the repository at this point in the history
Not run at Travis-CI builds for now.

#19
  • Loading branch information
vibornoff committed Jun 6, 2014
1 parent b83d320 commit be9464a
Show file tree
Hide file tree
Showing 8 changed files with 257 additions and 135 deletions.
11 changes: 8 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
language: node_js
node_js:
- "0.11"
- "0.10"
- '0.11'
- '0.10'
addon:
sauce_connect:
username: vibornoff
access_key:
secure: "N5jZowSuf5vPTUSgnYIX4sdFV3u0z/b8DMBSbMzst34VahI428jJlTPfMcswVomflwIA5dO0KgvCvRpKnos4gVIG02PUNYsCSuwg5nBOq025r8PX1nI3tYBK0n1SHHFYQs9swqeiKVVE0bG1AwrIAMNqJS5DnxMBw7z/dM6cPf8="
before_install:
- git submodule update --init --recursive
- git submodule update --init --recursive
284 changes: 181 additions & 103 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,136 +1,212 @@
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-clean');

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

uglify: {
all: {
options: {
mangle: true,
compress: true,
beautify: false,
sourceMap: 'asmcrypto.js.map',
wrap: 'asmCrypto'
},
/*
options: {
mangle: false,
compress: false,
beautify: true,
sourceMap: 'asmcrypto.js.map',
wrap: 'asmCrypto'
},
*/
files: {
'asmcrypto.js': [
// 'common'
'src/errors.js',
// Source files list
var src = [
// 'common'
'src/errors.js',

// 'utils'
'src/utils.js',
// 'utils'
'src/utils.js',

// 'aes' (depends on 'common', 'utils')
'src/aes/aes.asm.js', 'src/aes/aes.js',
// 'aes' (depends on 'common', 'utils')
'src/aes/aes.asm.js', 'src/aes/aes.js',

// 'aes-cbc' (depends on 'aes')
'src/aes/aes-cbc.js',
// 'aes-cbc' (depends on 'aes')
'src/aes/aes-cbc.js',

// 'aes-ccm' (depends on 'aes')
'src/aes/aes-ccm.js',
// 'aes-ccm' (depends on 'aes')
'src/aes/aes-ccm.js',
/*
// 'aes-cfb' (depends on 'aes', off by default)
'src/aes/aes-cfb.js',
// 'aes-cfb' (depends on 'aes', off by default)
'src/aes/aes-cfb.js',
*/
// 'exports-aes' (depends on 'aes')
'src/aes/exports.js',
// 'exports-aes' (depends on 'aes')
'src/aes/exports.js',

// 'sha1' (depends on 'common', 'utils')
'src/sha1/sha1.asm.js', 'src/sha1/sha1.js',
// 'sha1' (depends on 'common', 'utils')
'src/sha1/sha1.asm.js', 'src/sha1/sha1.js',

// 'exports-sha1' (depends on 'sha1')
'src/sha1/exports.js',
// 'exports-sha1' (depends on 'sha1')
'src/sha1/exports.js',

// 'sha256' (depends on 'common', 'utils')
'src/sha256/sha256.asm.js', 'src/sha256/sha256.js',
// 'sha256' (depends on 'common', 'utils')
'src/sha256/sha256.asm.js', 'src/sha256/sha256.js',

// 'exports-sha256' (depends on 'sha256')
'src/sha256/exports.js',
// 'exports-sha256' (depends on 'sha256')
'src/sha256/exports.js',
/*
// 'sha512' (depends on 'common', 'utils', off by default)
'src/sha512/sha512.asm.js', 'src/sha512/sha512.js',
// 'sha512' (depends on 'common', 'utils', off by default)
'src/sha512/sha512.asm.js', 'src/sha512/sha512.js',
// 'exports-sha256' (depends on 'sha512', off by default)
'src/sha512/exports.js',
// 'exports-sha256' (depends on 'sha512', off by default)
'src/sha512/exports.js',
*/
// 'hmac' (depends on 'common', 'utils')
'src/hmac/hmac.js',
// 'hmac' (depends on 'common', 'utils')
'src/hmac/hmac.js',

// 'hmac-sha1' (depends on 'hmac', 'sha1')
'src/hmac/hmac-sha1.js',
// 'hmac-sha1' (depends on 'hmac', 'sha1')
'src/hmac/hmac-sha1.js',

// 'hmac-sha256' (depends on 'hmac', 'sha256')
'src/hmac/hmac-sha256.js',
// 'hmac-sha256' (depends on 'hmac', 'sha256')
'src/hmac/hmac-sha256.js',
/*
// 'hmac-sha512' (depends on 'hmac', 'sha512', off by default)
'src/hmac/hmac-sha512.js',
// 'hmac-sha512' (depends on 'hmac', 'sha512', off by default)
'src/hmac/hmac-sha512.js',
*/
// 'exports-hmac' (depends on 'hmac')
'src/hmac/exports.js',
// 'exports-hmac' (depends on 'hmac')
'src/hmac/exports.js',

// 'pbkdf2' (depends on 'common', 'utils')
'src/pbkdf2/pbkdf2.js',
// 'pbkdf2' (depends on 'common', 'utils')
'src/pbkdf2/pbkdf2.js',

// 'pbkdf2-hmac-sha1' (depends on 'pbkdf2', 'hmac-sha1')
'src/pbkdf2/pbkdf2-hmac-sha1.js',
// 'pbkdf2-hmac-sha1' (depends on 'pbkdf2', 'hmac-sha1')
'src/pbkdf2/pbkdf2-hmac-sha1.js',

// 'pbkdf2-hmac-sha256' (depends on 'pbkdf2', 'hmac-sha256')
'src/pbkdf2/pbkdf2-hmac-sha256.js',
// 'pbkdf2-hmac-sha256' (depends on 'pbkdf2', 'hmac-sha256')
'src/pbkdf2/pbkdf2-hmac-sha256.js',
/*
// 'pbkdf2-hmac-sha512' (depends on 'pbkdf2', 'hmac-sha512', off by default)
'src/pbkdf2/pbkdf2-hmac-sha512.js',
// 'pbkdf2-hmac-sha512' (depends on 'pbkdf2', 'hmac-sha512', off by default)
'src/pbkdf2/pbkdf2-hmac-sha512.js',
*/
// 'exports-pbkdf2' (depends on 'pbkdf2')
'src/pbkdf2/exports.js',

// 'rng' (depends on 'common', 'utils')
'src/random/isaac.js', 'src/random/random.js',

// 'exports-rng' (depends on 'rng')
'src/random/exports.js',

// 'globals-rng' (depends on 'rng')
'src/random/globals.js',

// 'bn' (depends on 'common', 'rng')
'src/bignum/bigint.asm.js', 'src/bignum/bignum.js', 'src/bignum/extgcd.js', 'src/bignum/modulus.js', 'src/bignum/prime.js',

// 'exports-bn' (depends on 'bn')
'src/bignum/exports.js',
// 'exports-pbkdf2' (depends on 'pbkdf2')
'src/pbkdf2/exports.js',

// 'rng' (depends on 'common', 'utils')
'src/random/isaac.js', 'src/random/random.js',

// 'exports-rng' (depends on 'rng')
'src/random/exports.js',

// 'globals-rng' (depends on 'rng')
'src/random/globals.js',

// 'bn' (depends on 'common', 'rng')
'src/bignum/bigint.asm.js', 'src/bignum/bignum.js', 'src/bignum/extgcd.js', 'src/bignum/modulus.js', 'src/bignum/prime.js',

// 'exports-bn' (depends on 'bn')
'src/bignum/exports.js',

// 'rsa' (depends on 'bn', 'rng')
'src/rsa/rsa.js', 'src/rsa/genkey.js',

// 'rsa-pkcs1' (depends on 'rsa')
'src/rsa/pkcs1.js',

// 'exports-rsa' (depends on 'rsa')
'src/rsa/exports.js',

// 'exports' (depends on 'utils')
'src/exports.js',

// 'globals' (depends on 'common')
'src/globals.js'
];

// Supported browsers
var browsers = [
// Latest browsers
{
browserName: 'Firefox',
},
{
browserName: 'Chrome',
},
{
browserName: 'Internet Explorer',
},
{
browserName: 'Opera',
},
{
browserName: 'Safari',
platform: 'OS X 10.9'
},
// Legacy browsers
{
browserName: 'Firefox',
version: '22'
},
{
browserName: 'Internet Explorer',
version: '10'
},
{
browserName: 'Safari',
platform: 'OS X 10.8'
},
{
browserName: 'Safari',
platform: 'OS X 10.6'
}
];

// Grunt setup
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-saucelabs');

// 'rsa' (depends on 'bn', 'rng')
'src/rsa/rsa.js', 'src/rsa/genkey.js',
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

// 'rsa-pkcs1' (depends on 'rsa')
'src/rsa/pkcs1.js',
uglify: {
devel: {
options: {
mangle: false,
compress: false,
beautify: true,
sourceMap: 'asmcrypto.js.map',
wrap: 'asmCrypto'
},
files: {
'asmcrypto.js': src
}
},
release: {
options: {
mangle: true,
compress: true,
beautify: false,
sourceMap: 'asmcrypto.js.map',
wrap: 'asmCrypto'
},
files: {
'asmcrypto.js': src
}
}
},

// 'exports-rsa' (depends on 'rsa')
'src/rsa/exports.js',
qunit: {
all: ['test/index.html']
},

// 'exports' (depends on 'utils')
'src/exports.js',
'saucelabs-qunit': {
all: {
options: {
testname: "asmcrypto.js",
urls: [ 'http://localhost:9999/' ],
browsers: browsers,
build: process.env.TRAVIS_JOB_ID
}
}
},

// 'globals' (depends on 'common')
'src/globals.js'
]
connect: {
all: {
options: {
hostname: 'localhost',
port: 9999,
base: 'test'
}
}
},

qunit: {
all: ['test.html']
watch: {
all: {
files: src,
tasks: ['uglify:devel']
}
},

clean: [
Expand All @@ -139,6 +215,8 @@ module.exports = function(grunt) {
]
});

grunt.registerTask('default', ['uglify']);
grunt.registerTask('default', ['uglify:release']);
grunt.registerTask('devel', ['uglify:devel','connect','watch']);
grunt.registerTask('test', ['qunit']);
grunt.registerTask('sauce', ['connect','saucelabs-qunit']);
};
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
"grunt-cli": "~0.1",
"grunt-contrib-uglify": "~0.2.2",
"grunt-contrib-qunit": "~0.4.0",
"grunt-contrib-connect": "~0.7.1",
"grunt-contrib-watch": "~0.2.0",
"grunt-saucelabs": "~8.0.0",
"grunt-contrib-clean": "~0.4.0"
},
"scripts": {
Expand Down
29 changes: 0 additions & 29 deletions test.html

This file was deleted.

1 change: 1 addition & 0 deletions test/asmcrypto.js
1 change: 1 addition & 0 deletions test/asmcrypto.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit be9464a

Please sign in to comment.