No macOS 10.13.4, para alguns .java
arquivos, o Finder é exibido "Java Source"
para kMDItemKind
(ou seja, a coluna "Tipo" na visualização "Lista"), mas para alguns outros .java
arquivos, ele é exibido "Source Code"
, mesmo dentro da mesma pasta.
Como posso garantir que todos os .java
arquivos tenham consistentemente
kMDItemKind = "Java Source"
?
Aqui está a saída de mdls
um arquivo que exibe "Java Source"
:
kMDItemContentCreationDate = 2017-08-08 08:51:42 +0000
kMDItemContentCreationDate_Ranking = 2017-08-08 00:00:00 +0000
kMDItemContentModificationDate = 2017-08-08 08:51:42 +0000
kMDItemContentType = "com.sun.java-source"
kMDItemContentTypeTree = (
"com.sun.java-source",
"public.source-code",
"public.data",
"public.plain-text",
"public.item",
"public.content",
"public.text",
"com.sun.java-source"
)
kMDItemDateAdded = 2018-02-04 06:16:53 +0000
kMDItemDateAdded_Ranking = 2018-02-04 00:00:00 +0000
kMDItemDisplayName = "A.java"
kMDItemFSContentChangeDate = 2017-08-08 08:51:42 +0000
kMDItemFSCreationDate = 2017-08-08 08:51:42 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = "A.java"
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 442
kMDItemFSTypeCode = ""
kMDItemInterestingDate_Ranking = 2017-08-08 00:00:00 +0000
kMDItemInterestingDate_RankingRepaired = 1
kMDItemKind = "Java Source"
kMDItemLogicalSize = 442
kMDItemPhysicalSize = 4096
Aqui está a saída de mdls
um arquivo na mesma pasta do arquivo anterior, mas que é exibido "Source Code"
:
kMDItemContentCreationDate = 2018-04-02 09:09:37 +0000
kMDItemContentCreationDate_Ranking = 2018-04-02 00:00:00 +0000
kMDItemContentModificationDate = 2018-04-02 09:09:37 +0000
kMDItemContentType = "com.sun.java-source"
kMDItemContentTypeTree = (
"com.sun.java-source",
"public.source-code",
"public.data",
"public.plain-text",
"public.item",
"public.content",
"public.text",
"com.sun.java-source"
)
kMDItemDateAdded = 2018-04-02 09:09:37 +0000
kMDItemDateAdded_Ranking = 2018-04-02 00:00:00 +0000
kMDItemDisplayName = "B.java"
kMDItemFSContentChangeDate = 2018-04-02 09:09:37 +0000
kMDItemFSCreationDate = 2018-04-02 09:09:37 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = "B.java"
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 5893
kMDItemFSTypeCode = ""
kMDItemInterestingDate_Ranking = 2018-04-02 00:00:00 +0000
kMDItemKind = "Source Code"
kMDItemLogicalSize = 5893
kMDItemPhysicalSize = 8192
kMDItemKind
é diferente em cada caso.kMDItemKind
é o mesmo para ambos os arquivos, ou, se eu não posso fazer isso, porquekMDItemKind
não é detectado como o mesmo para dois arquivos com a mesma extensão, e ambos contêm Código Java.