| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| 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/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.directory.project</groupId> |
| <artifactId>project</artifactId> |
| <version>35</version> |
| <relativePath /> |
| </parent> |
| |
| <groupId>org.apache.directory.fortress</groupId> |
| <artifactId>fortress-rest</artifactId> |
| <packaging>war</packaging> |
| <version>3.0.1-SNAPSHOT</version> |
| <name>Apache Fortress Rest</name> |
| <url>https://directory.apache.org/fortress/</url> |
| <description>Fortress Rest provides a RESTful implementation of the ANSI INCITS 359 RBAC Specification</description> |
| <licenses> |
| <license> |
| <name>Apache License 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0</url> |
| </license> |
| </licenses> |
| |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/directory-fortress-enmasse.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/directory-fortress-enmasse.git</developerConnection> |
| <url>https://github.com/apache/directory-fortress-enmasse/tree/${project.scm.tag}</url> |
| <tag>master</tag> |
| </scm> |
| |
| <issueManagement> |
| <system>jira</system> |
| <url>https://issues.apache.org/jira/browse/DIRFORTRESS</url> |
| </issueManagement> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Apache Directory -- Fortress List</name> |
| <post>fortress@directory.apache.org</post> |
| <archive>https://mail-archives.apache.org/mod_mbox/directory-fortress/</archive> |
| </mailingList> |
| </mailingLists> |
| |
| <!-- ====================================================== --> |
| <!-- The used properties for this project --> |
| <!-- ====================================================== --> |
| <properties> |
| <title>${project.name} ${project.version}</title> |
| <java.version>17</java.version> |
| <!-- Dependencies version --> |
| <fortress.realm.version>3.0.0</fortress.realm.version> |
| <cxf.version>4.0.2</cxf.version> |
| <httpclient.version>3.1</httpclient.version> |
| <javadoc.version>2.9.1</javadoc.version> |
| <junit.version>4.13.2</junit.version> |
| <slf4j.impl.version>2.20.0</slf4j.impl.version> |
| |
| <!-- Other properties --> |
| <base.dir>.</base.dir> |
| <src.java.dir>${base.dir}/src/main/java</src.java.dir> |
| </properties> |
| |
| <prerequisites> |
| <maven>3.1.0</maven> |
| </prerequisites> |
| |
| <dependencies> |
| <!-- Fortress Realm pulls in Fortress Core for RBAC 'CRUD' & policy enforcement apis. --> |
| <dependency> |
| <groupId>org.apache.directory.fortress</groupId> |
| <artifactId>fortress-realm-impl</artifactId> |
| <version>${fortress.realm.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.cxf</groupId> |
| <artifactId>cxf-core</artifactId> |
| <version>${cxf.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.cxf</groupId> |
| <artifactId>cxf-rt-frontend-jaxrs</artifactId> |
| <version>${cxf.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.cxf</groupId> |
| <artifactId>cxf-rt-frontend-jaxws</artifactId> |
| <version>${cxf.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <version>6.0.11</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework.security</groupId> |
| <artifactId>spring-security-web</artifactId> |
| <version>6.1.3</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j2-impl</artifactId> |
| <version>${slf4j.impl.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.jakarta.rs</groupId> |
| <artifactId>jackson-jakarta-rs-json-provider</artifactId> |
| <version>2.15.2</version> |
| </dependency> |
| |
| <!-- Test Dependencies --> |
| <dependency> |
| <groupId>commons-httpclient</groupId> |
| <artifactId>commons-httpclient</artifactId> |
| <version>${httpclient.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <finalName>${project.artifactId}-${project.version}</finalName> |
| <plugins> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <inherited>true</inherited> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <licenses> |
| <!-- TODO (low prio): Remove this simple workaround when Apache Rat 0.14 has been released. --> |
| <!-- See also: https://issues.apache.org/jira/browse/RAT-212 --> |
| <!-- and https://issues.apache.org/jira/browse/LEGAL-265 --> |
| <license implementation="org.apache.rat.analysis.license.ApacheSoftwareLicense20"> |
| <notes>Also allow the license url to be https.</notes> |
| <patterns> |
| <pattern>https://www.apache.org/licenses/LICENSE-2.0</pattern> |
| </patterns> |
| </license> |
| </licenses> |
| <excludeSubProjects>false</excludeSubProjects> |
| <excludes> |
| <!-- MAVEN_DEFAULT_EXCLUDES --> |
| <exclude>**/target/**/*</exclude> |
| <exclude>**/cobertura.ser</exclude> |
| <!-- ECLIPSE_DEFAULT_EXCLUDES --> |
| <exclude>**/.classpath</exclude> |
| <exclude>**/.project</exclude> |
| <exclude>**/.settings/**/*</exclude> |
| <!-- IDEA_DEFAULT_EXCLUDES --> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/*.ipr</exclude> |
| <exclude>**/*.iws</exclude> |
| <!-- MANIFEST_MF_EXCLUDES --> |
| <exclude>**/MANIFEST.MF</exclude> |
| <!-- GIT_EXCLUDES --> |
| <exclude>**/.git/**/*</exclude> |
| <!-- CERT_EXCLUDES --> |
| <exclude>**/*.pem</exclude> |
| <!-- EXTERNAL_CODE_EXCLUDES --> |
| <exclude>**/CmdLineParser.java</exclude> |
| <!-- Exclude logs --> |
| <exclude>**/*.log/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>tomcat-maven-plugin</artifactId> |
| <configuration> |
| <warFile>target/${project.artifactId}-${project.version}.war</warFile> |
| <server>local-tomcat</server> |
| <url>http://localhost:8080/manager/text</url> |
| <path>/${project.artifactId}-${project.version}</path> |
| <!-- Warning the tomcat manager creds here are for deploying into a demo environment only. --> |
| <username>tcmanager</username> |
| <password>m@nager123</password> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <source>8</source> |
| <stylesheet>java</stylesheet> |
| <bottom><small>Copyright &copy; 2003-2023, The Apache Software Foundation. All Rights Reserved. Generated ${maven.build.timestamp}</small></bottom> |
| <overview>src/main/java/org/apache/directory/fortress/rest/overview.html</overview> |
| <version>true</version> |
| <author>true</author> |
| <doctitle>${project.name} Javadoc ${project.version}</doctitle> |
| <windowtitle>Apache ${project.name} Javadoc ${project.version}</windowtitle> |
| <!--<additionalparam>-Xdoclint:none</additionalparam>--> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>8.3.1</version> |
| <configuration> |
| <failBuildOnCVSS>0</failBuildOnCVSS> |
| <suppressionFile>${project.basedir}/src/owasp/suppression.xml</suppressionFile> |
| </configuration> |
| </plugin> |
| |
| <!-- War the app --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-war-plugin</artifactId> |
| <version>3.2.3</version> |
| <configuration> |
| <warName>${project.artifactId}-${project.version}</warName> |
| <archive> |
| <manifest> |
| <classpathPrefix>lib/</classpathPrefix> |
| </manifest> |
| </archive> |
| <webResources> |
| <resource> |
| <!-- this is relative to the pom.xml directory --> |
| <directory>${project.basedir}/src/main/resources |
| </directory> |
| </resource> |
| </webResources> |
| <attachClasses>true</attachClasses> |
| </configuration> |
| </plugin> |
| |
| <!-- Fires on 'mvn -Dtest=ClassName' where ClassName is junit test class name, for this project: --> |
| <!-- mvn test -Dtest=EmTest --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <systemPropertyVariables> |
| <version>${project.version}</version> |
| </systemPropertyVariables> |
| <excludes> |
| <exclude>${exclude.tests}</exclude> |
| </excludes> |
| <includes> |
| <include>${include.tests}</include> |
| </includes> |
| <groups>${testcase.groups}</groups> |
| <runOrder>random</runOrder> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.1</version> |
| <configuration> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| <optimize>true</optimize> |
| <encoding>ISO-8859-1</encoding> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.2.0</version> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>test</phase> |
| <configuration> |
| <target name="fortress-load" if="load.file" description="Loads fortress rbac policy files into ldap"> |
| <echo message="############### Run Fortress Rest Test Policy Load ###############" /> |
| <java classname="org.apache.tools.ant.launch.Launcher" fork="true" clonevm="true" failonerror="true" dir="${basedir}" timeout="120000" taskname="startAnt"> |
| <classpath refid="maven.test.classpath" /> |
| <sysproperty key="version" value="${project.version}" /> |
| <sysproperty key="tenant" value="${tenant}" /> |
| <arg value="-buildfile" /> |
| <arg file="./${load.file}" /> |
| </java> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <!--aggregate>true</aggregate--> |
| <quiet>true</quiet> |
| </configuration> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <repositories> |
| <repository> |
| <id>maven2</id> |
| <url>https://repo1.maven.org/maven2</url> |
| </repository> |
| </repositories> |
| |
| <!-- OWASP Dependency Vulnerability Scanner Profile --> |
| <profiles> |
| |
| <profile> |
| <id>owasp</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |