15.6 拷貝檔案
你可以使用一些拷貝任務來拷貝檔案。拷貝任務是非常靈活的,例如,它允許你在複製檔案的時候過濾檔案內容,並且對映到另外乙個檔案。
要使用拷貝任務,你必須提供一些要拷貝的原始檔,以及拷貝後檔案要存放的目錄。你也可以描述檔案在拷貝的過程中是怎麼傳輸的,你可以使用乙個copy spec來完成這些任務。乙個copy spec 是由copyspec介面表示的.copytask實現了這個介面。你可以通過copyspec.from()方法來描述原始檔,並使用copy.into()來設定拷貝到的目錄。
example 15.10. copying files using the copy task
build.gradle
task copytask(type: copy)
from()方法接受和files()方法相同的任意引數。當引數是乙個目錄時,所有在這個目錄下的檔案都會遞迴的拷貝到新目錄(除了目錄本身自己)。當引數描述的是乙個檔案時,檔案被拷貝到目標目錄。當引數描述的檔案不存在時,該引數被忽略。如果引數是乙個任務,該任務的輸出檔案(例如任務建立的檔案)都會被拷貝,並且該任務會新增到copy任務的依賴中.into()方法接受和file()相同的任意引數。如下是乙個例子:
example 15.11. specifying copy task source files and destination directory
build.gradle
task anothercopytask(type: copy)
}你可以使用ant風格的 include 或者exclude或者使用閉包來選擇檔案:
example 15.12. selecting the files to copy
build.gradle
task copytaskwithpatterns(type: copy)
}你也可以使用project.copy()方法來複製檔案。除了有一些限制外,它跟前面的複製任務一樣工作。首先,copy()不是增量式的(檢視第14.9章「skipping tasks that are up-to-date」)
example 15.13. copying files using the copy() method without up-to-date check
build.gradle
task copymethod <<
}第二,copy()方法不能影響任務依賴當乙個任務被使用為乙個複製的原始檔(例如作為from()的乙個引數),因為他是乙個方法而不是乙個任務,如果使用copy方法作為任務動作的一部分,你必須明確定義所有的輸入和輸出來獲取正確的行為。
example 15.14. copying files using the copy() method with up-to-date check
build.gradle
task copymethodwithexplicitdependencies}}
任何可能的情況下,優先使用copy任務,因為它不需要你做額外的工作就可以支援增量是構建和任務依賴介面。copy方法可以用來拷貝檔案,作為任務實現的一部分。也就是說,copy方法設計用來為自定義的任務服務((see chapter 58, writing custom task classes) t),這些自定義的任務需要拷貝檔案來作為他們功能的一部分。在這種場景下,自定義任務必須充分的定義好copy動作相關的輸入和輸出檔案
第十五章預習
public class yuxi15 else 字串的比較 字串1.equals 字串2 比較兩個字串的值是否相同,返回boolean型別的值.如果相同,則返回真值,否則返回假值.字串1.equalsignorecase 字串2 忽略大小寫比較字串1和字串2.如果都相同則返回真值 否則返回假值 改...
learn with python 第十五章 繼承
第十六章 繼承 16.1繼承 物件導向語言所擁有的特性是繼承,繼承指定義乙個新的類擁有原來類的方法。繼承最大的好處就是可以在不改變現存 的情況下新增新的方法,稱之為繼承是因為新定義的類擁有父類的所有方法。新建立的類知之為子類。繼承是乙個功能強大的特性,某些情況下如果沒有繼承,一些層序幾乎無法實現。同...
第十五章 磁碟管理
uuid 掛載點swap 產品型別swap 掛載選項預設值default 預設不檢測,檢測順序 0 0 檢視分割槽 swapon s s表示show 手動掛載 swapon dev sda3 缺點 重啟後就消失,想永久生效,寫配置檔案 解除安裝分割槽 swapoff dev sda3 vim etc...