Trying out travis

This commit is contained in:
Colin Eberhardt
2015-08-12 08:25:57 +01:00
parent 6d10a623d0
commit 6714c36824
3 changed files with 43 additions and 34 deletions

View File

@@ -1,8 +1,10 @@
language: c language: node_js
compiler: node_js:
- clang - "0.12"
- gcc
before_install:
- npm install grunt-cli -g
before_script: before_script:
- sudo apt-get update -q - sudo apt-get update -q
- sudo apt-get install nodejs - sudo apt-get install gcc
script: make

View File

@@ -4,23 +4,25 @@ module.exports = function(grunt) {
require('load-grunt-tasks')(grunt); require('load-grunt-tasks')(grunt);
var config = {
libName: 'css-layout',
distFolder: 'dist',
srcFolder: 'src',
testFolder: 'src/__tests__',
cTestFiles: 'src/__tests__/Layout-test.c src/Layout.c src/Layout-test-utils.c',
cTestOutput: 'c_test',
javaLibFolder: 'src/java/lib',
javaSource: 'src/java/tests/com/facebook/csslayout/*.java',
javaTestFiles: 'org.junit.runner.JUnitCore com.facebook.csslayout.LayoutEngineTest com.facebook.csslayout.LayoutCachingTest com.facebook.csslayout.CSSNodeTest'
};
grunt.initConfig({ grunt.initConfig({
paths: { config: config,
libName: 'css-layout',
distFolder: 'dist',
srcFolder: 'src',
testFolder: 'src/__tests__',
cTestFiles: 'src/__tests__/Layout-test.c src/Layout.c src/Layout-test-utils.c',
cTestOutput: 'c_test',
javaLibFolder: 'src/java/lib',
javaSource: 'src/java/tests/com/facebook/csslayout/*.java',
javaTestFiles: 'org.junit.runner.JUnitCore com.facebook.csslayout.LayoutEngineTest com.facebook.csslayout.LayoutCachingTest com.facebook.csslayout.CSSNodeTest'
},
clean: { clean: {
dist: ['<%= paths.distFolder %>'], dist: ['<%= config.distFolder %>'],
cTest: ['<%= paths.cTestOutput %>'], cTest: ['<%= config.cTestOutput %>'],
javaTest: ['**/*.class'] javaTest: ['**/*.class']
}, },
@@ -28,7 +30,7 @@ module.exports = function(grunt) {
options: { options: {
configFile: '.eslintrc' configFile: '.eslintrc'
}, },
target: ['<%= paths.srcFolder %>/Layout.js'] target: ['<%= config.srcFolder %>/Layout.js']
}, },
includereplace: { includereplace: {
@@ -36,8 +38,8 @@ module.exports = function(grunt) {
prefix: '// @@', prefix: '// @@',
}, },
main: { main: {
src: '<%= paths.srcFolder %>/<%= paths.libName %>.js', src: '<%= config.srcFolder %>/<%= config.libName %>.js',
dest: '<%= paths.distFolder %>/<%= paths.libName %>.js' dest: '<%= config.distFolder %>/<%= config.libName %>.js'
} }
}, },
@@ -48,8 +50,8 @@ module.exports = function(grunt) {
}, },
main: { main: {
files: { files: {
'<%= paths.distFolder %>/<%= paths.libName %>.min.js': '<%= config.distFolder %>/<%= config.libName %>.min.js':
['<%= paths.distFolder %>/<%= paths.libName %>.js'] ['<%= config.distFolder %>/<%= config.libName %>.js']
} }
} }
}, },
@@ -58,10 +60,10 @@ module.exports = function(grunt) {
main: { main: {
options: { options: {
files: [ files: [
'<%= paths.srcFolder %>/Layout.js', '<%= config.srcFolder %>/Layout.js',
'<%= paths.srcFolder %>/Layout-test-utils.js', '<%= config.srcFolder %>/Layout-test-utils.js',
'<%= paths.testFolder %>/Layout-test.js', '<%= config.testFolder %>/Layout-test.js',
'<%= paths.testFolder %>/Layout-consts-test.js' '<%= config.testFolder %>/Layout-consts-test.js'
], ],
browsers: ['Chrome'], browsers: ['Chrome'],
frameworks: ['jasmine'], frameworks: ['jasmine'],
@@ -72,25 +74,25 @@ module.exports = function(grunt) {
execute: { execute: {
transpile: { transpile: {
src: ['<%= paths.srcFolder %>/transpile.js'] src: ['<%= config.srcFolder %>/transpile.js']
} }
}, },
shell: { shell: {
cCompile: { cCompile: {
command: 'gcc -std=c99 -Werror -Wno-padded <%= paths.cTestFiles %> -lm -o "./<%= paths.cTestOutput %>"' command: 'gcc -std=c99 -Werror -Wno-padded <%= config.cTestFiles %> -lm -o "./<%= config.cTestOutput %>"'
}, },
cTestExecute: { cTestExecute: {
command: './<%= paths.cTestOutput %>' command: './<%= config.cTestOutput %>'
}, },
javaCompile: { javaCompile: {
command: 'javac -cp <%= paths.javaLibFolder %>/junit4.jar:<%= paths.javaLibFolder %>/jsr305.jar:<%= paths.javaLibFolder %>/infer-annotations-1.4.jar -sourcepath ./src/java/src:./src/java/tests <%= paths.javaSource %>' command: 'javac -cp <%= config.javaLibFolder %>/junit4.jar:<%= config.javaLibFolder %>/jsr305.jar:<%= config.javaLibFolder %>/infer-annotations-1.4.jar -sourcepath ./src/java/src:./src/java/tests <%= config.javaSource %>'
}, },
javaTestExecute: { javaTestExecute: {
command: 'java -cp ./src/java/src:./src/java/tests:<%= paths.javaLibFolder %>/junit4.jar:<%= paths.javaLibFolder %>/infer-annotations-1.4.jar <%= paths.javaTestFiles %>' command: 'java -cp ./src/java/src:./src/java/tests:<%= config.javaLibFolder %>/junit4.jar:<%= config.javaLibFolder %>/infer-annotations-1.4.jar <%= config.javaTestFiles %>'
}, },
javaPackage: { javaPackage: {
command: 'jar cf <%= paths.distFolder %>/<%= paths.libName %>.jar <%= paths.javaSource %>' command: 'jar cf <%= config.distFolder %>/<%= config.libName %>.jar <%= config.javaSource %>'
} }
} }
}); });
@@ -109,5 +111,7 @@ module.exports = function(grunt) {
grunt.registerTask('build', ['test-javascript', 'transpile', 'clean:dist', 'package-javascript', 'package-java']); grunt.registerTask('build', ['test-javascript', 'transpile', 'clean:dist', 'package-javascript', 'package-java']);
grunt.registerTask('ci', ['eslint', 'transpile', 'clean:dist', 'package-javascript', 'package-java']);
grunt.registerTask('default', ['build']); grunt.registerTask('default', ['build']);
}; };

View File

@@ -3,6 +3,9 @@
"version": "0.0.2", "version": "0.0.2",
"description": "Reimplementation of CSS layout using pure JavaScript", "description": "Reimplementation of CSS layout using pure JavaScript",
"main": "src/main.js", "main": "src/main.js",
"scripts": {
"test": "grunt ci"
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/facebook/css-layout.git" "url": "https://github.com/facebook/css-layout.git"