public class AbstractBWMojo
extends org.apache.maven.plugin.AbstractMojo
This abstract class is aimed at preparing a TIBCO build environment in order to build the project specified in the POM project on a clean environment which is absolutely independent of the current system. It implies :
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
ALIASES_FILE |
protected static java.lang.String |
APPMANAGE_BINARY_NOTFOUND |
protected java.io.File |
buildLibDirectory
Path to the dependencies (Projlibs, JARs...) for the build.
|
protected java.io.File |
buildSrcDirectory
Path to the BusinessWorks sources for the build.
|
static java.lang.String |
BWEAR_DEPLOY_TYPE |
static java.lang.String |
BWEAR_EXTENSION |
static java.lang.String |
BWEAR_TYPE |
protected static java.lang.String |
BWPROJECT_NOTFOUND |
protected static java.lang.String |
BWPROJECT_PREF_LIB_ERROR_MSG |
protected java.util.ArrayList<java.lang.String> |
dependenciesIgnored
List of "groupId:artifactId" to ignore when building
|
protected static java.lang.String |
DESIGNER_BINARY_NOTFOUND |
protected static java.lang.String |
DESIGNER5_PREFS |
protected java.io.File |
directory
Path to the output folder.
|
protected static java.lang.String |
DTL_FILE_NAME |
protected static java.lang.String |
FILE_ALIAS_PREFIX |
protected static java.lang.String |
FILE_ALIAS_PREFIX_ESCAPED |
protected static java.lang.String |
HAWK_BINARY_NOTFOUND |
protected java.lang.String |
hawkDomain |
protected java.lang.String |
hawkRvDaemon |
protected java.lang.String |
hawkRvNetwork |
protected java.lang.String |
hawkRvService |
protected java.lang.Integer |
hawkSubscribeInterval |
protected java.lang.Integer |
hawkSubscribeNumberOfRetry |
protected java.lang.String |
hawkVersion |
protected boolean |
hideLibraryResources
Allows to ignore any alias when building EAR or Projlib.
|
protected static java.lang.String |
JAR_EXTENSION |
static java.lang.String |
JAR_TYPE |
static java.util.regex.Pattern |
mavenPropertyPattern |
protected java.io.File |
outputDirectory
Directory containing the generated artifact.
|
protected java.io.File |
packageDirectory
Path to the package folder.
|
protected static java.lang.String |
POM_EXTENSION |
static java.lang.String |
POM_TYPE |
protected java.io.File |
projectDirectory
Path to the BusinessWorks project.
|
protected static java.lang.String |
PROJLIB_EXTENSION |
static java.lang.String |
PROJLIB_TYPE |
protected static java.lang.String |
PROPERTIES_EXTENSION |
protected org.apache.maven.execution.MavenSession |
session
The current Maven session.
|
protected static java.lang.String |
SKIPPING |
protected java.lang.String |
sourceEncoding
The source enconding.
|
protected java.io.File |
testDirectory
Path to the test folder.
|
protected java.io.File |
testLibDirectory
Path to the dependencies (Projlibs, JARs...) for the test.
|
protected java.io.File |
testSrcDirectory
Path to the BusinessWorks sources for the test.
|
protected static java.lang.String |
TIBCO_ALIAS_PREFIX |
protected static java.lang.String |
TIBCO_HOME_DIR |
protected java.io.File |
tibcoAppManagePath
Path to the TIBCO "AppManage" binary.
|
protected java.io.File |
tibcoAppManageTRAPath
Path to the TIBCO "AppManage" TRA configuration file.
|
protected java.io.File |
tibcoBuildEARTRAPath
Path to the TIBCO "buildear" TRA configuration file.
|
protected boolean |
tibcoBuildEARUseDesignerTRA
Sometimes a TRA can reference another TRA, for instance 'buildear.tra'
will reference 'designer.tra'.
|
protected java.io.File |
tibcoBuildLibraryTRAPath
Path to the TIBCO Designer "buildlibrary" TRA configuration file.
|
protected boolean |
tibcoBuildLibraryUseDesignerTRA
Sometimes a TRA can reference another TRA, for instance
'buildlibrary.tra' will reference 'designer.tra'.
|
protected java.io.File |
tibcoBWEngineTRAPath
Path to the BusinessWorks Engine TRA configuration file.
|
protected java.io.File |
tibcoDesignerPath
Path to the TIBCO Designer binary.
|
protected java.io.File |
tibcoDesignerTRAPath
Path to the TIBCO Designer TRA configuration file.
|
protected java.io.File |
tibcoHome
Path to the TIBCO home directory.
|
protected java.io.File |
tibcoRvHomePath
Path to the TIBCO RendezVous folder.
|
protected int |
timeOut
Timeout for the execution of TIBCO commands to build artifacts.
|
protected static java.lang.String |
XML_EXTENSION |
static java.lang.String |
XML_TYPE |
Constructor and Description |
---|
AbstractBWMojo() |
Modifier and Type | Method and Description |
---|---|
protected void |
checkAppManage() |
protected void |
checkDesigner() |
protected void |
enableTestScope() |
void |
execute()
The execute method of this Mojo will :
check that the BusinessWorks project exists
copy the Designer5.prefs file
copy the .designtimelibs file useful for setting a TIBCO environment
for the project being built.
|
java.io.File |
getAliasesFile() |
protected java.lang.String |
getBWEARAlias(org.apache.maven.model.Dependency bwEARDependency) |
protected java.lang.String |
getBWEARName(org.apache.maven.model.Dependency bwEARDependency) |
protected java.util.List<org.apache.maven.model.Dependency> |
getBWEARsDependencies() |
protected java.util.List<org.apache.maven.model.Dependency> |
getDependencies(java.lang.String dependencyType,
boolean doIgnoreDependencies)
This will retrieve only the dependencies of type dependencyType defined
in POM project as /dependencies/dependency/type="dependencyType".
|
protected java.lang.String |
getDependencyPath(java.lang.String dependencyName) |
protected java.io.File |
getDesigner5Prefs() |
protected java.lang.String |
getJarAlias(org.apache.maven.model.Dependency jarDependency,
boolean replaceDot) |
protected java.util.List<org.apache.maven.model.Dependency> |
getJarDependencies() |
protected java.lang.String |
getJarName(org.apache.maven.model.Dependency jarDependency,
boolean replaceDot) |
protected org.apache.maven.project.MavenProject |
getProject() |
protected java.lang.String |
getProjlibAlias(org.apache.maven.model.Dependency projlibDependency) |
protected java.lang.String |
getProjlibName(org.apache.maven.model.Dependency projlibDependency) |
protected java.util.List<org.apache.maven.model.Dependency> |
getProjlibsDependencies() |
java.lang.String |
getPropertyValue(org.apache.maven.project.MavenProject mavenProject,
java.lang.String propertyName,
boolean lookInSettingsProperties,
boolean lookInCommandLine,
boolean onlyInOriginalModel) |
java.lang.String |
getPropertyValue(java.lang.String propertyName) |
java.lang.String |
getPropertyValue(java.lang.String propertyName,
boolean onlyInOriginalModel) |
java.lang.String |
getPropertyValue(java.lang.String modelPropertyName,
boolean propertyInRootProject,
boolean onlyInOriginalModel,
boolean lookInSettings) |
java.lang.String |
getPropertyValueInSettings(java.lang.String propertyName,
org.apache.maven.settings.Settings settings) |
java.lang.String |
getRootProjectProperty(org.apache.maven.project.MavenProject mavenProject,
java.lang.String propertyName) |
java.lang.String |
getRootProjectProperty(org.apache.maven.project.MavenProject mavenProject,
java.lang.String propertyName,
boolean onlyInOriginalModel) |
protected org.apache.maven.execution.MavenSession |
getSession() |
protected boolean |
initHawk(boolean failIfNotFound) |
protected boolean |
isCurrentGoal(java.lang.String goal) |
protected void |
launchTIBCOBinary(java.io.File binary,
java.util.List<java.io.File> tras,
java.util.ArrayList<java.lang.String> arguments,
java.io.File workingDir,
java.lang.String errorMsg)
Same as launchTIBCOBinary with 'fork=false' and 'synchronous=true'
|
protected int |
launchTIBCOBinary(java.io.File binary,
java.util.List<java.io.File> tras,
java.util.ArrayList<java.lang.String> arguments,
java.io.File workingDir,
java.lang.String errorMsg,
boolean fork,
boolean synchronous)
This calls a TIBCO binary.
|
static AbstractBWMojo |
propertiesManager(org.apache.maven.execution.MavenSession session,
org.apache.maven.project.MavenProject mavenProject)
Instantiate a minimalistic
AbstractCommonMojo to use properties
management as a standalone object. |
boolean |
propertyExists(org.apache.maven.project.MavenProject mavenProject,
java.lang.String propertyName) |
boolean |
propertyExists(java.lang.String propertyName) |
boolean |
propertyExistsInSettings(java.lang.String propertyName) |
boolean |
propertyExistsInSettings(java.lang.String propertyName,
org.apache.maven.settings.Settings settings) |
protected java.util.List<org.apache.maven.model.Dependency> |
readDependenciesFromFile(java.lang.String resolvedFileName,
java.lang.String dependencyType)
This will read the dependencies from the 'resolved' file found in the
build directory.
|
java.lang.String |
replaceProperties(java.lang.String string) |
void |
setProject(org.apache.maven.project.MavenProject project) |
void |
setSession(org.apache.maven.execution.MavenSession session) |
void |
setSettings(org.apache.maven.settings.Settings settings) |
protected static final java.lang.String BWPROJECT_NOTFOUND
protected static final java.lang.String BWPROJECT_PREF_LIB_ERROR_MSG
protected static final java.lang.String SKIPPING
public static final java.lang.String BWEAR_EXTENSION
public static final java.lang.String BWEAR_TYPE
public static final java.lang.String BWEAR_DEPLOY_TYPE
protected static final java.lang.String PROJLIB_EXTENSION
public static final java.lang.String PROJLIB_TYPE
protected static final java.lang.String JAR_EXTENSION
public static final java.lang.String JAR_TYPE
protected static final java.lang.String PROPERTIES_EXTENSION
public static final java.lang.String POM_TYPE
protected static final java.lang.String POM_EXTENSION
public static final java.lang.String XML_TYPE
protected static final java.lang.String XML_EXTENSION
protected static final java.lang.String TIBCO_HOME_DIR
protected static final java.lang.String TIBCO_ALIAS_PREFIX
protected static final java.lang.String FILE_ALIAS_PREFIX
protected static final java.lang.String FILE_ALIAS_PREFIX_ESCAPED
protected static final java.lang.String ALIASES_FILE
protected static final java.lang.String DTL_FILE_NAME
protected static final java.lang.String DESIGNER5_PREFS
@Parameter(property="timeOut", defaultValue="180") protected int timeOut
@Parameter(property="tibco.home") protected java.io.File tibcoHome
@Parameter(property="tibco.hawk.version") protected java.lang.String hawkVersion
@Parameter(property="appmanage.tra.path") protected java.io.File tibcoAppManageTRAPath
@Parameter(property="buildear.tra.path") protected java.io.File tibcoBuildEARTRAPath
@Parameter(property="bwengine.tra.path", required=true) protected java.io.File tibcoBWEngineTRAPath
@Parameter(property="buildlibrary.tra.path") protected java.io.File tibcoBuildLibraryTRAPath
@Parameter(property="designer.tra.path") protected java.io.File tibcoDesignerTRAPath
@Parameter(property="tra.buildear.uses.designer.tra.path") protected boolean tibcoBuildEARUseDesignerTRA
@Parameter(property="tra.buildlibrary.uses.designer.tra.path") protected boolean tibcoBuildLibraryUseDesignerTRA
@Parameter(property="tibrv.home.path") protected java.io.File tibcoRvHomePath
protected static final java.lang.String APPMANAGE_BINARY_NOTFOUND
protected static final java.lang.String DESIGNER_BINARY_NOTFOUND
protected static final java.lang.String HAWK_BINARY_NOTFOUND
@Parameter(property="appmanage.path") protected java.io.File tibcoAppManagePath
@Parameter(property="designer.path") protected java.io.File tibcoDesignerPath
@Parameter(property="bw.hide.library.resources") protected boolean hideLibraryResources
@Parameter protected java.util.ArrayList<java.lang.String> dependenciesIgnored
@Parameter(property="project.build.directory", required=true, readonly=true) protected java.io.File directory
@Parameter(property="project.build.test.directory", defaultValue="${project.build.directory}/test", required=true) protected java.io.File testDirectory
@Parameter(property="project.build.test.directory.lib", defaultValue="${project.build.test.directory}/lib", required=true) protected java.io.File testLibDirectory
@Parameter(property="project.build.test.directory.src", defaultValue="${project.build.test.directory}/src", required=true) protected java.io.File testSrcDirectory
@Parameter(property="project.package.directory", defaultValue="${project.build.directory}/package", required=true) protected java.io.File packageDirectory
@Parameter(property="project.build.outputDirectory", required=true) protected java.io.File outputDirectory
@Parameter(property="bw.project.location") protected java.io.File projectDirectory
@Parameter(property="project.build.directory.lib", defaultValue="${project.build.directory}/lib", required=true) protected java.io.File buildLibDirectory
@Parameter(property="project.build.directory.src", defaultValue="${project.build.directory}/src", required=true) protected java.io.File buildSrcDirectory
@Parameter(property="hawk.domain", defaultValue="${tibco.domain.name}") protected java.lang.String hawkDomain
@Parameter(property="hawk.subscribe.interval", defaultValue="10") protected java.lang.Integer hawkSubscribeInterval
@Parameter(property="hawk.subscribe.retry.count", defaultValue="30") protected java.lang.Integer hawkSubscribeNumberOfRetry
@Parameter(property="hawk.rv.service", defaultValue="7474") protected java.lang.String hawkRvService
@Parameter(property="hawk.rv.network", defaultValue=";") protected java.lang.String hawkRvNetwork
@Parameter(property="hawk.rv.daemon", defaultValue="tcp:7474") protected java.lang.String hawkRvDaemon
public static final java.util.regex.Pattern mavenPropertyPattern
@Parameter(property="session", required=true, readonly=true) protected org.apache.maven.execution.MavenSession session
@Parameter(property="project.build.sourceEncoding", required=true, readonly=true) protected java.lang.String sourceEncoding
protected void checkAppManage() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected void checkDesigner() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected boolean initHawk(boolean failIfNotFound) throws fr.fastconnect.factory.tibco.bw.maven.exception.BinaryMissingException
fr.fastconnect.factory.tibco.bw.maven.exception.BinaryMissingException
public static AbstractBWMojo propertiesManager(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject mavenProject)
Instantiate a minimalistic AbstractCommonMojo
to use properties
management as a standalone object.
session
- mavenProject
- public java.lang.String getPropertyValueInSettings(java.lang.String propertyName, org.apache.maven.settings.Settings settings)
public boolean propertyExistsInSettings(java.lang.String propertyName, org.apache.maven.settings.Settings settings)
public boolean propertyExistsInSettings(java.lang.String propertyName)
public boolean propertyExists(java.lang.String propertyName)
public boolean propertyExists(org.apache.maven.project.MavenProject mavenProject, java.lang.String propertyName)
public java.lang.String getPropertyValue(org.apache.maven.project.MavenProject mavenProject, java.lang.String propertyName, boolean lookInSettingsProperties, boolean lookInCommandLine, boolean onlyInOriginalModel)
public java.lang.String getPropertyValue(java.lang.String propertyName, boolean onlyInOriginalModel)
public java.lang.String getPropertyValue(java.lang.String propertyName)
public java.lang.String getRootProjectProperty(org.apache.maven.project.MavenProject mavenProject, java.lang.String propertyName)
public java.lang.String getRootProjectProperty(org.apache.maven.project.MavenProject mavenProject, java.lang.String propertyName, boolean onlyInOriginalModel)
public java.lang.String getPropertyValue(java.lang.String modelPropertyName, boolean propertyInRootProject, boolean onlyInOriginalModel, boolean lookInSettings)
public java.lang.String replaceProperties(java.lang.String string)
protected org.apache.maven.project.MavenProject getProject()
public void setProject(org.apache.maven.project.MavenProject project)
protected final org.apache.maven.execution.MavenSession getSession()
public void setSession(org.apache.maven.execution.MavenSession session)
public void setSettings(org.apache.maven.settings.Settings settings)
protected boolean isCurrentGoal(java.lang.String goal)
protected java.lang.String getBWEARName(org.apache.maven.model.Dependency bwEARDependency)
bwEARDependency,
- a BW EAR dependency from Maven point-of-viewprotected java.lang.String getBWEARAlias(org.apache.maven.model.Dependency bwEARDependency)
bwEARDependency,
- a BW EAR dependency from Maven point-of-viewprotected java.lang.String getJarName(org.apache.maven.model.Dependency jarDependency, boolean replaceDot)
jarDependency,
- a JAR dependency from Maven point-of-viewreplaceDot,
- allows to replace dots in the version of the artifact
by underscores. This is because Maven will do so on the generated
artifact.protected java.lang.String getJarAlias(org.apache.maven.model.Dependency jarDependency, boolean replaceDot)
jarDependency,
- a JAR dependency from Maven point-of-viewreplaceDot,
- allows to replace dots in the version of the artifact
by underscores. This is because Maven will do so on the generated
artifact.protected java.lang.String getProjlibName(org.apache.maven.model.Dependency projlibDependency)
projlibDependency,
- a Projlib dependency from Maven point-of-viewprotected java.lang.String getProjlibAlias(org.apache.maven.model.Dependency projlibDependency)
projlibDependency,
- a Projlib dependency from Maven point-of-viewprotected java.lang.String getDependencyPath(java.lang.String dependencyName)
dependency,
- a dependency from Maven point-of-view, retrieved with
getJarName or getProjlibNameprotected java.util.List<org.apache.maven.model.Dependency> readDependenciesFromFile(java.lang.String resolvedFileName, java.lang.String dependencyType) throws java.io.IOException
dependencyType
java.io.IOException
protected java.util.List<org.apache.maven.model.Dependency> getDependencies(java.lang.String dependencyType, boolean doIgnoreDependencies) throws java.io.IOException
dependencyType,
- the type of dependencies to retrievedoIgnoreDependencies,
- specifies if the dependencies in the
dependenciesIgnored
must be ignoredjava.io.IOException
protected java.util.List<org.apache.maven.model.Dependency> getBWEARsDependencies() throws java.io.IOException
java.io.IOException
protected java.util.List<org.apache.maven.model.Dependency> getProjlibsDependencies() throws java.io.IOException
java.io.IOException
protected java.util.List<org.apache.maven.model.Dependency> getJarDependencies() throws java.io.IOException
java.io.IOException
public java.io.File getAliasesFile()
protected java.io.File getDesigner5Prefs() throws java.io.IOException
java.io.IOException
protected int launchTIBCOBinary(java.io.File binary, java.util.List<java.io.File> tras, java.util.ArrayList<java.lang.String> arguments, java.io.File workingDir, java.lang.String errorMsg, boolean fork, boolean synchronous) throws java.io.IOException, org.apache.maven.plugin.MojoExecutionException
binary,
- the TIBCO binary file to executetras,
- the TRA files associated with the TIBCO binaryarguments,
- command-line argumentsworkingDir,
- working directory from where the binary is launchederrorMsg,
- error message to display in case of a failurefork,
- if true the chiild process will be detached from the callerjava.io.IOException
org.apache.maven.plugin.MojoExecutionException
protected void launchTIBCOBinary(java.io.File binary, java.util.List<java.io.File> tras, java.util.ArrayList<java.lang.String> arguments, java.io.File workingDir, java.lang.String errorMsg) throws java.io.IOException, org.apache.maven.plugin.MojoExecutionException
java.io.IOException
org.apache.maven.plugin.MojoExecutionException
protected void enableTestScope()
public void execute() throws org.apache.maven.plugin.MojoExecutionException
The execute method of this Mojo will :
org.apache.maven.plugin.MojoExecutionException