Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: install SAP libs in the Maven local repository #13

Open
wants to merge 2 commits into
base: camel-3.20.1-branch
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
259 changes: 258 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
</licenses>

<properties>
<lib.directory>${basedir}/lib</lib.directory>
<spring-boot.run.directories>${lib.directory}/*</spring-boot.run.directories>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down Expand Up @@ -137,7 +139,48 @@
</resources>
<pluginManagement>
<plugins>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-sap-libs</id>
<phase>process-sources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<stripVersion>true</stripVersion>
<outputDirectory>${lib.directory}</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>com.sap.conn.jco</groupId>
<artifactId>sapjco3</artifactId>
<version>${sapjco3-version}</version>
<type>${envType}</type>
<classifier>${envClassifier}</classifier>
<overWrite>true</overWrite>
<destFileName>${native.lib.filename}.${envType}</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.sap.conn.jco</groupId>
<artifactId>sapjco3</artifactId>
<version>${sapjco3-version}</version>
<overWrite>true</overWrite>
<destFileName>sapjco3.jar</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.sap.conn.idoc</groupId>
<artifactId>sapidoc3</artifactId>
<version>${sapidoc3-version}</version>
<overWrite>true</overWrite>
<destFileName>sapidoc3.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
Expand Down Expand Up @@ -197,6 +240,24 @@
<artifactId>fabric8-maven-plugin</artifactId>
<version>${fabric8-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot-version}</version>
<configuration>
<!-- TODO: remove this once camel-sap-starter doesn't include these in transitive dependencies -->
<excludes>
<exclude>
<groupId>com.sap.conn.idoc</groupId>
<artifactId>sapidoc3</artifactId>
</exclude>
<exclude>
<groupId>com.sap.conn.jco</groupId>
<artifactId>sapjco3</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Expand Down Expand Up @@ -302,5 +363,201 @@
<snapshop-build>redhat-7.0.0.redhat-SNAPSHOT</snapshop-build>
</properties>
</profile>
<profile>
<id>win-i386</id>
<activation>
<os>
<name>windows</name>
<arch>i386</arch>
</os>
</activation>
<properties>
<envClassifier>win-i686</envClassifier>
<envType>dll</envType>
<native.lib.filename>sapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>win-x86</id>
<activation>
<os>
<name>windows</name>
<arch>x86</arch>
</os>
</activation>
<properties>
<envClassifier>win-i686</envClassifier>
<envType>dll</envType>
<native.lib.filename>sapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>win-x86_64</id>
<activation>
<os>
<name>windows</name>
<arch>x86_64</arch>
</os>
</activation>
<properties>
<envClassifier>win-x86_64</envClassifier>
<envType>dll</envType>
<native.lib.filename>sapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>win10-x86_64</id>
<activation>
<os>
<name>windows 10</name>
<arch>x86_64</arch>
</os>
</activation>
<properties>
<envClassifier>win-x86_64</envClassifier>
<envType>dll</envType>
<native.lib.filename>sapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>win32-amd64</id>
<activation>
<os>
<name>windows</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<envClassifier>win-x86_64</envClassifier>
<envType>dll</envType>
<native.lib.filename>sapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>win10-amd64</id>
<activation>
<os>
<name>windows 10</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<envClassifier>win-x86_64</envClassifier>
<envType>dll</envType>
<native.lib.filename>sapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>linux-i386</id>
<activation>
<os>
<name>linux</name>
<arch>i386</arch>
</os>
</activation>
<properties>
<envClassifier>linux-i686</envClassifier>
<envType>so</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>linux-x86</id>
<activation>
<os>
<name>linux</name>
<arch>x86</arch>
</os>
</activation>
<properties>
<envClassifier>linux-i686</envClassifier>
<envType>so</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>linux-x86_64</id>
<activation>
<os>
<name>linux</name>
<arch>x86_64</arch>
</os>
</activation>
<properties>
<envClassifier>linux-x86_64</envClassifier>
<envType>so</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>linux-amd64</id>
<activation>
<os>
<name>linux</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<envClassifier>linux-x86_64</envClassifier>
<envType>so</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>macosx-i386</id>
<activation>
<os>
<name>mac os x</name>
<arch>i386</arch>
</os>
</activation>
<properties>
<envClassifier>macosx-i686</envClassifier>
<envType>dylib</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>macosx-x86</id>
<activation>
<os>
<name>mac os x</name>
<arch>x86</arch>
</os>
</activation>
<properties>
<envClassifier>macosx-i686</envClassifier>
<envType>dylib</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>macosx-x86_64</id>
<activation>
<os>
<name>mac os x</name>
<arch>x86_64</arch>
</os>
</activation>
<properties>
<envClassifier>macosx-x86_64</envClassifier>
<envType>dylib</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
<profile>
<id>macosx-amd64</id>
<activation>
<os>
<name>mac os x</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<envClassifier>macosx-x86_64</envClassifier>
<envType>dylib</envType>
<native.lib.filename>libsapjco3</native.lib.filename>
</properties>
</profile>
</profiles>
</project>
37 changes: 36 additions & 1 deletion spring-boot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,40 @@ To run these quick starts you will need:
* Maven 3.6.2 or higher
* JDK 11
* Red Hat Build of Camel Spring Boot
* SAP JCo3 and IDoc3 libraries (sapjco3.jar, sapidoc3.jar and JCo native library for your OS platform)
* SAP JCo3 and IDoc3 libraries (sapjco3.jar, sapidoc3.jar and JCo native library for your OS platform) installed in your local Maven repository (see how to at the end)
* SAP instance with [Flight Data Application](http://help.sap.com/saphelp_erp60_sp/helpdata/en/db/7c623cf568896be10000000a11405a/content.htm) setup.

---
Install SAP libraries in your local Maven repository
---

To install your three SAP libraries in your Maven repository you will need to run three commands using Maven:


mvn install:install-file -DgroupId=com.sap.conn.jco -DartifactId=sapjco3 -Dversion=3.1.4 -Dpackaging=jar -Dfile=sapjco3.jar

mvn install:install-file -DgroupId=com.sap.conn.idoc -DartifactId=sapidoc3 -Dversion=3.1.1 -Dpackaging=jar -Dfile=sapidoc3.jar

Installing the JCo native library will depend on the Operating System and architecture you are running. For example:

for Linux x86 64 bit:

mvn install:install-file -DgroupId=com.sap.conn.jco -DartifactId=sapjco3 -Dversion=3.1.4 -Dclassifier=linux-x86_64 -Dpackaging=so -Dfile=libsapjco3.so

MacOS 64 bit:

mvn install:install-file -DgroupId=com.sap.conn.jco -DartifactId=sapjco3 -Dversion=3.1.4 -Dclassifier=macosx-x86_64 -Dpackaging=dylib -Dfile=libsapjco3.dylib

Windows 64 bit

mvn install:install-file -DgroupId=com.sap.conn.jco -DartifactId=sapjco3 -Dversion=3.1.4 -Dclassifier=win-x86_64 -Dpackaging=dll -Dfile=sapjco3.dll

For more architectures please see the [pom.xml](pom.xml#L376)

When using different version please also change the version in [pom.xml](pom.xml#L46)






This file was deleted.

19 changes: 4 additions & 15 deletions spring-boot/sap-idoc-destination-spring-boot/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,6 @@
<groupId>org.fusesource</groupId>
<artifactId>camel-sap-starter</artifactId>
</dependency>
<dependency>
<groupId>com.sap.conn.jco</groupId>
<artifactId>sapjco3</artifactId>
<version>${sapjco3-version}</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sapjco3.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sap.conn.idoc</groupId>
<artifactId>sapidoc3</artifactId>
<version>${sapidoc3-version}</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sapidoc3.jar</systemPath>
</dependency>
</dependencies>
<build>
<defaultGoal>spring-boot:run</defaultGoal>
Expand All @@ -82,7 +68,10 @@
</resources>

<plugins>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
Expand Down
19 changes: 4 additions & 15 deletions spring-boot/sap-idoclist-destination-spring-boot/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,6 @@
<groupId>org.fusesource</groupId>
<artifactId>camel-sap-starter</artifactId>
</dependency>
<dependency>
<groupId>com.sap.conn.jco</groupId>
<artifactId>sapjco3</artifactId>
<version>${sapjco3-version}</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sapjco3.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sap.conn.idoc</groupId>
<artifactId>sapidoc3</artifactId>
<version>${sapidoc3-version}</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sapidoc3.jar</systemPath>
</dependency>
</dependencies>
<build>
<defaultGoal>spring-boot:run</defaultGoal>
Expand All @@ -82,7 +68,10 @@
</resources>

<plugins>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
Expand Down
Loading