@@ -95,7 +95,7 @@ public static String extractLinkMetaOptionData(String options) {
9595 return "" ;
9696 }
9797
98- public record LinkData (String linkFile , String linkFileContent , String linkFileMeta , String linkFileInfo , String md5 ) {}
98+ public record LinkData (String linkFile , String linkFileContent , String linkFileMeta , String linkFileInfo , String md5 , String version ) {}
9999
100100
101101 /**
@@ -111,17 +111,19 @@ public record LinkData(String linkFile, String linkFileContent, String linkFileM
111111 public static LinkData extractLink (FileReader fileReader , String source , String optLinkFile , String optLinkFileMeta , String md5 ) {
112112 var linkFile = LinkFile .validateAndUpdateLinkFileName (optLinkFile );
113113 var linkFileContent = !Strings .isNullOrEmpty (linkFile ) ? PathUtils .resolve (fileReader .getCommonRoot (), source ) : "" ;
114+ var version = LinkFileV1 .VERSION ; // Default to V1
114115
115116 if (Strings .isNullOrEmpty (linkFile ) && !Strings .isNullOrEmpty (source )) {
116117 // Check if link file is forced from the source
117118 var dataSource = fileReader .resolveUrl (source , true );
118119 if (dataSource != null && dataSource .forceLink ()) {
119120 linkFile = dataSource .getProjectLinkFile ();
120121 linkFileContent = dataSource .getProjectLinkFileContent ();
122+ version = LinkFileMeta .DEFAULT_VERSION ; // Use default version when forced from source.
121123 }
122124 }
123125 var metaInfo = extractLinkMetaInfo (optLinkFileMeta );
124- return new LinkData (linkFile , linkFileContent , metaInfo .linkFileMeta , metaInfo .linkFileInfo , md5 );
126+ return new LinkData (linkFile , linkFileContent , metaInfo .linkFileMeta , metaInfo .linkFileInfo , md5 , version );
125127 }
126128
127129 public static LinkData extractLinkMetaInfo (String optLinkFileMeta ) {
@@ -139,7 +141,7 @@ public static LinkData extractLinkMetaInfo(String optLinkFileMeta) {
139141 }
140142 }
141143
142- return new LinkData ("" , "" , linkFileMeta , linkFileInfo , "" );
144+ return new LinkData ("" , "" , linkFileMeta , linkFileInfo , "" , "" );
143145 }
144146
145147 public static void writeLinkFile (FileReader fileReader , LinkData linkData ) throws IOException {
@@ -149,7 +151,7 @@ public static void writeLinkFile(FileReader fileReader, LinkData linkData) throw
149151 // Use the nonsecure driver file reader as this is an exception from the write no links rule.
150152 var unsecureFileReader = fileReader .unsecure ();
151153
152- LinkFile .loadV1 ((StreamSource )unsecureFileReader .resolveUrl (linkData .linkFile , true ))
154+ LinkFile .createOrLoad ((StreamSource )unsecureFileReader .resolveUrl (linkData .linkFile , true ), linkData . version )
153155 .appendMeta (linkData .linkFileMeta )
154156 .appendEntry (linkData .linkFileContent , linkData .md5 , linkData .linkFileInfo , unsecureFileReader )
155157 .save (unsecureFileReader .getQueryTime ());
0 commit comments