소프트웨어 패키지는 어떻게 개발합니까?
소프트웨어 패키지를 제작하기 전에 제품 업무 논리와 관련된 코드와 밀접하게 결합되지 않도록 그 기능을 정확하게 정의하여 소프트웨어 패키지의 다기능성을 높여야 한다.
포장은 다음을 포함해야 합니다.
패키지 코드와 문서를 구성합니다.
패키지를 만들기 전에 sample package documentation 를 읽고 샘플 패키지의 폴더 구조를 확인해야 합니다.
패키지와 해당 문서에는 다음이 포함되어야 합니다.
패키지 색인을 만듭니다.
패키지 인덱스:
env\packages 폴더에 저장된 패키지 설명 파일입니다.env\packages\packages\iot\pahomqtt 폴더의 경우 다음과 같습니다.
색인 생성 마법사 사용
Env 패키지 인덱스 생성 마법사 기능을 사용하여 패키지 인덱스 파일을 생성할 수 있습니다.다음과 같이 명령
pkgs --wizard을 입력합니다.
생성된 내용은 다음과 같습니다.
"Sconscript"파일은 원본 코드를 패키지 원본 폴더로 이동하여 원본 코드를 패키지할 때만 사용됩니다.압축 프로세스가 끝난 후에 색인 폴더에 존재할 필요가 없습니다.
패키지를 수정합니다.json 파일
소포json 파일 설명:
{
"name" : "pahomqtt",
"description" : "a pahomqtt package for rt-thread", # Package Description Info
"keywords" : [
"pahomqtt"
],
"site" : [
{
"version" : "v1.0.0",
"URL" : "https://pahomqtt-1.0.0.zip", # Modify the download address of the compressed package based on its version number.
"filename" : "pahomqtt-1.0.0.zip",
"VER_SHA" : "fill in the git version SHA value" # The compressed package form does not need to be filled in.
},
{
"version" : "latest", # latest verison
"URL" : "https://xxxxx.git", # Fill in the Git address
"filename" : "Null for git package",
"VER_SHA" : "fill in latest version branch name,such as mater" # Fill in SHA or the branch name.
}
]
}
파일에는 각 버전을 채울 수 있는 두 가지 유형의 URL 값이 있습니다.Git: Git 저장소 주소 및 해당 SHA 버전입니다.일반적으로 SHA는 RT 스레드
master 버전의 경우latest로 설정됩니다.압축 패키지: 특정 패키지의 다운로드 주소로 SHA를 작성할 필요가 없습니다.
수정된 패키지입니다.json은 다음과 같습니다.
{
"name" : "pahomqtt",
"description" : "Eclipse Paho MQTT C/C++ client for Embedded platforms", # Update the description info.
"keywords" : [
"pahomqtt"
],
"site" : [
{
"version" : "v1.0.0", # v1.0.0
"URL" : "https://github.com/RT-Thread-packages/paho-mqtt.git", # update git address
"filename" : "paho-mqtt-1.0.0.zip",
"VER_SHA" : "cff7e82e3a7b33e100106d34d1d6c82e7862e6ab" # Enter the specified SHA value.
},
{
"version" : "latest", # latest version
"URL" : "https://github.com/RT-Thread-packages/paho-mqtt.git",
"filename" : "paho-mqtt.zip",
"VER_SHA" : "master" # Enter master
}
]
}
Kconfig 파일 수정:
Kconfig의 내용은 다음과 같습니다.
패키지 인덱스의 Kconfig 파일은 주로 menuconfig 명령으로 사용되며 패키지의 일부 옵션을 정의해야 합니다. 다음은 주의해야 할 주의사항입니다.
PKG_USING_로 시작하는 구성 항목을 포함해야 합니다.패키지의 이름이 SOFTA라고 가정하면 해당 패키지 옵션은 PKG_USING_SOFTA 이어야 합니다.SOFTA_로 시작하는 구성 항목을 사용하여 이 SOTA 패키지와 관련된 다른 옵션을 정의해야 합니다. 이 구성 항목은 SOFTA_USING_A 또는 SOFTA_ENABLE_A 일 수 있습니다.패키지 업로드
소프트웨어 패키지는git 또는 기타 다운로드 가능한 사이트에 업로드할 수 있습니다.패키지를 쉽게 업데이트할 수 있도록git 저장소로 저장하는 것을 권장합니다.
참조 번호: RT-Thread Package Respository
테스트 패키지
패키지 다운로드: 패키지 인덱스를
env\packages\packages로 복사한 다음 Env에서 온라인으로 패키지를 다운로드하여 다운로드 성공 여부를 테스트합니다.패키지 기능 테스트: 다운로드 후 명령
scons을 실행하여 프로젝트를 다시 컴파일하고 적당한 환경에서 실행하며 패키지 기능이 정상적으로 작동하는지 확인합니다.패키지 버전 전환:menuconfig에서 패키지 버전을 전환하여 버전 전환 기능이 작동하는지 확인하십시오.
패키지 인덱스 제출
마지막으로 패키지 인덱스 파일은 PR 프로세스를 통해 RT 스레드 패키지 저장소로 전송해야 합니다: https://github.com/RT-Thread/packages.
청구서를 제출하려면 HERE 을 클릭합니다.
패키지 인덱스 소스 관리
Env는 여러 개의 패키지 소스에서 패키지를 다운로드할 수 있으며 각 소스 패키지 목록은
env\packages 폴더에 저장됩니다.예를 들어, RT 스레드 공식 패키지 목록은 env\packages\packages 폴더 아래에 저장됩니다.패키지 소스 추가
패키지 소스 제거
새 게시 프로세스
새 버전의 패키지를 발표하기 전에 다음 절차를 수행해야 합니다.
Website | Github | | Facebook |
Reference
이 문제에 관하여(소프트웨어 패키지는 어떻게 개발합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/abby06/how-to-develop-software-packages-2p89텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)