Skip to content

Commit

Permalink
Log deprecation warning when using deprecated `hudson.remoting.jnlp.M…
Browse files Browse the repository at this point in the history
…ain` entrypoint (#695)
  • Loading branch information
basil committed Oct 26, 2023
1 parent 7e55f95 commit a7870fc
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion src/main/java/hudson/remoting/jnlp/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@
package hudson.remoting.jnlp;

import hudson.remoting.Launcher;
import java.io.IOException;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
import org.kohsuke.args4j.CmdLineException;
import org.xml.sax.SAXException;

/**
* Previous entry point to pseudo-JNLP agent.
Expand All @@ -34,4 +39,34 @@
* @deprecated use {@link Launcher}
*/
@Deprecated
public class Main extends Launcher {}
public class Main extends Launcher {

private static volatile boolean deprecationWarningLogged;

public static void main(String... args) throws IOException, InterruptedException {
logDeprecation();
Launcher.main(args);
}

@Override
public void run() throws CmdLineException, IOException, InterruptedException {
logDeprecation();
super.run();
}

@Override
public List<String> parseJnlpArguments()
throws ParserConfigurationException, SAXException, IOException, InterruptedException {
logDeprecation();
return super.parseJnlpArguments();
}

private static void logDeprecation() {
if (deprecationWarningLogged) {
return;
}
System.err.println(
"WARNING: Using deprecated entrypoint \"java -cp agent.jar hudson.remoting.jnlp.Main\". Use \"java -jar agent.jar\" instead.");
deprecationWarningLogged = true;
}
}

0 comments on commit a7870fc

Please sign in to comment.