문제

프로젝트가있는 경우 라이브러리와 응용 프로그램이 출시되는 경우 둘 사이의 버전 수를 처리하는 방법.

예 : 프로젝트는 다른 파일 형식을 서로 변환하는 라이브러리를 제공합니다. 라이브러리는 다른 응용 프로그램에 포함시키기 위해 출시됩니다. 그러나이 라이브러리를 사용하고 기능에 대한 인터페이스를 구현하는 명령 줄 응용 프로그램도 출시됩니다.

새로운 라이브러리의 새로운 릴리스는 새로운 응용 프로그램의 새로운 릴리스 (모든 새로운 기능을 사용하기 위해)로 이어지지 만, 새로운 응용 프로그램 릴리스는 라이브러리의 새로운 릴리스를 유발하지 않을 수 있습니다. 이제 버전 번호는 어떻게 처리됩니까? 완전히 독립적이거나 라이브러리 및 응용 프로그램 버전이 어떤 식 으로든 의존적이어야합니까?

도움이 되었습니까?

해결책

나는 별도의 버전 번호를 사용하고 물론 앱의 각 릴리스에 필요한 최소 라이브러리 버전을 문서화한다고 말하고 있습니다. 항상 동일한 버전 번호를 가지고 있고 동일 번호가있는 라이브러리 버전에 대해 앱을 테스트 한 경우 실제로는 별도의 구성 요소가 아니므로 말하지 마십시오. 전체를 하나의 덩어리로 풀어줍니다.

별도의 경우에도 적절한 경우 동일한 버전 번호를 제공 할 수 있습니다. 예를 들어 주요 호환성 브레이크 후에는 동시에 버전 2.0을 출시 할 수 있습니다.

다음 예는 다음을 보여줍니다. XSLTPROC (명령 줄 앱)는 libxslt (라이브러리)의 일부로 릴리스되므로 자체 버전 번호가 없습니다. 그러나 libxslt는 다른 두 라이브러리에 의존하며 그 버전 번호는 독립적입니다.

$ xsltproc --version
Using libxml 20628, libxslt 10120 and libexslt 813
xsltproc was compiled against libxml 20628, libxslt 10120 and libexslt 813
libxslt 10120 was compiled against libxml 20628
libexslt 813 was compiled against libxml 20628

다른 팁

완전히 독립적 인 버전 번호이지만 명령 줄 (또는 기타 의존적) 앱은 도움 섹션이나 배너에서 어떤 버전의 라이브러리를 편집했는지 말해야합니다.

이렇게하면 앱이 어떤 기능을 할 것인지 알 수 있고 특히 누군가가 이전 라이브러리에 대해 새로운 앱 버전을 컴파일 할 수 있다는 점을 감안할 때 잠재적 인 혼란을 줄일 수 있습니다. 또한 새 앱 버전의 출시 등에 따라 도서관에 기능을 추가 할 수 있습니다.

당신이 항상 모든 앱과 라이브러리가 Lockstep에 들어가기를 원한다면 같은 숫자를 사용할 수 있지만 강한 이유가 아닌 제약 조건을 추가합니다.

우리는 프레임 워크를 사용하는 응용 프로그램을 구축했습니다. 우리는 둘 다에 대해 별도의 버전 번호를 유지합니다.

이것은 특히 프레임 워크와 응용 프로그램이 다른 팀이 개발할 수있을 정도로 커졌다는 사실을 잘 작동시킵니다.

그래서 내 의견은 ... 버전 번호를 별도로 유지하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top