Google Android සඳහා Soong මොඩියුලර් එකලස් කිරීමේ පද්ධතිය සංවර්ධනය කරයි

ගූගල් විසින් ගොඩනැගීමේ පද්ධතියක් සංවර්ධනය කරයි ඉක්මනින්, Android වේදිකාව සඳහා පැරණි ගොඩනැගීමේ ස්ක්‍රිප්ට් ප්‍රතිස්ථාපනය කිරීමට නිර්මාණය කර ඇත, එය සෑදීමේ උපයෝගීතාවයේ භාවිතය මත පදනම්ව. Soong සරල ප්රකාශන භාවිතා කිරීමට යෝජනා කරයි විස්තර මොඩියුල එකලස් කිරීමේ නීති, ලබා දී ඇත ".bp" (blueprints) දිගුව සහිත ගොනු වල. ගොනු ආකෘතිය JSON වෙත සමීප වන අතර, හැකි නම්, එකලස් ගොනු වල වාක්‍ය ඛණ්ඩය සහ අර්ථ ශාස්ත්‍රය පුනරුච්චාරණය කරයි. බාසල්. කේතය Go වලින් ලියා Apache 2.0 බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ.

Soong build ගොනු කොන්දේසි සහිත ප්‍රකාශ සහ ශාඛා ප්‍රකාශන සඳහා සහය නොදක්වයි, නමුත් ගොඩනැගීමේදී භාවිතා කරන ව්‍යාපෘති ව්‍යුහය, මොඩියුල සහ පරායත්තතා පමණක් විස්තර කරයි. ගොඩනැගිය යුතු ගොනු වෙස් මුහුණු භාවිතයෙන් විස්තර කර ඇති අතර පැකේජ වලට කාණ්ඩගත කර ඇත, ඒ සෑම එකක්ම ආශ්‍රිත පරායත්තතා සහිත ගොනු එකතුවකි. විචල්යයන් අර්ථ දැක්විය හැක. විචල්‍යයන් සහ ගුණාංග දැඩි ලෙස ටයිප් කර ඇත (පළමු පැවරුම මත විචල්‍ය වර්ග ගතිකව තෝරා ගනු ලැබේ, සහ මොඩියුලයේ වර්ගය අනුව ස්ථිතික ලෙස ගුණාංග සඳහා). එකලස් කිරීමේ තර්කනයේ සංකීර්ණ මූලද්‍රව්‍ය හසුරුවන්නන් වෙත ගෙන යනු ලැබේ, ලියා ඇත Go භාෂාවෙන්.

Soong විශාල ව්‍යාපෘතියක් සමඟ බද්ධ වේ සැලැස්ම, ප්‍රකාශන මොඩියුල විස්තර සහිත ගොනු මත පදනම්ව, එකලස් කිරීමේ ස්ක්‍රිප්ට් ජනනය කරන, ඇන්ඩ්‍රොයිඩ් සමඟ සම්බන්ධ නොවූ මෙටා-එකලස් පද්ධතියක් සංවර්ධනය වෙමින් පවතී Ninja (make සඳහා ආදේශකයක්), ගොඩනැගීමට ක්‍රියාත්මක කළ යුතු විධාන සහ පරායත්තතා විස්තර කරයි. තාර්කික ගොඩනැගීම නිර්වචනය කිරීම සඳහා සංකීර්ණ රීති හෝ වසම්-විශේෂිත භාෂාවක් භාවිතා කරනවා වෙනුවට, බ්ලූප්‍රින්ට් Go භාෂාවේ ව්‍යාපෘති-විශේෂිත හසුරුවන්න භාවිතා කරයි (Soong යනු අත්‍යවශ්‍යයෙන්ම Android සඳහා සමාන හසුරුවන්නන්ගේ කට්ටලයකි).

මෙම ප්‍රවේශය ඇන්ඩ්‍රොයිඩ් වැනි විශාල සහ විෂමජාතීය ව්‍යාපෘති සඳහා, සරල ප්‍රකාශන වාක්‍ය ඛණ්ඩය භාවිතයෙන් එකලස් කිරීමේ සංවිධානයට සහ ව්‍යාපෘති ව්‍යුහයට අදාළ මොඩියුලවල වෙනස්කම් කිරීමේ හැකියාව පවත්වා ගනිමින්, ඉහළ මට්ටමේ ක්‍රමලේඛන භාෂාවකින් කේතවල එකලස් තර්කයේ සංකීර්ණ අංග ක්‍රියාත්මක කිරීමට ඉඩ සලසයි. . උදාහරණයක් ලෙස, Soong හි, සම්පාදක ධජ තෝරා ගැනීම හසුරුවන්නා විසින් සිදු කරනු ලැබේ llvm.go, සහ දෘඪාංග ගෘහ නිර්මාණ ශිල්පයට විශේෂිත වූ සැකසුම් යෙදීම හසුරුවන්නා විසින් සිදු කරනු ලැබේ art.go, නමුත් කේත ගොනු සම්බන්ධ කිරීම ".bp" ගොනුව තුළ සිදු කෙරේ.

cc_library {
...
srcs: ["generic.cpp"],
ආරුක්කුව: {
අත: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න