Skip to content

Commit 268f7e4

Browse files
authored
0.14.6 (#15)
* use libchdr instead of aaru * use jpl instead of jul * follow ide advices * update settings * bump version
1 parent 1a8692b commit 268f7e4

File tree

219 files changed

+4987
-6888
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+4987
-6888
lines changed

.github/workflows/codeql-analysis.yml

+9-5
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ jobs:
1818
analyze:
1919
name: Analyze
2020
runs-on: ubuntu-latest
21+
permissions:
22+
actions: read
23+
contents: read
24+
security-events: write
2125

2226
strategy:
2327
fail-fast: false
@@ -30,11 +34,11 @@ jobs:
3034

3135
steps:
3236
- name: Checkout repository
33-
uses: actions/checkout@v3
37+
uses: actions/checkout@v4
3438

3539
# Initializes the CodeQL tools for scanning.
3640
- name: Initialize CodeQL
37-
uses: github/codeql-action/init@v2
41+
uses: github/codeql-action/init@v3
3842
with:
3943
languages: ${{ matrix.language }}
4044
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -43,15 +47,15 @@ jobs:
4347
# queries: ./path/to/local/query, your-org/your-repo/queries@main
4448

4549
- name: Setup Java JDK
46-
uses: actions/setup-java@v3
50+
uses: actions/setup-java@v4
4751
with:
4852
java-version: '17'
4953
distribution: 'temurin'
5054

5155
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5256
# If this step fails, then you should remove it and run the build manually (see below)
5357
- name: Autobuild
54-
uses: github/codeql-action/autobuild@v2
58+
uses: github/codeql-action/autobuild@v3
5559

5660
# ℹ️ Command-line programs to run using the OS shell.
5761
# 📚 https://git.io/JvXDl
@@ -65,4 +69,4 @@ jobs:
6569
# make release
6670

6771
- name: Perform CodeQL Analysis
68-
uses: github/codeql-action/analyze@v2
72+
uses: github/codeql-action/analyze@v3

.github/workflows/maven.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ jobs:
99

1010
steps:
1111
- name: Checkout repository
12-
uses: actions/checkout@v3
12+
uses: actions/checkout@v4
1313

1414
- name: Check w/o SNAPSHOT when "bump version"
1515
if: ${{ contains(github.event.head_commit.message, 'bump version') }}
1616
run: grep "<version>" pom.xml | head -1 | grep -v SNAPSHOT
1717

1818
- name: Set up JDK 17
19-
uses: actions/setup-java@v3
19+
uses: actions/setup-java@v4
2020
with:
2121
java-version: '17'
2222
distribution: 'temurin'

README.md

+39-32
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[![Release](https://jitpack.io/v/umjammer/vavi-nio-file-discutils.svg)](https://jitpack.io/#umjammer/vavi-nio-file-discutils)
2-
[![Actions Status](https://github.com/umjammer/vavi-nio-file-discutils/workflows/Java%20CI/badge.svg)](https://github.com/umjammer/vavi-nio-file-discutils/actions)
2+
[![Java CI](https://github.com/umjammer/vavi-nio-file-discutils/actions/workflows/maven.yml/badge.svg)](https://github.com/umjammer/vavi-nio-file-discutils/actions/workflows/maven.yml)
33
[![CodeQL](https://github.com/umjammer/vavi-nio-file-discutils/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/umjammer/vavi-nio-file-discutils/actions/workflows/codeql-analysis.yml)
4-
![Java](https://img.shields.io/badge/Java-8-b07219)
4+
![Java](https://img.shields.io/badge/Java-17-b07219)
55
[![Parent](https://img.shields.io/badge/Parent-vavi--apps--fuse-pink)](https://github.com/umjammer/vavi-apps-fuse)
66

77
# vavi-nio-file-discutils
@@ -10,22 +10,7 @@ A Java NIO FileSystem implementation over [DiscUtils](https://github.com/DiscUti
1010

1111
all formats are mounted by fuse also!
1212

13-
## Install
14-
15-
https://jitpack.io/#umjammer/vavi-nio-file-discutils
16-
17-
## Usage
18-
19-
```Java
20-
URI uri = URI.create("discutils:file:/Users/foo/bar.vdi");
21-
FileSystem fs = FileSystems.newFileSystem(uri, Collections.emptyMap());
22-
// use java nio file system
23-
Files.list(fs.getRootDirectories().iterator().next()).forEach(System.err::println);
24-
// mount as fuse
25-
Fuse.getFuse().mount(fs, "/your/mountPoint", Collections.emptyMap());
26-
```
27-
28-
## Status
13+
### Status
2914

3015
| fs | list | upload | download | copy | move | rm | mkdir | cache | watch | create | comment |
3116
|----------|----------------|--------|-----------|------|------|----|-------|-------|-------|--------|---------------------------------------------------------------------------------------------------------------------------------------|
@@ -47,20 +32,21 @@ https://jitpack.io/#umjammer/vavi-nio-file-discutils
4732
| NFS | 🚫 | | | | | | | | | - | server [nfs4j](https://github.com/dcache/nfs4j) |
4833
| ODS | 🚫 | | | | | | | | | - | server [vavi-net-ods](https://github.com/umjammer/vavi-net-ods) |
4934
| EMU | ✅ (nhd) | | | | | | | - | | - | [vavi-nio-file-emu](https://github.com/umjammer/vavi-nio-file-emu) [vavi-nio-file-fat](https://github.com/umjammer/vavi-nio-file-Fat) |
35+
| CHD | | | | | | | | | | - | [jpcsp](https://github.com/jpcsp/jpcsp) |
5036

51-
## Project Description
37+
### Project Description
5238

5339
vavi-nio-file-discutils is a Java library to read and write ISO files and Virtual Machine disk files (VHD, VDI, XVA, VMDK, etc). DiscUtils is developed in Java with no native code.
5440

5541
Implementation of the ISO, UDF, FAT and NTFS file systems is now fairly stable. VHD, XVA, VMDK and VDI disk formats are implemented, as well as read/write Registry support. The library also includes a simple iSCSI initiator, for accessing disks via iSCSI and an NFS client implementation.
5642

5743
Note: this is a fork of https://github.com/DiscUtils/DiscUtils, which itself is a fork of https://github.com/quamotion/DiscUtils, which itself is a fork of https://discutils.codeplex.com/.
5844

59-
### Wiki (at original site)
45+
#### Wiki (at original site)
6046

6147
See more up to date documentation at the [Wiki](https://github.com/DiscUtils/DiscUtils/wiki)
6248

63-
### Implementation in this repository
49+
#### Implementation in this repository
6450

6551
This repository has performed a few changes to the core DiscUtils library. For starters, all projects have been converted to Java, and are targeting Java 8.
6652

@@ -83,17 +69,35 @@ For this to work, you must register your filesystem providers with the discUtils
8369

8470
Where `class name` is the classes you wish to register.:
8571

86-
META-INF/services/discUtils.core.internal.VirtualDiskFactory // From complete
87-
META-INF/services/discUtils.core.internal.LogicalVolumeFactory // From containers
88-
META-INF/services/discUtils.core.vfs.VfsFileSystemFactory // From fileSystems
89-
META-INF/services/discUtils.core.internal.VirtualDiskTransport // From transports
90-
META-INF/services/discUtils.core.partitions.PartitionTableFactory // From partitions
72+
```properties
73+
META-INF/services/discUtils.core.internal.LogicalVolumeFactory # From containers
74+
META-INF/services/discUtils.core.vfs.VfsFileSystemFactory # From fileSystems
75+
META-INF/services/discUtils.core.internal.VirtualDiskTransport # From transports
76+
META-INF/services/discUtils.core.partitions.PartitionTableFactory # From partitions
77+
```
78+
79+
## Install
80+
81+
* https://jitpack.io/#umjammer/vavi-nio-file-discutils
82+
83+
## Usage
84+
85+
as a java nio filesystem spi
86+
87+
```Java
88+
URI uri = URI.create("discutils:file:/Users/foo/bar.vdi");
89+
FileSystem fs = FileSystems.newFileSystem(uri, Collections.emptyMap());
90+
// use java nio file system
91+
Files.list(fs.getRootDirectories().iterator().next()).forEach(System.err::println);
92+
// mount as fuse
93+
Fuse.getFuse().mount(fs, "/your/mountPoint", Collections.emptyMap());
94+
```
9195

92-
## How to use the Library
96+
### How to use the Library
9397

9498
Here's a few really simple examples.
9599

96-
### How to create a new ISO:
100+
#### How to create a new ISO:
97101

98102
```Java
99103
CDBuilder builder = new CDBuilder();
@@ -106,7 +110,7 @@ Here's a few really simple examples.
106110
You can add files as byte arrays (shown above), as files from the Windows filesystem, or as a Stream. By using a different form of Build, you can get a Stream to the ISO file, rather than writing it to the Windows filesystem.
107111

108112

109-
### How to extract a file from an ISO:
113+
#### How to extract a file from an ISO:
110114

111115
```Java
112116
try (FileStream isoStream = File.open("/tmp/sample.iso")) {
@@ -118,7 +122,7 @@ You can add files as byte arrays (shown above), as files from the Windows filesy
118122

119123
You can also browse through the directory hierarchy, starting at cd.Root.
120124

121-
### How to create a virtual hard disk:
125+
#### How to create a virtual hard disk:
122126

123127
```Java
124128
long diskSize = 30 * 1024 * 1024; // 30MB
@@ -135,7 +139,7 @@ You can also browse through the directory hierarchy, starting at cd.Root.
135139
As with ISOs, you can browse the file system, starting at fs.Root.
136140

137141

138-
### How to create a virtual floppy disk:
142+
#### How to create a virtual floppy disk:
139143

140144
```Java
141145
try (FileStream fs = File.create("myfloppy.vfd");
@@ -155,7 +159,7 @@ Again, start browsing the file system at floppy.Root.
155159

156160
## TODO
157161

158-
* compile by jdk8
162+
* ~~compile by jdk8~~
159163
* ~~https://github.com/AssafTzurEl/discUtils/commit/3853944811a16d6220dcb6e8d408561e05569e43~~
160164
* img ... https://github.com/hessu/bchunk
161165
* ~~file separator~~
@@ -166,7 +170,10 @@ Again, start browsing the file system at floppy.Root.
166170
* chd (wip, see aaru)
167171
* qlgenerator (wip, see vavi.apps.qlgenerator package)
168172
* https://mamedev.emulab.it/haze/2012/02/16/chd-v5/
173+
* https://github.com/rtissera/libchdr
174+
* [pscx2](https://github.com/PCSX2/pcsx2) has already chd code!
169175
* iso9660
170176
* `CommonVolumeDescriptor` as `user:attributes`
177+
* https://github.com/Janix520/java-iso-tools
171178
* ~~registry~~
172179
* ~~🐛 vdi check sector length?~~ -> Util#SeekableByteChannel*

jitpack.yml

-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
11
jdk:
22
- openjdk17
3-
before_install:
4-
- sdk install java 17.0.1-open
5-
- sdk use java 17.0.1-open

local.properties.sample

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
discImage=/somewhere/your.vdi
2-
mountPoint=/Users/you/mnt/fuse
2+
mountPoint=/Users/you/mnt/fuse
3+
#chd=/somewhere/Games/PS2/ps2-game.chd

0 commit comments

Comments
 (0)