phpIPAM-for-vRA8/pom.xml

373 lines
18 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2020 VMware, Inc. All Rights Reserved.
This product is licensed to you under the Apache License, Version 2.0 (the "License").
You may not use this product except in compliance with the License.
This product may include a number of subcomponents with separate copyright notices
and license terms. Your use of these subcomponents is subject to the terms and
conditions of the subcomponent's license, as noted in the LICENSE file.
-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.vmware.cas.ipam.adapter</groupId>
<artifactId>sample-ipam</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<provider.name>phpIPAM</provider.name>
<provider.description>phpIPAM integration for vRA</provider.description>
<provider.version>1.0.9</provider.version>
<provider.supportsAddressSpaces>false</provider.supportsAddressSpaces>
<provider.supportsUpdateRecord>true</provider.supportsUpdateRecord>
<provider.supportsOnDemandNetworks>false</provider.supportsOnDemandNetworks>
<user.id>1000</user.id>
</properties>
<profiles>
<profile>
<id>collectDependencies</id>
<activation>
<file>
<missing>${basedir}/target/dependencies.collected.flag</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.31.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>prepare-package</phase>
<goals>
<goal>build</goal>
</goals>
<configuration>
<name>ipam-dependency-collector:latest</name>
<images>
<image>
<name>ipam-dependency-collector:latest</name>
<build>
<dockerFile>${project.basedir}/Dockerfile</dockerFile>
<filter>@</filter>
</build>
</image>
</images>
</configuration>
</execution>
<execution>
<id>start-container</id>
<phase>prepare-package</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<images>
<image>
<name>ipam-dependency-collector:latest</name>
<run>
<volumes>
<bind>${basedir}/target:/ipam/result</bind>
</volumes>
<wait>
<log>Collecting-dependencies-complete</log>
<time>600000</time> <!-- Wait for 10 minutes to copy the dependencies into the mounted dir -->
</wait>
<user>${user.name}</user>
</run>
</image>
</images>
</configuration>
</execution>
<execution>
<id>stop-container</id>
<phase>prepare-package</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<id>copy-dependencies-collected-flag</id>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>dependencies.collected.flag</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>dynamic-set-props</id>
<phase>initialize</phase>
<goals>
<goal>bsh-property</goal>
</goals>
<configuration>
<source>skipUpdateRecord =
!${provider.supportsUpdateRecord};
excludeUpdateRecordFromAssemblyFilePattern
= skipUpdateRecord ? "update_record.abx"
: "dont-exclude"; skipOnDemandNetworks =
!${provider.supportsOnDemandNetworks};
excludeGetIpBlocksFromAssemblyFilePattern
= skipOnDemandNetworks ?
"get_ip_blocks.abx" : "dont-exclude";
excludeAllocateIpRangeFromAssemblyFilePattern
= skipOnDemandNetworks ?
"allocate_ip_range.abx" : "dont-exclude";
excludeDeallocateIpRangeFromAssemblyFilePattern
= skipOnDemandNetworks ?
"deallocate_ip_range.abx" : "dont-exclude";
supportsAddressSpaces
= ${provider.supportsAddressSpaces} ?
"supportsAddressSpaces: true" : "";
</source>
<properties>
<property>skipUpdateRecord</property>
<property>excludeUpdateRecordFromAssemblyFilePattern</property>
<property>skipOnDemandNetworks</property>
<property>excludeGetIpBlocksFromAssemblyFilePattern</property>
<property>excludeAllocateIpRangeFromAssemblyFilePattern</property>
<property>excludeDeallocateIpRangeFromAssemblyFilePattern</property>
<property>supportsAddressSpaces</property>
</properties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-scripts</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/python</outputDirectory>
<resources>
<resource>
<directory>src/main/python</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<execution>
<id>allocate_ip</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/allocate_ip.xml</descriptor>
<finalName>allocate_ip</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
</configuration>
</execution>
<execution>
<id>deallocate_ip</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/deallocate_ip.xml</descriptor>
<finalName>deallocate_ip</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
</configuration>
</execution>
<execution>
<id>get_ip_ranges</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/get_ip_ranges.xml</descriptor>
<finalName>get_ip_ranges</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
</configuration>
</execution>
<execution>
<id>update_record</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/update_record.xml</descriptor>
<finalName>update_record</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
<skipAssembly>${skipUpdateRecord}</skipAssembly>
</configuration>
</execution>
<execution>
<id>validate_endpoint</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/validate_endpoint.xml</descriptor>
<finalName>validate_endpoint</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
</configuration>
</execution>
<execution>
<id>get_ip_blocks</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/get_ip_blocks.xml</descriptor>
<finalName>get_ip_blocks</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
<skipAssembly>${skipOnDemandNetworks}</skipAssembly>
</configuration>
</execution>
<execution>
<id>allocate_ip_range</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/allocate_ip_range.xml</descriptor>
<finalName>allocate_ip_range</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
<skipAssembly>${skipOnDemandNetworks}</skipAssembly>
</configuration>
</execution>
<execution>
<id>deallocate_ip_range</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/python/deallocate_ip_range.xml</descriptor>
<finalName>deallocate_ip_range</finalName>
<outputDirectory>${project.build.directory}/actions</outputDirectory>
<skipAssembly>${skipOnDemandNetworks}</skipAssembly>
</configuration>
</execution>
<execution>
<id>zip-actions</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/zip-actions.xml</descriptor>
<finalName>bundle</finalName>
</configuration>
</execution>
<execution>
<id>zip-provider</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptor>src/assembly/zip-provider.xml</descriptor>
<finalName>${provider.name}</finalName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.nicoulaj.maven.plugins</groupId>
<artifactId>checksum-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>build-ipam-package-signature</id>
<phase>prepare-package</phase>
<goals>
<goal>files</goal>
</goals>
</execution>
</executions>
<configuration>
<fileSets>
<fileSet>
<directory>${basedir}/target/</directory>
<includes>
<include>bundle.zip</include>
</includes>
</fileSet>
</fileSets>
<algorithms>
<algorithm>SHA-256</algorithm>
</algorithms>
<csvSummary>false</csvSummary>
<shasumSummary>true</shasumSummary>
<shasumSummaryFile>signature</shasumSummaryFile>
<individualFiles>false</individualFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>