Trying out travis
This commit is contained in:
14
.travis.yml
14
.travis.yml
@@ -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
|
|
60
Gruntfile.js
60
Gruntfile.js
@@ -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']);
|
||||||
};
|
};
|
||||||
|
@@ -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"
|
||||||
|
Reference in New Issue
Block a user