소프트웨어 패키지는 어떻게 개발합니까?
소프트웨어 패키지를 제작하기 전에 제품 업무 논리와 관련된 코드와 밀접하게 결합되지 않도록 그 기능을 정확하게 정의하여 소프트웨어 패키지의 다기능성을 높여야 한다.
포장은 다음을 포함해야 합니다.
패키지 코드와 문서를 구성합니다.
패키지를 만들기 전에 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.)