Я много лет работал с eclipse и SVN в командах от одного разработчика до 12, и я всегда был тем, кто настраивал структуру наших папок. Мне удалось как-то заставить его работать, но я чувствую, что расположение моей папки далеко от оптимального. Трудно сказать, как выглядел мой типичный макет папки, потому что каждый раз он выглядел совсем по-другому.
Сейчас я только начинаю еще один большой проект, и я хочу сделать это на профессиональном уровне на этот раз.
Факты о проекте
Это факты прямо сейчас:
- Все разработчики будут работать с Eclipse
- Некоторые будут использовать Subclipse для интеграции SVN в Eclipse, другие будут использовать внешние клиенты, такие как Tortoise SVN или svnX
- мы разрабатываем для Windows и Mac OS
- мы используем муравей для автоматизации сборки и тестирования junit
- будет несколько взаимосвязанных проектов:
- библиотека, написанная на чистом Java, поэтому она работает на всех известных платформах Java
- несколько приложений для нескольких платформ Java (J2SE, J2ME, android ...). Все эти приложения зависят от библиотеки, упомянутой ранее
Что делать с .project?
Я всегда не уверен, что нужно фиксировать эти файлы, сгенерированные eclipse (например, '.project' и '.classpath'). В предыдущих проектах иногда мы помещали их в SVN, иногда нет, и оба подхода имели свои плюсы и минусы. Когда-то мы даже использовали целое рабочее пространство, но это казалось плохой идеей.
Одна ключевая концепция, которую мне, безусловно, не хватает, - это то, как Eclipse обрабатывает свое рабочее пространство. По умолчанию весь проект находится в папке рабочей области, но могут быть проекты, которые являются внешними, которые связаны каким-то волшебным способом, который я просто не понимаю.
Возможные макеты папок
Я не уверен, как разместить проект локально и в хранилище. Я думаю, что есть три варианта:
- рабочая область - это подпапка моей локальной рабочей копии (например, c: \ code \ myWorkingCopies \ projectXyz \ trunk \ workspace)
- мое рабочее пространство - моя рабочая копия (я использую c: \ code \ myWorkingCopies \ projectXyz \ trunk \ в качестве рабочего пространства)
- Моя рабочая область находится где-то (c: \ code \ workspace), а моя рабочая копия где-то еще (c: \ code \ myWorkingCopies \ projectXyz \ trunk), и у меня есть эти внешние проекты
- есть еще идеи?
Какой ответ я ищу?
Фиктивная структура папок, может быть что-то в этом роде (я просто отвечаю на свой вопрос?):
Вместе с подсказкой, где оформить заказ, вот так:
- извлечение ствола / проектов в c: \ code ...)
И некоторые рекомендации, такие как
- никогда не загружать файлы типа x, y, z ...