This extension provides the means to extract JAR based source code via http/https from a Maven repository. In other words, JAR based source code that does not reside in a simple local or network folder. This extension is similar in function to the Maven repository on your file system option that is provided "out of the box" in the CAST Delivery Manager Tool.
In what situation should you install this extension?
This extension should be used when you want to extract JAR based source code that is stored in a Maven repository. For example, when your JEE application relies on JAR files and the initial extraction of this application in the CAST Delivery Manager Tool throws "missing library file" alerts, you can use this extension to extract the missing files from a Maven repository and resolve the alerts.
- The extension does not contain a source code "discoverer" (to determine the type of source code project) and therefore relies on other discoverers that are already installed in the CAST Delivery Manager Tool or via other extensions to do so.
- This extractor supports only a remote Maven repository. The URL format must use the http/https protocol. If you have a local repository that can be accessed please use the Maven repository on your file system option in the CAST Delivery Manager Tool, which is provided "out of the box" in CAST AIP.
What's new in this release?
- New support for the <relocation> tag in pom.xml: previously the CAST Delivery Manager Tool (DMT) was not able to access and extract artifacts defined in <relocation> tags even if the <artifactID> or <groupID> was specified in the DMT interface. <relocation> tags are now supported. For example, given the following configuration, the artifact defined in the <relocation> tag org.aspectj will now be correctly accessed and extracted:
- When a <versionID> is specified for an artifact in the CAST Delivery Manager Tool (DMT) interface, the DMT will attempt to extract the exact version. If then a pom.xml cannot be found, the DMT will attempt to obtain the best version from the maven-metadata.xml of the specified artifact. If a best version is available, the DMT will then attempt to extract it.
CAST AIP release
Download and installation instructions
- This extension contains a File extractor and you should take note of the specific instructions in the installation guide that explains how to package your source code with the CAST Delivery Manager Tool when you have an existing Version.
- The latest release status of this extension can be seen when downloading it from the CAST Extend server.
The following screen shots show the differences in the product when the extension is installed:
- A new sub-option will be added to the Automated extraction of required jar files option:
- The new sub-option is called Maven Http respository:
- The Package Configuration tab then offers the following interface to access your Maven repository:
|1||Enter the direct URL for your Maven repository using the http/https protocol|
Tick the Credentials option if the Maven repository requires authenticated access, then configure:
Used to configure the user name that has sufficient privileges to access the Maven repository for packaging purposes.
Used to configure the password that corresponds to your User name configured above.
This option enables you to force the CAST Delivery Manager Tool to save the database access credentials you have entered above.
Choosing an option or not has no impact on the extraction (i.e. the CAST Delivery Manager Tool can still access the required resources). However, if you are creating subsequent Versions of the same schemas on the same server, you can choose to store the password in which case you will not need to re-enter it.
There are two save options:
This option enables you to specify specific artifacts that you know need to be extracted in order to resolve a packaging alert. You can specify the artifact using:
Packaging and extraction messages
The following messages may appear during the packaging action:
|cast.dmt.engine.extractor.jee.maven.http.connectionFailed||ERROR||Connection failed for %URL%: %MESSAGE%||Check the connection URL.|
|cast.dmt.engine.extractor.jee.maven.http.authenticationFailed||ERROR||Authentication failed: %MESSAGE%||Check the credentials are correct.|
|cast.dmt.engine.extractor.jee.maven.http.artifactRetrievalFailed||ERROR||Technical error during the extraction of the artifact from %URL% failed: %MESSAGE%||Check the access to the repository.|
|cast.dmt.engine.extractor.jee.maven.http.artifactMetadataRetrievalFailed||ERROR||Technical error during the extraction of the maven-metadata.xml file from %URL% failed: %MESSAGE%||Without the data required to identify the versions for this artifact, we can't determine a best version. Please contact CAST Technical Support and report a bug.|
|cast.dmt.engine.extractor.jee.maven.http.versionMetadataRetrievalFailed||ERROR||Technical error during the extraction of the maven-metadata.xml file from %URL% failed: %MESSAGE%||Without the data required to identify the files for the SNAPSHOT, the artifact can't be extracted. Please contact CAST Technical Support and report a bug.|
|cast.dmt.engine.extractor.jee.maven.http.pomReadContentError||ERROR||Technical error while reading the pom file for the artifact [%GROUP_ID%][%ARTIFACT_ID%][%VERSION%]: %MESSAGE%||If the relocation is defined, the jar file will not be extracted. Please contact CAST Technical Support and report a bug.|
|cast.dmt.engine.extractor.jee.maven.http.artifactWithoutVersion||WARNING||No version has been provided for the artifact [%GROUP_ID%][%ARTIFACT_ID%].|
In the maven dependency, the version should be defined or inherited from the parent. Check the packaging of the source code.
|cast.dmt.engine.extractor.jee.maven.http.artifactWithVersionVariable||WARNING||Version has been provided with variable for the artifact [%GROUP_ID%][%ARTIFACT_ID%].||The variable should be defined or inherited from the parent. Check the packaging of the source code.|
|cast.dmt.engine.extractor.jee.maven.http.notSupportedArtifactWithRange||WARNING||The automated extraction of artifacts with range is not supported: artifact [%GROUP_ID%][%ARTIFACT_ID%][%VERSION%].||Please contact CAST Technical Support and report a feature request.|
|cast.dmt.engine.extractor.jee.maven.http.getArtifact||INFO||Start to retrieve the artifact [%GROUP_ID%][%ARTIFACT_ID%][%VERSION%] from the repository.||None.|
|cast.dmt.engine.extractor.jee.maven.http.notFoundArtifact||INFO||The artifact %GROUP_ID% %ARTIFACT_ID% has not been found in the repository.||Check the configuration details and update if necessary.|
|cast.dmt.engine.extractor.jee.maven.http.notFoundArtifactMetadata||INFO||The metadata for artifact %GROUP_ID% %ARTIFACT_ID% has not been found in the repository.||Check the configuration details and update if necessary.|