Не могу удержать и не поделиться моими впечатлениями типа "Вау! Это круто". Столкнулся с проектом где очень активно используют скрипты ant. Сказать, что они БОЛЬШИЕ, ничего не сказать. Там наверное есть все! Но особенно нравится скрипт, который "сбрасывает" орг до состояния репозитория. Т.е. сначала с орга сносится ВСЕ! Данные, метаданные. За исключением небольших мелочей вы получаете чистый дев орг, а потом проект заново заливается, настраивается и создается минимальный набор тестовых данных. Это супер! Скрипт работает около 5 минут, зато я могу быть уверен, что чтобы я не натворил, всегда можно вернуться к актуальной версии из репозитория. Это, кстати, очень полезно при переключениями между ветками системы контроля версий.
Кстати да, в основе лежат эти скрипты (так в комментах написано), только они еще допилены по ходу. Подробности потом как-нибудь расскажу, я пока толком не разобрался что там да как.
Спрашивать, то может и спрашивают, но я редко встречал людей которые в нем разбираются. Так что за человеком, которые знает Migration Tools (ant) или тот же Metadata API (а может и Tooling API) компании должны бегать, а не он на собеседованиях отвечать на глупые вопросы. Такой человек реально сможет организовать сложный процесс разработки в том числе и всеми любимый CI.
Не совсем понял - сорри пока просто не занимался этой темой поэтому вопросы может и ламерские, но в ant есть специальный плагин - в Gradle тоже есть что-то для Salesforce?
Суть в том, что в градле есть нативная поддержка Ant и мы можем использовать те же таски,
с этого и надо было начинать, а то пугаешь людей страшными названиями.
я прочитал одну книжку по Анту, и еще раз Force.com Migration Tool гайд.
вроде все понятно, буду пробовать.
Ант интересен как инструмент сам по себе. Вот например можно ли с его помошью прошерстить XML файлы в папке и заменить подстроку MyGenericCustomObject__c на ParticularProjectCustomObject__c? было бы вообще прекрасно.
Суть в том, что в градле есть нативная поддержка Ant и мы можем использовать те же таски,
с этого и надо было начинать, а то пугаешь людей страшными названиями.
я прочитал одну книжку по Анту, и еще раз Force.com Migration Tool гайд.
вроде все понятно, буду пробовать.
Ант интересен как инструмент сам по себе. Вот например можно ли с его помошью прошерстить XML файлы в папке и заменить подстроку MyGenericCustomObject__c на ParticularProjectCustomObject__c? было бы вообще прекрасно.
а также возможно, что Gradle скрипт - это JAVA программа, которая позволяет работать с файлами, использовать бибилиотеки и прочее. но я не знаю, просто смотрю на пример Gradle кода выше и делаю догадки.
Я вот не понимаю, у нас есть апекс, джаваскрипт, но нет нам нужно использовать еще и джаву для того, что бы развернуть код. Я вот планирую это изменить.
Я вот не понимаю, у нас есть апекс, джаваскрипт, но нет нам нужно использовать еще и джаву для того, что бы развернуть код. Я вот планирую это изменить.
Меняй. Меня все устраивает! Для конкретного юзкейса должен быть свой инструмент - unix way. Для билдов - система сборки.
Ну я как раз и написал. Просто он пока не настолько мощный, и умеет делать только деплой, но тем не менее могу с уверенностью сказать что апекса вполне хватает.
Я вот не понимаю, у нас есть апекс, джаваскрипт, но нет нам нужно использовать еще и джаву для того, что бы развернуть код. Я вот планирую это изменить.
Ну я как раз и написал. Просто он пока не настолько мощный, и умеет делать только деплой, но тем не менее могу с уверенностью сказать что апекса вполне хватает.
Проблемы в apex в том, что "долгие" процессы нельзя использовать. Как apex справится с деплоем если например ant скрипт, который использует мой клиент пердит более 5 минут (хотя наверное там большая часть времени уходит на пересылку данных по моему быстрому каналу). но все равно, сидеть и думать что в какой-то отвественный момент у тебя закончится время и скрипт отвалится.
Ну что значит люблю это проще чем заниматься еще распараллеливанием простого скрипта и контролем за потоками. Конечно элегантнее сделать асинхронно. Только в Salesforce батчи все равно не параллельно выполняются а по очереди просто асинхронно.
Ну что значит люблю это проще чем заниматься еще распараллеливанием простого скрипта и контролем за потоками. Конечно элегантнее сделать асинхронно. Только в Salesforce батчи все равно не параллельно выполняются а по очереди просто асинхронно.
Я то имел ввиду настоящую параллельность. Просто к слову, на том же, тобой не любимом C#, это все делается элементарно. А как обстоят дела на питоне и иже с ним?
Да нормально обстоят дела. Как и везде. В python есть специальные библиотеки для этого. В Go вообще эти возможности встроены в язык. Да и в Ruby должно быть. Не вижу чем может С# быть круче других современных полноценных языков
Ну до таких тонкостей в теме параллельного выполнения я не опускался. А что значит 1 строчка? т.е. до этой строчки все выполняется последовательно и после этой строчки все выполняется последовательно? А конкретно эта строчка (обработка коллекции) распараллеливается? Я больше думал что запускать в потоки нужно тяжелые задачи, чтобы они выполнялись параллельно, а потом просто собирать результат из всех потоков.