Рабочий ГАЗ, теперь выполняющийся не в порядке [дубликат]

У меня довольно необычный: я делаю разработку Windows и Linux на той же машине . У меня есть виртуальная машина Linux, работающая под Linux. VirtualBox монтирует некоторые каталоги Windows и использует их непосредственно на машине Linux. Это позволяет мне использовать Windows для управления файлами, но для сборки в Linux. Это кросс-платформенный проект, поэтому он основывается как на Windows, так и на Linux из той же структуры каталогов.

Проблема в том, что системы сборки Linux и Windows врезаются друг в друга при использовании в одном каталоге; есть несколько сложных этапов сборки для загрузки библиотек и т. д., которые используют одни и те же имена каталогов. Windows-версия системы сборки загружает библиотеки, специфичные для Windows, и Linux-версия системы сборки загружает библиотеки, специфичные для Linux.

В идеальном мире система сборки будет изменена так, чтобы Windows & амп; Linux может сосуществовать внутри каталога, но на данный момент проблема решается с помощью рабочих деревьев. Папка «Linux» может генерировать артефакты сборки для Linux, а папка «Windows» может генерировать артефакты сборки Windows. Хотя это вряд ли идеальное решение, он делает приятную остановку, ожидая, когда будут исправлены ошибки системы сборки.

По общему признанию, worktree не был предназначен для этого; Я должен держать версию Windows и версию Linux в отдельных ветвях, хотя я бы предпочел, чтобы они были в одной ветке. Тем не менее, он выполняет свою работу, и это несколько нетрадиционный случай смены рабочего дня.

1
задан dasjanik 23 February 2016 в 11:24
поделиться

1 ответ

Добавьте SpreadsheetApp.flush () между copyCols() и getReports(), чтобы сообщить движку Google Apps Script применить изменения, сделанные первым, прежде чем запускать второй.

2
ответ дан Rubén 20 August 2018 в 11:03
поделиться
  • 1
    Это именно то, что я искал. Как-то я никогда не читал об этом в документации. Есть ли способ определить, какие операции объединены вместе? – dasjanik 23 February 2016 в 13:35
  • 2
    AFAIK no, но вместо выполнения циклов для выполнения нескольких вызовов в классах SpreadsheetApp, нужно сразу установить / установить несколько значений, то есть вместо .setValue(value) использовать .setValues(values). – Rubén 23 February 2016 в 13:58
Другие вопросы по тегам:

Похожие вопросы: