membrane-api-gateway
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.membrane-soa</groupId>
<artifactId>membrane-api-gateway</artifactId>
<version>7.3.1</version>
</dependency><?xml version="1.0" encoding="UTF-8" standalone="no"?><!--
Copyright 2012, predic8 GmbH, www.predic8.com
Licensed 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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>membrane-api-gateway</artifactId>
<name>${project.artifactId}</name>
<properties>
<mainClass>com.predic8.membrane.devtools.IDEStarter</mainClass>
<mainArgs/>
</properties>
<packaging>jar</packaging>
<parent>
<groupId>org.membrane-soa</groupId>
<artifactId>service-proxy-parent</artifactId>
<relativePath>../pom.xml</relativePath>
<version>7.3.1</version>
</parent>
<dependencies>
<dependency>
<groupId>org.membrane-soa</groupId>
<artifactId>service-proxy-core</artifactId>
</dependency>
<!--
The web project (WAR) needs the core without the log dependencies,
therefore the libs are added here to the distribution.
-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-layout-template-json</artifactId>
<version>${log4j.version}</version>
</dependency>
<!-- Test Dependencies -->
<dependency>
<groupId>org.membrane-soa</groupId>
<artifactId>service-proxy-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.4.240</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-matchers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.skyscreamer</groupId>
<artifactId>jsonassert</artifactId>
<version>1.5.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.vdurmont</groupId>
<artifactId>semver4j</artifactId>
<version>3.1.0</version>
<scope>test</scope>
</dependency>
<!-- For LoadTester tool -->
<dependency>
<groupId>org.asynchttpclient</groupId>
<artifactId>async-http-client</artifactId>
<version>3.0.10</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!--
Do not produce a JAR from this project
-->
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
<configuration>
<projectType>application</projectType>
<includeProvidedScope>false</includeProvidedScope>
<skipNotDeployed>false</skipNotDeployed>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/assembly/distribution.xml</descriptor>
</descriptors>
<archiverConfig>
<fileMode>420</fileMode>
<directoryMode>493</directoryMode>
<defaultDirectoryMode>493</defaultDirectoryMode>
</archiverConfig>
</configuration>
<executions>
<execution>
<phase>package</phase>
<configuration>
<!-- excludes the dist part from the final name -->
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
<failIfNoTests>false</failIfNoTests>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
</executions>
<configuration>
<test>**/ExampleTests.java</test>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>${mainClass}</mainClass>
<commandlineArgs>${mainArgs}</commandlineArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<!--
Verify the SQL injection rule resource shipped in core is in sync with the committed
OWASP CRS source; fails the build on drift. Regenerate via the 'generate-sqli-rules' profile.
-->
<execution>
<id>check-sqli-rules</id>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<java classname="com.predic8.membrane.build.CrsSqliRuleTranspiler" failonerror="true" fork="true">
<arg value="check"/>
<arg value="${project.basedir}/crs-sqli-rules"/>
<arg value="${project.basedir}/../core/src/main/resources/com/predic8/membrane/core/interceptor/sqlinjection/crs-sqli-rules.json"/>
<classpath>
<pathelement path="${project.build.outputDirectory}"/>
<path refid="maven.runtime.classpath"/>
</classpath>
</java>
</target>
</configuration>
</execution>
<execution>
<id>prepare-examples-without-proxies</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<java classname="com.predic8.membrane.build.FilterExamples" failonerror="true" fork="true">
<arg value="${project.basedir}/examples"/>
<arg value="${project.build.directory}/examples-filtered"/>
<classpath>
<pathelement path="${project.build.outputDirectory}"/>
</classpath>
</java>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<!--
Regenerate core's crs-sqli-rules.json from the committed OWASP CRS source.
Run after updating crs-sqli-rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf:
mvn -pl distribution -Pgenerate-sqli-rules process-classes
then commit the updated core resource.
-->
<id>generate-sqli-rules</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<!-- Don't run the drift check while regenerating: it would fail on the very drift
we are about to fix, before the generation runs. -->
<execution>
<id>check-sqli-rules</id>
<phase>none</phase>
</execution>
<execution>
<id>generate-sqli-rules</id>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<java classname="com.predic8.membrane.build.CrsSqliRuleTranspiler" failonerror="true" fork="true">
<arg value="generate"/>
<arg value="${project.basedir}/crs-sqli-rules"/>
<arg value="${project.basedir}/../core/src/main/resources/com/predic8/membrane/core/interceptor/sqlinjection/crs-sqli-rules.json"/>
<classpath>
<pathelement path="${project.build.outputDirectory}"/>
<path refid="maven.runtime.classpath"/>
</classpath>
</java>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>no-internet</id>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>integration-test</id>
<phase>none</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
</executions>
<configuration>
<test>**/ExampleTestsWithoutInternet.java</test>
<argLine>-Dfile.encoding=UTF-8 -Djdk.xml.maxGeneralEntitySizeLimit=0 -Djdk.xml.totalEntitySizeLimit=0</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>