mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 22:54:01 +02:00
Improve updates build script.
This commit is contained in:
parent
a2fe91af03
commit
c765c4198f
2 changed files with 42 additions and 19 deletions
|
@ -9,6 +9,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
#include "dialogs/dialogs_key.h"
|
#include "dialogs/dialogs_key.h"
|
||||||
#include "data/data_drafts.h"
|
#include "data/data_drafts.h"
|
||||||
|
#include "data/data_forum.h"
|
||||||
|
#include "data/data_forum_topic.h"
|
||||||
#include "data/data_user.h"
|
#include "data/data_user.h"
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "data/data_changes.h"
|
#include "data/data_changes.h"
|
||||||
|
@ -555,6 +557,7 @@ QString InterpretSendPath(
|
||||||
f.close();
|
f.close();
|
||||||
const auto lines = content.split('\n');
|
const auto lines = content.split('\n');
|
||||||
auto toId = PeerId(0);
|
auto toId = PeerId(0);
|
||||||
|
auto topicRootId = MsgId(0);
|
||||||
auto filePath = QString();
|
auto filePath = QString();
|
||||||
auto caption = QString();
|
auto caption = QString();
|
||||||
for (const auto &line : lines) {
|
for (const auto &line : lines) {
|
||||||
|
@ -570,6 +573,11 @@ QString InterpretSendPath(
|
||||||
line,
|
line,
|
||||||
u"channel: "_q.size()).toULongLong();
|
u"channel: "_q.size()).toULongLong();
|
||||||
toId = peerFromChannel(channelId);
|
toId = peerFromChannel(channelId);
|
||||||
|
} else if (line.startsWith(u"topic: "_q)) {
|
||||||
|
const auto topicId = base::StringViewMid(
|
||||||
|
line,
|
||||||
|
u"topic: "_q.size()).toULongLong();
|
||||||
|
topicRootId = MsgId(topicId);
|
||||||
} else if (line.startsWith(u"file: "_q)) {
|
} else if (line.startsWith(u"file: "_q)) {
|
||||||
const auto path = line.mid(u"file: "_q.size());
|
const auto path = line.mid(u"file: "_q.size());
|
||||||
if (!QFile(path).exists()) {
|
if (!QFile(path).exists()) {
|
||||||
|
@ -585,21 +593,33 @@ QString InterpretSendPath(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const auto history = window->session().data().historyLoaded(toId);
|
const auto history = window->session().data().historyLoaded(toId);
|
||||||
|
const auto sendTo = [=](not_null<Data::Thread*> thread) {
|
||||||
|
window->showThread(thread);
|
||||||
|
const auto premium = thread->session().user()->isPremium();
|
||||||
|
thread->session().api().sendFiles(
|
||||||
|
Storage::PrepareMediaList(
|
||||||
|
QStringList(filePath),
|
||||||
|
st::sendMediaPreviewSize,
|
||||||
|
premium),
|
||||||
|
SendMediaType::File,
|
||||||
|
{ caption },
|
||||||
|
nullptr,
|
||||||
|
Api::SendAction(thread));
|
||||||
|
};
|
||||||
if (!history) {
|
if (!history) {
|
||||||
return "App Error: Could not find channel with id: "
|
return "App Error: Could not find channel with id: "
|
||||||
+ QString::number(peerToChannel(toId).bare);
|
+ QString::number(peerToChannel(toId).bare);
|
||||||
|
} else if (const auto forum = history->asForum()) {
|
||||||
|
forum->requestTopic(topicRootId, [=] {
|
||||||
|
if (const auto forum = history->asForum()) {
|
||||||
|
if (const auto topic = forum->topicFor(topicRootId)) {
|
||||||
|
sendTo(topic);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (!topicRootId) {
|
||||||
|
sendTo(history);
|
||||||
}
|
}
|
||||||
window->showPeerHistory(history);
|
|
||||||
const auto premium = window->session().user()->isPremium();
|
|
||||||
history->session().api().sendFiles(
|
|
||||||
Storage::PrepareMediaList(
|
|
||||||
QStringList(filePath),
|
|
||||||
st::sendMediaPreviewSize,
|
|
||||||
premium),
|
|
||||||
SendMediaType::File,
|
|
||||||
{ caption },
|
|
||||||
nullptr,
|
|
||||||
Api::SendAction(history));
|
|
||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ nextDate = False
|
||||||
nextUuid = False
|
nextUuid = False
|
||||||
building = True
|
building = True
|
||||||
composing = False
|
composing = False
|
||||||
|
conf = 'Release'
|
||||||
for arg in sys.argv:
|
for arg in sys.argv:
|
||||||
if nextLast:
|
if nextLast:
|
||||||
lastCommit = arg
|
lastCommit = arg
|
||||||
|
@ -32,6 +33,8 @@ for arg in sys.argv:
|
||||||
nextDate = True
|
nextDate = True
|
||||||
elif arg == 'request_uuid':
|
elif arg == 'request_uuid':
|
||||||
nextUuid = True
|
nextUuid = True
|
||||||
|
elif arg == 'debug':
|
||||||
|
conf = 'Debug'
|
||||||
|
|
||||||
def finish(code, error = ''):
|
def finish(code, error = ''):
|
||||||
if error != '':
|
if error != '':
|
||||||
|
@ -53,9 +56,9 @@ outputFolder = 'updates/' + today
|
||||||
archive = 'tdesktop_macOS_' + today + '.zip'
|
archive = 'tdesktop_macOS_' + today + '.zip'
|
||||||
|
|
||||||
if building:
|
if building:
|
||||||
print('Building Release version for OS X 10.12+..')
|
print('Building ' + conf + ' version for OS X 10.12+..')
|
||||||
|
|
||||||
if os.path.exists('../out/Release/' + outputFolder):
|
if os.path.exists('../out/' + conf + '/' + outputFolder):
|
||||||
finish(1, 'Todays updates version exists.')
|
finish(1, 'Todays updates version exists.')
|
||||||
|
|
||||||
if uuid == '':
|
if uuid == '':
|
||||||
|
@ -65,11 +68,11 @@ if building:
|
||||||
|
|
||||||
os.chdir('../out')
|
os.chdir('../out')
|
||||||
if uuid == '':
|
if uuid == '':
|
||||||
result = subprocess.call('cmake --build . --config Release --target Telegram', shell=True)
|
result = subprocess.call('cmake --build . --config ' + conf + ' --target Telegram', shell=True)
|
||||||
if result != 0:
|
if result != 0:
|
||||||
finish(1, 'While building Telegram.')
|
finish(1, 'While building Telegram.')
|
||||||
|
|
||||||
os.chdir('Release')
|
os.chdir(conf);
|
||||||
if uuid == '':
|
if uuid == '':
|
||||||
if not os.path.exists('Telegram.app'):
|
if not os.path.exists('Telegram.app'):
|
||||||
finish(1, 'Telegram.app not found.')
|
finish(1, 'Telegram.app not found.')
|
||||||
|
@ -193,7 +196,7 @@ if building:
|
||||||
print('NB! Notarization log not found.')
|
print('NB! Notarization log not found.')
|
||||||
finish(0)
|
finish(0)
|
||||||
|
|
||||||
commandPath = scriptPath + '/../../out/Release/' + outputFolder + '/command.txt'
|
commandPath = scriptPath + '/../../out/' + conf + '/' + outputFolder + '/command.txt'
|
||||||
|
|
||||||
if composing:
|
if composing:
|
||||||
templatePath = scriptPath + '/../../../DesktopPrivate/updates_template.txt'
|
templatePath = scriptPath + '/../../../DesktopPrivate/updates_template.txt'
|
||||||
|
@ -235,7 +238,7 @@ if composing:
|
||||||
for line in template:
|
for line in template:
|
||||||
if line.startswith('//'):
|
if line.startswith('//'):
|
||||||
continue
|
continue
|
||||||
line = line.replace('{path}', scriptPath + '/../../out/Release/' + outputFolder + '/' + archive)
|
line = line.replace('{path}', scriptPath + '/../../out/' + conf + '/' + outputFolder + '/' + archive)
|
||||||
line = line.replace('{caption}', 'TDesktop at ' + today.replace('_', '.') + ':\n\n' + changelog)
|
line = line.replace('{caption}', 'TDesktop at ' + today.replace('_', '.') + ':\n\n' + changelog)
|
||||||
f.write(line)
|
f.write(line)
|
||||||
print('\n\nEdit:\n')
|
print('\n\nEdit:\n')
|
||||||
|
@ -262,9 +265,9 @@ if len(caption) > 1024:
|
||||||
print('vi ' + commandPath)
|
print('vi ' + commandPath)
|
||||||
finish(1, 'Too large.')
|
finish(1, 'Too large.')
|
||||||
|
|
||||||
if not os.path.exists('../out/Release/' + outputFolder + '/' + archive):
|
if not os.path.exists('../out/' + conf + '/' + outputFolder + '/' + archive):
|
||||||
finish(1, 'Not built yet.')
|
finish(1, 'Not built yet.')
|
||||||
|
|
||||||
subprocess.call(scriptPath + '/../../out/Release/Telegram.app/Contents/MacOS/Telegram -sendpath interpret://' + scriptPath + '/../../out/Release/' + outputFolder + '/command.txt', shell=True)
|
subprocess.call(scriptPath + '/../../out/' + conf + '/Telegram.app/Contents/MacOS/Telegram -sendpath interpret://' + scriptPath + '/../../out/' + conf + '/' + outputFolder + '/command.txt', shell=True)
|
||||||
|
|
||||||
finish(0)
|
finish(0)
|
||||||
|
|
Loading…
Add table
Reference in a new issue