Print a deprecation warning on sync for symlinks

This commit is contained in:
Robbert van der Helm
2022-01-02 20:23:37 +01:00
parent 14870c8dd9
commit f5af027847
4 changed files with 33 additions and 3 deletions
+14
View File
@@ -231,6 +231,20 @@ pub fn do_sync(config: &mut Config, options: &SyncOptions) -> Result<()> {
None => None,
};
if config.method == InstallationMethod::Symlink {
eprintln!(
"{}",
utils::wrap(&format!(
"{}: The symlink-based installation method is currently active. This \
will likely result in unexpected behavior, and the feature will be removed \
entirely in a later version of yabridgectl. You can revert back \
to the copy-based installation method by running '{}'.\n",
"WARNING".yellow().bold(),
"yabridgectl set --method=copy".bright_white()
))
);
}
if let Some((libyabridge_vst3_path, _)) = &files.libyabridge_vst3 {
println!("Setting up VST2 and VST3 plugins using:");
println!("- {}", files.libyabridge_vst2.display());
+2
View File
@@ -97,6 +97,8 @@ pub enum InstallationMethod {
/// This will create a symlink to `libyabridge-{vst2,vst3}.so` for every VST2 plugin `.dll` file
/// or VST3 module in the plugin directories. Now that yabridge also searches in
/// `~/.local/share/yabridge` since yabridge 2.1 this option is not really needed anymore.
///
/// TODO: This feature has been deprecated, remove it in yabridge 4.0
Symlink,
}
+6 -3
View File
@@ -119,15 +119,18 @@ fn main() -> Result<()> {
)
.subcommand(
App::new("set")
.about("Change the installation method or yabridge path (advanced)")
.about("Change the yabridge path (advanced)")
.display_order(200)
.setting(AppSettings::ArgRequiredElseHelp)
.arg(
Arg::new("method")
.long("method")
.about("The installation method to use")
.about("The installation method to use (deprecated)")
.long_about(&format!(
"The installation method to use. \
"This feature has been deprecated in yabridgectl 3.7.1 and should \
not be used anymore. \
\n\n\
The installation method to use. \
'{}' works in every situation but it requires you to modify your PATH \
environment variable so yabridge is able to find 'yabridge-host.exe'. \
'yabridgectl sync' whenever you update yabridge. You'll also have to \