@@ -91,7 +91,13 @@ pub fn main() {
91
91
. required ( true )
92
92
. help ( "Version of crate" ) ) )
93
93
. subcommand ( SubCommand :: with_name ( "add-essential-files" )
94
- . about ( "Adds essential files for rustc" ) ) )
94
+ . about ( "Adds essential files for rustc" ) )
95
+ . subcommand ( SubCommand :: with_name ( "lock" )
96
+ . about ( "Locks cratesfyi daemon to stop \
97
+ building new crates") )
98
+ . subcommand ( SubCommand :: with_name ( "unlock" )
99
+ . about ( "Unlocks cratesfyi daemon to continue \
100
+ building new crates") ) )
95
101
. subcommand ( SubCommand :: with_name ( "start-web-server" )
96
102
. about ( "Starts web server" )
97
103
. arg ( Arg :: with_name ( "SOCKET_ADDR" )
@@ -169,19 +175,24 @@ pub fn main() {
169
175
170
176
let mut docbuilder = DocBuilder :: new ( docbuilder_opts) ;
171
177
172
- docbuilder. load_cache ( ) . expect ( "Failed to load cache" ) ;
173
-
174
178
if let Some ( _) = matches. subcommand_matches ( "world" ) {
179
+ docbuilder. load_cache ( ) . expect ( "Failed to load cache" ) ;
175
180
docbuilder. build_world ( ) . expect ( "Failed to build world" ) ;
181
+ docbuilder. save_cache ( ) . expect ( "Failed to save cache" ) ;
176
182
} else if let Some ( matches) = matches. subcommand_matches ( "crate" ) {
183
+ docbuilder. load_cache ( ) . expect ( "Failed to load cache" ) ;
177
184
docbuilder. build_package ( matches. value_of ( "CRATE_NAME" ) . unwrap ( ) ,
178
185
matches. value_of ( "CRATE_VERSION" ) . unwrap ( ) )
179
186
. expect ( "Building documentation failed" ) ;
187
+ docbuilder. save_cache ( ) . expect ( "Failed to save cache" ) ;
180
188
} else if let Some ( _) = matches. subcommand_matches ( "add-essential-files" ) {
181
189
docbuilder. add_essential_files ( ) . expect ( "Failed to add essential files" ) ;
190
+ } else if let Some ( _) = matches. subcommand_matches ( "lock" ) {
191
+ docbuilder. lock ( ) . expect ( "Failed to lock" ) ;
192
+ } else if let Some ( _) = matches. subcommand_matches ( "unlock" ) {
193
+ docbuilder. unlock ( ) . expect ( "Failed to unlock" ) ;
182
194
}
183
195
184
- docbuilder. save_cache ( ) . expect ( "Failed to save cache" ) ;
185
196
} else if let Some ( matches) = matches. subcommand_matches ( "database" ) {
186
197
if let Some ( _) = matches. subcommand_matches ( "init" ) {
187
198
use std:: io:: Write ;
0 commit comments