Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

APEXMALHAR-2539 Solace input operators #571

Open
wants to merge 1 commit into
base: master
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
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@
<module>samples</module>
<module>sql</module>
<module>flume</module>
<module>solace</module>
</modules>
</profile>
</profiles>
Expand Down
227 changes: 227 additions & 0 deletions solace/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
<!--

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.apache.apex</groupId>
<artifactId>malhar</artifactId>
<version>3.8.0-SNAPSHOT</version>
</parent>

<artifactId>malhar-solace</artifactId>
<name>Apache Apex Malhar Solace Support</name>
<packaging>jar</packaging>

<properties>
<!--checkstyle.console>false</checkstyle.console-->
<solace.version>10.0.1</solace.version>
<maven.test.skip>true</maven.test.skip>
</properties>


<build>
<plugins>
<!-- Publish tests jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<!-- create resource directory for xml javadoc-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>createJavadocDirectory</id>
<phase>generate-resources</phase>
<configuration>
<tasks>
<delete dir="${project.build.directory}/generated-resources/xml-javadoc"/>
<mkdir dir="${project.build.directory}/generated-resources/xml-javadoc"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- generate javdoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<!-- generate xml javadoc -->
<execution>
<id>xml-doclet</id>
<phase>generate-resources</phase>
<goals>
<goal>javadoc</goal>
</goals>
<configuration>
<doclet>com.github.markusbernhardt.xmldoclet.XmlDoclet</doclet>
<additionalparam>-d ${project.build.directory}/generated-resources/xml-javadoc -filename ${project.artifactId}-${project.version}-javadoc.xml</additionalparam>
<useStandardDocletOptions>false</useStandardDocletOptions>
<docletArtifact>
<groupId>com.github.markusbernhardt</groupId>
<artifactId>xml-doclet</artifactId>
<version>1.0.4</version>
</docletArtifact>
</configuration>
</execution>
<!-- generate default javadoc jar with custom tags -->
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<skip>true</skip>
<tags>
<tag>
<name>customTag1</name>
<placement>a</placement>
<head>Custom Tag One:</head>
</tag>
<tag>
<name>customTag2</name>
<placement>a</placement>
<head>Custom Tag two:</head>
</tag>
<tag>
<name>customTag3</name>
<placement>a</placement>
<head>Custom Tag three:</head>
</tag>
</tags>
</configuration>
</execution>
</executions>
</plugin>
<!-- Transform xml javadoc to stripped down version containing only class/interface comments and tags-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>transform-xmljavadoc</id>
<phase>generate-resources</phase>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<transformationSets>
<transformationSet>
<dir>${project.build.directory}/generated-resources/xml-javadoc</dir>
<includes>
<include>${project.artifactId}-${project.version}-javadoc.xml</include>
</includes>
<stylesheet>XmlJavadocCommentsExtractor.xsl</stylesheet>
<outputDir>${project.build.directory}/generated-resources/xml-javadoc</outputDir>
</transformationSet>
</transformationSets>
</configuration>
</plugin>
<!-- copy xml javadoc to class jar -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/generated-resources/xml-javadoc</directory>
<includes>
<include>${project.artifactId}-${project.version}-javadoc.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx2048m</argLine>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>com.solacesystems</groupId>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the license situation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. The license info is linked here
https://mvnrepository.com/artifact/com.solacesystems/sol-jcsmp/10.0.1
and available here
http://dev.solace.com/solace-license.txt

I am going through it now.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at the license which is "solely for the Licensee’s internal business purposes". But we are just referencing the software as a dependency in this pom file which does not subject us to any redistribution or bundling terms. The source code here itself has Apache license so I think we are okay.

Copy link
Contributor

@tweise tweise Mar 15, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide the references for "I think we are okay".

One potential issue is that users that are not aware of licensing restrictions unknowingly create restrictions for their own product, as it would be the case with xGPL.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reference http://dev.solace.com/solace-license.txt and section 2.2:

"2.2 License of APIs. Provided Licensee complies with this Agreement and any terms that SOLACE provides, SOLACE grants to Licensee a non-exclusive, royalty free license, during the term of this Agreement, to download, install and use, the applicable application programming interfaces that may be made available by SOLACE with the Software (“APIs”) solely to create interfaces between the Software and the Licensee’s software or third party software on Licensee’s systems."

We are creating the interface between Solace and our software/3rd party software.

Also the Solace binary jars are made available on the maven repository and that combined with the "internal business use" license described in 1.1 the users of these operators are allowed to use the jars. Only for the redistribution scenario the developers may need to be aware of this license IMO.

<artifactId>sol-jms</artifactId>
<version>10.0.1</version>
</dependency>
<dependency>
<groupId>com.solacesystems</groupId>
<artifactId>sol-jcsmp</artifactId>
<version>10.0.1</version>
</dependency>
<dependency>
<groupId>com.solacesystems</groupId>
<artifactId>sol-common</artifactId>
<version>10.0.1</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>malhar-library</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>malhar-library</artifactId>
<version>${project.version}</version>
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>apex-common</artifactId>
<version>${apex.core.version}</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
Loading