พื้นที่เก็บข้อมูลนี้มีชุดส่วนเสริมอย่างเป็นทางการซึ่งใช้งานบน openHAB Core API ส่วนเสริมที่ได้รับการยอมรับในที่นี้จะได้รับการบำรุงรักษา (เช่น ปรับให้เข้ากับ API คอร์ใหม่) โดยผู้ดูแล openHAB Add-on
หากต้องการเริ่มต้นการพัฒนาแบบผูกมัด ให้ปฏิบัติตามหลักเกณฑ์และบทช่วยสอนของเราที่ https://www.openhab.org/docs/developer
หากคุณสนใจในการพัฒนา openHAB Core เราขอเชิญคุณเข้ามาที่ https://github.com/openhab/openhab-core
ส่วนเสริมบางตัวไม่ได้อยู่ในพื้นที่เก็บข้อมูลนี้ แต่ยังคงเป็นส่วนหนึ่งของการแจกจ่าย openHAB อย่างเป็นทางการ รายการที่เก็บอื่นที่ไม่สมบูรณ์มีดังต่อไปนี้:
ส่วนเสริม openHAB คือไฟล์ Java .jar
ระบบการสร้าง openHAB ขึ้นอยู่กับ Maven IDE อย่างเป็นทางการ (สภาพแวดล้อมการพัฒนาแบบรวม) คือ Eclipse
คุณพบโครงสร้างพื้นที่เก็บข้อมูลต่อไปนี้:
.
+-- bom Maven buildsystem: Bill of materials
| +-- openhab-addons Lists all extensions for other repos to reference them
| +-- ... Other boms
|
+-- bundles Official openHAB extensions
| +-- org.openhab.binding.airquality
| +-- org.openhab.binding.astro
| +-- ...
|
+-- features Part of the runtime dependency resolver ("Karaf features")
|
+-- itests Integration tests. Those tests require parts of the framework to run.
| +-- org.openhab.binding.astro.tests
| +-- org.openhab.binding.avmfritz.tests
| +-- ...
|
+-- src/etc Auxilary buildsystem files: The license header for automatic checks for example
+-- tools Static code analyser instructions
|
+-- CODEOWNERS This file assigns people to directories so that they are informed if a pull-request
would modify their add-ons.
หากต้องการสร้างส่วนเสริมทั้งหมดจากบรรทัดคำสั่ง ให้พิมพ์:
mvn clean install
โดยส่วนใหญ่แล้ว คุณไม่จำเป็นต้องสร้างการเชื่อมโยงทั้งหมด แต่สร้างเฉพาะการเชื่อมโยงที่คุณกำลังดำเนินการอยู่เท่านั้น หากต้องการสร้างเฉพาะการเชื่อมโยงของคุณให้ใช้ตัวเลือก -pl
ตัวอย่างเช่นการสร้างเฉพาะการเชื่อมโยง astro:
mvn clean install -pl :org.openhab.binding.astro
หากคุณมีการเชื่อมโยงที่มีการขึ้นต่อกันแบบไดนามิกตามที่ระบุไว้ใน Feature.xml คุณสามารถสร้าง .kar
kar แทนไฟล์ .jar
ได้ ไฟล์ .kar
จะมีคุณลักษณะ .xml และเมื่อเพิ่มลงใน openHAB จะโหลดและเปิดใช้งานการอ้างอิงใดๆ ที่ระบุในไฟล์ คุณลักษณะ .xml หากต้องการสร้างไฟล์ .kar
ให้รัน maven โดยมีเป้าหมาย karaf:kar
:
mvn clean install karaf:kar -pl :org.openhab.binding.astro
เพื่อปรับปรุงเวลาในการสร้างคุณสามารถเพิ่มตัวเลือกต่อไปนี้ในคำสั่ง:
ตัวเลือก | คำอธิบาย |
---|---|
-DskipChecks | ข้ามการวิเคราะห์แบบคงที่ (Checkstyle, FindBugs) |
-DskipTests | ข้ามการดำเนินการทดสอบ |
-Dmaven.test.skip=true | ข้ามการรวบรวมและการดำเนินการทดสอบ |
-Dfeatures.verify.skip=true | ข้ามการตรวจสอบคุณสมบัติ Karaf |
-Dspotless.check.skip=true | ข้ามการตรวจสอบรูปแบบโค้ด Spotless |
-o | ทำงานแบบออฟไลน์เพื่อให้ Maven ไม่ต้องดาวน์โหลดการอัพเดตใดๆ |
-T 1C | สร้างแบบขนานโดยใช้ 1 เธรดต่อคอร์ |
-pl :<add-on directory> | สร้างส่วนเสริมเดียว |
ตัวอย่างเช่น คุณสามารถข้ามการตรวจสอบและการทดสอบระหว่างการพัฒนาด้วย:
mvn clean install -DskipChecks -DskipTests -pl :org.openhab.binding.astro
การเพิ่มตัวเลือกเหล่านี้จะช่วยปรับปรุงเวลาในการสร้างแต่อาจซ่อนปัญหาในโค้ดของคุณได้ การสร้างแบบขนานยังแก้ไขจุดบกพร่องได้ง่ายน้อยกว่า และโหลดที่เพิ่มขึ้นอาจทำให้การทดสอบที่มีความสำคัญด้านเวลาล้มเหลว
การแปลส่วนเสริมได้รับการจัดการผ่าน Crowdin การแปลภาษาอังกฤษนำมาจาก repo openHAB-addons GitHub และนำเข้าโดยอัตโนมัติใน Crowdin เมื่อมีการเปลี่ยนแปลงในไฟล์คุณสมบัติภาษาอังกฤษ i18n เมื่อมีการเพิ่มหรืออัปเดตและอนุมัติคำแปลใน Crowdin Crowdin จะสร้างคำขอดึงโดยอัตโนมัติ ดังนั้นจึงไม่ควรแก้ไขการแปลใน repo openHAB-addons แต่เฉพาะใน Crowdin เท่านั้น มิฉะนั้นการแปลจะถูกแทนที่โดยกระบวนการอัตโนมัติ
หากต้องการกรอกไฟล์คุณสมบัติภาษาอังกฤษให้รันคำสั่ง maven ต่อไปนี้บนส่วนเสริม:
mvn i18n:generate-default-translations
คำสั่งนี้ยังสามารถอัพเดตไฟล์เมื่อมีการเพิ่มหรืออัพเดตสิ่งต่าง ๆ หรือช่อง
ในบางกรณี คำสั่งไม่ทำงาน และต้องใช้ชื่อปลั๊กอินแบบเต็ม ในกรณีนั้นให้ใช้:
mvn org.openhab.core.tools:i18n-maven-plugin:3.4.0:generate-default-translations
หากต้องการตรวจสอบว่าโค้ดของคุณเป็นไปตามสไตล์โค้ดหรือไม่:
mvn spotless:check
หากต้องการฟอร์แมตโค้ดของคุณใหม่เพื่อให้สอดคล้องกับสไตล์โค้ดที่คุณสามารถเรียกใช้ได้:
mvn spotless:apply
เมื่อส่วนเสริมของคุณมีการทดสอบการรวมในไดเร็กทอรี itests
ด้วย คุณอาจต้องอัปเดตรันบันเดิลในไฟล์ itest.bndrun
เมื่อการขึ้นต่อกันของ Maven เปลี่ยนไป Maven สามารถแก้ไขการพึ่งพาการทดสอบการรวมโดยอัตโนมัติโดยดำเนินการ:
mvn clean install -DwithResolver -DskipChecks
บิลด์สร้างไฟล์ .jar
ต่อบันเดิลในไดเร็กทอรีบันเดิล /target
ที่เกี่ยวข้อง
เราได้รวบรวมคำแนะนำทีละขั้นตอนสำหรับ IDE ต่างๆ ไว้บนเว็บไซต์เอกสารสำหรับนักพัฒนาของเรา:
https://www.openhab.org/docs/developer/#setup-the-development-environment
ขอให้มีความสุขในการเขียนโค้ด!