| <!-- |
| |
| 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"> |
| <parent> |
| <groupId>org.apache.pulsar</groupId> |
| <artifactId>docker-images</artifactId> |
| <version>2.8.0-SNAPSHOT</version> |
| </parent> |
| <modelVersion>4.0.0</modelVersion> |
| <artifactId>pulsar-docker-image</artifactId> |
| <name>Apache Pulsar :: Docker Images :: Pulsar Latest Version</name> |
| <packaging>pom</packaging> |
| |
| <properties> |
| <skipBuildPythonClient>false</skipBuildPythonClient> |
| <skipCopyPythonClients>false</skipCopyPythonClients> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>pulsar-server-distribution</artifactId> |
| <version>${project.version}</version> |
| <classifier>bin</classifier> |
| <type>tar.gz</type> |
| <scope>provided</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <build> |
| <plugins> |
| <!-- build Python client, copy the wheel file and then build docker image --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>${exec-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>build-pulsar-clients-python-35</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <skip>${skipBuildPythonClient}</skip> |
| <workingDirectory>${project.basedir}/target</workingDirectory> |
| <executable>${project.basedir}/../../pulsar-client-cpp/docker/build-wheels.sh</executable> |
| <arguments> |
| <!-- build python 3.7 --> |
| <argument>3.7 cp37-cp37m</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-pulsar-clients-python</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <skip>${skipCopyPythonClients}</skip> |
| <target> |
| <echo>copy python wheel file</echo> |
| <mkdir dir="${basedir}/target/python-client"/> |
| <copydir src="${basedir}/../../pulsar-client-cpp/python/wheelhouse" dest="${basedir}/target/python-client"/> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.spotify</groupId> |
| <artifactId>dockerfile-maven-plugin</artifactId> |
| <version>${dockerfile-maven.version}</version> |
| <executions> |
| <execution> |
| <id>default</id> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>add-no-repo-and-version</id> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <repository>pulsar</repository> |
| <tag>${project.version}</tag> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-no-repo-and-latest</id> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <repository>pulsar</repository> |
| <tag>latest</tag> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-and-push-latest</id> |
| <goals> |
| <goal>tag</goal> |
| <goal>push</goal> |
| </goals> |
| <configuration> |
| <repository>${docker.organization}/pulsar</repository> |
| <tag>latest</tag> |
| </configuration> |
| </execution> |
| </executions> |
| <configuration> |
| <repository>${docker.organization}/pulsar</repository> |
| <pullNewerImage>false</pullNewerImage> |
| <tag>${project.version}</tag> |
| <buildArgs> |
| <PULSAR_TARBALL>target/pulsar-server-distribution-${project.version}-bin.tar.gz</PULSAR_TARBALL> |
| </buildArgs> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-tarball</id> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <phase>generate-resources</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}/</outputDirectory> |
| <includeArtifactIds>pulsar-server-distribution</includeArtifactIds> |
| <excludeTransitive>true</excludeTransitive> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |