170 case missing => error("Missing platforms: " + commas_quote(missing.map(_.platform_name))) |
170 case missing => error("Missing platforms: " + commas_quote(missing.map(_.platform_name))) |
171 } |
171 } |
172 |
172 |
173 val jdk_name = "jdk-" + jdk_version |
173 val jdk_name = "jdk-" + jdk_version |
174 val jdk_path = Path.explode(jdk_name) |
174 val jdk_path = Path.explode(jdk_name) |
175 val component_dir = dir + jdk_path |
175 val component_dir = Components.Directory.create(dir + jdk_path, progress = progress) |
176 |
176 |
177 Isabelle_System.make_directory(component_dir + Path.explode("etc")) |
177 File.write(component_dir.settings, settings) |
178 File.write(Components.settings(component_dir), settings) |
178 File.write(component_dir.README, readme(jdk_version)) |
179 File.write(component_dir + Path.explode("README"), readme(jdk_version)) |
|
180 |
179 |
181 for (platform <- platforms) { |
180 for (platform <- platforms) { |
182 Isabelle_System.move_file(dir + platform.platform_path, component_dir) |
181 Isabelle_System.move_file(dir + platform.platform_path, component_dir.path) |
183 } |
182 } |
184 |
183 |
185 for (file <- File.find_files(component_dir.file, include_dirs = true)) { |
184 for (file <- File.find_files(component_dir.path.file, include_dirs = true)) { |
186 val path = file.toPath |
185 val path = file.toPath |
187 val perms = Files.getPosixFilePermissions(path) |
186 val perms = Files.getPosixFilePermissions(path) |
188 perms.add(PosixFilePermission.OWNER_READ) |
187 perms.add(PosixFilePermission.OWNER_READ) |
189 perms.add(PosixFilePermission.GROUP_READ) |
188 perms.add(PosixFilePermission.GROUP_READ) |
190 perms.add(PosixFilePermission.OTHERS_READ) |
189 perms.add(PosixFilePermission.OTHERS_READ) |