@@ -43,6 +43,8 @@ public class SimplelocalizeCliCommand implements Runnable
4343 @ Option (names = {"--debug" }, description = "Debug mode" , defaultValue = "false" )
4444 boolean debug ;
4545
46+ private Configuration configuration ;
47+
4648 public static void main (String [] args )
4749 {
4850 int exitCode = new CommandLine (new SimplelocalizeCliCommand ()).execute (args );
@@ -85,13 +87,13 @@ public void extract(
8587 }
8688 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
8789 configurationValidator .validateExtractConfiguration (configuration );
90+ this .configuration = configuration ;
8891 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
8992 ExtractCommand extractCommand = new ExtractCommand (client , configuration );
9093 extractCommand .invoke ();
9194 } catch (Exception e )
9295 {
93- printDebug (e );
94- System .exit (CommandLine .ExitCode .USAGE );
96+ handleException (e );
9597 }
9698 }
9799
@@ -196,14 +198,13 @@ public void upload(
196198
197199 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
198200 configurationValidator .validateUploadConfiguration (configuration );
199-
201+ this . configuration = configuration ;
200202 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
201203 UploadCommand uploadCommand = new UploadCommand (client , configuration );
202204 uploadCommand .invoke ();
203205 } catch (Exception e )
204206 {
205- printDebug (e );
206- System .exit (CommandLine .ExitCode .USAGE );
207+ handleException (e );
207208 }
208209 }
209210
@@ -264,13 +265,13 @@ public void download(
264265
265266 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
266267 configurationValidator .validateDownloadConfiguration (configuration );
268+ this .configuration = configuration ;
267269 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
268270 DownloadCommand downloadCommand = new DownloadCommand (client , configuration );
269271 downloadCommand .invoke ();
270272 } catch (Exception e )
271273 {
272- printDebug (e );
273- System .exit (CommandLine .ExitCode .USAGE );
274+ handleException (e );
274275 }
275276 }
276277
@@ -316,13 +317,13 @@ public void pull(
316317
317318 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
318319 configurationValidator .validateHostingPullConfiguration (configuration );
320+ this .configuration = configuration ;
319321 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
320322 PullHostingCommand command = new PullHostingCommand (client , configuration );
321323 command .invoke ();
322324 } catch (Exception e )
323325 {
324- printDebug (e );
325- System .exit (CommandLine .ExitCode .USAGE );
326+ handleException (e );
326327 }
327328 }
328329
@@ -358,13 +359,13 @@ public void startAutoTranslation(
358359
359360 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
360361 configurationValidator .validateAutoTranslationConfiguration (configuration );
362+ this .configuration = configuration ;
361363 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
362364 AutoTranslationCommand command = new AutoTranslationCommand (client , configuration );
363365 command .invoke ();
364366 } catch (Exception e )
365367 {
366- printDebug (e );
367- System .exit (CommandLine .ExitCode .USAGE );
368+ handleException (e );
368369 }
369370 }
370371
@@ -379,8 +380,7 @@ public void init()
379380 initCommand .invoke ();
380381 } catch (Exception e )
381382 {
382- printDebug (e );
383- System .exit (CommandLine .ExitCode .USAGE );
383+ handleException (e );
384384 }
385385 }
386386
@@ -408,13 +408,13 @@ public void status(
408408
409409 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
410410 configurationValidator .validateGetStatusConfiguration (configuration );
411+ this .configuration = configuration ;
411412 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
412413 StatusCommand command = new StatusCommand (client );
413414 command .invoke ();
414415 } catch (Exception e )
415416 {
416- printDebug (e );
417- System .exit (CommandLine .ExitCode .USAGE );
417+ handleException (e );
418418 }
419419 }
420420
@@ -447,13 +447,13 @@ public void publish(
447447
448448 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
449449 configurationValidator .validateHostingPublishConfiguration (configuration );
450+ this .configuration = configuration ;
450451 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
451452 PublishHostingCommand command = new PublishHostingCommand (client , configuration );
452453 command .invoke ();
453454 } catch (Exception e )
454455 {
455- printDebug (e );
456- System .exit (CommandLine .ExitCode .USAGE );
456+ handleException (e );
457457 }
458458 }
459459
@@ -482,24 +482,32 @@ public void purge(
482482
483483 ConfigurationValidator configurationValidator = new ConfigurationValidator ();
484484 configurationValidator .validateGetPurgeConfiguration (configuration );
485+ this .configuration = configuration ;
485486 SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
486487 PurgeCommand command = new PurgeCommand (client , force );
487488 command .invoke ();
488489 } catch (Exception e )
489490 {
490- printDebug (e );
491- System .exit (CommandLine .ExitCode .USAGE );
491+ handleException (e );
492492 }
493493 }
494494
495- private void printDebug (Exception e )
495+ private void handleException (Exception e )
496+ {
497+ log .error ("Command failed." , e );
498+ trySendException (e );
499+ System .exit (CommandLine .ExitCode .USAGE );
500+ }
501+
502+ private void trySendException (Exception exception )
496503 {
497- if ( debug )
504+ try
498505 {
499- log .error ("Command failed." , e );
500- } else
506+ SimpleLocalizeClient client = SimpleLocalizeClient .create (configuration .getBaseUrl (), configuration .getApiKey ());
507+ client .sendException (configuration , exception );
508+ } catch (Exception ex )
501509 {
502- log .error ("Command failed. Use '--debug' parameter before the command name to see stacktrace." );
510+ log .
error (
"Unable to send exception to SimpleLocalize, please contact us at [email protected] " , ex );
503511 }
504512 }
505513
0 commit comments