Я строю JAR из набора источников scala. У нас есть две физически идентичные win7 64-битные машины разработки, и недавно различие между машинами в библиотеках, на которые ссылается проект, вызвало некоторые проблемы в работе, поэтому мы искали способы, чтобы гарантировать, что мы получим точно такую же сборку на две машины.
Компилятор scala и все внешние JAR-файлы теперь находятся под контролем версий, как и файлы проекта IntelliJ, которые хранятся с исходным кодом (project.iml и .idea *, за исключением .idea \ workspace.hml, поскольку он отслеживает состояние редактора и все время меняется). Файлы проекта были обновлены для ссылки на компилятор Scala, который теперь находится под контролем версий («Библиотеки» и «Грани» в настройках модуля).
Мы используем одну и ту же версию IntelliJ (10.5, построена 16 мая 2011 г.) и имеем тот же Java SDK (1.6.0_24, 64 бит).
Несмотря на синхронизацию наших настроек до такой степени, мы получаем немного разные JAR-файлы: 12 из 1685 файлов классов отличаются. Большинство различий «маленькие» («offsetX $ 4» в одном, против «offsetX $ 5» в другом), но некоторые более существенны.
IntelliJ хранит некоторую информацию о конфигурации в c: \ Users [имя пользователя] .IntelliJIdea10, но ее много, и неясно, какое влияние она может оказать на сборку.
Сборка повторяется на отдельных машинах (т. Е. Повторная сборка повторно генерирует один и тот же двоичный файл), но различается между ними.
Есть мысли о том, чего мне не хватает? Спасибо!