ලේඛකයකුගේ නවතම බ්ලොග් පෝස්ට් එකට පර්මාකම්පියුටින් ලයිස්තුවේ විශාල ආකර්ශනයක් ලැබුණා. ඒ සම්බන්ධයෙන් ඔහු තමන්ගේ ../lua/civ බිල්ඩ් සிஸටමය, බේසෙල්, මේක්, සහ කාර්තික්ගේ LM Build System වැනි විකල්පයන් පිළිබඳව සරල විශ්ලේෂණයක් ගෙන ආවේ.
බේසෙල් (Bazel) යනු ගූගල් සමාගම නිර්මාණය කළ, සියලුම ගූගල් කේතයන් එකවර, ඉක්මනින්, ඉන්ක්රමෙන්ට්වී බිල්ඩ් කරන ව්යාපෘතියක්. එයට විරුද්ධව මේක් (Make) සම්ප්රදායික ශෙල් සක්රියතා එකතුවක් ලෙස පෙනේ; එය ඉතා පාරම්පරික, පළාත්-විශේෂ සින්ටැක්ස් එකක් භාවිතා කරයි. ලේඛකයා කියා සිටියේ, හොඳ බිල්ඩ් සಿಸටමක් සඳහා ආදාන‑ප්රතිදාන සියල්ල පළඳා පෙනේ යන්න මුල් නීතියක් බවයි.
ආදාන‑ප්රතිදාන පාරදර්ශී වීමෙන් පසු, දෙවන ප්රශ්නය “පරිශීලකයාට ඔහුට අවශ්ය දේ කෙසේද නියම කරගත හැකිද?” යන්න. මෙහිදී මේක් පද්ධතියේ අඩුපාඩු පෙනේ; එය එක එක රූලයක් ආදාන‑ප්රතිදාන ලෙස සකස් කරයි, නමුත් ඒවා එකට ගොඩනැගීමට සමස්ත දැක්මක් ලබා නොදෙයි. ../lua/civ මෙම ගැටලුව විසඳීමට, සියලු ගොනු පිහිටුම හා ගොඩනැගීමේ තීරණයන් sys hub නමින් මධ්යස්ථ ලයිබ්රරියක් තුළ කේන්ද්රගත කරයි. මෙය Lua භාෂාවෙන් සම්පාදනය කරන cc.luk ගොනුව මගින් පරිශීලකයාගේ ඉල්ලීමක් sys/cc/build.lua වෙත යොමු කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ බොහෝ විශ්වවිද්යාල සිසුන්, ස්ථානීය ආරම්භක සමාගම්, සහ තාක්ෂණික සමාගම් දැනටමත් Make හෝ CMake වැනි සම්ප්රදායික මෙවලම් භාවිතා කරයි. ඒවා බොහෝ විට පරිසරය වෙනස් වීමේදී, නව පළාත්‑පරිසරයන්ට ගැලපෙන්න කේතය අලුත් කර ගැනීමට අධික කාලය ගත වේ. ../lua/civ පරිශීලක‑කේන්ද්රිත, ප්ලග්‑ඉන්‑ප්රතිදාන සහිත නිර්මාණයක් වන බැවින්, ශ්රී ලංකාවේ තරුණ සංවර්ධකයන්ට ඉක්මනින් ප්රොජෙක්ට් එකක් සකස් කර, ඒක විවිධ පරිසරයන්ට ගැලපෙන ලෙස අඩු පරිවර්තනයකින් හැරවීමට ඉඩ සලසයි. එමෙන්ම, ස්ථානීය ව්යාපාරයන්ට ඉතා කාර්යක්ෂම CI/CD පද්ධති සකස් කර, ලාභය වැඩි කර ගැනීමට උදව් වේ.
අවසානයේ, හොඳ බිල්ඩ් සಿಸටමක් සඳහා අවශ්ය මූලික කරුණු – ආදාන‑ප්රතිදාන පාරදර්ශී බව, ප්රොග්රාමිකව අභිරුචි කිරීමේ හැකියාව, සහ සරල අඩු‑තට්ටු ඇබ්ස්ට්රැක්ශන් – සියල්ල ../lua/civ තුළ එකට එකතු කර ඇත. මෙය ශ්රී ලංකාවේ තාක්ෂණික ප්රජාවට නව මාර්ගයක් විවෘත කරන බව සැක නොකරන්න.