-
Notifications
You must be signed in to change notification settings - Fork 9
Home
The NWDI-Core-Plugin integrates the SAP NetWeaver development infrastructure (NWDI) into the Jenkins continuous integration environment.
The plugin adds various new capabilities to Jenkins:
-
A new project type that lets the user configure a CBS build space (or NWDI track) to monitor for changes and build.
-
A new source code management system (SCM) that monitors the configured track for changes to development components.
-
A new type of build that synchronizes changed development components (and their dependencies) to a Jenkins workspace and builds those components.
The plugin also exposes an object model to be used by other plugins to add functionality with respect to SAP NetWeaver development components to Jenkins.
The plugin is not available through the Jenkins update center yet. To build the plugin you'll need to clone the following GitHub repositories:
git clone git://github.com/weigo/NWDI-config-plugin.git
git clone git://github.com/weigo/NWDI-pom-Plugin.git
git clone git://github.com/weigo/NWDI-Core-Plugin.git
and build the Maven projects:
for d in NWDI-config-plugin NWDI-pom-Plugin NWDI-Core-Plugin;\
do (cd $d; mvn install); done
in **NWDI-Core-Plugin/target** you'll find the **NWDI-Core-Plugin.hpi** file which you should upload using the Jenkins update center extended settings view.
With NetWeaver 7.0.x the DI command tools are provided together with NetWeaver developer studio. They are located in the sub folder tools beneath your NWDS installation folder. Copy this folder to your Jenkins server.
NetWeaver versions more recent than 7.0.x do not provide the DI command tools with the NetWeaver developer studio. You'll need to download the software component archive (SCA) DICLIENTS.SCA from SAP market place (enter 'DICLIENTS' as search term).
Unzip the SCA. In the sub folder DEPLOYARCHIVES there is the SDA tcdicmd_tools~sda.sda . Extract the ZIP archive di_cmd_tools.zip and copy it to your Jenkins Server. Unpack the archive to a location of your choice.
The batch file/shell script needs to be adapted to use the environment variable JDK_PROPERTY_NAME to build other build variants than default.
On Unix systems please verify the encoding/line endings of the modified shell scripts. These should not contain DOS line endings. The interpreter to execute the shell scripts won't be found otherwise.
The call to the Java VM (on Windows) should look like this:
call "%JAVA_HOME%\bin\java" -classpath "%startup%" -Xmx256m -Xss20m
-Ddctool.jarrootdir="%NWDITOOLLIB%"
-Ddctool.JDK_PROPERTY_NAME="%JDK_PROPERTY_NAME%" %PARAM_JDK% %APPL% %*
On Unix the VM should be called like this:
"$JAVA_HOME/bin/java" -classpath "$startup" -Xmx256m -Xss20m\
-Ddctool.jarrootdir="$NWDITOOLLIB"\
-Ddctool.JDK_PROPERTY_NAME="$JDK_PROPERTY_NAME" $PARAM_JDK $APPL $*
The call to the Java VM (on Windows) should look like this:
call "%JAVA_HOME%\bin\java" -classpath "%startup%" -Xmx256m -Xss20m
-Dappl.jars="%NWDITOOLLIB%"
-Dappl.classname=com.sap.tc.cetool.DcConsoleApplication
-Ddctool.JDK_PROPERTY_NAME=%JDK_PROPERTY_NAME% %PARAM_JDK% %APPL% %*
On a Unix system the shell script should call the Java VM like this:
"$JAVA_HOME/bin/java" -cp "$startup" -Xmx256m -Xss20m\
-Dappl.jars="$NWDITOOLLIB"\
-Dappl.classname=com.sap.tc.cetool.DcConsoleApplication\
-Ddctool.JDK_PROPERTY_NAME="$JDK_PROPERTY_NAME" $PARAM_JDK $APPL $*
| NWDI-Checkstyle-Plugin | This plugins runs Checkstyle on development components containing Java source code. The results of this analysis can be visualized using the Jenkins Checkstyle plugin . |
| NWDI-Cobertura-Plugin | This plugin enables the execution of JUnit test cases for development components. The test coverage will be recorded using Cobertura . |
| NWDI-DC-Documenter-Plugin | The plugin generates an overview of a track, its software components and development components and publishes this information to a confluence wiki. The generated information contains dependencies, usage of a development component (inside the track). Depending on the type of development component other information is determined from the DCs meta data and content (i.e. licenses of external libraries) and visualized accordingly. |
| NWDI-JavaDoc-Plugin | This plugin generates JavaDoc documentation from Java sources contained in development components. If requested the generated documentation can be enriched using UML class diagrams generated using UmlGraph . This feature requires the installation of GraphViz . |
| NWDI-PMD-Plugin | This plugin uses the copy and paste detector (CPD) of PMD to detect duplicated code in development components. The results of this analysis can be visualized using the Jenkins PMD plugin . |