View Javadoc
1   /*
2    * Copyright (C) 2009 Christian Schulte <cs@schulte.it>
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met:
8    *
9    *   o Redistributions of source code must retain the above copyright
10   *     notice, this list of conditions and the following disclaimer.
11   *
12   *   o Redistributions in binary form must reproduce the above copyright
13   *     notice, this list of conditions and the following disclaimer in
14   *     the documentation and/or other materials provided with the
15   *     distribution.
16   *
17   * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
18   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
19   * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20   * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
21   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23   * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27   *
28   * $JOMC: Options.java 5301 2016-08-30 02:04:33Z schulte $
29   *
30   */
31  package org.jomc.cli.commands;
32  
33  import java.io.File;
34  import org.apache.commons.cli.Option;
35  
36  /**
37   * Command options.
38   *
39   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
40   */
41  class Options
42  {
43  
44      /**
45       * Command line option.
46       */
47      static final Option CLASSPATH_OPTION;
48  
49      /**
50       * Command line option.
51       */
52      static final Option DOCUMENTS_OPTION;
53  
54      /**
55       * Command line option.
56       */
57      static final Option MODEL_CONTEXT_FACTORY_CLASSNAME_OPTION;
58  
59      /**
60       * Command line option.
61       */
62      static final Option MODEL_OPTION;
63  
64      /**
65       * Command line option.
66       */
67      static final Option MODLET_SCHEMA_SYSTEM_ID_OPTION;
68  
69      /**
70       * Command line option.
71       */
72      static final Option MODLET_LOCATION_OPTION;
73  
74      /**
75       * Command line option.
76       */
77      static final Option PROVIDER_LOCATION_OPTION;
78  
79      /**
80       * Command line option.
81       */
82      static final Option PLATFORM_PROVIDER_LOCATION_OPTION;
83  
84      /**
85       * Command line option.
86       */
87      static final Option NO_MODLET_RESOURCE_VALIDATION_OPTION;
88  
89      /**
90       * Command line option.
91       */
92      static final Option MODULE_LOCATION_OPTION;
93  
94      /**
95       * Command line option.
96       */
97      static final Option TRANSFORMER_LOCATION_OPTION;
98  
99      /**
100      * Command line option.
101      */
102     static final Option NO_CLASSPATH_RESOLUTION_OPTION;
103 
104     /**
105      * Command line option.
106      */
107     static final Option NO_MODEL_PROCESSING_OPTION;
108 
109     /**
110      * Command line option.
111      */
112     static final Option NO_MODEL_RESOURCE_VALIDATION_OPTION;
113 
114     /**
115      * Command line option.
116      */
117     static final Option NO_JAVA_VALIDATION_OPTION;
118 
119     /**
120      * Command line option.
121      */
122     static final Option TEMPLATE_PROFILE_OPTION;
123 
124     /**
125      * Command line option.
126      */
127     static final Option DEFAULT_TEMPLATE_PROFILE_OPTION;
128 
129     /**
130      * Command line option.
131      */
132     static final Option DEFAULT_TEMPLATE_ENCODING_OPTION;
133 
134     /**
135      * Command line option.
136      */
137     static final Option TEMPLATE_LOCATION_OPTION;
138 
139     /**
140      * Command line option.
141      */
142     static final Option OUTPUT_ENCODING_OPTION;
143 
144     /**
145      * Command line option.
146      */
147     static final Option INPUT_ENCODING_OPTION;
148 
149     /**
150      * Command line option.
151      */
152     static final Option INDENTATION_STRING_OPTION;
153 
154     /**
155      * Command line option.
156      */
157     static final Option LINE_SEPARATOR_OPTION;
158 
159     /**
160      * Command line option.
161      */
162     static final Option LANGUAGE_OPTION;
163 
164     /**
165      * Command line option.
166      */
167     static final Option COUNTRY_OPTION;
168 
169     /**
170      * Command line option.
171      */
172     static final Option LOCALE_VARIANT_OPTION;
173 
174     /**
175      * Command line option.
176      */
177     static final Option IMPLEMENTATION_OPTION;
178 
179     /**
180      * Command line option.
181      */
182     static final Option MODULE_OPTION;
183 
184     /**
185      * Command line option.
186      */
187     static final Option SPECIFICATION_OPTION;
188 
189     /**
190      * Command line option.
191      */
192     static final Option CLASS_FILE_PROCESSOR_CLASSNAME_OPTION;
193 
194     /**
195      * Command line option.
196      */
197     static final Option NO_CLASS_PROCESSING_OPTION;
198 
199     /**
200      * Command line option.
201      */
202     static final Option RESOURCE_FILE_PROCESSOR_CLASSNAME_OPTION;
203 
204     /**
205      * Command line option.
206      */
207     static final Option NO_RESOURCE_PROCESSING_OPTION;
208 
209     /**
210      * Command line option.
211      */
212     static final Option RESOURCE_DIRECTORY_OPTION;
213 
214     /**
215      * Command line option.
216      */
217     static final Option SOURCE_FILE_PROCESSOR_CLASSNAME_OPTION;
218 
219     /**
220      * Command line option.
221      */
222     static final Option NO_SOURCE_PROCESSING_OPTION;
223 
224     /**
225      * Command line option.
226      */
227     static final Option SOURCE_DIRECTORY_OPTION;
228 
229     /**
230      * Command line option.
231      */
232     static final Option CLASSES_DIRECTORY_OPTION;
233 
234     /**
235      * Command line option.
236      */
237     static final Option STYLESHEET_OPTION;
238 
239     /**
240      * Command line option.
241      */
242     static final Option DOCUMENT_OPTION;
243 
244     /**
245      * Command line option.
246      */
247     static final Option DOCUMENT_ENCODING_OPTION;
248 
249     /**
250      * Command line option.
251      */
252     static final Option MODULE_VERSION_OPTION;
253 
254     /**
255      * Command line option.
256      */
257     static final Option MODULE_VENDOR_OPTION;
258 
259     /**
260      * Command line option.
261      */
262     static final Option MODULE_INCLUDES_OPTION;
263 
264     /**
265      * Command line option.
266      */
267     static final Option MODULE_EXCLUDES_OPTION;
268 
269     /**
270      * Command line option.
271      */
272     static final Option RESOURCES_OPTION;
273 
274     /**
275      * Command line option.
276      */
277     static final Option MODLET_OPTION;
278 
279     /**
280      * Command line option.
281      */
282     static final Option MODLET_VERSION_OPTION;
283 
284     /**
285      * Command line option.
286      */
287     static final Option MODLET_VENDOR_OPTION;
288 
289     /**
290      * Command line option.
291      */
292     static final Option MODLET_INCLUDES_OPTION;
293 
294     /**
295      * Command line option.
296      */
297     static final Option MODLET_EXCLUDES_OPTION;
298 
299     /**
300      * Command line option.
301      */
302     @Deprecated
303     static final Option TEMPLATE_ENCODING_OPTION;
304 
305     /**
306      * Command line option.
307      *
308      * @since 1.10
309      */
310     static final Option THREADS_OPTION;
311 
312     static
313     {
314         CLASSPATH_OPTION =
315             Option.builder( "cp" ).longOpt( "classpath" ).hasArgs().optionalArg( false ).
316             valueSeparator( File.pathSeparatorChar ).
317             desc( Messages.getMessage( "classpathOptionDescription", File.pathSeparator ) ).
318             argName( Messages.getMessage( "classpathOptionArgumentDescription" ) ).build();
319 
320         DOCUMENTS_OPTION =
321             Option.builder( "df" ).longOpt( "documents" ).hasArgs().optionalArg( false ).
322             valueSeparator( File.pathSeparatorChar ).
323             desc( Messages.getMessage( "documentsOptionDescription", File.pathSeparator ) ).
324             argName( Messages.getMessage( "documentsOptionArgumentDescription" ) ).build();
325 
326         MODEL_CONTEXT_FACTORY_CLASSNAME_OPTION =
327             Option.builder( "mcfc" ).longOpt( "model-context-factory-class" ).hasArg().optionalArg( false ).
328             desc( Messages.getMessage( "modelContextFactoryClassnameOptionDescription", File.pathSeparator ) ).
329             argName( Messages.getMessage( "modelContextFactoryClassnameOptionArgumentDescription" ) ).build();
330 
331         MODEL_OPTION =
332             Option.builder( "m" ).longOpt( "model" ).hasArg().optionalArg( false ).
333             desc( Messages.getMessage( "modelOptionDescription", File.pathSeparator ) ).
334             argName( Messages.getMessage( "modelOptionArgumentDescription" ) ).build();
335 
336         MODLET_SCHEMA_SYSTEM_ID_OPTION =
337             Option.builder( "mssid" ).longOpt( "modlet-schema-system-id" ).hasArg().optionalArg( false ).
338             desc( Messages.getMessage( "modletSchemaSystemIdOptionDescription", File.pathSeparator ) ).
339             argName( Messages.getMessage( "modletSchemaSystemIdOptionArgumentDescription" ) ).build();
340 
341         MODLET_LOCATION_OPTION =
342             Option.builder( "mdl" ).longOpt( "modlet-location" ).hasArg().optionalArg( false ).
343             desc( Messages.getMessage( "modletLocationOptionDescription", File.pathSeparator ) ).
344             argName( Messages.getMessage( "modletLocationOptionArgumentDescription" ) ).build();
345 
346         PROVIDER_LOCATION_OPTION =
347             Option.builder( "pl" ).longOpt( "provider-location" ).hasArg().optionalArg( false ).
348             desc( Messages.getMessage( "providerLocationOptionDescription", File.pathSeparator ) ).
349             argName( Messages.getMessage( "providerLocationOptionArgumentDescription" ) ).build();
350 
351         PLATFORM_PROVIDER_LOCATION_OPTION =
352             Option.builder( "ppl" ).longOpt( "platform-provider-location" ).hasArg().optionalArg( false ).
353             desc( Messages.getMessage( "platformProviderLocationOptionDescription", File.pathSeparator ) ).
354             argName( Messages.getMessage( "platformProviderLocationOptionArgumentDescription" ) ).build();
355 
356         NO_MODLET_RESOURCE_VALIDATION_OPTION =
357             Option.builder( "nmdrv" ).longOpt( "no-modlet-resource-validation" ).hasArg( false ).
358             desc( Messages.getMessage( "noModletResourceValidationOptionDescription", File.pathSeparator ) ).build();
359 
360         MODULE_LOCATION_OPTION =
361             Option.builder( "ml" ).longOpt( "model-location" ).hasArg().optionalArg( false ).
362             desc( Messages.getMessage( "modelLocationOptionDescription", File.pathSeparator ) ).
363             argName( Messages.getMessage( "modelLocationOptionArgumentDescription" ) ).build();
364 
365         TRANSFORMER_LOCATION_OPTION =
366             Option.builder( "trl" ).longOpt( "transformer-location" ).hasArg().optionalArg( false ).
367             desc( Messages.getMessage( "transformerLocationOptionDescription", File.pathSeparator ) ).
368             argName( Messages.getMessage( "transformerLocationOptionArgumentDescription" ) ).build();
369 
370         NO_CLASSPATH_RESOLUTION_OPTION =
371             Option.builder( "ncr" ).longOpt( "no-classpath-resolution" ).hasArg( false ).
372             desc( Messages.getMessage( "noClasspathResolutionOptionDescription", File.pathSeparator ) ).build();
373 
374         NO_MODEL_PROCESSING_OPTION =
375             Option.builder( "nmp" ).longOpt( "no-model-processing" ).hasArg( false ).
376             desc( Messages.getMessage( "noModelProcessingOptionDescription", File.pathSeparator ) ).build();
377 
378         NO_MODEL_RESOURCE_VALIDATION_OPTION =
379             Option.builder( "nmrv" ).longOpt( "no-model-resource-validation" ).hasArg( false ).
380             desc( Messages.getMessage( "noModelResourceValidationOptionDescription", File.pathSeparator ) ).build();
381 
382         NO_JAVA_VALIDATION_OPTION =
383             Option.builder( "njv" ).longOpt( "no-java-validation" ).hasArg( false ).
384             desc( Messages.getMessage( "noJavaValidationOptionDescription", File.pathSeparator ) ).build();
385 
386         TEMPLATE_PROFILE_OPTION =
387             Option.builder( "tp" ).longOpt( "template-profile" ).hasArg().optionalArg( false ).
388             desc( Messages.getMessage( "templateProfileOptionDescription", File.pathSeparator ) ).
389             argName( Messages.getMessage( "templateProfileOptionArgumentDescription" ) ).build();
390 
391         DEFAULT_TEMPLATE_PROFILE_OPTION =
392             Option.builder( "dtp" ).longOpt( "default-template-profile" ).hasArg().optionalArg( false ).
393             desc( Messages.getMessage( "defaultTemplateProfileOptionDescription", File.pathSeparator ) ).
394             argName( Messages.getMessage( "defaultTemplateProfileOptionArgumentDescription" ) ).build();
395 
396         DEFAULT_TEMPLATE_ENCODING_OPTION =
397             Option.builder( "dte" ).longOpt( "default-template-encoding" ).hasArg().optionalArg( false ).
398             desc( Messages.getMessage( "defaultTemplateEncodingOptionDescription", File.pathSeparator ) ).
399             argName( Messages.getMessage( "defaultTemplateEncodingOptionArgumentDescription" ) ).build();
400 
401         TEMPLATE_LOCATION_OPTION =
402             Option.builder( "tl" ).longOpt( "template-location" ).hasArg().optionalArg( false ).
403             desc( Messages.getMessage( "templateLocationOptionDescription", File.pathSeparator ) ).
404             argName( Messages.getMessage( "templateLocationOptionArgumentDescription" ) ).build();
405 
406         OUTPUT_ENCODING_OPTION =
407             Option.builder( "oe" ).longOpt( "output-encoding" ).hasArg().optionalArg( false ).
408             desc( Messages.getMessage( "outputEncodingOptionDescription", File.pathSeparator ) ).
409             argName( Messages.getMessage( "outputEncodingOptionArgumentDescription" ) ).build();
410 
411         INPUT_ENCODING_OPTION =
412             Option.builder( "ie" ).longOpt( "input-encoding" ).hasArg().optionalArg( false ).
413             desc( Messages.getMessage( "inputEncodingOptionDescription", File.pathSeparator ) ).
414             argName( Messages.getMessage( "inputEncodingOptionArgumentDescription" ) ).build();
415 
416         INDENTATION_STRING_OPTION =
417             Option.builder( "idt" ).longOpt( "indentation" ).hasArg().optionalArg( false ).
418             desc( Messages.getMessage( "indentationOptionDescription", File.pathSeparator ) ).
419             argName( Messages.getMessage( "indentationOptionArgumentDescription" ) ).build();
420 
421         LINE_SEPARATOR_OPTION =
422             Option.builder( "ls" ).longOpt( "line-separator" ).hasArg().optionalArg( false ).
423             desc( Messages.getMessage( "lineSeparatorOptionDescription", File.pathSeparator ) ).
424             argName( Messages.getMessage( "lineSeparatorOptionArgumentDescription" ) ).build();
425 
426         LANGUAGE_OPTION =
427             Option.builder( "l" ).longOpt( "language" ).hasArg().optionalArg( false ).
428             desc( Messages.getMessage( "languageOptionDescription", File.pathSeparator ) ).
429             argName( Messages.getMessage( "languageOptionArgumentDescription" ) ).build();
430 
431         COUNTRY_OPTION =
432             Option.builder( "c" ).longOpt( "country" ).hasArg().optionalArg( false ).
433             desc( Messages.getMessage( "countryOptionDescription", File.pathSeparator ) ).
434             argName( Messages.getMessage( "countryOptionArgumentDescription" ) ).build();
435 
436         LOCALE_VARIANT_OPTION =
437             Option.builder( "lv" ).longOpt( "locale-variant" ).hasArg().optionalArg( false ).
438             desc( Messages.getMessage( "localeVariantOptionDescription", File.pathSeparator ) ).
439             argName( Messages.getMessage( "localeVariantOptionArgumentDescription" ) ).build();
440 
441         IMPLEMENTATION_OPTION =
442             Option.builder( "impl" ).longOpt( "implementation" ).hasArg().optionalArg( false ).
443             desc( Messages.getMessage( "implementationOptionDescription", File.pathSeparator ) ).
444             argName( Messages.getMessage( "implementationOptionArgumentDescription" ) ).build();
445 
446         MODULE_OPTION =
447             Option.builder( "mn" ).longOpt( "module" ).hasArg().optionalArg( false ).
448             desc( Messages.getMessage( "moduleOptionDescription", File.pathSeparator ) ).
449             argName( Messages.getMessage( "moduleOptionArgumentDescription" ) ).build();
450 
451         SPECIFICATION_OPTION =
452             Option.builder( "spec" ).longOpt( "specification" ).hasArg().optionalArg( false ).
453             desc( Messages.getMessage( "specificationOptionDescription", File.pathSeparator ) ).
454             argName( Messages.getMessage( "specificationOptionArgumentDescription" ) ).build();
455 
456         CLASS_FILE_PROCESSOR_CLASSNAME_OPTION =
457             Option.builder( "cfpc" ).longOpt( "class-file-processor-class" ).hasArg().optionalArg( false ).
458             desc( Messages.getMessage( "classFileProcessorClassnameOptionDescription", File.pathSeparator ) ).
459             argName( Messages.getMessage( "classFileProcessorClassnameOptionArgumentDescription" ) ).build();
460 
461         NO_CLASS_PROCESSING_OPTION =
462             Option.builder( "ncp" ).longOpt( "no-class-processing" ).hasArg( false ).
463             desc( Messages.getMessage( "noClassProcessingOptionDescription", File.pathSeparator ) ).build();
464 
465         RESOURCE_FILE_PROCESSOR_CLASSNAME_OPTION =
466             Option.builder( "rfpc" ).longOpt( "resource-file-processor-class" ).hasArg().optionalArg( false ).
467             desc( Messages.getMessage( "resourceFileProcessorClassnameOptionDescription", File.pathSeparator ) ).
468             argName( Messages.getMessage( "resourceFileProcessorClassnameOptionArgumentDescription" ) ).build();
469 
470         NO_RESOURCE_PROCESSING_OPTION =
471             Option.builder( "nrp" ).longOpt( "no-resource-processing" ).hasArg( false ).
472             desc( Messages.getMessage( "noResourceProcessingOptionDescription", File.pathSeparator ) ).build();
473 
474         RESOURCE_DIRECTORY_OPTION =
475             Option.builder( "rd" ).longOpt( "resource-dir" ).hasArg().optionalArg( false ).required().
476             desc( Messages.getMessage( "resourceDirectoryOptionDescription", File.pathSeparator ) ).
477             argName( Messages.getMessage( "resourceDirectoryOptionArgumentDescription" ) ).build();
478 
479         SOURCE_FILE_PROCESSOR_CLASSNAME_OPTION =
480             Option.builder( "sfpc" ).longOpt( "source-file-processor-class" ).hasArg().optionalArg( false ).
481             desc( Messages.getMessage( "sourceFileProcessorClassnameOptionDescription", File.pathSeparator ) ).
482             argName( Messages.getMessage( "sourceFileProcessorClassnameOptionArgumentDescription" ) ).build();
483 
484         NO_SOURCE_PROCESSING_OPTION =
485             Option.builder( "nsp" ).longOpt( "no-source-processing" ).hasArg( false ).
486             desc( Messages.getMessage( "noSourceProcessingOptionDescription", File.pathSeparator ) ).build();
487 
488         SOURCE_DIRECTORY_OPTION =
489             Option.builder( "sd" ).longOpt( "source-dir" ).hasArg().optionalArg( false ).required().
490             desc( Messages.getMessage( "sourceDirectoryOptionDescription", File.pathSeparator ) ).
491             argName( Messages.getMessage( "sourceDirectoryOptionArgumentDescription" ) ).build();
492 
493         CLASSES_DIRECTORY_OPTION =
494             Option.builder( "cd" ).longOpt( "classes-dir" ).hasArg().optionalArg( false ).required().
495             desc( Messages.getMessage( "classesDirectoryOptionDescription", File.pathSeparator ) ).
496             argName( Messages.getMessage( "classesDirectoryOptionArgumentDescription" ) ).build();
497 
498         STYLESHEET_OPTION =
499             Option.builder( "xs" ).longOpt( "stylesheet" ).hasArg().optionalArg( false ).
500             desc( Messages.getMessage( "stylesheetOptionDescription", File.pathSeparator ) ).
501             argName( Messages.getMessage( "stylesheetOptionArgumentDescription" ) ).build();
502 
503         DOCUMENT_OPTION =
504             Option.builder( "d" ).longOpt( "document" ).hasArg().optionalArg( false ).
505             desc( Messages.getMessage( "documentOptionOptionDescription", File.pathSeparator ) ).
506             argName( Messages.getMessage( "documentOptionArgumentDescription" ) ).build();
507 
508         DOCUMENT_ENCODING_OPTION =
509             Option.builder( "de" ).longOpt( "document-encoding" ).hasArg().optionalArg( false ).
510             desc( Messages.getMessage( "documentEncodingOptionOptionDescription", File.pathSeparator ) ).
511             argName( Messages.getMessage( "documentEncodingOptionArgumentDescription" ) ).build();
512 
513         MODULE_VERSION_OPTION =
514             Option.builder( "mv" ).longOpt( "module-version" ).hasArg().optionalArg( false ).
515             desc( Messages.getMessage( "moduleVersionOptionOptionDescription", File.pathSeparator ) ).
516             argName( Messages.getMessage( "moduleVersionOptionArgumentDescription" ) ).build();
517 
518         MODULE_VENDOR_OPTION =
519             Option.builder( "mve" ).longOpt( "module-vendor" ).hasArg().optionalArg( false ).
520             desc( Messages.getMessage( "moduleVendorOptionOptionDescription", File.pathSeparator ) ).
521             argName( Messages.getMessage( "moduleVendorOptionArgumentDescription" ) ).build();
522 
523         MODULE_INCLUDES_OPTION =
524             Option.builder( "minc" ).longOpt( "module-includes" ).hasArgs().optionalArg( false ).
525             valueSeparator( File.pathSeparatorChar ).
526             desc( Messages.getMessage( "moduleIncludesOptionOptionDescription", File.pathSeparator ) ).
527             argName( Messages.getMessage( "moduleIncludesOptionArgumentDescription" ) ).build();
528 
529         MODULE_EXCLUDES_OPTION =
530             Option.builder( "mexc" ).longOpt( "module-excludes" ).hasArgs().optionalArg( false ).
531             valueSeparator( File.pathSeparatorChar ).
532             desc( Messages.getMessage( "moduleExcludesOptionOptionDescription", File.pathSeparator ) ).
533             argName( Messages.getMessage( "moduleExcludesOptionArgumentDescription" ) ).build();
534 
535         RESOURCES_OPTION =
536             Option.builder( "rn" ).longOpt( "resource-names" ).hasArgs().optionalArg( false ).
537             valueSeparator( File.pathSeparatorChar ).
538             desc( Messages.getMessage( "resourcesOptionOptionDescription", File.pathSeparator ) ).
539             argName( Messages.getMessage( "resourcesOptionArgumentDescription" ) ).build();
540 
541         MODLET_OPTION =
542             Option.builder( "mdn" ).longOpt( "modlet-name" ).hasArg().optionalArg( false ).
543             desc( Messages.getMessage( "modletOptionDescription", File.pathSeparator ) ).
544             argName( Messages.getMessage( "modletOptionArgumentDescription" ) ).build();
545 
546         MODLET_VERSION_OPTION =
547             Option.builder( "mdv" ).longOpt( "modlet-version" ).hasArg().optionalArg( false ).
548             desc( Messages.getMessage( "modletVersionOptionOptionDescription", File.pathSeparator ) ).
549             argName( Messages.getMessage( "modletVersionOptionArgumentDescription" ) ).build();
550 
551         MODLET_VENDOR_OPTION =
552             Option.builder( "mdve" ).longOpt( "modlet-vendor" ).hasArg().optionalArg( false ).
553             desc( Messages.getMessage( "modletVendorOptionOptionDescription", File.pathSeparator ) ).
554             argName( Messages.getMessage( "modletVendorOptionArgumentDescription" ) ).build();
555 
556         MODLET_INCLUDES_OPTION =
557             Option.builder( "mdinc" ).longOpt( "modlet-includes" ).hasArgs().optionalArg( false ).
558             valueSeparator( File.pathSeparatorChar ).
559             desc( Messages.getMessage( "modletIncludesOptionOptionDescription", File.pathSeparator ) ).
560             argName( Messages.getMessage( "modletIncludesOptionArgumentDescription" ) ).build();
561 
562         MODLET_EXCLUDES_OPTION =
563             Option.builder( "mdexc" ).longOpt( "modlet-excludes" ).hasArgs().optionalArg( false ).
564             valueSeparator( File.pathSeparatorChar ).
565             desc( Messages.getMessage( "modletExcludesOptionOptionDescription", File.pathSeparator ) ).
566             argName( Messages.getMessage( "modletExcludesOptionArgumentDescription" ) ).build();
567 
568         TEMPLATE_ENCODING_OPTION =
569             Option.builder( "te" ).longOpt( "template-encoding" ).hasArg().optionalArg( false ).
570             desc( Messages.getMessage( "templateEncodingOptionOptionDescription", File.pathSeparator ) ).
571             argName( Messages.getMessage( "templateEncodingOptionArgumentDescription" ) ).build();
572 
573         THREADS_OPTION =
574             Option.builder( "T" ).longOpt( "threads" ).hasArg().optionalArg( false ).
575             desc( Messages.getMessage( "threadsOptionOptionDescription", File.pathSeparator ) ).
576             argName( Messages.getMessage( "threadsOptionArgumentDescription" ) ).build();
577 
578     }
579 
580 }