1
- use serde:: Deserialize ;
1
+ use serde:: { Deserialize , Serialize } ;
2
2
3
- #[ derive( Deserialize , Debug ) ]
3
+ #[ derive( Deserialize , Serialize , Debug ) ]
4
4
#[ serde( rename_all = "camelCase" ) ]
5
5
pub struct MojangVersionManifest {
6
6
/// The latest version of Minecraft.
@@ -10,7 +10,7 @@ pub struct MojangVersionManifest {
10
10
}
11
11
12
12
/// The latest version of Minecraft.
13
- #[ derive( Deserialize , Debug ) ]
13
+ #[ derive( Deserialize , Serialize , Debug ) ]
14
14
#[ serde( rename_all = "camelCase" ) ]
15
15
pub struct MojangVersionManifestLatest {
16
16
/// The latest release version of Minecraft.
@@ -20,7 +20,7 @@ pub struct MojangVersionManifestLatest {
20
20
}
21
21
22
22
/// A version of Minecraft.
23
- #[ derive( Deserialize , Debug ) ]
23
+ #[ derive( Deserialize , Serialize , Debug ) ]
24
24
#[ serde( rename_all = "camelCase" ) ]
25
25
pub struct MojangVersionManifestVersion {
26
26
/// The ID of the version.
@@ -38,7 +38,7 @@ pub struct MojangVersionManifestVersion {
38
38
pub compliance_level : i32 ,
39
39
}
40
40
41
- #[ derive( Deserialize , Debug ) ]
41
+ #[ derive( Deserialize , Serialize , Debug ) ]
42
42
#[ serde( rename_all = "camelCase" ) ]
43
43
pub struct AssetIndex {
44
44
pub id : String ,
@@ -48,29 +48,29 @@ pub struct AssetIndex {
48
48
pub url : String ,
49
49
}
50
50
51
- #[ derive( Deserialize , Debug ) ]
51
+ #[ derive( Deserialize , Serialize , Debug ) ]
52
52
#[ serde( rename_all = "camelCase" ) ]
53
53
pub struct VersionDownload {
54
54
pub sha1 : String ,
55
55
pub size : i32 ,
56
56
pub url : String ,
57
57
}
58
58
59
- #[ derive( Deserialize , Debug ) ]
59
+ #[ derive( Deserialize , Serialize , Debug ) ]
60
60
#[ serde( rename_all = "camelCase" ) ]
61
61
pub struct VersionDownloads {
62
62
pub client : VersionDownload ,
63
63
pub server : Option < VersionDownload > ,
64
64
}
65
65
66
- #[ derive( Deserialize , Debug ) ]
66
+ #[ derive( Deserialize , Serialize , Debug ) ]
67
67
#[ serde( rename_all = "camelCase" ) ]
68
68
pub struct JavaVersion {
69
69
pub component : String ,
70
70
pub major_version : i32 ,
71
71
}
72
72
73
- #[ derive( Deserialize , Debug ) ]
73
+ #[ derive( Deserialize , Serialize , Debug ) ]
74
74
#[ serde( rename_all = "camelCase" ) ]
75
75
pub struct VersionLibraryDownloadInfo {
76
76
pub path : String ,
@@ -79,7 +79,7 @@ pub struct VersionLibraryDownloadInfo {
79
79
pub url : String ,
80
80
}
81
81
82
- #[ derive( Deserialize , Debug ) ]
82
+ #[ derive( Deserialize , Serialize , Debug ) ]
83
83
#[ serde( rename_all = "camelCase" ) ]
84
84
pub struct VersionLibraryClassifiers {
85
85
pub javadoc : Option < VersionLibraryDownloadInfo > ,
@@ -92,28 +92,28 @@ pub struct VersionLibraryClassifiers {
92
92
pub sources : Option < VersionLibraryDownloadInfo > ,
93
93
}
94
94
95
- #[ derive( Deserialize , Debug ) ]
95
+ #[ derive( Deserialize , Serialize , Debug ) ]
96
96
#[ serde( rename_all = "camelCase" ) ]
97
97
pub struct VersionLibraryNatives {
98
98
pub linux : Option < String > ,
99
99
pub osx : Option < String > ,
100
100
pub windows : Option < String > ,
101
101
}
102
102
103
- #[ derive( Deserialize , Debug ) ]
103
+ #[ derive( Deserialize , Serialize , Debug ) ]
104
104
#[ serde( rename_all = "camelCase" ) ]
105
105
pub struct VersionLibraryDownloads {
106
106
pub artifact : Option < VersionLibraryDownloadInfo > ,
107
107
pub classifiers : Option < VersionLibraryClassifiers > ,
108
108
}
109
109
110
- #[ derive( Deserialize , Debug ) ]
110
+ #[ derive( Deserialize , Serialize , Debug ) ]
111
111
#[ serde( rename_all = "camelCase" ) ]
112
112
pub struct VersionLibraryExtract {
113
113
pub exclude : Vec < String > ,
114
114
}
115
115
116
- #[ derive( Deserialize , Debug ) ]
116
+ #[ derive( Deserialize , Serialize , Debug ) ]
117
117
#[ serde( rename_all = "camelCase" ) ]
118
118
pub struct VersionLibrary {
119
119
pub name : String ,
@@ -123,36 +123,36 @@ pub struct VersionLibrary {
123
123
pub rules : Option < Vec < ManifestRule > > ,
124
124
}
125
125
126
- #[ derive( Deserialize , Debug ) ]
126
+ #[ derive( Deserialize , Serialize , Debug ) ]
127
127
#[ serde( rename_all = "camelCase" ) ]
128
128
pub struct ManifestRule {
129
129
pub action : String ,
130
130
pub os : Option < ManifestRuleOS > ,
131
131
pub features : Option < ManifestRuleFeatures > ,
132
132
}
133
133
134
- #[ derive( Deserialize , Debug ) ]
134
+ #[ derive( Deserialize , Serialize , Debug ) ]
135
135
#[ serde( rename_all = "camelCase" ) ]
136
136
pub struct ManifestRuleFeatures {
137
137
pub is_demo_user : Option < bool > ,
138
138
pub has_custom_resolution : Option < bool > ,
139
139
}
140
140
141
- #[ derive( Deserialize , Debug ) ]
141
+ #[ derive( Deserialize , Serialize , Debug ) ]
142
142
#[ serde( rename_all = "camelCase" ) ]
143
143
pub struct ManifestRuleOS {
144
144
pub name : Option < String > ,
145
145
pub version : Option < String > ,
146
146
pub arch : Option < String > ,
147
147
}
148
148
149
- #[ derive( Deserialize , Debug ) ]
149
+ #[ derive( Deserialize , Serialize , Debug ) ]
150
150
#[ serde( rename_all = "camelCase" ) ]
151
151
pub struct VersionLogging {
152
152
pub client : VersionLoggingClient ,
153
153
}
154
154
155
- #[ derive( Deserialize , Debug ) ]
155
+ #[ derive( Deserialize , Serialize , Debug ) ]
156
156
#[ serde( rename_all = "camelCase" ) ]
157
157
pub struct VersionLoggingClient {
158
158
pub argument : String ,
@@ -161,7 +161,7 @@ pub struct VersionLoggingClient {
161
161
pub logging_type : String ,
162
162
}
163
163
164
- #[ derive( Deserialize , Debug ) ]
164
+ #[ derive( Deserialize , Serialize , Debug ) ]
165
165
#[ serde( rename_all = "camelCase" ) ]
166
166
pub struct VersionLoggingClientFile {
167
167
pub id : String ,
@@ -170,35 +170,35 @@ pub struct VersionLoggingClientFile {
170
170
pub url : String ,
171
171
}
172
172
173
- #[ derive( Deserialize , Debug ) ]
173
+ #[ derive( Deserialize , Serialize , Debug ) ]
174
174
#[ serde( untagged) ]
175
175
pub enum VersionArgument {
176
176
String ( String ) ,
177
177
Object ( VersionArgumentObject ) ,
178
178
}
179
179
180
- #[ derive( Deserialize , Debug ) ]
180
+ #[ derive( Deserialize , Serialize , Debug ) ]
181
181
#[ serde( untagged) ]
182
182
pub enum VersionArgumentValue {
183
183
String ( String ) ,
184
184
Array ( Vec < String > ) ,
185
185
}
186
186
187
- #[ derive( Deserialize , Debug ) ]
187
+ #[ derive( Deserialize , Serialize , Debug ) ]
188
188
#[ serde( rename_all = "camelCase" ) ]
189
189
pub struct VersionArgumentObject {
190
190
pub rules : Vec < ManifestRule > ,
191
191
pub value : VersionArgumentValue ,
192
192
}
193
193
194
- #[ derive( Deserialize , Debug ) ]
194
+ #[ derive( Deserialize , Serialize , Debug ) ]
195
195
#[ serde( rename_all = "camelCase" ) ]
196
196
pub struct VersionArguments {
197
197
pub game : Vec < VersionArgument > ,
198
198
pub jvm : Vec < VersionArgument > ,
199
199
}
200
200
201
- #[ derive( Deserialize , Debug ) ]
201
+ #[ derive( Deserialize , Serialize , Debug ) ]
202
202
#[ serde( rename_all = "camelCase" ) ]
203
203
pub struct MinecraftVersion {
204
204
pub asset_index : AssetIndex ,
@@ -244,9 +244,13 @@ mod tests {
244
244
& std:: fs:: read_to_string ( path) . unwrap ( ) ,
245
245
) ;
246
246
if let Err ( e) = version {
247
- panic ! ( "Failed to deserialize version {}: {:?}" , entry. file_name( ) . to_str( ) . unwrap( ) , e) ;
247
+ panic ! (
248
+ "Failed to deserialize version {}: {:?}" ,
249
+ entry. file_name( ) . to_str( ) . unwrap( ) ,
250
+ e
251
+ ) ;
248
252
}
249
253
}
250
254
}
251
255
}
252
- }
256
+ }
0 commit comments