3 Star 2 Fork 0

Gitee 极速下载/Weex

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/apache/incubator-weex
克隆/下载
dangerfile-jsfm.js 3.01 KB
一键复制 编辑 原始数据 按行查看 历史
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { schedule, danger, fail, warn, message, markdown } from "danger";
import fs from "fs";
import path from 'path';
import GitHubApi from 'github';
import parseDiff from 'parse-diff';
import shell from "shelljs";
const type_unknown = 0;
const type_ios_sdk = 1;
const type_android_sdk = 2;
const type_ios_test = 3;
const type_android_test = 4;
const type_jsfm = 5;
const type_jsfm_test = 6;
const type_ui_test = 8;
const getFileType = file => {
if (file.match(/WeexSDK\/Sources\/.+\.(m|h|mm)/)) {
return type_ios_sdk;
} else if (file.match(/WeexSDKTests\//)) {
return type_ios_test;
} else if (file.match(/android\/sdk\/src\/test\/.+\.java/)) {
return type_android_test;
} else if (file.match(/android\/sdk\/src\/main\/java\/.+\.java/)) {
return type_android_sdk;
} else if (
file.match(/html5\/(shared|frameworks|render|runtime|services)\/.+\.js/)
) {
return type_jsfm;
} else if (file.match(/html5\/test\/.+\.js/)) {
return type_jsfm_test;
} else if (file.match(/test\/scripts\/.+\.js/) || file.match(/test\/pages\/.+\.vue/)){
return type_ui_test
} else {
return type_unknown
}
}
function checkJsfmFile(file){
var type = getFileType(file);
return type == type_jsfm || type == type_jsfm_test;
}
var hasJsfmFile = false;
if (!hasJsfmFile && danger.git.created_files) {
danger.git.created_files.some(file => {
var f = checkJsfmFile(file);
if(f){
hasJsfmFile =f;
}
return f;
});
}
if (!hasJsfmFile && danger.git.modified_files) {
danger.git.modified_files.some(file => {
var f = checkJsfmFile(file);
if(f){
hasJsfmFile =f;
}
return f;
});
}
if (!hasJsfmFile && danger.git.deleted_files) {
danger.git.deleted_files.some(file => {
var f = checkJsfmFile(file);
if(f){
hasJsfmFile =f;
}
return f;
});
}
console.log('-----------------------------hasJsfmFile-----------------------------:'+hasJsfmFile);
if(hasJsfmFile){
var runTestCmd='source ~/.bash_profile; '
+ 'npm run build && npm run test'
var runSuccess = shell.exec(runTestCmd,{ async: false, timeout: 8 * 60 * 1000, maxBuffer: 200 * 1024 * 1024 }).code == 0;
if(!runSuccess){
fail("jsfm run test failed!");
}
}else{
console.log('has no jsfm file changed.');
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/mirrors/Weex.git
git@gitee.com:mirrors/Weex.git
mirrors
Weex
Weex
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385