| <?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 |
| |
| https://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.cayenne</groupId> |
| <artifactId>cayenne-parent</artifactId> |
| <version>5.0-M1</version> |
| </parent> |
| <artifactId>cayenne</artifactId> |
| <name>cayenne: Cayenne Core</name> |
| <description>Apache Cayenne core module</description> |
| <packaging>jar</packaging> |
| |
| <dependencies> |
| |
| <!-- Compile dependencies --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.cayenne</groupId> |
| <artifactId>cayenne-di</artifactId> |
| <version>${project.version}</version> |
| <scope>compile</scope> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.cayenne.build-tools</groupId> |
| <artifactId>cayenne-test-utilities</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-mock</artifactId> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <!-- do not need this one --> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.mockrunner</groupId> |
| <artifactId>mockrunner-jdbc</artifactId> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <!-- this one have old Xerces dependency that clashes with JDK's one --> |
| <groupId>nekohtml</groupId> |
| <artifactId>nekohtml</artifactId> |
| </exclusion> |
| <exclusion> |
| <!-- don't use anything related to this, and this is an old version --> |
| <groupId>ant</groupId> |
| <artifactId>ant</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>mysql</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>mariadb</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>postgresql</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>oracle-xe</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>mssqlserver</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>db2</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| <plugins> |
| <!-- This ensures LICENSE and NOTICE inclusion in all jars --> |
| <plugin> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>javacc-maven-plugin</artifactId> |
| <version>2.6</version> |
| <executions> |
| <execution> |
| <id>jjtree-ejbql</id> |
| <phase>generate-sources</phase> |
| <configuration> |
| <sourceDirectory> |
| ${basedir}/src/main/jjtree/org/apache/cayenne/ejbql |
| </sourceDirectory> |
| <outputDirectory> |
| ${project.build.directory}/generated-sources/javacc/org/apache/cayenne/ejbql |
| </outputDirectory> |
| <buildNodeFiles>false</buildNodeFiles> |
| <grammarEncoding>UTF-8</grammarEncoding> |
| </configuration> |
| <goals> |
| <goal>jjtree-javacc</goal> |
| </goals> |
| </execution> |
| <!-- |
| src/main/jjtree/org/apache/cayenne/exp/parser for now is generated |
| outside of Maven with JavaCC command line tools (maybe we should do the same for EJBQL) : |
| $ cd cayenne/src/main/jjtree/org/apache/cayenne/exp/parser |
| # Parser grammar out of tree grammar: |
| $ ~/javacc-5.0/bin/jjtree ExpressionParser.jjt |
| # Parser java code: |
| $ ~/javacc-5.0/bin/javacc ExpressionParser.jj |
| |
| # Copy generated classes to src/main/jjtree/org/apache/cayenne/exp/parser |
| # except all AST*, Node, SimpleNode, JavaCharStream |
| |
| # docs |
| $ ./javacc-5.0/bin/jjdoc -TEXT=true ExpressionParser.jj |
| --> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>process-sources</phase> |
| <configuration> |
| <target> |
| <!-- This will remove duplicate Node file --> |
| <delete file="${project.build.directory}/generated-sources/jjtree/org/apache/cayenne/ejbql/parser/Node.java" /> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-jar-plugin</artifactId> |
| <!-- include OSGi stuff --> |
| <configuration> |
| <archive> |
| <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> |
| </archive> |
| </configuration> |
| <!-- share tests with downstream modules --> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>bundle-manifest</id> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>manifest</goal> |
| </goals> |
| <!-- TODO: export package filters. --> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |