Added Java to the build
This commit is contained in:
42
Gruntfile.js
42
Gruntfile.js
@@ -7,16 +7,21 @@ module.exports = function(grunt) {
|
|||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
|
|
||||||
paths: {
|
paths: {
|
||||||
|
libName: 'css-layout',
|
||||||
distFolder: 'dist',
|
distFolder: 'dist',
|
||||||
srcFolder: 'src',
|
srcFolder: 'src',
|
||||||
testFolder: 'src/__tests__',
|
testFolder: 'src/__tests__',
|
||||||
cTestFiles: 'src/__tests__/Layout-test.c src/Layout.c src/Layout-test-utils.c',
|
cTestFiles: 'src/__tests__/Layout-test.c src/Layout.c src/Layout-test-utils.c',
|
||||||
cTestOutput: 'c_test'
|
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: ['<%= paths.distFolder %>'],
|
||||||
ctest: ['<%= paths.cTestOutput %>']
|
cTest: ['<%= paths.cTestOutput %>'],
|
||||||
|
javaTest: ['**/*.class']
|
||||||
},
|
},
|
||||||
|
|
||||||
eslint: {
|
eslint: {
|
||||||
@@ -31,8 +36,8 @@ module.exports = function(grunt) {
|
|||||||
prefix: '// @@',
|
prefix: '// @@',
|
||||||
},
|
},
|
||||||
main: {
|
main: {
|
||||||
src: '<%= paths.srcFolder %>/css-layout.js',
|
src: '<%= paths.srcFolder %>/<%= paths.libName %>.js',
|
||||||
dest: '<%= paths.distFolder %>/css-layout.js'
|
dest: '<%= paths.distFolder %>/<%= paths.libName %>.js'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -43,7 +48,8 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
main: {
|
main: {
|
||||||
files: {
|
files: {
|
||||||
'<%= paths.distFolder %>/css-layout.min.js': ['<%= paths.distFolder %>/css-layout.js']
|
'<%= paths.distFolder %>/<%= paths.libName %>.min.js':
|
||||||
|
['<%= paths.distFolder %>/<%= paths.libName %>.js']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -71,25 +77,37 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
shell: {
|
shell: {
|
||||||
ccompile: {
|
cCompile: {
|
||||||
command: 'gcc -std=c99 -Werror -Wno-padded <%= paths.cTestFiles %> -lm -o "./<%= paths.cTestOutput %>"'
|
command: 'gcc -std=c99 -Werror -Wno-padded <%= paths.cTestFiles %> -lm -o "./<%= paths.cTestOutput %>"'
|
||||||
},
|
},
|
||||||
ctestExecute: {
|
cTestExecute: {
|
||||||
command: './<%= paths.cTestOutput %>'
|
command: './<%= paths.cTestOutput %>'
|
||||||
|
},
|
||||||
|
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 %>'
|
||||||
|
},
|
||||||
|
javaTestExecute: {
|
||||||
|
command: 'java -cp ./src/java/src:./src/java/tests:<%= paths.javaLibFolder %>/junit4.jar:<%= paths.javaLibFolder %>/infer-annotations-1.4.jar <%= paths.javaTestFiles %>'
|
||||||
|
},
|
||||||
|
javaPackage: {
|
||||||
|
command: 'jar cf <%= paths.distFolder %>/<%= paths.libName %>.jar <%= paths.javaSource %>'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
grunt.registerTask('test-java', ['shell:javaCompile', 'shell:javaTestExecute', 'clean:javaTest']);
|
||||||
grunt.registerTask('ctest', ['shell:ccompile', 'shell:ctestExecute', 'clean:ctest']);
|
|
||||||
|
|
||||||
grunt.registerTask('transpile', ['execute:transpile', 'ctest']);
|
grunt.registerTask('test-c', ['shell:cCompile', 'shell:cTestExecute', 'clean:cTest']);
|
||||||
|
|
||||||
|
grunt.registerTask('transpile', ['execute:transpile', 'test-c', 'test-java']);
|
||||||
|
|
||||||
grunt.registerTask('test-javascript', ['eslint', 'karma']);
|
grunt.registerTask('test-javascript', ['eslint', 'karma']);
|
||||||
|
|
||||||
grunt.registerTask('package-javascript', ['clean:dist', 'includereplace', 'uglify']);
|
grunt.registerTask('package-javascript', ['includereplace', 'uglify']);
|
||||||
|
|
||||||
grunt.registerTask('build', ['test-javascript', 'transpile', 'package-javascript']);
|
grunt.registerTask('package-java', ['shell:javaPackage']);
|
||||||
|
|
||||||
|
grunt.registerTask('build', ['test-javascript', 'transpile', 'clean:dist', 'package-javascript', 'package-java']);
|
||||||
|
|
||||||
grunt.registerTask('default', ['build']);
|
grunt.registerTask('default', ['build']);
|
||||||
};
|
};
|
||||||
|
BIN
dist/css-layout.jar
vendored
Normal file
BIN
dist/css-layout.jar
vendored
Normal file
Binary file not shown.
BIN
src/java/lib/infer-annotations-1.4.jar
Normal file
BIN
src/java/lib/infer-annotations-1.4.jar
Normal file
Binary file not shown.
BIN
src/java/lib/jsr305.jar
Normal file
BIN
src/java/lib/jsr305.jar
Normal file
Binary file not shown.
BIN
src/java/lib/junit4.jar
Normal file
BIN
src/java/lib/junit4.jar
Normal file
Binary file not shown.
Reference in New Issue
Block a user