Skip to content

Commit 12eadcd

Browse files
authored
remove deprecated code for clap 3.1.0 (#774)
1 parent 2c85eef commit 12eadcd

File tree

10 files changed

+81
-83
lines changed

10 files changed

+81
-83
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ serde = { version = "1.0", features = ["derive"] }
144144
json5 = "0.4"
145145
thiserror = "1.0"
146146

147-
clap = { version = "3", features = ["wrap_help", "suggestions"] }
147+
clap = { version = "3.1", features = ["wrap_help", "suggestions"] }
148148
cfg-if = "1"
149149
qrcode = { version = "0.12", default-features = false }
150150
exitcode = "1"

bin/sslocal.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
//! or you could specify a configuration file. The format of configuration file is defined
55
//! in mod `config`.
66
7-
use clap::App;
7+
use clap::Command;
88
use shadowsocks_rust::service::local;
99

1010
fn main() {
11-
let mut app = App::new("shadowsocks")
11+
let mut app = Command::new("shadowsocks")
1212
.version(shadowsocks_rust::VERSION)
1313
.about("A fast tunnel proxy that helps you bypass firewalls. (https://shadowsocks.org)");
1414
app = local::define_command_line_options(app);

bin/ssmanager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
//! *It should be notice that the extended configuration file is not suitable for the server
88
//! side.*
99
10-
use clap::App;
10+
use clap::Command;
1111
use shadowsocks_rust::service::manager;
1212

1313
fn main() {
14-
let mut app = App::new("shadowsocks")
14+
let mut app = Command::new("shadowsocks")
1515
.version(shadowsocks_rust::VERSION)
1616
.about("A fast tunnel proxy that helps you bypass firewalls. (https://shadowsocks.org)");
1717
app = manager::define_command_line_options(app);

bin/ssserver.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
//! *It should be notice that the extended configuration file is not suitable for the server
88
//! side.*
99
10-
use clap::App;
10+
use clap::Command;
1111
use shadowsocks_rust::service::server;
1212

1313
fn main() {
14-
let mut app = App::new("shadowsocks")
14+
let mut app = Command::new("shadowsocks")
1515
.version(shadowsocks_rust::VERSION)
1616
.about("A fast tunnel proxy that helps you bypass firewalls. (https://shadowsocks.org)");
1717
app = server::define_command_line_options(app);

bin/ssservice.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
1010
use std::{env, path::Path};
1111

12-
use clap::{App, AppSettings};
12+
use clap::Command;
1313
use shadowsocks_rust::service::{local, manager, server};
1414

1515
fn main() {
16-
let app = App::new("shadowsocks")
16+
let app = Command::new("shadowsocks")
1717
.version(shadowsocks_rust::VERSION)
1818
.about("A fast tunnel proxy that helps you bypass firewalls. (https://shadowsocks.org)");
1919

@@ -30,11 +30,11 @@ fn main() {
3030
}
3131

3232
let matches = app
33-
.setting(AppSettings::SubcommandRequired)
34-
.subcommand(local::define_command_line_options(App::new("local")).about("Shadowsocks Local service"))
35-
.subcommand(server::define_command_line_options(App::new("server")).about("Shadowsocks Server service"))
33+
.subcommand_required(true)
34+
.subcommand(local::define_command_line_options(Command::new("local")).about("Shadowsocks Local service"))
35+
.subcommand(server::define_command_line_options(Command::new("server")).about("Shadowsocks Server service"))
3636
.subcommand(
37-
manager::define_command_line_options(App::new("manager")).about("Shadowsocks Server Manager service"),
37+
manager::define_command_line_options(Command::new("manager")).about("Shadowsocks Server Manager service"),
3838
)
3939
.get_matches();
4040

bin/ssurl.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
//! SS-URI = "ss://" userinfo "@" hostname ":" port [ "/" ] [ "?" plugin ] [ "#" tag ]
44
//! userinfo = websafe-base64-encode-utf8(method ":" password)
55
6-
use clap::{App, Arg};
6+
use clap::{Command, Arg};
77
use qrcode::{types::Color, QrCode};
88

99
use shadowsocks_service::{
@@ -73,7 +73,7 @@ fn decode(encoded: &str, need_qrcode: bool) {
7373
}
7474

7575
fn main() {
76-
let app = App::new("ssurl")
76+
let app = Command::new("ssurl")
7777
.version(VERSION)
7878
.about("Encode and decode ShadowSocks URL")
7979
.arg(

src/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ impl Config {
183183
#[cfg(feature = "multi-threaded")]
184184
match matches.value_of_t::<usize>("WORKER_THREADS") {
185185
Ok(worker_count) => self.runtime.worker_count = Some(worker_count),
186-
Err(ref err) if err.kind == clap::ErrorKind::ArgumentNotFound => {}
186+
Err(ref err) if err.kind() == clap::ErrorKind::ArgumentNotFound => {}
187187
Err(err) => err.exit(),
188188
}
189189

src/service/local.rs

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use std::{net::IpAddr, path::PathBuf, process, time::Duration};
44

5-
use clap::{App, Arg, ArgGroup, ArgMatches, ErrorKind as ClapErrorKind};
5+
use clap::{Arg, ArgGroup, ArgMatches, Command, ErrorKind as ClapErrorKind};
66
use futures::future::{self, Either};
77
use log::{info, trace};
88
use tokio::{self, runtime::Builder};
@@ -27,12 +27,11 @@ use shadowsocks_service::{
2727
use crate::logging;
2828
use crate::{
2929
config::{Config as ServiceConfig, RuntimeMode},
30-
monitor,
31-
validator,
30+
monitor, validator,
3231
};
3332

3433
/// Defines command line options
35-
pub fn define_command_line_options(mut app: App<'_>) -> App<'_> {
34+
pub fn define_command_line_options(mut app: Command<'_>) -> Command<'_> {
3635
app = app.arg(
3736
Arg::new("CONFIG")
3837
.short('c')
@@ -432,7 +431,7 @@ pub fn main(matches: &ArgMatches) {
432431

433432
let timeout = match matches.value_of_t::<u64>("TIMEOUT") {
434433
Ok(t) => Some(Duration::from_secs(t)),
435-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => None,
434+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => None,
436435
Err(err) => err.exit(),
437436
};
438437

@@ -456,7 +455,7 @@ pub fn main(matches: &ArgMatches) {
456455

457456
match matches.value_of_t::<ServerConfig>("URL") {
458457
Ok(svr_addr) => config.server.push(svr_addr),
459-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
458+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
460459
Err(err) => err.exit(),
461460
}
462461

@@ -494,7 +493,7 @@ pub fn main(matches: &ArgMatches) {
494493
let mut local_config = LocalConfig::new(protocol);
495494
match matches.value_of_t::<ServerAddr>("LOCAL_ADDR") {
496495
Ok(local_addr) => local_config.addr = Some(local_addr),
497-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {
496+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {
498497
#[cfg(feature = "local-tun")]
499498
if protocol == ProtocolType::Tun {
500499
// `tun` protocol doesn't need --local-addr
@@ -507,28 +506,28 @@ pub fn main(matches: &ArgMatches) {
507506

508507
match matches.value_of_t::<ServerAddr>("UDP_BIND_ADDR") {
509508
Ok(udp_bind_addr) => local_config.udp_addr = Some(udp_bind_addr),
510-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
509+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
511510
Err(err) => err.exit(),
512511
}
513512

514513
#[cfg(feature = "local-tunnel")]
515514
match matches.value_of_t::<Address>("FORWARD_ADDR") {
516515
Ok(addr) => local_config.forward_addr = Some(addr),
517-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
516+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
518517
Err(err) => err.exit(),
519518
}
520519

521520
#[cfg(feature = "local-redir")]
522521
{
523522
match matches.value_of_t::<RedirType>("TCP_REDIR") {
524523
Ok(tcp_redir) => local_config.tcp_redir = tcp_redir,
525-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
524+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
526525
Err(err) => err.exit(),
527526
}
528527

529528
match matches.value_of_t::<RedirType>("UDP_REDIR") {
530529
Ok(udp_redir) => local_config.udp_redir = udp_redir,
531-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
530+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
532531
Err(err) => err.exit(),
533532
}
534533
}
@@ -562,13 +561,13 @@ pub fn main(matches: &ArgMatches) {
562561

563562
match matches.value_of_t::<NameServerAddr>("LOCAL_DNS_ADDR") {
564563
Ok(addr) => local_config.local_dns_addr = Some(addr),
565-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
564+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
566565
Err(err) => err.exit(),
567566
}
568567

569568
match matches.value_of_t::<RemoteDnsAddress>("REMOTE_DNS_ADDR") {
570569
Ok(addr) => local_config.remote_dns_addr = Some(addr.0),
571-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
570+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
572571
Err(err) => err.exit(),
573572
}
574573
}
@@ -588,7 +587,7 @@ pub fn main(matches: &ArgMatches) {
588587

589588
config.local.push(local_dns_config);
590589
}
591-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
590+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
592591
Err(err) => err.exit(),
593592
}
594593
}
@@ -599,19 +598,19 @@ pub fn main(matches: &ArgMatches) {
599598

600599
match matches.value_of_t::<IpNet>("TUN_INTERFACE_ADDRESS") {
601600
Ok(tun_address) => local_config.tun_interface_address = Some(tun_address),
602-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
601+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
603602
Err(err) => err.exit(),
604603
}
605604
match matches.value_of_t::<String>("TUN_INTERFACE_NAME") {
606605
Ok(tun_name) => local_config.tun_interface_name = Some(tun_name),
607-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
606+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
608607
Err(err) => err.exit(),
609608
}
610609

611610
#[cfg(unix)]
612611
match matches.value_of_t::<PathBuf>("TUN_DEVICE_FD_FROM_PATH") {
613612
Ok(fd_path) => local_config.tun_device_fd_from_path = Some(fd_path),
614-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
613+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
615614
Err(err) => err.exit(),
616615
}
617616
}
@@ -637,34 +636,34 @@ pub fn main(matches: &ArgMatches) {
637636

638637
match matches.value_of_t::<u64>("TCP_KEEP_ALIVE") {
639638
Ok(keep_alive) => config.keep_alive = Some(Duration::from_secs(keep_alive)),
640-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
639+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
641640
Err(err) => err.exit(),
642641
}
643642

644643
#[cfg(any(target_os = "linux", target_os = "android"))]
645644
match matches.value_of_t::<u32>("OUTBOUND_FWMARK") {
646645
Ok(mark) => config.outbound_fwmark = Some(mark),
647-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
646+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
648647
Err(err) => err.exit(),
649648
}
650649

651650
#[cfg(target_os = "freebsd")]
652651
match matches.value_of_t::<u32>("OUTBOUND_USER_COOKIE") {
653652
Ok(user_cookie) => config.outbound_user_cookie = Some(user_cookie),
654-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
653+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
655654
Err(err) => err.exit(),
656655
}
657656

658657
match matches.value_of_t::<String>("OUTBOUND_BIND_INTERFACE") {
659658
Ok(iface) => config.outbound_bind_interface = Some(iface),
660-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
659+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
661660
Err(err) => err.exit(),
662661
}
663662

664663
#[cfg(all(unix, not(target_os = "android")))]
665664
match matches.value_of_t::<u64>("NOFILE") {
666665
Ok(nofile) => config.nofile = Some(nofile),
667-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
666+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
668667
Err(err) => err.exit(),
669668
}
670669

@@ -689,40 +688,40 @@ pub fn main(matches: &ArgMatches) {
689688

690689
match matches.value_of_t::<u64>("UDP_TIMEOUT") {
691690
Ok(udp_timeout) => config.udp_timeout = Some(Duration::from_secs(udp_timeout)),
692-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
691+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
693692
Err(err) => err.exit(),
694693
}
695694

696695
match matches.value_of_t::<usize>("UDP_MAX_ASSOCIATIONS") {
697696
Ok(udp_max_assoc) => config.udp_max_associations = Some(udp_max_assoc),
698-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
697+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
699698
Err(err) => err.exit(),
700699
}
701700

702701
match matches.value_of_t::<u32>("INBOUND_SEND_BUFFER_SIZE") {
703702
Ok(bs) => config.inbound_send_buffer_size = Some(bs),
704-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
703+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
705704
Err(err) => err.exit(),
706705
}
707706
match matches.value_of_t::<u32>("INBOUND_RECV_BUFFER_SIZE") {
708707
Ok(bs) => config.inbound_recv_buffer_size = Some(bs),
709-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
708+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
710709
Err(err) => err.exit(),
711710
}
712711
match matches.value_of_t::<u32>("OUTBOUND_SEND_BUFFER_SIZE") {
713712
Ok(bs) => config.outbound_send_buffer_size = Some(bs),
714-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
713+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
715714
Err(err) => err.exit(),
716715
}
717716
match matches.value_of_t::<u32>("OUTBOUND_RECV_BUFFER_SIZE") {
718717
Ok(bs) => config.outbound_recv_buffer_size = Some(bs),
719-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
718+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
720719
Err(err) => err.exit(),
721720
}
722721

723722
match matches.value_of_t::<IpAddr>("OUTBOUND_BIND_ADDR") {
724723
Ok(bind_addr) => config.outbound_bind_addr = Some(bind_addr),
725-
Err(ref err) if err.kind == ClapErrorKind::ArgumentNotFound => {}
724+
Err(ref err) if err.kind() == ClapErrorKind::ArgumentNotFound => {}
726725
Err(err) => err.exit(),
727726
}
728727

0 commit comments

Comments
 (0)