projectBuild

Builds JDeveloper project(s) using a deployment profile. This operation can be used to build JAR, WAR files, etc.

You should checkout or export code for entire JDeveloper application from SCM prior to running this operation. Checkout or Export can be easily done if you configure project with Source details. It is good practice to create FlexDeploy project with name that matches JDeveloper application name.

You can also use this operation to build ADF Library JAR files that are useful to share code across various project teams for modular development. Create deployment profile on your project as necessary, commit changes to SCM and run projectBuild plugin operation to execute deployment profile.

Environment/Instance Properties

Property Name

Property Code

Required

Description

JDeveloper Install Home

FDJDEV_INSTALL_HOME

Yes

The JDeveloper installation directory. You can control Build instance associated with your project, which effectively controls which version of JDeveloper is used for build operations.

Project Properties

Property Name

Property Code

Required

Description





Inputs

Input Name

Input Code

Required

Description

Application(JDev) Source Folder

FDJDEV_INP_APP_SOURCE_FOLDER

No

The folder where source is checked out. Leave it blank if you did not use any sub-folder to checkout/export source.

If you have only one JDeveloper Application in export or check out then leave this blank, and plugin will find .jws file automatically.

If you are using SubVersion and Source is defined on Project configuration, you can use FDBLD_SVN_SOURCE1_CHECKOUT_FOLDER variable.

JDeveloper Project Name

FDJDEV_INP_PROJECT_NAME

No

Project name for which deployment profile will be executed. Leave it blank if you want to all run all project deployment profiles, in which case Project Deployment Profile property is ignored.
Project Deployment Profile

FDJDEV_INP_PROJECT_DEPLOY_PROFILE

No

The name of the deployment profile to run, only applies if specific project is provided on JDeveloper Project Name input.

You can leave this blank if you want to run all deployment profiles for project.

Application Artifacts Folder

FDJDEV_INP_APP_ARTIFACT_FOLDER

No

Folder name relative to the application where artifact files (.war, .jar) will be generated.

Default is the deploy folder, if you do not supply any value here. This is default when you create new Application deployment profile as well.

All matching files based on Save Artifacts with Extension(s) will be copied to artifacts folder and will be saved as Artifacts in FlexDeploy artifact repository.

Save Artifacts with Extension(s)

FDJDEV_INP_SAVE_ARTIFACTS_EXTENSIONS

No

Specify comma separated extensions to be copied to artifacts after build. For example: war, jar. (Optional). Select one or more from drop down.

Override File Pattern(s)

FDJDEV_INP_OVERRIDE_FILE_PATTERN

No

Specify {FileName}={OverrideFileName} pattern. Matching files will be replaced by override files and Property replacement logic will be executed as well. For example, web.xml=fd-web.xml, where web.xml file will be replaced with content from fd-web.xml file and Property Replacement logic will perform property replacement as well. See Property Replacement Support

Outputs

Output Name

Required

Description




Artifacts

The plugin input Save Artifacts with Extension(s) is used to determine what types of artifacts to copy to the artifacts repository. The files are copied from the folder specified by Application Artifacts Folder which has a default value of "deploy".

Endpoint Selection

This operation will select all available endpoints associated to the Environment/Instance.

You must create an instance for JDeveloper and associate the endpoints where you have JDeveloper installed. You can create more than one instance if you are supporting multiple JDeveloper versions in your environment. For example, JDeveloper 11.1.1.8, JDeveloper 12.1.3 etc. Projects can select a specific JDeveloper instance on the Project Configuration Screen as per what version of JDeveloper each project is using for development.

Endpoint Execution

This operation will randomly execute on one of the endpoints identified during selection.

Special Considerations

  • The JDeveloper 11g download page does not have specific installer for 64bit Linux or Windows. It is advisable to use Generic Installer if you are setting up a 64 bit Windows or Linux environment.
  • For JDeveloper 12c, you can use 64 bit Windows installer or choose to use Generic Installer.
  • In a nutshell, if the download is not very clear, Generic Installer is your best choice.
  • When using Generic Installer, make sure to use proper JDK (32 bit or 64 bit depending on operating system and specific Java version either JDK 1.6 or JDK 1.7). You will launch generic installer using {path to java} -jar {installer jar file}. The version of Java used to launch the installer will be used when you launch JDeveloper or run Plugin operations.
    • JDK to use for specific version of JDeveloper
      • JDeveloper 11g – JDK 1.6.x
      • JDeveloper 12c – JDK 1.7.x
    • It is very critical to select the proper JDK version, as generated applications will most likely be deployed to WebLogic, and WebLogic also runs with specific version of JDK. You do not have to be very specific with patch numbers, just make sure the major and minor version of JDK matches with the target runtime environment.
  • Install JDeveloper in version specific folder, as you will most likely have more than one version to support. For example, /oracle/middleware/product/jdev11117, /oracle/middleware/product/jdev121300, etc.
  • If you are building WebCenter applications, you must install various JDeveloper extensions necessary to compile WebCenter applications.
  • You must do the same for other extensions including any custom extensions that you may have on Developer workstations. For example, the JUnit extension.
  • As JDeveloper on remote host is being used to perform builds, developers must make sure to not reference JAR files using absolute path. If there is need to use third-party or open source JAR files, you can reference them by creating a Project-scoped JDeveloper library.