這篇文章給大家介紹java中Gradle插件如何使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、博白網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為博白等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
在開始之前,如果計算機(jī)中尚未安裝Solidity編譯器,則需要安裝它。
要使用舊的Gradle buildscript
約定安裝web3j插件,應(yīng)該將以下內(nèi)容添加到構(gòu)建文件的第一行(目前只有Gradle支持發(fā)行版本,而不是SNAPSHOT):
buildscript { repositories { mavenCentral() } dependencies { classpath 'org.web3j:web3j-gradle-plugin:0.1.6' } } apply plugin: 'web3j'
或者,如果你使用的是更現(xiàn)代的插件DSL,請將以下行添加到你的構(gòu)建文件中:
plugins { id 'org.web3j' version '0.1.6' }
然后運(yùn)行包含Solidity智能合約的項(xiàng)目:
./gradlew build
應(yīng)用插件后,生成代碼的基本目錄(默認(rèn)為$buildDir/generated/source/web3j
)將包含每個源集的目錄(默認(rèn)為main
和test
),其中包含智能合約封裝器的Java類。
web3j
DSL允許配置生成的代碼,例如:
web3j { generatedPackageName = 'com.mycompany.{0}' generatedFilesBaseDir = "$buildDir/custom/destination" excludedContracts = ['Ownable'] useNativeJavaTypes = false }
DSL接受的屬性如下表所示:
generatedPackageName
被評估為接受大括號({0})之間的單個參數(shù)的消息格式字符串,允許使用合約名稱格式化生成的值。為方便起見,當(dāng)應(yīng)用于Java包名稱時,它將轉(zhuǎn)換為小寫。
例如,在一個具有組com.mycompany
的項(xiàng)目將generatedPackageName
設(shè)置為${group}.{0}
,那名為MyToken.sol
的Solidity智能合約將被在com.mycompany.mytoken
包中生成。
此外,默認(rèn)值包含${group}
屬性,該屬性對應(yīng)于項(xiàng)目中的組(例如com.mycompany
)。如果項(xiàng)目未定義組屬性,則生成的包名稱將為org.web3j.{0}
。
請注意,消息格式參數(shù)不是Gradle屬性,不應(yīng)以$
開頭。
默認(rèn)情況下,$projectDir/src/main/solidity
中的所有.sol
文件都將由插件處理。要指定和添加不同的來源,請使用sourceSets DSL:
sourceSets { main { solidity { srcDir { "my/custom/path/to/solidity" } } } }
檢查Solidity Plugin文檔以配置智能合約源代碼目錄。
生成的智能合約封裝器Java代碼的輸出目錄將自動添加到你的構(gòu)建中。
Java插件使用基于每個源的命名約定(即compileJava
,compileTestJava
)向項(xiàng)目構(gòu)建添加任務(wù)。
類似地,Solidity插件將為項(xiàng)目主源添加generateContractWrappers
任務(wù),并為每個剩余的源(例如test
)添加generate[SourceSet]ContractWrappers
。
要獲取所有已添加任務(wù)的列表和說明,請運(yùn)行以下命令:
./gradlew tasks --all
關(guān)于java中Gradle插件如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。