Goals

Description

There is only one goal: compile, which has the default phase binding set to: generate-sources. According to the plugin's configuration it compiles all the specified or found *.jui files from it's source directory to the destination directory specified. Examples of the configuration can be found in the Usage section.

Parameters

Description

name default value required description
juicPath ${juic.juicPath} yes Absolute path to the juic binary.
sourceDirectory ${project.build.sourceDirectory} yes Source in which the search for *.jui files starts.
outputDirectory ${project.build.directory}/dependency/generatedJUICFiles yes The directory to which the transformed interface files will go.
classPath no Path that juic traverses searching for *.jui files
packageName no The package name for the *.java files and classes that are the result of the transformation. Ignored, when classPath parameter was specified.
prefix no Prefix for the *.java files and classes. juic's default is: Ui_. Ignored when noPrefix is: true.
includes no A set of <include>absolutePath1</include>...<include>absolutePathN</include> files to include, when classPath parameter is in use.
excludes no A set of <exclude>absolutePath1</exclude>...<exclude>absolutePathN</exclude> files for exclusion, when classPath parameter was specified.
all false no If true updates the files regardless of the modification time.
derivePackageName true no If true derives the package name basing on sourceDirectory and the current position of the interface file in the sources tree. Ignored, when classPath or packageName parameter is present.
noPrefix false no Do not add any prefix to the classes and *.java files. The output will have no prefix at all.
Parameter table

Detailed description

Threading

There are two major approaches to configure the plugin:

  1. Use sourceDirectory and not the classPath. This way the plug-in will be multi-threaded. The main thread will only search for the files, and derive the package name if requested, then it will run juic for each file in a separate thread, so you will have at most number of *.jui files threads running simultaneously.
  2. Use classPath (and optionally includes/excludes) and not the sourceDirectory (if the classPath is given, sourceDirectory parameter is ignored). This way there will be only one thread (the main one) and thus only one invocation of the juic program. In this approach parameters: packageName and derivePackageName will be ignored as well.

Choose the method that best fits your needs.

Parameter mapping to the juic program's arguments

Some of the plug-in's parameters are (almost) directly passed to the juic program.

parameter juic argument
outputDirectory -d
classPath -cp
packageName -p
prefix -pf
includes -i
excludes -e
all -a
Parameter mapping table

For the description of a particular argument itself, use:

juic -h