finer-profile-activation
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.oddsource.java.maven</groupId>
<artifactId>finer-profile-activation</artifactId>
<version>1.0.0-beta1</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright © 2010-2023 OddSource Code (license@oddsource.io)
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.oddsource.java</groupId>
<artifactId>oss-parent</artifactId>
<version>2.4.0</version>
</parent>
<groupId>io.oddsource.java.maven</groupId>
<artifactId>finer-profile-activation</artifactId>
<packaging>jar</packaging>
<name>OddSource Code Finer Maven Profile Activation</name>
<version>1.0.0-beta1</version>
<description>
A Maven extension for providing finer control over profile activation
</description>
<licenses>
<license>
<name>Apache-2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo,maven,manual</distribution>
</license>
</licenses>
<url>http://github.com/OddSource/finer-profile-activation</url>
<scm>
<url>http://github.com/OddSource/finer-profile-activation</url>
<connection>scm:git:http://github.com/OddSource/finer-profile-activation.git</connection>
<developerConnection>scm:git:git@github.com:OddSource/finer-profile-activation.git</developerConnection>
</scm>
<inceptionYear>2023</inceptionYear>
<properties>
<project.tasks.maximum.memory>256m</project.tasks.maximum.memory>
<version.dependency.maven.core>3.9.5</version.dependency.maven.core>
<version.dependency.maven.plugin>3.9.0</version.dependency.maven.plugin>
<version.dependency.test.junit>4.13.2</version.dependency.test.junit>
<version.dependency.test.easymock>5.2.0</version.dependency.test.easymock>
<version.plugin.jacoco>0.8.11</version.plugin.jacoco>
<version.plugin.surefire>3.2.1</version.plugin.surefire>
<version.plugin.exec>3.1.0</version.plugin.exec>
<version.plugin.sisu>0.3.5</version.plugin.sisu>
<version.plugin.reports>3.4.5</version.plugin.reports>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${version.dependency.maven.core}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${version.dependency.maven.plugin}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.dependency.test.junit}</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${version.dependency.test.easymock}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<scope>provided</scope> <!-- always provided by the Maven Core Classloader -->
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<scope>provided</scope> <!-- always provided by the Maven Core Classloader -->
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<scope>provided</scope> <!-- always provided by the Maven Core Classloader -->
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>source/production/java</sourceDirectory>
<resources>
<resource>
<directory>source/production/resources</directory>
</resource>
</resources>
<testSourceDirectory>source/test/java/unit</testSourceDirectory>
<testResources>
<testResource>
<directory>source/test/resources</directory>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${version.dependency.maven.plugin}</version>
<configuration>
<!--<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>-->
</configuration>
<executions>
<execution>
<id>mojo-descriptor</id>
<goals>
<goal>descriptor</goal>
</goals>
</execution>
<execution>
<id>help-goal</id>
<goals>
<goal>helpmojo</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.plugin.compiler}</version>
<configuration>
<fork>true</fork>
<maxmem>${project.tasks.maximum.memory}</maxmem>
<debug>true</debug>
<debuglevel>lines,source</debuglevel>
<compilerArgs>
<arg>-Xmaxerrs</arg><arg>10000</arg>
<arg>-Xmaxwarns</arg><arg>10000</arg>
<arg>-Xlint:all,-processing</arg>
<arg>-Werror</arg>
</compilerArgs>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>compile-production-sources</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
<execution>
<id>compile-test-sources</id>
<goals>
<goal>testCompile</goal>
</goals>
<phase>test-compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.sisu</groupId>
<artifactId>sisu-maven-plugin</artifactId>
<version>${version.plugin.sisu}</version>
<executions>
<execution>
<id>generate-index</id>
<goals>
<goal>main-index</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${version.plugin.jacoco}</version>
<configuration>
<output>file</output>
</configuration>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/coverage/jacoco-ut.exec</destFile>
</configuration>
</execution>
<execution>
<id>default-prepare-agent-integration</id>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/coverage/jacoco-it.exec</destFile>
</configuration>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/coverage/jacoco-it.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
</configuration>
</execution>
<execution>
<id>default-report-integration</id>
<goals>
<goal>report-integration</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/coverage/jacoco-ut.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
</configuration>
</execution>
<execution>
<id>merge-results</id>
<phase>verify</phase>
<goals>
<goal>merge</goal>
</goals>
<configuration>
<fileSets>
<fileSet>
<directory>${project.build.directory}/coverage</directory>
<includes>
<include>*.exec</include>
</includes>
</fileSet>
</fileSets>
<destFile>${project.build.directory}/coverage/aggregate.exec</destFile>
</configuration>
</execution>
<execution>
<id>post-merge-report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/coverage/aggregate.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-aggregate</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.plugin.surefire}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${version.plugin.exec}</version>
<executions>
<execution>
<id>integration-tests-with-maven</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>mvn</executable>
<arguments>
<argument>-B</argument>
<arguments>help:active-profiles</arguments>
</arguments>
<environmentVariables>
<MAVEN_OPTS>${argLine}</MAVEN_OPTS>
</environmentVariables>
<workingDirectory>${project.basedir}/integration-test</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${version.plugin.jar}</version>
<configuration>
<archive>
<addMavenDescriptor>true</addMavenDescriptor>
<compress>true</compress>
<index>true</index>
<manifest>
<addDefaultEntries>true</addDefaultEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.plugin.source}</version>
<executions>
<execution>
<id>source-package-source</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.plugin.javadoc}</version>
<configuration>
<show>public</show>
<detectLinks />
<links>
<link>https://maven.apache.org/ref/3.9.5/maven-model/apidocs/</link>
<link>https://maven.apache.org/ref/3.9.5/maven-model-builder/apidocs/</link>
<link>https://docs.oracle.com/javaee/7/api/</link>
<link>
https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/
</link>
</links>
</configuration>
<executions>
<execution>
<id>javadoc-package-javadoc</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
</plugin>
<plugin>
<!-- We compile Java classes first, because that step also generates JNI headers... -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eclipse.sisu</groupId>
<artifactId>sisu-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${version.plugin.reports}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.plugin.javadoc}</version>
<configuration>
<show>public</show>
<detectLinks />
<links>
<link>https://maven.apache.org/ref/3.9.5/maven-model/apidocs/</link>
<link>https://maven.apache.org/ref/3.9.5/maven-model-builder/apidocs/</link>
<link>https://docs.oracle.com/javaee/7/api/</link>
<link>
https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/
</link>
</links>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>javadoc-no-fork</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- This is fun. Java < 9 has only -source and -release, and it must be specified as 1.8 for Java 8.
Java >= 9 also has \-\-release, which must be specified as 8 for Java 8. But if you use the
<release>, <source>, and <target> tags in the compiler plugin config, it attempts to specify all
three arguments regardless of the compiler version. Even using all three properties makes it attempt
to specify all three arguments. Hopefully using profiles like this will resolve the issue. -->
<profile>
<id>jdk-8-compiler-options</id>
<activation>
<jdk>[1.8,9)</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</profile>
<profile>
<id>jdk-gte-9-compiler-options</id>
<activation>
<jdk>[9,21)</jdk>
</activation>
<properties>
<maven.compiler.release>8</maven.compiler.release>
</properties>
</profile>
<profile>
<id>run-integration</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>