Commit cffbe981 authored by captainwong's avatar captainwong

testing

parent 7e021b01
......@@ -522,7 +522,8 @@ HbComRequestType hbComParseRequest(const uint8_t* data, size_t len, HbComData* c
case 0xBA:
{
if (data[2] != 0x3F) { break; }
if (len == HbComReq_RD_acct_len && memcmp(data, HbComReq_RD_acct_data, len) == 0) {
if (len == HbComReq_RD_acct_len &&
memcmp(data, HbComReq_RD_acct_data, len) == 0) {
copy_data_to_com;
return HbComReq_RD_acct;
}
......@@ -532,17 +533,23 @@ HbComRequestType hbComParseRequest(const uint8_t* data, size_t len, HbComData* c
{
if (data[2] != 0x3F) { break; }
if (data[3] == 0x09 && data[4] == 0xA3 && len == HbComReq_A3_len) { // EB CB 3F 09 A3 P1 P2 P3 SUM
if (data[3] == 0x09 &&
data[4] == 0xA3 &&
len == HbComReq_A3_len) { // EB CB 3F 09 A3 P1 P2 P3 SUM
if (hbCheckSum(data, len)) {
copy_data_to_com;
return HbComReq_A3;
}
} else if (data[3] == 0x0F && data[4] == 0x4D && len == HbComReq_WR_acct_len) {
} else if (data[3] == 0x0F &&
data[4] == 0x4D &&
len == HbComReq_WR_acct_len) {
if (hbCheckSum(data, len)) {
copy_data_to_com;
return HbComReq_WR_acct;
}
} else if (data[3] == 0x0E && data[4] == 0xA7 && len == HbComReq_A7_len) { // EB CB 3F 0E A7 H1 M1 H2 M2 H3 M3 H4 M4 SUM
} else if (data[3] == 0x0E &&
data[4] == 0xA7 &&
len == HbComReq_A7_len) { // EB CB 3F 0E A7 H1 M1 H2 M2 H3 M3 H4 M4 SUM
if (hbCheckSum(data, len)) {
copy_data_to_com;
return HbComReq_A7;
......@@ -554,7 +561,9 @@ HbComRequestType hbComParseRequest(const uint8_t* data, size_t len, HbComData* c
if (data[len - 1] == req.data[len - 1]) { return A7; }
}*/
else if (data[3] == 0x08 && data[4] == 0xAA && len == HbComReq_AA_len) { // EB CB 3F 08 AA P1 P2 SUM
else if (data[3] == 0x08 &&
data[4] == 0xAA &&
len == HbComReq_AA_len) { // EB CB 3F 08 AA P1 P2 SUM
if (hbCheckSum(data, len)) {
copy_data_to_com;
return HbComReq_AA;
......@@ -566,7 +575,9 @@ HbComRequestType hbComParseRequest(const uint8_t* data, size_t len, HbComData* c
if (data[len - 1] == req.data[len - 1]) { return AA; }
}*/
else if (data[3] == 0x06 && data[4] == 0xB0 && len == HbComReq_B0_len && memcmp(HbComReq_B0_data, data, len) == 0) { // EB CB 3F 06 B0 AB
else if (data[3] == 0x06 && data[4] == 0xB0 &&
len == HbComReq_B0_len &&
memcmp(HbComReq_B0_data, data, len) == 0) { // EB CB 3F 06 B0 AB
copy_data_to_com;
return HbComReq_B0;
}
......@@ -576,9 +587,11 @@ HbComRequestType hbComParseRequest(const uint8_t* data, size_t len, HbComData* c
return HbComReq_Invalid;
}
ADEMCO_EXPORT_SYMBOL HbComRequestType hbComParseXDataRequest(const AdemcoXDataSegment* xdata, HbComData* cd) {
ADEMCO_EXPORT_SYMBOL HbComRequestType hbComParseXDataRequest(const AdemcoXDataSegment* xdata,
HbComData* cd) {
if (!xdata) { return HbComReq_Invalid; }
return hbComParseRequest((const uint8_t*)ademcoXDataGetValidContentAddr(xdata), ademcoXDataGetValidContentLen(xdata), cd);
return hbComParseRequest((const uint8_t*)ademcoXDataGetValidContentAddr(xdata),
ademcoXDataGetValidContentLen(xdata), cd);
}
HbComResponseType hbComParseResponse(const uint8_t* data, size_t len, HbComData* cd) {
......@@ -703,9 +716,11 @@ HbComResponseType hbComParseResponse(const uint8_t* data, size_t len, HbComData*
return HbComResp_Invalid;
}
HbComResponseType hbComParseXDataResponse(const AdemcoXDataSegment* xdata, HbComData* cd) {
if (!xdata) { return HbComReq_Invalid; }
return hbComParseResponse((const uint8_t*)ademcoXDataGetValidContentAddr(xdata), ademcoXDataGetValidContentLen(xdata), cd);
HbComResponseType hbComParseXDataResponse(const AdemcoXDataSegment* xdata,
HbComData* cd) {
if (!xdata) { return HbComResp_Invalid; }
return hbComParseResponse((const uint8_t*)ademcoXDataGetValidContentAddr(xdata),
ademcoXDataGetValidContentLen(xdata), cd);
}
void hbComMakeReqA0_getMachineStatus(HbComData* data) {
......@@ -723,7 +738,8 @@ void hbComMakeReqA2_getMoreMachineZones(HbComData* data) {
data->len = HbComReq_A2_len;
}
void hbComMakeReqA3_modifyMachineZone(HbComData* data, uint8_t zone, HbZoneProperty prop, HbComReq_A3_op op) {
void hbComMakeReqA3_modifyMachineZone(HbComData* data, uint8_t zone,
HbZoneProperty prop, HbComReq_A3_op op) {
memcpy(data->data, HbComReq_A3_head, 5);
data->data[5] = zone;
data->data[6] = prop;
......@@ -762,7 +778,8 @@ void hbComMakeReqAD_getMoreMachineZoneLostConfig(HbComData* data) {
data->len = HbComReq_AD_len;
}
void hbComMakeReqAE_set3SectionMachineStatus(HbComData* data, HbCom_3sec_which p1, HbCom_3sec_status status) {
void hbComMakeReqAE_set3SectionMachineStatus(HbComData* data, HbCom_3sec_which p1,
HbCom_3sec_status status) {
memcpy(data->data, HbComReq_AE_head, 5);
data->data[5] = p1;
data->data[6] = status;
......@@ -793,7 +810,9 @@ void hbComResp_A2_Iter_init(HbComResp_A2_Iter* iter, const HbComData* com) {
iter->i = 0;
if (com->len > HbComResp_A2_len_min) {
iter->total = (com->len - HbComResp_A2_len_min) / 2;
iter->p1 = (com->data[com->len - 2] == 0xFF) ? HbComResp_A2_p1_nomore : HbComResp_A2_p1_more;
iter->p1 = (com->data[com->len - 2] == 0xFF) ?
HbComResp_A2_p1_nomore :
HbComResp_A2_p1_more;
} else {
iter->total = 0;
iter->p1 = HbComResp_A2_p1_nomore;
......@@ -809,7 +828,8 @@ HbComResp_A2_p1 hbComResp_A2_Iter_next(HbComResp_A2_Iter* iter, HbZoneAndPropert
return HbComResp_A2_p1_more;
}
void hbComMakeRespA0_getMachineStatus(HbComData* data, HbMachineStatus status, HbMachineType type) {
void hbComMakeRespA0_getMachineStatus(HbComData* data, HbMachineStatus status,
HbMachineType type) {
memcpy(data->data, HbComResp_A0_head, 6);
data->data[6] = status;
data->data[7] = type;
......@@ -817,7 +837,8 @@ void hbComMakeRespA0_getMachineStatus(HbComData* data, HbMachineStatus status, H
hbSum(data->data, data->len);
}
void hbComMakeRespA2_getMachineZones(HbComData* data, size_t count, AdemcoZone* zones, HbZoneProperty* props, HbComResp_A2_p1 p1) {
void hbComMakeRespA2_getMachineZones(HbComData* data, size_t count, AdemcoZone* zones,
HbZoneProperty* props, HbComResp_A2_p1 p1) {
if (count > HbComResp_A2_max_zone) { return; }
memcpy(data->data, HbComResp_A2_head, 6);
data->data[3] = (HbComResp_A2_len_min + count * 2) & 0xFF;
......@@ -836,7 +857,8 @@ void hbComMakeRespA3_waitingSignal(HbComData* data) {
data->len = HbComResp_A3_len;
}
void hbComMakeRespA4_modifyMachineZone(HbComData* data, AdemcoZone zone, HbZoneProperty prop, HbComResp_A4_p3 p3) {
void hbComMakeRespA4_modifyMachineZone(HbComData* data, AdemcoZone zone,
HbZoneProperty prop, HbComResp_A4_p3 p3) {
memcpy(data->data, HbComResp_A4_head, 6);
data->data[6] = zone & 0xFF;
data->data[7] = prop;
......@@ -862,7 +884,8 @@ void hbComMakeRespA8_reject(HbComData* data) {
data->len = HbComResp_A8_len;
}
void hbComMakeRespAB_modifyMachineZoneLostConfig(HbComData* data, AdemcoZone zone, HbComResp_AB_p2 p2) {
void hbComMakeRespAB_modifyMachineZoneLostConfig(HbComData* data, AdemcoZone zone,
HbComResp_AB_p2 p2) {
memcpy(data->data, HbComResp_AB_head, 6);
data->data[6] = zone & 0xFF;
data->data[7] = p2;
......@@ -870,7 +893,9 @@ void hbComMakeRespAB_modifyMachineZoneLostConfig(HbComData* data, AdemcoZone zon
hbSum(data->data, data->len);
}
void hbComMakeRespAD_getMachineZoneLostConfig(HbComData* data, HbComResp_AD_p1 p1, size_t count, AdemcoZone* zones, HbComResp_AD_p2 p2) {
void hbComMakeRespAD_getMachineZoneLostConfig(HbComData* data, HbComResp_AD_p1 p1,
size_t count, AdemcoZone* zones,
HbComResp_AD_p2 p2) {
if (count > HbComResp_AD_max_zone) { return; }
memcpy(data->data, HbComResp_AD_head, 6);
data->data[3] = (HbComResp_AD_len_min + (p1 == HbComResp_AD_p1_single ? count : count * 2)) & 0xFF;
......@@ -889,7 +914,8 @@ void hbComMakeRespAD_getMachineZoneLostConfig(HbComData* data, HbComResp_AD_p1 p
hbSum(data->data, data->len);
}
void hbComMakeRespAF_set3SectionMachineStatus(HbComData* data, HbCom_3sec_which p1, HbCom_3sec_status status) {
void hbComMakeRespAF_set3SectionMachineStatus(HbComData* data, HbCom_3sec_which p1,
HbCom_3sec_status status) {
memcpy(data->data, HbComResp_AF_head, 6);
data->data[6] = p1;
data->data[7] = status;
......@@ -897,14 +923,18 @@ void hbComMakeRespAF_set3SectionMachineStatus(HbComData* data, HbCom_3sec_which
hbSum(data->data, data->len);
}
void hbComMakeRespB1_get3SectionMachineStatus(HbComData* data, HbMachineStatus statusMachine,
HbMachineStatus statusSec1, HbMachineStatus statusSec2, HbMachineStatus statusSec3) {
void hbComMakeRespB1_get3SectionMachineStatus(HbComData* data,
HbMachineStatus statusMachine,
HbMachineStatus statusSec1,
HbMachineStatus statusSec2,
HbMachineStatus statusSec3) {
memcpy(data->data, HbComResp_B1_head, 6);
data->data[6] = (statusMachine << 6) | (statusSec1 << 4) | (statusSec2 << 2) | (statusSec3);
data->len = HbComResp_B1_len;
hbSum(data->data, data->len);
}
void hbComDataToAdemcoXData(const HbComData* const data, AdemcoXDataSegment* xdata, AdemcoXDataLengthFormat xlf, AdemcoXDataTransform xtr) {
void hbComDataToAdemcoXData(const HbComData* const data, AdemcoXDataSegment* xdata,
AdemcoXDataLengthFormat xlf, AdemcoXDataTransform xtr) {
ademcoMakeXData(xdata, xlf, xtr, (const char*)data->data, data->len);
}
#!/bin/bash
set -e
swig -c++ -javascript -node libademco.swig
node-gyp configure build
const assert = require('assert');
// windows:
const libademco = require('./build/Release/libademco_js');
// linux:
// const libademco = require('./build/Release/ademco_js');
libademco.ademcoPrint("hello nodejs", "hello nodejs".length);
console.log(libademco);
function test_parse() {
console.log("test parse...");
var str = "\nC5C30053\"HENG-BO\"0000R000000L000000#90219125916578[#000000|1737 00 000]_09:11:19,08-05-2019\r";
var cb = libademco.new_size_tp();
var pkt = new libademco.AdemcoPacket();
var res = libademco.ademcoPacketParse(str, str.length, pkt, cb);
assert.strictEqual(res, libademco.RESULT_OK);
assert.strictEqual(libademco.size_tp_value(cb), str.length);
assert.strictEqual(pkt.crc, 0xC5C3);
assert.strictEqual(pkt.len, 0x0053);
assert.strictEqual(pkt.id, libademco.AID_HB);
assert.strictEqual(pkt.seq, 0);
assert.strictEqual(pkt.acct, "90219125916578");
assert.strictEqual(pkt.data.ademcoId, 0);
assert.strictEqual(pkt.data.ademcoEvent, libademco.EVENT_I_AM_WIRE_MACHINE);
assert.strictEqual(pkt.data.gg, 0);
assert.strictEqual(pkt.data.zone, 0);
console.log("res=%d, commited=%d", res, libademco.size_tp_value(cb));
}
function test_pack() {
console.log("test pack");
var pkt = new libademco.AdemcoPacket();
libademco.ademcoMakeHbPacket2(pkt, 1, "861234567890", 666666, libademco.EVENT_ARM, 0, 0, null);
console.log("len=%d", pkt.raw_len);
libademco.ademcoPrint(pkt.raw, pkt.raw_len);
console.log("test parse packed data");
var pkt2 = new libademco.AdemcoPacket();
var cb = libademco.new_size_tp();
var res = libademco.ademcoPacketParse(pkt.raw, pkt.raw_len, pkt2, cb);
assert.strictEqual(res, libademco.RESULT_OK);
assert.strictEqual(libademco.size_tp_value(cb), pkt.raw_len);
assert.strictEqual(pkt2.id, libademco.AID_HB);
assert.strictEqual(pkt2.seq, 1);
assert.strictEqual(pkt2.acct, "861234567890");
assert.strictEqual(pkt2.data.ademcoId, 666666);
assert.strictEqual(pkt2.data.ademcoEvent, libademco.EVENT_ARM);
assert.strictEqual(pkt2.data.gg, 0);
assert.strictEqual(pkt2.data.zone, 0);
}
class AlarmHost {
constructor(socket) {
this.socket = socket;
this.address = socket.address().address;
this.port = socket.address().port;
this.buf = null;
this.inpkt = new libademco.AdemcoPacket();
this.outpkt = new libademco.AdemcoPacket();
this.cb = libademco.new_size_tp();
this.ademcoId = 0;
this.acct = '';
this.seq = 1;
socket.on('data', (chunk) => {
if (this.buf) {
chunk = Buffer.concat([this.buf, chunk]);
}
let res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb);
while (res === libademco.RESULT_OK) {
chunk = chunk.slice(libademco.size_tp_value(this.cb));
this.handleMsg();
res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb);
}
if (res === libademco.RESULT_ERROR) {
chunk = null;
}
this.buf = chunk;
});
socket.on('close', (error) => {
console.log(this.tag() + ' disconnected, hadError=' + error);
});
console.log(this.tag() + ' connectd');
}
handleMsg() {
console.log(this.tag() + ':');
libademco.ademcoPrint(this.inpkt.raw, this.inpkt.raw_len);
switch (this.inpkt.id) {
case libademco.AID_NULL:
this.acct = this.inpkt.acct;
this.sendAck(this.inpkt.seq);
break;
case libademco.AID_HB:
case libademco.AID_ADM_CID:
this.acct = this.inpkt.acct;
this.ademcoId = this.inpkt.data.ademcoId;
this.sendAck(this.inpkt.seq);
break;
}
}
tag() {
var str = this.address + ':' + this.port;
if (this.acct) {
str += ' acct=' + this.acct;
}
if (this.ademcoId) {
str += ' ademco_id=' + this.ademcoId;
}
return str;
}
sendAck(seq) {
libademco.ademcoMakeAckPacket2(this.outpkt, seq, this.acct, this.ademcoId);
console.log('server reply:');
libademco.ademcoPrint(this.outpkt.raw, this.outpkt.raw_len);
this.socket.write(Buffer.from(this.outpkt.raw, this.outpkt.raw_len));
}
}
function simpleServer(host, port) {
const net = require('net');
const server = net.createServer();
server.on('error', (error) => {
console.log(`server error: ${error}`);
});
server.on('listening', () => {
console.log(`server running at ${host}:${port}...`);
server.on('connection', (socket) => {
new AlarmHost(socket);
});
});
server.listen(port, host);
}
test_parse();
test_pack();
simpleServer("0.0.0.0", 12345);
const assert = require('assert');
const libname = process.platform === "win32" ? "libademco_js" : "ademco_js";
const libademco = require(`./build/Release/${libname}`);
libademco.ademcoPrint("hello nodejs", "hello nodejs".length);
console.log(libademco);
function test_parse() {
console.log("test parse...");
var str = "\nC5C30053\"HENG-BO\"0000R000000L000000#90219125916578[#000000|1737 00 000]_09:11:19,08-05-2019\r";
var cb = libademco.new_size_tp();
var pkt = new libademco.AdemcoPacket();
var res = libademco.ademcoPacketParse(str, str.length, pkt, cb);
assert.strictEqual(res, libademco.RESULT_OK);
assert.strictEqual(libademco.size_tp_value(cb), str.length);
assert.strictEqual(pkt.crc, 0xC5C3);
assert.strictEqual(pkt.len, 0x0053);
assert.strictEqual(pkt.id, libademco.AID_HB);
assert.strictEqual(pkt.seq, 0);
assert.strictEqual(pkt.acct, "90219125916578");
assert.strictEqual(pkt.data.ademcoId, 0);
assert.strictEqual(pkt.data.ademcoEvent, libademco.EVENT_I_AM_WIRE_MACHINE);
assert.strictEqual(pkt.data.gg, 0);
assert.strictEqual(pkt.data.zone, 0);
console.log("res=%d, commited=%d", res, libademco.size_tp_value(cb));
}
function test_pack() {
console.log("test pack");
var pkt = new libademco.AdemcoPacket();
libademco.ademcoMakeHbPacket2(pkt, 1, "861234567890", 666666, libademco.EVENT_ARM, 0, 0, null);
console.log("len=%d", pkt.raw_len);
libademco.ademcoPrint(pkt.raw, pkt.raw_len);
console.log("test parse packed data");
var pkt2 = new libademco.AdemcoPacket();
var cb = libademco.new_size_tp();
var res = libademco.ademcoPacketParse(pkt.raw, pkt.raw_len, pkt2, cb);
assert.strictEqual(res, libademco.RESULT_OK);
assert.strictEqual(libademco.size_tp_value(cb), pkt.raw_len);
assert.strictEqual(pkt2.id, libademco.AID_HB);
assert.strictEqual(pkt2.seq, 1);
assert.strictEqual(pkt2.acct, "861234567890");
assert.strictEqual(pkt2.data.ademcoId, 666666);
assert.strictEqual(pkt2.data.ademcoEvent, libademco.EVENT_ARM);
assert.strictEqual(pkt2.data.gg, 0);
assert.strictEqual(pkt2.data.zone, 0);
}
class AlarmHost {
constructor(socket) {
this.socket = socket;
this.address = socket.address().address;
this.port = socket.address().port;
this.buf = null;
this.inpkt = new libademco.AdemcoPacket();
this.outpkt = new libademco.AdemcoPacket();
this.cb = libademco.new_size_tp();
this.ademcoId = 0;
this.acct = '';
this.seq = 1;
socket.on('data', (chunk) => {
if (this.buf) {
chunk = Buffer.concat([this.buf, chunk]);
}
let res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb);
while (res === libademco.RESULT_OK) {
chunk = chunk.slice(libademco.size_tp_value(this.cb));
this.handleMsg();
res = libademco.ademcoPacketParse(chunk.toString(), chunk.length, this.inpkt, this.cb);
}
if (res === libademco.RESULT_ERROR) {
chunk = null;
}
this.buf = chunk;
});
socket.on('close', (error) => {
console.log(this.tag() + ' disconnected, hadError=' + error);
});
console.log(this.tag() + ' connectd');
}
handleMsg() {
console.log(this.tag() + ':');
libademco.ademcoPrint(this.inpkt.raw, this.inpkt.raw_len);
switch (this.inpkt.id) {
case libademco.AID_NULL:
this.acct = this.inpkt.acct;
this.sendAck(this.inpkt.seq);
break;
case libademco.AID_HB:
case libademco.AID_ADM_CID:
this.acct = this.inpkt.acct;
this.ademcoId = this.inpkt.data.ademcoId;
this.sendAck(this.inpkt.seq);
break;
}
}
tag() {
var str = this.address + ':' + this.port;
if (this.acct) {
str += ' acct=' + this.acct;
}
if (this.ademcoId) {
str += ' ademco_id=' + this.ademcoId;
}
return str;
}
sendAck(seq) {
libademco.ademcoMakeAckPacket2(this.outpkt, seq, this.acct, this.ademcoId);
console.log('server reply:');
libademco.ademcoPrint(this.outpkt.raw, this.outpkt.raw_len);
this.socket.write(Buffer.from(this.outpkt.raw, this.outpkt.raw_len));
}
}
function simpleServer(host, port) {
const net = require('net');
const server = net.createServer();
server.on('error', (error) => {
console.log(`server error: ${error}`);
});
server.on('listening', () => {
console.log(`server running at ${host}:${port}...`);
server.on('connection', (socket) => {
new AlarmHost(socket);
});
});
server.listen(port, host);
}
test_parse();
test_pack();
simpleServer("0.0.0.0", 12345);
#/bin/bash
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
rm -rf linux_java
rm -rf mac_java
......
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
if [ $# -ne 1 ]; then
dst_name=linux_node
else
dst_name=$1
fi
rm -rf ${dst_name} ${dst_name}.zip
mkdir -p ${dst_name}/build/Release
cd ${dst_name}
cp -r ../../swig/build/Release/ademco_js.node ./build/Release/
cp ../../swig/nodejs-demo.js .
zip -r ../${dst_name}.zip . *
cd ..
rm -rf ${dst_name}/
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
./clean.sh
./examples.bat
mkdir -p dist/examples/x86
cp "/h/dev/AlarmCenterTestTools/Release/直连型主机模拟器V1.15.exe" dist/examples/x86/
cp "/g/dev_libs/curl-7.87.0/builds/libcurl-vc14-x86-release-dll-ipv6-sspi-schannel/bin/libcurl.dll" dist/examples/x86/
cp ../examples/Win32/Release/server_demo.exe dist/examples/x86/
cp ../examples/Release/httprelay.exe dist/examples/x86/
cp ../examples/Release/ademco.dll dist/examples/x86/
cp ../examples/Release/ademco.lib dist/examples/x86/
./examples_x64.bat
mkdir -p dist/examples/x64
cp ../examples/x64/Release/server_demo_x64.exe dist/examples/x64/
cp ../examples/x64/Release/ademco.dll dist/examples/x64/
cp ../examples/x64/Release/ademco.lib dist/examples/x64/
cp ../examples/x64/Release/httprelay.exe dist/examples/x64/
cp "/g/dev_libs/curl-7.87.0/builds/libcurl-vc14-x64-release-dll-ipv6-sspi-schannel/bin/libcurl.dll" dist/examples/x64/
rm -f dist/examples.zip
cd dist/examples
zip -r ../examples.zip . *
cd ..
rm -rf examples
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
ssh -t ${LINUX_TARGET} <<EOF
cd ${LINUX_PROJECT_PATH}
git checkout ${PROJECT_BRANCH}
git reset --hard HEAD
git pull origin ${PROJECT_BRANCH}
cd swig
export JAVA_HOME=${LINUX_JAVA_HOME}
./linux_java.sh
cd ../tools
./linux_java.sh
EOF
scp ${LINUX_TARGET}:${LINUX_PROJECT_PATH}/tools/linux_java.zip ./dist/linux_java.zip
ssh -t ${LINUX_TARGET} "rm -f ${LINUX_PROJECT_PATH}/tools/linux_java.zip"
\ No newline at end of file
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
ssh -t ${LINUX_TARGET} <<EOF
cd ${LINUX_PROJECT_PATH}
git checkout ${PROJECT_BRANCH}
git reset --hard HEAD
git pull origin ${PROJECT_BRANCH}
cd swig
./linux_mac_node.sh
cd ../tools
./linux_mac_node.sh
EOF
scp ${LINUX_TARGET}:${LINUX_PROJECT_PATH}/tools/linux_node.zip ./dist/linux_node.zip
ssh -t ${LINUX_TARGET} "rm -f ${LINUX_PROJECT_PATH}/tools/linux_node.zip"
\ No newline at end of file
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
ssh -t ${MACOS_TARGET} <<EOF
cd ${MACOS_PROJECT_PATH}
git checkout ${PROJECT_BRANCH}
git reset --hard HEAD
git pull origin ${PROJECT_BRANCH}
cd swig
./mac_java.sh
cd ../tools
./mac_java.sh
EOF
scp ${MACOS_TARGET}:${MACOS_PROJECT_PATH}/tools/mac_java.zip .
ssh -t ${MACOS_TARGET} "rm -f ${MACOS_PROJECT_PATH}/tools/mac_java.zip"
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
ssh -t ${MACOS_TARGET} <<EOF
cd ${LINUX_PROJECT_PATH}
git checkout ${PROJECT_BRANCH}
git reset --hard HEAD
git pull origin ${PROJECT_BRANCH}
cd swig
./linux_mac_node.sh
cd ../tools
./linux_mac_node.sh mac_node
EOF
scp ${MACOS_TARGET}:${LINUX_PROJECT_PATH}/tools/mac_node.zip ./dist/mac_node.zip
ssh -t ${MACOS_TARGET} "rm -f ${LINUX_PROJECT_PATH}/tools/mac_node.zip"
\ No newline at end of file
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
./clean.sh
./win_csharp.bat
mkdir -p dist/win_csharp
cp -r ../swig/com/ dist/win_csharp/
cp ../swig/*.cs dist/win_csharp/
cp ../swig/*.dll dist/win_csharp/
cp ../swig/*.exe dist/win_csharp/
rm -f dist/win_csharp.zip
cd dist/win_csharp
zip -r ../win_csharp.zip . *
cd ..
rm -rf win_csharp
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
./clean.sh
./win_java.bat
mkdir -p dist/win_java
cp -r ../swig/com/ dist/win_java/
rm -f dist/win_java/com/hb3344/ademco/*.class
cp ../swig/*.java dist/win_java/
cp ../swig/*.dll dist/win_java/
rm -f dist/win_java.zip
cd dist/win_java
zip -r ../win_java.zip . *
cd ..
rm -rf win_java
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
./clean.sh
mkdir -p win_node
./win_node.bat
cp -r ../swig/build/ win_node/
cp ../swig/nodejs-demo.js win_node/
rm -f win_node.zip
cd win_node
zip -r ../win_node.zip . *
cd ..
rm -rf win_node/
#!/bin/bash
branch=master
# examples
./clean.sh
./examples.bat
./examples_x64.bat
mkdir examples
mkdir examples/x86
mkdir examples/x64
cp "/h/dev/AlarmCenterTestTools/Release/直连型主机模拟器V1.13.exe" examples/x86/
cp "/g/dev_libs/libevent-2.1.12-stable-install/lib/event_core.dll" examples/x86/
cp "/g/dev_libs/curl-7.87.0/builds/libcurl-vc14-x86-release-dll-ipv6-sspi-schannel/bin/libcurl.dll" examples/x86/
cp ../examples/Win32/Release/server_demo.exe examples/x86/
cp ../examples/Release/httprelay.exe examples/x86/
cp ../examples/Release/ademco.dll examples/x86/
cp ../examples/Release/ademco.lib examples/x86/
cp ../examples/x64/Release/server_demo_x64.exe examples/x64/
cp ../examples/x64/Release/ademco.dll examples/x64/
cp ../examples/x64/Release/ademco.lib examples/x64/
cp ../examples/x64/Release/httprelay.exe examples/x64/
cp "/g/dev_libs/curl-7.87.0/builds/libcurl-vc14-x64-release-dll-ipv6-sspi-schannel/bin/libcurl.dll" examples/x64/
rm -f examples.zip
cd examples
zip -r ../examples.zip . *
cd ..
rm -rf examples
# win-java
./clean.sh
./win_java.bat
mkdir -p win_java
cp -r ../swig/com/ win_java/
rm -f win_java/com/hb3344/ademco/*.class
cp ../swig/*.java win_java/
cp ../swig/*.dll win_java/
rm -f win_java.zip
cd win_java
zip -r ../win_java.zip . *
cd ..
rm -rf win_java
# win-c#
./clean.sh
./win_csharp.bat
mkdir -p win_csharp
cp -r ../swig/com/ win_csharp/
cp ../swig/*.cs win_csharp/
cp ../swig/*.dll win_csharp/
cp ../swig/*.exe win_csharp/
rm -f win_csharp.zip
cd win_csharp
zip -r ../win_csharp.zip . *
cd ..
rm -rf win_csharp
# ubuntu20.04 java
ssh -t root@192.168.2.107 "cd /root/projects/ademco_hb && git checkout ${branch} && git reset --hard HEAD && git pull origin ${branch} && cd swig && export JAVA_HOME='/usr/lib/jvm/java-8-openjdk-amd64' && ./linux_java.sh && cd ../tools && ./linux_java.sh"
scp root@192.168.2.107:/root/projects/ademco_hb/tools/linux_java.zip .
ssh -t root@192.168.2.107 "rm -f /root/projects/ademco_hb/tools/linux_java.zip"
# macOS java
ssh -t jack@JackMacBook-Pro.local "cd /Users/jack/projects/ademco_hb && git checkout ${branch} && git reset --hard HEAD && git pull origin ${branch} && cd swig && ./mac_java.sh && cd ../tools && ./mac_java.sh"
scp jack@JackMacBook-Pro.local:/Users/jack/projects/ademco_hb/tools/mac_java.zip .
ssh -t jack@JackMacBook-Pro.local "rm -f /Users/jack/projects/ademco_hb/tools/mac_java.zip"
# win-node
./clean.sh
mkdir -p win_node
./win_node.bat
cp -r ../swig/build/ win_node/
cp ../swig/nodejs-demo.js win_node/
rm -f win_node.zip
cd win_node
zip -r ../win_node.zip . *
cd ..
rm -rf win_node/
#!/bin/bash
set -e
CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd $CURRENT_DIR
if [ $# -ne 1 ]; then
export PROJECT_BRANCH=master
else
export PROJECT_BRANCH=$1
fi
export LINUX_TARGET=root@192.168.2.107
export LINUX_PROJECT_PATH=/root/projects/ademco_hb
export LINUX_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export MACOS_TARGET=jack@JackMacBook-Pro.local
export MACOS_PROJECT_PATH=/Users/jack/projects/ademco_hb
export MACOS_JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
rm -rf dist
mkdir -p dist
# examples
./mk_examples.sh
# win-java
./mk_win_java.sh
# win-c#
./mk_win_csharp.sh
# ubuntu20.04 java
./mk_linux_java.sh
# macOS java
./mk_macos_java.sh
# win-node
./mk_win_node.sh
# linux-node
./mk_linux_node.sh
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment